Как ответить
Адаптивные методы — это оптимизаторы, которые подстраивают скорость обучения для каждого параметра сети индивидуально, в зависимости от истории градиентов. В отличие от обычного SGD с фиксированным learning rate, они решают проблему выбора единого шага для всех весов: одни параметры могут сходиться быстро, другие — застревать. Основные представители: AdaGrad, RMSProp, Adam и его вариации.
Начну с AdaGrad. Он накапливает сумму квадратов градиентов для каждого веса и делит learning rate на корень из этой суммы. Формально:
G_t = G_{t-1} + (g_t)^2
θ_{t+1} = θ_t - η / (√G_t + ε) * g_tПроблема: знаменатель монотонно растёт, шаг становится исчезающе малым — для глубоких сетей непригоден. Зато хорош для разреженных данных (например, NLP).
RMSProp (Хинтон, лекция 2012) фиксит это — вместо суммы использует экспоненциальное скользящее среднее:
E[g²]_t = β * E[g²]_{t-1} + (1-β) * (g_t)^2
θ_{t+1} = θ_t - η / (√E[g²]_t + ε) * g_tβ обычно 0.9. Шаг не затухает полностью, адаптация работает на всём протяжении обучения. Хорош для RNN и нестационарных задач.
Adam (Kingma, Ba, 2014) — комбинация RMSProp и momentum. Хранит два скользящих средних: первый момент (средний градиент, m_t) и второй момент (средний квадрат, v_t). С коррекцией смещения на первых шагах:
m_t = β₁ * m_{t-1} + (1-β₁) * g_t
v_t = β₂ * v_{t-1} + (1-β₂) * (g_t)^2
m̂_t = m_t / (1-β₁^t), v̂_t = v_t / (1-β₂^t)
θ_{t+1} = θ_t - η * m̂_t / (√v̂_t + ε)Параметры по умолчанию: η=0.001, β₁=0.9, β₂=0.999, ε=1e-8. На практике Adam — стандарт для CV и NLP, работает из коробки почти без настройки. Минус: может не сходиться к оптимальному решению на некоторых задачах (например, в трансформерах лучше работает AdamW — с отдельным weight decay).
Адаптивность этих методов в том, что каждый параметр получает свой масштаб шага: если градиенты по весу большие и нестабильные — шаг уменьшается, если маленькие и стабильные — увеличивается. Это автоматически решает проблему разреженных признаков (один признак встречается редко, другой — часто) и позволяет не подбирать learning rate вручную, хотя начальный η всё равно важен.
На собеседовании ещё стоит упомянуть Nadam (Adam с Nesterov momentum) и AMSGrad — модификацию, которая фиксит проблему сходимости Adam в некоторых выпуклых задачах.