Проблема взрывающегося градиента — еще одна проблема, связанная с обучением глубоких нейронных сетей, что-то вроде оборотной стороны проблемы исчезающего градиента. Эта проблема возникает, когда градиент становится слишком большим, что может привести к нестабильности и неэффективности процесса обучения.

В частности, во время обратного распространения градиенты передаются обратно через сеть. С каждым слоем эти градиенты умножаются на веса текущего слоя. Когда эти веса имеют большие значения или сами градиенты велики, результатом этого умножения может быть очень большой градиент. Когда сеть глубокая, то есть имеет много слоев, эти большие градиенты могут привести к очень большим обновлениям весов модели нейронной сети во время обучения.

В конечном итоге это приводит к нестабильности сети, поскольку веса могут стать слишком большими для обработки и могут привести к значениям NaN. Более того, вместо того, чтобы достичь хорошего стабильного решения, производительность сети может стать очень нестабильной, колеблясь вокруг ландшафта потерь.

Существует несколько методов для смягчения проблемы взрывающегося градиента. К ним относятся отсечение градиента (которое, по сути, ограничивает размер градиента), лучшие стратегии инициализации веса, изменение архитектуры сети и использование различных стратегий оптимизации.

Как и проблема исчезающего градиента, проблема взрывающегося градиента чаще возникает с определенными типами функций активации — обычно с теми, которые не сжимают свои входные данные в небольшом диапазоне. Подобно проблеме исчезающего градиента, проблема взрывающегося градиента затрудняет эффективное обучение глубоких нейронных сетей, поскольку приводит к большим неэффективным шагам в процессе обучения.