Ограничение перед шагом — простейшая защита от расходимости обучения.
- если норма градиента больше порога τ, вектор укорачивается до τ; направление при этом сохраняется
Ключевые тезисы
- Обрезка по сохраняет направление, обрезка по значению — нет; предпочтительна первая.
- Типичный порог 1.0 для , 5.0 для .
- Постоянное срабатывание обрезки — того, что слишком велик.
Подробный разбор
loss.backward()
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
optimizer.step()
optimizer.zero_grad()При обрезка выполняется после unscale_ , иначе порог применяется к масштабированным значениям и не работает.
- Срабатывает изредка на первых шагах — , так и задумано.
- Срабатывает почти всегда — слишком велик или в данных есть .
- скачет на порядки — ищите битые примеры или деление на ноль в .
Логируйте как обычную метрику обучения: по ней проблемы видны раньше, чем по кривой потерь.
Видеолекции
Тайм-кода именно на эту тему в записях нет. Но глава «Оптимизация обучения» разобрана в курсе целиком — с той оговоркой, что место в записи придётся искать самому.
Связанные темы
Стабильность обучения нейросетей
Normalization Layers85%
Слои нормализации · Глубокое обучениеBatchNorm, LayerNorm, RMSNorm: стабилизация распределения активаций, без которой глубокие сети почти не обучаются.
Mixed Precision85%
Смешанная точность · Оптимизация обученияОбучение в fp16 или bf16 при накоплении в fp32: двукратная экономия памяти и заметное ускорение.
Backpropagation85%
Обратное распространение ошибки · Глубокое обучениеЭффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.
Learning Rate Scheduling85%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Numerical Methods85%
Численные методы · ОсновыКомпьютер считает приближённо. Понимание точности float, устойчивости и обусловленности спасает от NaN и «необъяснимых» расхождений.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Оптимизация обучения» последний раз правилась . Нашли ошибку — напишите.