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

Learning Rate Scheduling

Расписание скорости обучения

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

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

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

  • Cosine annealing с warmup — стандарт для трансформеров.
  • Warmup спасает от расходимости на первых шагах при больших батчах.
  • ReduceLROnPlateau реагирует на остановку роста метрики.
Тема также относится к главам:Глубокое обучениеОбучение

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

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

1

Основные расписания

Большой шаг в начале, маленький в конце.

Обозначения
  • скорость обучения — длина шага оптимизатора
  • число π ≈ 3.14159
Cosine annealing — самое популярное расписание в глубоком обучении
  • Step decay — уменьшать в 10 раз на заданных эпохах: просто и предсказуемо.
  • Cosine — плавное затухание, стандарт для трансформеров.
  • ReduceLROnPlateau — реагирует на остановку роста метрики, удобно, когда длительность обучения неизвестна.
  • One-cycle — рост, затем спад; часто даёт лучший результат за фиксированный бюджет.
2

Warmup

Почему первые сотни шагов идут с крошечным шагом.

В начале обучения оценки вторых моментов у Adam ещё ненадёжны, а веса случайны — большой шаг легко выбрасывает модель в область, из которой она не восстанавливается. Warmup линейно поднимает lr от нуля до рабочего значения за первые несколько сотен или тысяч шагов.

На практике

Чем больше батч и глубже сеть, тем важнее warmup. Для трансформеров это фактически обязательный элемент рецепта.

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

Стабильность обучения нейросетей · Оптимизаторы · Подбор гиперпараметров

Normalization Layers85%

Слои нормализации · Глубокое обучение

BatchNorm, LayerNorm, RMSNorm: стабилизация распределения активаций, без которой глубокие сети почти не обучаются.

Gradient Clipping85%

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

Ограничение нормы градиента перед шагом оптимизатора — простейшая защита от расходимости обучения.

Mixed Precision85%

Смешанная точность · Оптимизация обучения

Обучение в fp16 или bf16 при накоплении в fp32: двукратная экономия памяти и заметное ускорение.

Backpropagation85%

Обратное распространение ошибки · Глубокое обучение

Эффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.

Numerical Methods85%

Численные методы · Основы

Компьютер считает приближённо. Понимание точности float, устойчивости и обусловленности спасает от NaN и «необъяснимых» расхождений.

Optimization85%

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

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

Optimizers85%

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

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

Gradient Descent85%

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

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

SGD85%

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

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

Momentum85%

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

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

Adam85%

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

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

AdamW85%

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

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

RMSProp85%

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

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

Batch size85%

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

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

Hyperparameter tuning80%

Настройка гиперпараметров · Практика ML

Поиск конфигурации модели по валидационной метрике — последний, а не первый шаг работы.

Grid Search80%

Поиск по сетке · Практика ML

Полный перебор всех комбинаций заданных значений гиперпараметров.

Random Search80%

Случайный поиск · Практика ML

Случайная выборка конфигураций из заданных распределений.

Bayesian Optimization80%

Байесовская оптимизация · Практика ML

Строит модель зависимости метрики от гиперпараметров и выбирает следующую точку осознанно.

Cross-validation80%

Кросс-валидация · Оценка моделей

Многократное разбиение выборки, дающее оценку качества вместе с её разбросом.