Толковый словарь по нейросетям и искусственному интеллекту
Разогрев скорости обучения
Learning Rate Warmup
Категория термина
Разогрев скорости обучения (Learning Rate Warmup) — это техника в обучении нейросетей, при которой скорость обучения (learning rate) в начале тренировки не устанавливается сразу на максимальное значение, а постепенно увеличивается от малого к заданному в течение нескольких первых итераций или эпох. Такой подход помогает стабилизировать процесс обучения, особенно при использовании больших батчей или сложных моделей.Основная идея: вместо резкого старта с высокой скоростью обучения, который может вызвать нестабильность и плохую сходимость, модель постепенно «разгоняется», что позволяет оптимизатору устойчивее находить правильное направление в пространстве параметров.
🧠 Механизм работы:
- Задаётся минимальное начальное значение скорости обучения (обычно близкое к нулю).
- Определяется количество шагов или эпох для «разогрева».
- На каждом шаге скорость обучения постепенно увеличивается (линейно или по другой функции).
- После завершения warmup применяется основная схема изменения learning rate (например, экспоненциальное затухание или косинусный scheduler).
🔑 Основные подходы:
- Линейный разогрев
- Learning rate увеличивается равномерно от 0 до целевого значения.
- Косинусный разогрев
- Рост скорости обучения описывается косинусной функцией.
- Гибридные методы
- Сочетают warmup с последующим уменьшением learning rate по расписанию.
📌 Примеры применения:
- Трансформеры (BERT, GPT)
- Warmup используется почти всегда для стабилизации обучения больших языковых моделей.
- Обучение с большими батчами
- Разогрев помогает избежать резких колебаний функции потерь.
- Компьютерное зрение
- Применяется при тренировке CNN и Vision Transformers (ViT) для устойчивости.
⚖️ Преимущества и недостатки:
Преимущества:- Снижает риск дивергентного обучения на старте.
- Особенно полезен при использовании адаптивных оптимизаторов (Adam, AdamW) с большим batch size.
- Повышает стабильность и качество итоговой модели.
- Увеличивает время настройки гиперпараметров (нужно подбирать длину warmup).
- Не всегда необходим — при маленьких моделях и батчах пользы может не быть.
- Слишком долгий разогрев замедляет обучение.
🧠 Связанные понятия:
- Learning Rate Scheduler — механизм изменения скорости обучения по расписанию.
- Cosine Annealing — популярный метод уменьшения learning rate после warmup.
- Batch Size — параметр, напрямую влияющий на необходимость warmup.
- AdamW — оптимизатор, где warmup применяется особенно часто.