Адаптивный градиентный спуск
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''DeepSeek-V3''' и проверена участником [[Участник:Nikolaev Daniil|Д. Никола...) |
|||
| Строка 130: | Строка 130: | ||
== Литература == | == Литература == | ||
| - | + | *{{статья | |
|автор=Duchi, J., Hazan, E., & Singer, Y. | |автор=Duchi, J., Hazan, E., & Singer, Y. | ||
|заглавие=Adaptive subgradient methods for online learning and stochastic optimization | |заглавие=Adaptive subgradient methods for online learning and stochastic optimization | ||
| Строка 140: | Строка 140: | ||
|ref=Duchi2011}} | |ref=Duchi2011}} | ||
| - | + | *{{статья | |
|автор=Hinton, G. | |автор=Hinton, G. | ||
|заглавие=Lecture notes on RMSprop | |заглавие=Lecture notes on RMSprop | ||
| Строка 148: | Строка 148: | ||
|ref=Hinton2012}} | |ref=Hinton2012}} | ||
| - | + | *{{статья | |
|автор=Kingma, D. P., & Ba, J. | |автор=Kingma, D. P., & Ba, J. | ||
|заглавие=Adam: A method for stochastic optimization | |заглавие=Adam: A method for stochastic optimization | ||
| Строка 156: | Строка 156: | ||
|ref=Kingma2015}} | |ref=Kingma2015}} | ||
| - | + | *{{статья | |
|автор=Zeiler, M. D. | |автор=Zeiler, M. D. | ||
|заглавие=ADADELTA: An adaptive learning rate method | |заглавие=ADADELTA: An adaptive learning rate method | ||
| Строка 164: | Строка 164: | ||
|ref=Zeiler2012}} | |ref=Zeiler2012}} | ||
| - | + | *{{статья | |
|автор=Reddi, S. J., Kale, S., & Kumar, S. | |автор=Reddi, S. J., Kale, S., & Kumar, S. | ||
|заглавие=On the convergence of Adam and beyond | |заглавие=On the convergence of Adam and beyond | ||
| Строка 172: | Строка 172: | ||
|ref=Reddi2018}} | |ref=Reddi2018}} | ||
| - | + | *{{статья | |
|автор=Ruder, S. | |автор=Ruder, S. | ||
|заглавие=An overview of gradient descent optimization algorithms | |заглавие=An overview of gradient descent optimization algorithms | ||
| Строка 180: | Строка 180: | ||
|ref=Ruder2016}} | |ref=Ruder2016}} | ||
| - | + | *{{статья | |
|автор=Wilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. | |автор=Wilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. | ||
|заглавие=The marginal value of adaptive gradient methods in machine learning | |заглавие=The marginal value of adaptive gradient methods in machine learning | ||
Текущая версия
| | Статья написана с использованием LLM DeepSeek-V3 и проверена участником Д. Николаев 19:42, 2 июля 2026 (MSD) |
|
Адаптивный градиентный спуск (англ. adaptive gradient descent) — класс алгоритмов первого порядка для минимизации целевой функции, в которых темп обучения (шаг) адаптируется для каждого параметра модели индивидуально на основе истории наблюдаемых градиентов. В отличие от классического стохастического градиентного спуска (SGD), использующего единый глобальный темп обучения, адаптивные методы автоматически подстраивают величину обновления под геометрию данных и разреженность признаков.
Основная идея адаптивного градиентного спуска заключается в замене скалярного темпа обучения на диагональную матрицу предобуславливания, которая масштабирует обновление каждого параметра индивидуально. Геометрически это означает переход от изотропного (сферического) пространства параметров к пространству, учитывающему локальную кривизну целевой функции. Такой подход позволяет алгоритму автоматически учитывать различную чувствительность целевой функции к разным параметрам и эффективно работать с разреженными признаками.
История развития
Идея адаптации темпа обучения к геометрии данных восходит к работам по квазиньютоновским методам оптимизации. Однако вычислительная сложность полных матриц вторых производных (гессианов) делает их неприменимыми в задачах с большим числом параметров.
В 2011 году Джон Дуки, Элад Хазан и Йорам Зингер предложили алгоритм AdaGrad (от Adaptive Gradient), который стал первым широко распространённым адаптивным методом [1]. AdaGrad накапливает сумму квадратов градиентов по каждому параметру и использует её для нормировки темпа обучения, что особенно эффективно для разреженных данных и задач онлайн-обучения.
В 2012 году Джеффри Хинтон в своих лекционных заметках предложил RMSprop (от Root Mean Square propagation) [1]. Алгоритм заменил накопление всех прошлых градиентов на скользящее среднее их квадратов, что позволило избежать неограниченного убывания темпа обучения — основного недостатка AdaGrad.
В 2014 году Д. П. Кингма и Дж. Л. Ба представили Adam (от Adaptive Moment Estimation), объединивший идеи RMSprop (адаптация по второму моменту градиентов) и метода импульса (учёт первого момента) [1]. Adam быстро стал одним из наиболее популярных оптимизаторов для обучения глубоких нейронных сетей.
В том же 2012 году Мэтью Зейлер представил AdaDelta — метод, также решающий проблему убывания темпа обучения AdaGrad, но при этом не требующий задания начального темпа обучения [1].
Позднее были предложены модификации, такие как AdaMax, AMSGrad [1] и Nadam (сочетание Adam с нестеровским ускорением).
Основные алгоритмы
AdaGrad
AdaGrad накапливает сумму квадратов градиентов по каждому параметру:
— полная матрица (для диагонального приближения —
).
Правило обновления для диагональной версии:
,
где — малая константа для предотвращения деления на ноль.
Преимущества: автоматическая адаптация к разреженности признаков — редкие признаки получают более высокий темп обучения. Недостаток: монотонное накопление приводит к неограниченному убыванию темпа обучения, что может преждевременно остановить обучение.
RMSprop
RMSprop заменяет накопление всех градиентов на экспоненциальное скользящее среднее:
,
.
Коэффициент (обычно 0.9) определяет вес более поздних градиентов. RMSprop эффективно решает проблему неограниченного убывания темпа обучения.
Adam
Adam сочетает адаптацию по второму моменту (как в RMSprop) с учётом первого момента (как в методе импульса):
— оценка первого момента,
— оценка второго момента.
Смещённые оценки корректируются:
,
.
Обновление параметров:
.
Типичные значения гиперпараметров: ,
,
,
.
Другие алгоритмы
AdaDelta использует скользящее среднее квадратов обновлений параметров для устранения необходимости в явном темпе обучения. AdaMax — вариант Adam с использованием нормы вместо
для второго момента. AMSGrad модифицирует Adam, гарантируя монотонное убывание темпа обучения. Nadam сочетает Adam с нестеровским ускорением.
Математические аспекты
Связь с методами второго порядка
Адаптивные методы можно рассматривать как приближение квазиньютоновских методов. Полный AdaGrad использует матрицу в качестве предобуславливателя:
,
где — оператор проекции в норме, индуцированной
. Это аналогично использованию приближённого гессиана, но в отличие от классических квазиньютоновских методов, AdaGrad применим к негладким задачам.
Сходимость
Для выпуклых задач AdaGrad достигает субоптимальности в стохастической постановке. Для невыпуклых задач теоретические гарантии сложнее; однако на практике адаптивные методы демонстрируют устойчивую сходимость без тонкой настройки темпа обучения.
Современные исследования показывают, что AdaGrad с диагональным предобуславливанием сходится почти линейно при определённых условиях гладкости. В то же время показано, что Adam может не сходиться на некоторых простых задачах, что привело к появлению модификаций типа AMSGrad [1].
Предобуславливание
Адаптивные методы реализуют диагональное предобуславливание — масштабирование градиента по каждому параметру. Это эквивалентно замене евклидовой нормы на взвешенную, где веса определяются историей градиентов. Такой подход позволяет алгоритму автоматически учитывать различную чувствительность целевой функции к разным параметрам.
Практические аспекты и системные вопросы
Вычислительная сложность
Вычислительные затраты адаптивных методов лишь незначительно превышают затраты SGD. Для каждого параметра требуется хранить дополнительные состояния (например, и
для Adam), что удваивает или утраивает объём памяти по сравнению с SGD. В распределённых системах это может быть существенным ограничением.
Масштабируемость
Адаптивные методы хорошо масштабируются на распределённые вычислительные кластеры благодаря покоординатному характеру обновлений. Однако синхронизация дополнительных состояний между узлами может создавать накладные расходы. Современные фреймворки (TensorFlow, PyTorch) предоставляют распределённые реализации адаптивных оптимизаторов.
Практические рекомендации
Несмотря на адаптивность, все методы содержат гиперпараметры, требующие настройки. Для Adam рекомендованные значения ,
,
хорошо работают в широком классе задач. Для RMSprop Хинтон рекомендовал
,
.
Важно отметить, что адаптивные методы, хотя и сходятся быстрее на этапе обучения, иногда уступают классическому SGD по обобщающей способности на тестовых данных [1]. Это наблюдение стимулирует исследования гибридных подходов и методов регуляризации.
Применения
AdaGrad изначально разрабатывался для задач онлайн-обучения и стохастической оптимизации с разреженными данными, таких как обработка естественного языка и рекомендательные системы, где различные признаки встречаются с сильно различающейся частотой.
RMSprop и Adam широко применяются для обучения глубоких нейронных сетей всех архитектур: свёрточных, рекуррентных и трансформеров. Adam, в частности, является стандартным оптимизатором для большинства современных моделей глубокого обучения.
Критика и ограничения
Основные критические замечания в адрес адаптивных методов:
Проблемы обобщения: Adam и другие адаптивные методы часто показывают более низкую точность на тестовых данных по сравнению с SGD с правильно подобранным расписанием темпа обучения [1].
Отсутствие гарантий сходимости: Для некоторых вариантов (например, исходного Adam) доказано отсутствие сходимости на простых контрпримерах [1].
Чувствительность к гиперпараметрам: Хотя адаптивные методы уменьшают зависимость от выбора темпа обучения, они вводят новые гиперпараметры (,
,
), которые также требуют настройки.
Память: Хранение дополнительных состояний для каждого параметра увеличивает потребление памяти, что критично для моделей с миллиардами параметров.
См. также
Стохастический градиентный спуск
Литература
- Duchi, J., Hazan, E., & Singer, Y. Adaptive subgradient methods for online learning and stochastic optimization // Journal of Machine Learning Research. — 2011. — Т. 12. — С. 2121–2159.
- Hinton, G. Lecture notes on RMSprop // Coursera: Neural Networks for Machine Learning. — 2012.
- Kingma, D. P., & Ba, J. Adam: A method for stochastic optimization // Proceedings of the 3rd International Conference on Learning Representations (ICLR). — 2015.
- Zeiler, M. D. ADADELTA: An adaptive learning rate method // arXiv preprint. — 2012.
- Reddi, S. J., Kale, S., & Kumar, S. On the convergence of Adam and beyond // Proceedings of the 6th International Conference on Learning Representations (ICLR). — 2018.
- Ruder, S. An overview of gradient descent optimization algorithms // arXiv preprint. — 2016.
- Wilson, A. C., Roelofs, R., Stern, M., Srebro, N., & Recht, B. The marginal value of adaptive gradient methods in machine learning // Advances in Neural Information Processing Systems. — 2017. — Т. 30. — С. 4148–4158.

