Скорость обучения (LR)

Автор:

Параметр, который определяет, насколько сильно модель обновляет свои веса на каждом шаге обучения.

Скорость обучения (Learning Rate) — это параметр, который определяет, насколько сильно модель обновляет свои веса на каждом шаге обучения. LR задаёт размер шага, с которым модель движется к оптимальному решению.

Представьте, что вы спускаетесь с горы в тумане и хотите попасть в самую низкую точку.

  • если шаги слишком большие — вы будете перескакивать минимум
  • если шаги слишком маленькие — будете идти очень медленно
  • если шаги оптимальные — быстро и точно дойдёте до цели

Learning Rate — это как раз размер этих шагов.

Почему Learning Rate критически важен

От этого параметра зависит:

  • сойдётся ли обучение вообще
  • насколько быстро модель обучится
  • будет ли результат стабильным

Что происходит при разных значениях

Слишком большой Learning Rate

  • обучение нестабильное
  • Потери (Loss) скачут или растут
  • модель может не сходиться

Признак — график ошибки «прыгает» или расходится

Слишком маленький Learning Rate

  • обучение очень медленное
  • модель долго не достигает хорошего качества
  • может застрять в плохом решении

Признак - потери убывают очень медленно.

Оптимальный Learning Rate

  • стабильное снижение ошибки
  • быстрое обучение
  • хорошее качество модели

Типичные значения

Зависят от модели и оптимизатора, но часто:

  • 0.1 — большой
  • 0.01 — стандартный
  • 0.001 — безопасный
  • 0.0001 — очень маленький

Learning Rate и оптимизаторы

Разные оптимизаторы по-разному работают с learning rate:

  • SGD — сильно чувствителен
  • Adam — адаптирует шаги автоматически
  • RMSprop — учитывает историю градиентов

Но даже с Adam LR остаётся ключевым параметром.

Learning Rate Scheduling

На практике LR часто изменяют во время обучения.

Популярные стратегии

  • Step decay — уменьшается ступенчато
  • Exponential decay — уменьшается экспоненциально
  • Cosine annealing — плавное уменьшение
  • Warm-up — сначала увеличивается, потом уменьшается

Зачем это нужно:

  • быстрое начало обучения
  • точная настройка в конце
  • улучшение качества модели