Incorporating Nesterov Momentum into Adam/es
| Research Paper | |
|---|---|
| Authors | Dozat, T. |
| Year | 2016 |
| Venue | ICLR Workshop |
| Topic area | Machine Learning |
| Difficulty | Research |
| Source | View paper |
Incorporating Nesterov Momentum into Adam es un artículo del taller ICLR 2016 de Timothy Dozat que introduce Nadam (Nesterov-accelerated Adaptive Moment Estimation), un algoritmo de optimización estocástica de primer orden. Nadam modifica el popular optimizador Adam (Kingma y Ba, 2014) reemplazando su componente clásico de momentum por una versión reformulada del gradiente acelerado de Nesterov (NAG). La sustitución es conceptualmente pequeña pero, en el experimento con un autoencoder sobre MNIST que presenta el artículo, produce una convergencia mensurablemente más rápida y una pérdida de entrenamiento y validación menor que Adam, RMSProp, NAG, momentum clásico o SGD puro.
Visión general
Para 2016, Adam se había convertido en la opción por defecto para entrenar redes neuronales profundas porque combina dos ideas eficaces: un término de momentum que acumula una media decreciente de los gradientes pasados, y una tasa de aprendizaje adaptativa por parámetro derivada de una media decreciente de los gradientes al cuadrado. Sin embargo, el componente de momentum es la forma clásica de Polyak (1964), que Sutskever et al. (2013) ya habían mostrado empíricamente inferior al gradiente acelerado de Nesterov cuando se utiliza como esquema de momentum independiente. La contribución de Dozat consiste en injertar la idea de NAG en Adam sin alterar su mecanismo de tasa de aprendizaje adaptativa, produciendo un algoritmo que conserva el régimen de hiperparámetros y la huella de implementación de Adam, al tiempo que hereda la ventaja de "look-ahead" de NAG.
El artículo es breve — una contribución de cuatro páginas a un taller — y presenta un único experimento empírico, pero su derivación es lo suficientemente clara como para que el algoritmo resultante haya sido adoptado como el optimizador Nadam en los principales frameworks de deep learning, incluidos TensorFlow / Keras y PyTorch.
Conceptualmente, el trabajo se inscribe en una línea de investigación más amplia entre 2014 y 2016 sobre la combinación de momentum con tasas de aprendizaje adaptativas por parámetro. El propio Adam puede leerse como una fusión del momentum clásico (Polyak) con el denominador adaptativo de RMSProp (Tieleman y Hinton, 2012), y Nadam da el paso natural siguiente al sustituirlo por momentum de Nesterov, que se había convertido en la forma preferida para tareas en las que el look-ahead resulta importante. El artículo no reclama originalidad para ningún ingrediente individual — el algoritmo de Nesterov data de 1983 y Adam de 2014 — sino para la composición específica que permite que el look-ahead sobreviva a la corrección de sesgo.
Contribuciones clave
- Una reformulación de NAG. El artículo reescribe el gradiente acelerado de Nesterov en una forma que no requiere evaluar el gradiente en un punto de parámetros temporalmente perturbado. En su lugar, el factor de momentum del paso siguiente se incorpora a la actualización actual.
- Algoritmo Nadam. Aplicar esa misma reformulación al término de momentum de Adam produce la regla de actualización Nadam, en la que el primer momento corregido por sesgo incorpora el coeficiente de momentum próximo $ \mu_{t+1} $ en lugar del anterior.
- Un schedule para $ \mu_t $. Al indexar por timestep el coeficiente de decaimiento del momentum, Dozat anticipa el uso de schedules de momentum — un refinamiento que varias implementaciones de referencia adoptaron posteriormente.
- Evidencia empírica en MNIST. Una comparación controlada sobre un autoencoder convolucional muestra que Nadam iguala o supera a Adam, con ambos algoritmos superando a SGD, momentum clásico, NAG y RMSProp bajo sus respectivas mejores tasas de aprendizaje.
Métodos
La derivación se desarrolla en tres pasos.
Momentum clásico (Polyak). Mantener un vector de momentum que es una suma decreciente de los pasos de gradiente pasados:
- $ m_t \leftarrow \mu m_{t-1} + \alpha_t g_t, \qquad \theta_t \leftarrow \theta_{t-1} - m_t. $
Gradiente acelerado de Nesterov. Sutskever et al. (2013) mostraron que NAG puede implementarse evaluando el gradiente en el punto de look-ahead $ \theta_{t-1} - \mu m_{t-1} $. Dozat lo reescribe de modo que el look-ahead se aplique durante la actualización de parámetros del timestep anterior, eliminando la necesidad de evaluar el gradiente en un punto perturbado:
- $ \theta_t \leftarrow \theta_{t-1} - (\mu_{t+1} m_t + \alpha_t g_t). $
Adam. Adam usa una media decreciente de los gradientes pasados (en lugar de una suma) y divide por una raíz cuadrática media decreciente de los gradientes al cuadrado pasados, con una corrección de sesgo $ 1 - \mu^t $ en el denominador:
- $ m_t \leftarrow \mu m_{t-1} + (1 - \mu) g_t, \qquad \theta_t \leftarrow \theta_{t-1} - \alpha_t \frac{m_t}{1 - \mu^t}. $
Nadam. Aplicar la reformulación de NAG a Adam reemplazando el primer momento corregido por sesgo por uno que use $ \mu_{t+1} $ en lugar de $ \mu_t $:
- $ \hat{m}_t = \frac{\mu_{t+1} m_t}{1 - \prod_{i=1}^{t+1} \mu_i} + \frac{(1 - \mu_t) g_t}{1 - \prod_{i=1}^{t} \mu_i}, $
- $ \theta_t \leftarrow \theta_{t-1} - \frac{\alpha_t \hat{m}_t}{\sqrt{\hat{n}_t} + \epsilon}, $
donde $ \hat{n}_t = \nu n_t / (1 - \nu^t) $ es el segundo momento corregido por sesgo. El autor también señala que la misma sustitución estilo NAG es, en principio, compatible con otros algoritmos de tasa de aprendizaje adaptativa como Adamax o Equilibrated gradient descent.
Resultados
El único experimento entrena un autoencoder convolucional (tres capas convolucionales más dos capas densas en cada uno del encoder y el decoder) sobre MNIST, comprimiendo cada dígito de $ 28 \times 28 $ en un vector latente de 16 dimensiones y reconstruyéndolo. Se comparan seis optimizadores — SGD, momentum clásico, NAG, RMSProp, Adam y Nadam —, cada uno ajustado únicamente por su tasa de aprendizaje; los demás hiperparámetros se fijan en $ \mu = 0.975 $, $ \nu = 0.999 $, $ \epsilon = 10^{-8} $. Las mejores tasas de aprendizaje fueron $ 0.2 $ para SGD, $ 0.5 $ para momentum y NAG, $ 0.001 $ para RMSProp y $ 0.002 $ para Adam y Nadam.
Tanto en pérdida de entrenamiento como de validación, Nadam alcanza valores más bajos más rápido que cualquier otro algoritmo evaluado — incluido su algoritmo padre Adam. El autor enfatiza que esto se logra sin ajuste adicional de hiperparámetros más allá del barrido inevitable de la tasa de aprendizaje, lo que respalda la afirmación de que Nadam es una mejora drop-in sobre Adam y no un algoritmo más delicado.
El benchmark del autoencoder es deliberadamente modesto: aísla la contribución del optimizador manteniendo fijos la arquitectura, el dataset, la regularización y la inicialización en las seis ejecuciones. El artículo no incluye experimentos a gran escala de clasificación de imágenes ni de modelado de lenguaje, y no investiga la interacción entre Nadam y el warm-up de la tasa de aprendizaje, weight decay o esquemas de tamaño de batch — todo lo cual el trabajo posterior exploraría. Como investigación de taller, la afirmación empírica es intencionadamente estrecha: que la sustitución del primer momento al estilo NAG es al menos tan buena como Adam con momentum clásico bajo una comparación controlada.
Impacto
Nadam se ha convertido en una opción estándar en las principales bibliotecas de deep learning: TensorFlow / Keras lo incluyen como tf.keras.optimizers.Nadam, y PyTorch lo añadió como torch.optim.NAdam. En la práctica se elige con mayor frecuencia para tareas en las que Adam ya rinde bien pero se desea una convergencia ligeramente más rápida en el entrenamiento temprano, como el fine-tuning de modelos de lenguaje y ciertos pipelines de visión por computador.
El artículo también se cita como un ejemplo temprano de trasplantar limpiamente una intuición de la teoría de optimización (NAG) sobre un optimizador adaptativo basado en momentos, una receta que el trabajo posterior ha replicado para variantes como AdamW (Loshchilov y Hutter, 2019) y RAdam (Liu et al., 2020). Dado que la modificación es un cambio de una sola línea sobre el primer momento corregido por sesgo, la adopción de Nadam no requirió nuevos hiperparámetros ni infraestructura de implementación, lo que redujo sustancialmente la barrera para su adopción.
Una consecuencia pragmática de este diseño es que los profesionales suelen poder reemplazar Adam por Nadam en un pipeline de entrenamiento existente sin revisar el schedule de la tasa de aprendizaje, el tamaño de batch ni los ajustes de regularización. Empíricamente, ambos algoritmos producen curvas de pérdida cualitativamente similares, con Nadam a menudo un paso pequeño pero consistente por delante en las primeras miles de iteraciones — un régimen que importa desproporcionadamente para cargas de trabajo de fine-tuning donde el cómputo total es pequeño. Para entrenamientos limitados por el ruido del gradiente y no por la curvatura, los dos algoritmos son esencialmente intercambiables.
Véase también
- Stochastic Gradient Descent
- Convolutional Neural Networks
- Backpropagation
- Batch Normalization
- Recurrent Neural Networks
- Attention Is All You Need
Referencias
- Dozat, T. (2016). Incorporating Nesterov Momentum into Adam. ICLR Workshop. OpenReview
OM0jvwB8jIp57ZJjtNEZ. - Kingma, D. y Ba, J. (2014). Adam: A Method for Stochastic Optimization. arXiv:1412.6980.
- Sutskever, I., Martens, J., Dahl, G. y Hinton, G. (2013). On the importance of initialization and momentum in deep learning. ICML.
- Nesterov, Y. (1983). A method of solving a convex programming problem with convergence rate $ O(1/k^2) $. Soviet Mathematics Doklady, 27, 372–376.
- Polyak, B. T. (1964). Some methods of speeding up the convergence of iteration methods. USSR Computational Mathematics and Mathematical Physics, 4(5), 1–17.
- Tieleman, T. y Hinton, G. (2012). Lecture 6.5 — RMSprop: divide the gradient by a running average of its recent magnitude. COURSERA.
- Duchi, J., Hazan, E. y Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. JMLR, 12, 2121–2159.
- Dauphin, Y., de Vries, H. y Bengio, Y. (2015). Equilibrated adaptive learning rates for non-convex optimization. NeurIPS, 1504–1512.
- Loshchilov, I. y Hutter, F. (2019). Decoupled weight decay regularization. ICLR.
- Liu, L. et al. (2020). On the variance of the adaptive learning rate and beyond. ICLR.