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

SGD

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

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

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

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

  • Шум помогает выбираться из узких плохих минимумов.
  • Стандарт обучения глубоких сетей вместе с momentum.
  • Требует перемешивания данных на каждой эпохе.

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

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

1

Full-batch, SGD и mini-batch

Компромисс между точностью градиента и числом обновлений.

МетодОбъектов на шагСтоимость итерацииСвойства
Full-batch GDвсе точный градиент, мало обновлений
SGD1очень шумно, но быстро
Mini-batch32–1024стандарт: векторизация + разумный шум

За одну эпоху full-batch делает одно обновление весов, а mini-batch с батчем 64 при 640 000 объектах — 10 000. Именно поэтому нейросети обучают мини-батчами.

2

Почему шум полезен

Стохастичность как форма регуляризации.

Оценка градиента по батчу несмещена, но шумна. Этот шум мешает застревать в узких «острых» минимумах и подталкивает решение в широкие пологие области, которые лучше обобщаются на новые данные.

  • Данные нужно перемешивать каждую эпоху, иначе порядок объектов создаст систематическое смещение.
  • Слишком большой батч убирает полезный шум — приходится компенсировать увеличением lr и warmup.
  • Правило масштабирования: увеличили батч в раз — увеличьте lr примерно в раз (для умеренных ).
методSGD
шагов сделано30
f(x, y)0.2153
‖(x, y)‖0.656
Оптимизатор
Сравните траектории: чистый SGD чувствителен к масштабу осей, адаптивные методы — нет

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

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

Optimization85%

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

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

Optimizers85%

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

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

Gradient Descent85%

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

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

Momentum85%

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

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

Adam85%

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

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

AdamW85%

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

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

RMSProp85%

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

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

Learning Rate Scheduling85%

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

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

Batch size85%

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

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