Adam
Материал из MachineLearning.
Bogdan Kormalov (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek-V3''' и проверена участником ~~~~}} '''Adam''' (сокращение от анг...)
К следующему изменению →
Версия 14:11, 18 июля 2026
| | Статья написана с использованием LLM DeepSeek-V3 и проверена участником Bogdan Kormalov 18:11, 18 июля 2026 (MSD) |
Adam (сокращение от англ. Adaptive Moment Estimation — адаптивная оценка моментов) — это итеративный градиентный метод оптимизации, основанный на вычислении адаптивной скорости обучения для каждого параметра модели. Был представлен в 2014 году Дидериком П. Кингмой и Джимми Лэй Ба в работе «Adam: A Method for Stochastic Optimization»Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.. Алгоритм объединяет преимущества двух популярных расширений стохастического градиентного спуска (SGD): AdaGrad (работа с разреженными градиентами) и RMSProp (работа с нестационарными целевыми функциями и плохой обусловленностью).
Благодаря сочетанию идеи моментов (инерции) и адаптивного масштабирования шага обучения, Adam на протяжении последнего десятилетия является де-факто стандартным выбором оптимизатора для обучения глубоких нейронных сетей.
Содержание |
Исторический контекст и мотивация создания
К моменту публикации статьи в 2014 году глубокие нейронные сети стали доминирующим подходом в задачах компьютерного зрения, распознавания речи и обработки естественного языка. Однако обучение таких моделей упиралось в ряд фундаментальных проблем численной оптимизации:
Плохая обусловленность функции потерь (Ill-conditioning): Ландшафт функции потерь современных сетей имеет сильно вытянутые «овраги». Простой SGD медленно колеблется вдоль крутых стенок оврага и крайне медленно продвигается вдоль пологого дна. Разреженные градиенты (Sparse Gradients): В таких задачах, как обучение представлений слов (word2vec, GloVe) или в моделях с ReLU-активациями, значительная часть признаков обновляется крайне редко. Агрессивное уменьшение шага обучения (как в AdaGrad) приводило к преждевременной остановке обучения для редких, но важных признаков. Нестационарность и шум (Non-stationarity): Мини-батчевые оценки градиентов сильно зашумлены. Требовался механизм, позволяющий сглаживать шум без замедления обучения. Ранее предложенные методы решали лишь часть этих проблем: AdaGradDuchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, 12(7). накапливал историю градиентов, что хорошо работало для разреженных данных, но приводило к монотонному затуханию шага вплоть до нуля. RMSPropTieleman, T., & Hinton, G. (2012). Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks for machine learning. заменил сумму квадратов экспоненциальным скользящим средним, решив проблему затухания, но не использовал момент инерции. Adam стал синтезом лучших идей: он соединил «тяжелый шарик» классического SGD с импульсом (Momentum)Polyak, B. T. (1964). Some methods of speeding up the convergence of iteration methods. USSR Computational Mathematics and Mathematical Physics, 4(5), 1-17. и адаптивные скорости обучения RMSProp.
Алгоритм: пошаговый разбор
Пусть — целевая функция потерь, а
— вектор параметров. Алгоритм Adam поддерживает экспоненциальные скользящие средние для градиента
(первый момент, среднее) и квадрата градиента (второй нецентральный момент, дисперсия) на каждом временном шаге
.
Гиперпараметрами алгоритма являются: (скорость обучения, learning rate),
(коэффициент затухания для первого момента, обычно 0.9),
(коэффициент затухания для второго момента, обычно 0.999) и
(малая константа для численной устойчивости, обычно
).
Шаг 1. Вычисление градиента.
На итерации вычисляется градиент функции потерь по параметрам:
Шаг 2. Обновление смещенной оценки первого момента (среднее).
Этот шаг аккумулирует инерцию, накапливая историю градиентов. Коэффициент близок к 1, что позволяет сглаживать высокочастотный шум в мини-батче:
Шаг 3. Обновление смещенной оценки второго момента (нецентрированная дисперсия). Этот шаг накапливает информацию о магнитуде градиента для каждого параметра, что необходимо для адаптивного масштабирования:
Шаг 4. Коррекция смещения (Bias Correction).
В начальный момент времени и
инициализируются нулями. Это приводит к тому, что на первых шагах оценки смещены к нулю. Деление на
устраняет это смещение:
Шаг 5. Обновление параметров. Финальное правило учитывает и направление (инерцию), и адаптивный шаг:
Знаменатель представляет собой поэлементный корень из оценки второго момента. Если параметр часто получает большие градиенты, для него велик, и шаг
для него уменьшается. Если градиенты малы или редки, шаг увеличивается. Вектор
работает как инерционный член, усредняя недавние градиенты и проносясь через локальные минимумы.
Практическая роль и преимущества в глубоком обучении
Adam стал стандартным выбором для подавляющего большинства архитектур (Transformers, CNN, GAN) по следующим причинам:
Минимальная настройка гиперпараметров. В то время как SGD с моментом требует тщательного подбора скорости обучения и расписания её затухания, значения Adam по умолчанию (,
,
) работают «из коробки» для огромного класса задач.
Инвариантность к масштабу признаков. Благодаря адаптивному знаменателю , алгоритм можно рассматривать как аппроксимацию метода естественного градиента или диагональное масштабирование матрицы Гессе. Это позволяет ему эффективно справляться с плохо обусловленными овражными ландшафтами, где SGD осциллирует.
Робастность к разреженным данным. В моделях вроде Transformer с эмбеддингами редких слов, механизм накопления гарантирует, что редко встречающиеся признаки получат больший шаг обновления на момент появления, не будучи «задавленными» предшествующими нулевыми обновлениями.
Механизм «сходства с тяжелым шаром»: В отличие от чисто адаптивных методов, комбинация и
позволяет алгоритму эффективно ускоряться в областях с устойчивым направлением градиента и тормозить в областях с сильной неопределенностью.
Проблемы сходимости и обобщением
Несмотря на популярность, к 2018–2019 годам в сообществе накопились свидетельства принципиальных ограничений Adam.
Расходимость на простых функциях
В 2018 году Уилсон и др. показали, что Adam может расходиться даже на простых одномерных выпуклых задачах, если гиперпараметр не настроен должным образомWilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. (2017). The marginal value of adaptive gradient methods in machine learning. Advances in neural information processing systems, 30.. Проблема кроется в экспоненциально скользящем среднем: нестационарное поведение нормы второго момента может привести к тому, что алгоритм «проскакивает» минимум, и адаптивный шаг начинает расти вместо того, чтобы затухать. Это нарушает базовое свойство сходимости, присущее SGD.
Обобщающая способность (Generalization Gap)
Многочисленные эмпирические исследования, в особенности на задачах классификации изображений (CIFAR, ImageNet), выявили, что модели, обученные с Adam, часто показывают более высокую ошибку на тестовой выборке по сравнению с моделями, обученными с помощью SGD с моментом и тщательно настроенным затуханием весов (weight decay)Keskar, N. S., & Socher, R. (2017). Improving generalization performance by switching from adam to sgd. arXiv preprint arXiv:1712.07628.. Адаптивные методы склонны находить «острые» минимумы функции потерь вместо «плоских», что ведет к худшему обобщению.
Модификации: AdamW
Ключевая ошибка в ванильном Adam заключалась в применении L2-регуляризации (weight decay). В SGD ослабление весов и градиент обновления аддитивны и почти эквивалентны. В Adam, однако, L2-регуляризация взаимодействует с адаптивным знаменателем, приводя к тому, что параметры с большими градиентами регуляризуются неэффективно. Лощилов и Хаттер (2019) предложили модификацию AdamWLoshchilov, I., & Hutter, F. (2017). Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101., где затухание весов вынесено из градиента и применяется непосредственно к параметрам (). AdamW решил проблему «разрыва в обобщении», став стандартом в современных библиотеках (Hugging Face, PyTorch).
Связь с другими оптимизаторами
Алгоритм Adam занимает центральное место в таксономии стохастических методов, обобщая предшественников:
Если и
(с бесконечным накоплением квадратов), Adam превращается в AdaGrad, который хорош для разреженных данных, но страдает от агрессивного затухания шага.
Если , а
фиксировано, Adam становится RMSProp, который в свое время решил проблему затухания AdaGrad, перейдя к скользящему среднему, но не использовал инерцию.
Если (отсутствие адаптивного знаменателя), а знаменатель стремится к единице, Adam вырождается в классический SGD с моментом Нестерова или «тяжелый шарик» (в зависимости от деталей реализации коррекции смещения).
Эта преемственность делает Adam универсальным «зонтичным» методом, поведение которого может быть сведено к более простым оптимизаторам изменением гиперпараметров.
Литература
Duchi, J., Hazan, E., & Singer, Y. (2011). Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, 12(7). (Предшественник — AdaGrad).
Keskar, N. S., & Socher, R. (2017). Improving generalization performance by switching from adam to sgd. arXiv preprint arXiv:1712.07628. (Анализ проблемы обобщения).
Kingma, D. P., & Ba, J. (2014). Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980. (Оригинальная статья).
Loshchilov, I., & Hutter, F. (2017). Decoupled weight decay regularization. arXiv preprint arXiv:1711.05101. (Модификация AdamW).
Polyak, B. T. (1964). Some methods of speeding up the convergence of iteration methods. USSR Computational Mathematics and Mathematical Physics, 4(5), 1-17. (Классический метод моментов).
Reddi, S. J., Kale, S., & Kumar, S. (2019). On the convergence of Adam and beyond. arXiv preprint arXiv:1904.09237. (Теоретический анализ расходимости и исправление AMSGrad).
Tieleman, T., & Hinton, G. (2012). Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude. COURSERA: Neural networks for machine learning. (Предшественник — RMSProp).
Wilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. (2017). The marginal value of adaptive gradient methods in machine learning. Advances in neural information processing systems, 30. (Критический анализ адаптивных методов).

