Adam: A Method for Stochastic Optimization
Adam: A Method for Stochastic Optimization
Metadata
- Slug:
adam_2014 - Year: 2014
- Venue: ICLR
- Authors: Diederik P. Kingma, Jimmy Ba
- Reading status: read complete
- Compute regime: Single-GPU deep learning
- Primary sources: PDF, extracted text
Compute Setup
The paper does not list a specific experiment machine, GPU model, or cluster. It does, however, explicitly discuss GPU memory constraints when comparing Adam with the Sum-of-Functions Optimizer: SFO has memory requirements linear in the number of minibatch partitions, which is often infeasible on memory-constrained systems such as a GPU. Under the project rule, the device context is inferred from the 2013-2014 GPU-accelerated minibatch deep-learning era, with experiments spanning logistic regression, fully connected neural networks, CNNs, and VAE training.
Adam's compute setup is intentionally lightweight. Algorithm 1 uses only first-order stochastic gradients and elementwise vector operations: first moment m, second raw moment v, bias corrections, and a per-parameter update. Good default settings in the paper are learning rate 0.001, beta1 0.9, beta2 0.999, and epsilon 1e-8. The experiments use minibatch size 128 for logistic regression, multilayer fully connected networks, and CNNs. The method adds two optimizer-state vectors per parameter, but avoids curvature matrices, stored minibatch partitions, or expensive second-order updates.
Bottleneck
The bottleneck is stable, low-overhead optimization of high-dimensional stochastic objectives. The introduction emphasizes that stochasticity can come from random minibatches or from function noise such as dropout regularization. It restricts the discussion to first-order methods because high-dimensional parameter spaces make higher-order optimization ill-suited. In GPU-era deep learning, a useful optimizer must tolerate noisy gradients, sparse features, non-stationary objectives, and layerwise scale differences without consuming enough memory to crowd out the model and activations.
Adam also targets tuning cost. Fixed-learning-rate SGD with momentum can work well, but sparse features and different gradient scales across layers make one global learning rate brittle. AdaGrad handles sparse gradients but can become too conservative; RMSProp handles non-stationarity but lacks Adam's bias correction. Adam's bottleneck is not raw matrix multiplication; it is the per-parameter control problem around the dense training loop.
Method Adaptation
Adam adapts to accelerator-era minibatch training by making the optimizer state simple, local, and vectorized. It maintains exponential moving averages of gradients and squared gradients, then uses bias-corrected estimates to compute an adaptive per-parameter step. All operations are elementwise over parameter tensors, so they map cleanly onto the same dense-array execution environment as backpropagation. This fits GPUs because the extra memory is linear in parameter count and the extra arithmetic is cheap relative to forward/backward neural-network compute.
The bias correction is a compute-stability adaptation. The paper explains that moving averages initialized at zero are biased toward zero, especially early and when beta values are near 1. Without correction, sparse-gradient settings can produce very large early steps and divergence. Adam also combines AdaGrad's sparse-gradient behavior with RMSProp's non-stationary-objective behavior. The default hyperparameters reduce grid-search burden, which matters because optimizer sweeps multiply the total training compute consumed by model development.
Evidence
The abstract states the method is computationally efficient, has little memory requirement, is suited to problems large in data or parameters, and works for noisy or sparse gradients. The memory comparison with SFO is the most explicit hardware evidence: SFO's memory linear in minibatch partitions is often infeasible on a GPU, whereas Adam stores only moment vectors. The experiment section then tests logistic regression, multilayer fully connected neural networks, and deep CNNs, using large models and data sets to show practical optimization behavior.
For MNIST logistic regression with minibatch size 128, Adam has similar convergence to Nesterov momentum and faster convergence than AdaGrad. For sparse IMDB bag-of-words features with 10,000 dimensions and 50% dropout noise, Adam converges as fast as AdaGrad and faster than normal SGD with momentum, matching the sparse-gradient motivation. For a two-hidden-layer MNIST network with 1000 ReLU units per layer, Adam makes faster progress than SFO in both iterations and wall-clock time; the paper says SFO is 5-10x slower per iteration due to curvature updates and has memory linear in minibatches. For CIFAR-10 CNNs, Adam and AdaGrad reduce cost rapidly at first, while Adam and SGD eventually converge faster than AdaGrad; the text notes Adam adapts learning-rate scale for different layers instead of requiring manual layerwise tuning.
Historical Effect
Adam became a default optimizer for many deep-learning workloads because it made stochastic training less brittle under noisy gradients, sparse features, dropout, and layerwise scale differences. In this compute history, Adam is not a device branch by itself; it is an optimizer that made GPU-era experimentation easier to operate. Later Transformer training inherited the same pattern: large dense forward/backward passes surrounded by cheap elementwise optimizer updates, with the trade-off that optimizer state becomes a major memory object at very large scale.
Limits
The paper is an optimizer paper, not a hardware/system report, so exact devices and runtime totals are absent. Adam's two moment vectors are small relative to second-order methods, but they are still extra per-parameter state; at later LLM scale this becomes a sharding problem not addressed here. The method also does not solve distributed large-batch scaling, communication, or activation memory. Later work found that optimizer choice interacts with generalization, batch size, weight decay, and architecture, so Adam's operational convenience is not a universal guarantee of best final accuracy.
Links
- Parent regime: compute spine
- Related card: SGD large-scale learning 2010
- Method index: sgd
- Ledger updates: compute bottlenecks