Выбор ответа Junior Инициализация и нормализация спрашивают часто обновлено

Взрыв градиентов

Вопрос

Loss внезапно становится NaN после нескольких сотен шагов, градиенты перед этим резко выросли. Что поможет в первую очередь?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Gradient clipping по норме и меньший lr, проверить нормализацию и инициализацию. Клиппинг ограничивает норму градиента, и один плохой батч не разносит веса.

Варианты ответа

  1. Увеличить learning rate, чтобы быстрее выйти из нестабильной области
  2. Gradient clipping по норме и меньший lr, проверить нормализацию и инициализациюправильный ответ
  3. Убрать нормализацию: она делит на маленькую дисперсию и раздувает градиенты
  4. Увеличить число эпох, чтобы оптимизатор успел стабилизировать веса после пика

Разбор

Клиппинг ограничивает норму градиента, и один плохой батч не разносит веса. Меньший lr и warmup снижают риск, нормализация стабилизирует масштабы активаций. Ещё стоит проверить данные: NaN во входе, деление на ноль, log от нуля.

  • Больший lr усугубит взрыв.
  • Нормализация как раз стабилизирует.
  • Эпохи не помогут, если loss уже NaN.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме