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