Шедулинг скорости обучения (Learning Rate Scheduling)

Что такое Шедулинг скорости обучения (Learning Rate Scheduling)?

Методика динамической регулировки параметра скорости обучения (learning rate) в процессе тренировки нейронных сетей, направленная на оптимизацию сходимости и повышение качества модели.

Суть шедулинга в том, что вместо фиксированной скорости обучения алгоритм постепенно изменяет её по заранее определённому правилу или адаптивно — в зависимости от поведения модели на текущих итерациях. Это позволяет:
  • на ранних этапах быстро двигаться в пространстве параметров, «захватывая» перспективные направления;
  • ближе к сходимости снижать скорость, чтобы точнее «прицеливаться» в оптимум и не «перепрыгнуть» его;
  • избегать застревания в неглубоких локальных минимумах или плато.
Представьте, что вы ищете дорогу в незнакомом городе. В начале пути вы идёте быстро, охватывая большие участки, чтобы понять общую структуру района. По мере приближения к цели вы замедляетесь, внимательно смотрите по сторонам и сверяетесь с картой — иначе рискуете пройти мимо нужного дома. Шедулинг скорости обучения работает похоже: сначала «быстро исследуем», потом «медленно уточняем».

Исторический контекст

Идея варьировать скорость обучения возникла почти одновременно с развитием методов градиентного спуска для обучения нейросетей. В классических работах 1980–1990‑х годов уже обсуждались эвристики типа «уменьшать learning rate по мере обучения». В 2010‑е годы, с ростом популярности глубокого обучения, появились систематические подходы:

  • step decay (ступенчатое уменьшение);
  • exponential decay (экспоненциальное затухание);
  • cosine annealing (косинусоидальное охлаждение);
  • адаптивные методы (Adam, RMSprop, Adagrad), где скорость обучения подстраивается индивидуально для каждого параметра.

Важную роль сыграли работы таких исследователей, как Geoffrey Hinton, Yann LeCun, а также команды Google, Facebook и OpenAI, которые внедряли и тестировали эти техники в крупных моделях.

Смежные понятия и различия

  • Фиксированная скорость обучения — противоположный подход: один и тот же learning rate на всём протяжении тренировки. Прост, но часто неоптимален.
  • Адаптивные оптимизаторы (Adam, RMSprop) — частично решают ту же задачу, но делают это автоматически, на уровне обновления каждого веса. Шедулинг же задаёт глобальную стратегию для всего оптимизатора.
  • Learning rate warm-up — кратковременный рост learning rate в начале обучения (вместо уменьшения). Иногда используется как дополнение к шедулингу.

Примеры использования

  • В моделях трансформеров (BERT, GPT) часто применяют cosine annealing или linear warm-up + decay: сначала плавно повышают learning rate, затем постепенно снижают.
  • В свёрточных сетях (ResNet, EfficientNet) популярен step decay: каждые N эпох скорость обучения уменьшается в K раз.
  • Библиотеки PyTorch и TensorFlow предоставляют готовые классы для шедулинга (например, torch.optim.lr_scheduler в PyTorch), где можно выбрать стратегии типа StepLR, ExponentialLR, CosineAnnealingLR.
  • В практике Kaggle и соревнований по ML шедулинг — стандартный приём для выжимания последних процентов качества из модели.

Авторизация