Adam, or adaptive moment estimation, extends SGD with momentum by tracking an exponential moving average of gradients and an approximate variance from squared gradients. It gives reliable directions more influence and scales down high-variance directions, often reducing learning-rate tuning. section 5.3.2
The implementation maps the ideas to two running quantities:
- Use m instead of momentum velocity v, and β1 instead of the momentum weight μ; multiply the current gradient by (1 − β1) to form an exponential moving average. section 5.3.2
- Track squared gradient values as an imperfect variance approximation, using elementwise operations to estimate how consistently each parameter direction behaves. section 5.3.2
GAN-specific Adam settings
GAN training uses separate AdamW optimizers for the generator and discriminator: learning rate 0.0001 with β1 = 0 and β2 = 0.9. Each optimizer updates its own network during alternating discriminator and generator steps. section 9.1.3






