Оптимизация обучения

Momentum

Момент

актуальноТекущий рабочий стандарт

Накопление экспоненциального среднего градиентов — движение по инерции сквозь колебания.

Что означает каждый компонент
  • накопленная инерция: сохраняем часть прошлого направления (обычно β = 0.9)
  • свежий градиент — поправка к накопленному направлению
Колебания поперёк оврага гасятся, движение вдоль дна накапливается

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

  • Ускоряет спуск по длинным пологим направлениям.
  • Типичное значение коэффициента — 0.9.
  • Nesterov momentum смотрит на шаг вперёд и точнее корректирует траекторию.

Подробный разбор

2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.

1

Как работает инерция

Накопление направления вместо реакции на каждый шаг.

Обозначения
  • скорость обучения — длина шага оптимизатора
  • коэффициент инерции (momentum): доля прошлого направления
  • веса модели — то, что подбирается при обучении
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • функция потерь — то, что минимизируется при обучении
  • градиент: вектор частных производных

Скользящее среднее градиентов гасит колебания поперёк оврага (там знаки чередуются и взаимно уничтожаются) и усиливает движение вдоль дна (там знаки совпадают и складываются). Эффективный шаг вдоль стабильного направления увеличивается примерно в раз.

Пример

При инерция даёт ускорение примерно в 10 раз по сравнению с чистым SGD в направлении, где градиент стабилен.

методSGD
шагов сделано30
f(x, y)0.2153
‖(x, y)‖0.656
Оптимизатор
Переключитесь на Momentum: зигзаг заменяется движением по дну оврага
2

Ускорение Нестерова

Смотрим вперёд, прежде чем считать градиент.

Обозначения
  • скорость обучения — длина шага оптимизатора
  • коэффициент инерции (momentum): доля прошлого направления
  • веса модели — то, что подбирается при обучении
  • номер или количество: индекс шага, число соседей, кластеров или позиций
  • функция потерь — то, что минимизируется при обучении
  • градиент: вектор частных производных
Градиент берётся в точке, куда инерция уже принесёт

Это позволяет «притормозить» заранее, если впереди подъём. На практике даёт небольшое, но стабильное улучшение и стоит ровно столько же.

Связанные темы

Оптимизаторы

Optimization85%

Оптимизация · Основы

Поиск параметров, минимизирующих функцию потерь. Свойства задачи — выпуклость, гладкость, обусловленность — определяют, насколько это просто.

Optimizers85%

Оптимизаторы · Глубокое обучение

Правила обновления весов по градиенту: от чистого SGD до адаптивных методов.

Gradient Descent85%

Градиентный спуск · Оптимизация обучения

Итеративный шаг против градиента функции потерь — базовый алгоритм обучения.

SGD85%

Стохастический градиентный спуск · Оптимизация обучения

Градиент оценивается по мини-батчу: быстрее, шумнее и, как оказалось, полезнее для обобщения.

Adam85%

Adam · Оптимизация обучения

Адаптивный метод: хранит средние градиента и его квадрата, подбирая шаг для каждого параметра.

AdamW85%

AdamW · Оптимизация обучения

Adam с корректно отделённым weight decay — регуляризация применяется к весам, а не к градиенту.

RMSProp85%

RMSProp · Оптимизация обучения

Нормирует шаг на скользящее среднее квадратов градиента, выравнивая масштаб обновлений.

Learning Rate Scheduling85%

Расписание скорости обучения · Оптимизация обучения

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

Batch size85%

Размер батча · Оптимизация обучения

Число объектов на одно обновление весов: влияет на скорость, память и качество обобщения.