Адаптивный градиентный спуск

Материал из 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), использующего единый глобальный темп обучения, адаптивные методы автоматически подстраивают величину обновления под геометрию данных и разреженность признаков.

Основная идея адаптивного градиентного спуска заключается в замене скалярного темпа обучения \eta на диагональную матрицу предобуславливания, которая масштабирует обновление каждого параметра индивидуально. Геометрически это означает переход от изотропного (сферического) пространства параметров к пространству, учитывающему локальную кривизну целевой функции. Такой подход позволяет алгоритму автоматически учитывать различную чувствительность целевой функции к разным параметрам и эффективно работать с разреженными признаками.

История развития

Идея адаптации темпа обучения к геометрии данных восходит к работам по квазиньютоновским методам оптимизации. Однако вычислительная сложность полных матриц вторых производных (гессианов) делает их неприменимыми в задачах с большим числом параметров.

В 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 накапливает сумму квадратов градиентов по каждому параметру:

G_t = \sum_{\tau=0}^t g_\tau g_\tau^\top — полная матрица (для диагонального приближения — \text{diag}(G_t)).

Правило обновления для диагональной версии:

x_{t+1,i} = x_{t,i} - \frac{\eta}{\sqrt{G_{t,ii}} + \varepsilon} g_{t,i},

где \varepsilon — малая константа для предотвращения деления на ноль.

Преимущества: автоматическая адаптация к разреженности признаков — редкие признаки получают более высокий темп обучения. Недостаток: монотонное накопление G_t приводит к неограниченному убыванию темпа обучения, что может преждевременно остановить обучение.

RMSprop

RMSprop заменяет накопление всех градиентов на экспоненциальное скользящее среднее:

s_{t,i} = \beta s_{t-1,i} + (1-\beta) g_{t,i}^2,

x_{t+1,i} = x_{t,i} - \frac{\eta}{\sqrt{s_{t,i}} + \varepsilon} g_{t,i}.

Коэффициент \beta (обычно 0.9) определяет вес более поздних градиентов. RMSprop эффективно решает проблему неограниченного убывания темпа обучения.

Adam

Adam сочетает адаптацию по второму моменту (как в RMSprop) с учётом первого момента (как в методе импульса):

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 — оценка второго момента.

Смещённые оценки корректируются:

\hat{m}_t = \frac{m_t}{1 - \beta_1^t}, \hat{v}_t = \frac{v_t}{1 - \beta_2^t}.

Обновление параметров:

x_{t+1} = x_t - \frac{\eta}{\sqrt{\hat{v}_t} + \varepsilon} \hat{m}_t.

Типичные значения гиперпараметров: \eta = 0.001, \beta_1 = 0.9, \beta_2 = 0.999, \varepsilon = 10^{-8}.

Другие алгоритмы

AdaDelta использует скользящее среднее квадратов обновлений параметров для устранения необходимости в явном темпе обучения. AdaMax — вариант Adam с использованием нормы L_\infty вместо L_2 для второго момента. AMSGrad модифицирует Adam, гарантируя монотонное убывание темпа обучения. Nadam сочетает Adam с нестеровским ускорением.

Математические аспекты

Связь с методами второго порядка

Адаптивные методы можно рассматривать как приближение квазиньютоновских методов. Полный AdaGrad использует матрицу G_t^{1/2} в качестве предобуславливателя:

x_{t+1} = \Pi_{\mathcal{W}}^{G_t^{1/2}}\left(x_t - \eta G_t^{-1/2} g_t\right),

где \Pi — оператор проекции в норме, индуцированной G_t^{1/2}. Это аналогично использованию приближённого гессиана, но в отличие от классических квазиньютоновских методов, AdaGrad применим к негладким задачам.

Сходимость

Для выпуклых задач AdaGrad достигает субоптимальности O(1/\sqrt{T}) в стохастической постановке. Для невыпуклых задач теоретические гарантии сложнее; однако на практике адаптивные методы демонстрируют устойчивую сходимость без тонкой настройки темпа обучения.

Современные исследования показывают, что AdaGrad с диагональным предобуславливанием сходится почти линейно при определённых условиях гладкости. В то же время показано, что Adam может не сходиться на некоторых простых задачах, что привело к появлению модификаций типа AMSGrad [1].

Предобуславливание

Адаптивные методы реализуют диагональное предобуславливание — масштабирование градиента по каждому параметру. Это эквивалентно замене евклидовой нормы на взвешенную, где веса определяются историей градиентов. Такой подход позволяет алгоритму автоматически учитывать различную чувствительность целевой функции к разным параметрам.

Практические аспекты и системные вопросы

Вычислительная сложность

Вычислительные затраты адаптивных методов лишь незначительно превышают затраты SGD. Для каждого параметра требуется хранить дополнительные состояния (например, m_t и v_t для Adam), что удваивает или утраивает объём памяти по сравнению с SGD. В распределённых системах это может быть существенным ограничением.

Масштабируемость

Адаптивные методы хорошо масштабируются на распределённые вычислительные кластеры благодаря покоординатному характеру обновлений. Однако синхронизация дополнительных состояний между узлами может создавать накладные расходы. Современные фреймворки (TensorFlow, PyTorch) предоставляют распределённые реализации адаптивных оптимизаторов.

Практические рекомендации

Несмотря на адаптивность, все методы содержат гиперпараметры, требующие настройки. Для Adam рекомендованные значения \eta=0.001, \beta_1=0.9, \beta_2=0.999 хорошо работают в широком классе задач. Для RMSprop Хинтон рекомендовал \eta=0.001, \beta=0.9.

Важно отметить, что адаптивные методы, хотя и сходятся быстрее на этапе обучения, иногда уступают классическому SGD по обобщающей способности на тестовых данных [1]. Это наблюдение стимулирует исследования гибридных подходов и методов регуляризации.

Применения

AdaGrad изначально разрабатывался для задач онлайн-обучения и стохастической оптимизации с разреженными данными, таких как обработка естественного языка и рекомендательные системы, где различные признаки встречаются с сильно различающейся частотой.

RMSprop и Adam широко применяются для обучения глубоких нейронных сетей всех архитектур: свёрточных, рекуррентных и трансформеров. Adam, в частности, является стандартным оптимизатором для большинства современных моделей глубокого обучения.

Критика и ограничения

Основные критические замечания в адрес адаптивных методов: Проблемы обобщения: Adam и другие адаптивные методы часто показывают более низкую точность на тестовых данных по сравнению с SGD с правильно подобранным расписанием темпа обучения [1]. Отсутствие гарантий сходимости: Для некоторых вариантов (например, исходного Adam) доказано отсутствие сходимости на простых контрпримерах [1]. Чувствительность к гиперпараметрам: Хотя адаптивные методы уменьшают зависимость от выбора темпа обучения, они вводят новые гиперпараметры (\beta_1, \beta_2, \varepsilon), которые также требуют настройки. Память: Хранение дополнительных состояний для каждого параметра увеличивает потребление памяти, что критично для моделей с миллиардами параметров.

См. также

Градиентный спуск

Стохастический градиентный спуск

Скорость обучения

Квазиньютоновские методы

Литература

  • Duchi, J., Hazan, E., & Singer, Y. Adaptive subgradient methods for online learning and stochastic optimization // Journal of Machine Learning Research. — 2011. — Т. 12. — С. 2121–2159.
  • Zeiler, M. D. ADADELTA: An adaptive learning rate method // arXiv preprint. — 2012.
  • Ruder, S. An overview of gradient descent optimization algorithms // arXiv preprint. — 2016.
Личные инструменты