ENIGMA AI
ENIGMA AI

Какие существуют адаптивные методы обучения нейронных сетей, которые обновляют веса, и почему они называются адаптивными?

встречается 1× Machine Learning middle algorithms

Как ответить

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

Ключевые тезисы

  • Адаптивные методы подбирают learning rate для каждого веса индивидуально на основе истории градиентов.
  • Основные: AdaGrad (затухающий шаг, хорош для разреженных данных), RMSProp (скользящее среднее, решает проблему затухания), Adam (RMSProp + momentum, стандарт на практике).
  • Adam использует коррекцию смещения для первых шагов, что важно при холодном старте.
  • Адаптивность — это автоматическая регуляция шага: большие/нестабильные градиенты уменьшают шаг, маленькие/стабильные — увеличивают.
  • На практике AdamW (с отдельным weight decay) часто лучше Adam для трансформеров и больших моделей.

Что спросят дальше

  • — В чём разница между Adam и SGD с momentum? Когда вы выберете SGD вместо Adam?
  • — Почему в Adam используют коррекцию смещения (bias correction)? Что будет, если её убрать?
  • — Как weight decay влияет на адаптивные методы? Чем AdamW отличается от Adam с L2-регуляризацией?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение