A FlashPapers
ICLR 2015 Citation Classic

Adam: A Method for Stochastic Optimization

By Diederik P. Kingma (University of Amsterdam, OpenAI) & Jimmy Lei Ba (University of Toronto)

"We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions, based on adaptive estimates of lower-order moments."

Adaptive Learning Rates Bias Correction First & Second Moments Sparse Gradients

Why This Matters

In machine learning, finding the optimal parameters of a neural network is akin to navigating a high-dimensional, foggy mountain range. Standard Stochastic Gradient Descent (SGD) takes steps directly proportional to the slope (gradient). However, this naive approach suffers from severe drawbacks:

  • Ravines & Saddle Points: If a landscape is steep in one direction but gentle in another, SGD oscillates wildly across the steep walls while making agonizingly slow progress along the valley floor.
  • Uniform Learning Rates: SGD applies the exact same step-size scale to all parameters, ignoring the fact that some features might be rare and require larger updates, while others are frequent and need smaller, precise adjustments.
  • Noisy Gradients: Mini-batch approximations introduce high variance, leading to erratic trajectories.

Prior solutions like AdaGrad addressed sparse gradients by scaling updates inversely with the sum of all historical squared gradients, but their learning rates decayed to zero too quickly. RMSProp fixed this with an exponential moving average, but lacked a principled way of handling momentum and initialization bias.

The Big Idea

Adam (Adaptive Moment Estimation) combines the best of both worlds: the ability of AdaGrad to handle sparse gradients and the ability of RMSProp to handle non-stationary objectives. It achieves this by maintaining running estimates of both the mean (first moment) and the uncentered variance (second raw moment) of the gradients:

The Core Intuition

By keeping track of the first moment $m_t$ (momentum), Adam smooths out noisy oscillations. By keeping track of the second moment $v_t$, Adam scales the step size element-wise: parameters with large, volatile gradients get scaled down, while parameters with small, consistent gradients get scaled up.

How It Works

At each timestep $t$, Adam computes the gradient $g_t$ of the objective function. It then updates the biased first and second moment estimates:

$$m_t = \beta_1 m_{t-1} + (1 - \beta_1) g_t$$ $$v_t = \beta_2 v_{t-1} + (1 - \beta_2) g_t^2$$

Because $m_0$ and $v_0$ are initialized as zero vectors, these running averages are heavily biased towards zero, especially during early steps or when decay rates $\beta_1$ and $\beta_2$ are close to 1. To counteract this, Adam applies bias corrections:

$$\hat{m}_t = \frac{m_t}{1 - \beta_1^t} \quad \text{and} \quad \hat{v}_t = \frac{v_t}{1 - \beta_2^t}$$

Finally, the parameters $\theta_t$ are updated using the scaled step:

$$\theta_t = \theta_{t-1} - \frac{\alpha}{\sqrt{\hat{v}_t} + \epsilon} \hat{m}_t$$

Step-by-Step Parameter Update Calculator

Adjust the inputs below to see how the running moments, bias corrections, and final parameter updates are calculated in real-time for a single parameter.

Biased First Moment ($m_t$) 0.1500
Biased Second Moment ($v_t$) 0.0023
Corrected First Moment ($\hat{m}_t$) 1.5000
Corrected Second Moment ($\hat{v}_t$) 2.2500
Effective Update Step -0.0010

Assuming learning rate $\alpha = 0.001$ and $\epsilon = 10^{-8}$.

Interactive Optimizer Sandbox

Experience how Adam compares directly to SGD and RMSProp on a 2D anisotropic valley (a classic optimization test landscape where the vertical axis is much steeper than the horizontal axis).

Click anywhere on the canvas to set a new starting point, then press Play to watch the trajectories.

0.020
20x

The Power of Bias Correction

One of the critical contributions of Adam is the initialization bias correction. Since $m_t$ and $v_t$ are initialized to zero, they are biased towards zero, especially during early steps when $\beta$ is close to 1.

Without the $1 - \beta^t$ correction term, the step sizes in the first few iterations would be drastically smaller (or larger, depending on the scale of gradients) than they should be, leading to slow starts or instability.

Bias Correction Multiplier Over Time

Watch how the correction multiplier $\frac{1}{1 - \beta^t}$ decays to $1.0$ (no correction needed anymore) as the timestep $t$ increases. Adjust $\beta$ to see how slower decay rates require correction for much longer.

Empirical Results

The authors evaluated Adam across several benchmark datasets and architectures, demonstrating consistent, state-of-the-art convergence rates.

Convergence Comparison on MNIST

Limitations & Open Questions

While Adam is the default optimizer for most deep learning architectures today, it is not without its limitations:

  • Generalization Gap: Despite converging faster during training, models trained with Adam sometimes generalize slightly worse to unseen test data compared to carefully tuned SGD with momentum.
  • Non-Convergence in Specific Settings: In 2018, Reddi et al. pointed out that Adam can fail to converge to the optimal solution in certain settings where informative gradients are rare but large. This led to the creation of variants like AMSGrad.
  • Hyperparameter Sensitivity: Though Adam is marketed as "robust to hyperparameters", extreme values of $\beta_1$ and $\beta_2$ can cause training to diverge completely, especially in deep reinforcement learning or GANs.

Glossary

Stochastic Gradient Descent (SGD)

An optimization method that estimates the true gradient of a loss function by calculating the gradient on a small subset (mini-batch) of training samples.

First Moment

The expected value (mean) of a distribution. In Adam, the first moment $m_t$ is the exponentially decaying average of past gradients, serving as momentum.

Second Raw Moment

The expected value of the squared gradients (uncentered variance). In Adam, $v_t$ scales the updates element-wise to provide adaptive learning rates.

AdaMax

A variant of Adam introduced in Section 7 of the paper that generalizes the $L_2$ norm-based second moment estimation to the infinity norm ($L_\infty$).

Citation

@inproceedings{kingma2015adam,
  title={Adam: A Method for Stochastic Optimization},
  author={Kingma, Diederik P and Ba, Jimmy},
  booktitle={International Conference on Learning Representations (ICLR)},
  year={2015}
}
Made with Flash Papers — make your own