Изменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Ключевые тезисы
- Cosine annealing с warmup — стандарт для .
- Warmup спасает от расходимости на первых шагах при больших батчах.
- ReduceLROnPlateau реагирует на остановку роста метрики.
Какую задачу решает
Одна и та же не может быть хорошей и в начале, и в конце. На старте нужны крупные шаги, чтобы быстро выйти в разумную область; ближе к минимуму крупный шаг заставляет прыгать вокруг него, не приближаясь. Расписание меняет по ходу обучения.
Практически расписание состоит из двух частей. Разогрев: первые сотни или тысячи шагов скорость растёт от нуля — иначе на неустоявшихся оценках моментов делает разрушительный шаг. Спад: дальше скорость плавно снижается, чаще всего по косинусу, доводя модель до аккуратной сходимости.
LR range test: запустите обучение на несколько сотен шагов, экспоненциально увеличивая скорость от до 1, и постройте график лосса от скорости. сначала стоит, потом начинает падать, достигает минимума и резко взлетает. Берите значение примерно на порядок меньше точки взлёта — обычно это точка максимального наклона падения. Тест занимает минуты и заменяет часы перебора по сетке; проделывать его заново нужно при существенной смене архитектуры или .
Подробный разбор
- скорость обучения — длина шага оптимизатора
- число π ≈ 3.14159
- Step decay — уменьшать в 10 раз на заданных эпохах: просто и предсказуемо.
- Cosine — плавное затухание, стандарт для .
- ReduceLROnPlateau — реагирует на остановку роста метрики, удобно, когда длительность обучения неизвестна.
- One-cycle — рост, затем спад; часто даёт лучший результат за фиксированный бюджет.
В начале обучения оценки вторых моментов у ещё ненадёжны, а веса случайны — большой шаг легко выбрасывает модель в область, из которой она не восстанавливается. Warmup линейно поднимает lr от нуля до рабочего значения за первые несколько сотен или тысяч шагов.
Чем больше и глубже сеть, тем важнее warmup. Для это фактически обязательный элемент рецепта.
Где применяется
- Обучение 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%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Косинусный спад
Плавное снижение до нуля или до небольшого минимума. Текущий стандарт.
Разбор ниже: Основные расписанияСтупенчатый спад
Деление скорости на 10 на заданных эпохах. Классика , до сих пор рабочая.
Разбор ниже: Основные расписанияReduceLROnPlateau
Снижение по факту остановки прогресса на валидации — адаптивно, но реагирует с запаздыванием.
Разбор ниже: Основные расписанияПиковая скорость
Значение после разогрева. Главное число расписания: его подбирают в первую .
Разбор ниже: WarmupПрофильная компетенция для ролей: ML Engineer, CV-инженер, Исследователь, Инженер речи.
Усиливает профиль: NLP-инженер.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Оптимизация обучения» последний раз правилась . Нашли ошибку — напишите.