Проблема исчезающего и взрывающегося градиента Нейронные сети 101
Раскрытие проблемы исчезающего и взрывающегося градиента в нейронных сетях мастеркласс 101
Как обеспечить стабильность нейронной сети и предотвратить её “смерть” или “взрыв”
Что такое затухающие и взрывающиеся градиенты?
В одном из моих предыдущих постов мы объяснили, что нейронные сети учатся с помощью алгоритма обратного распространения ошибки. Основная идея заключается в том, что мы начинаем с выходного слоя и движемся или “пропагируем” ошибку до входного слоя, обновляя веса с учетом функции потерь. Если вы не знакомы с этим, то я настоятельно рекомендую вам ознакомиться с этим постом:
Прямой проход и обратное распространение: Нейронные сети 101
Объяснение того, как нейронные сети “учатся” и “обучаются” шаблонам в данных вручную и с помощью кода с использованием PyTorch
towardsdatascience.com
Веса обновляются с использованием их частной производной по отношению к функции потерь. Проблема заключается в том, что эти градиенты становятся все меньше и меньше по мере приближения к более низким слоям сети. Это приводит к тому, что веса более низких слоев практически не меняются в процессе обучения сети. Это известно как проблема затухающего градиента.
- TiDE простая MLP, которая смущает Transformers
- Двойная расширенная модель с двумя башнями для онлайн-рекомендаций в крупномасштабном масштабе
- Еженедельный обзор ODSC по искусственному интеллекту Неделя с 8 декабря
Может происходить и обратное, когда градиенты продолжают увеличиваться по мере прохождения через слои. Это проблема взрывающегося градиента, которая в основном возникает в рекуррентных нейронных сетях.
Тем не менее, статья, опубликованная Ксавье Глоро и Ёшуа Бенджио в 2010 году, определила несколько причин, по которым это происходит с градиентами. Основными “виновниками” были функция активации сигмоиды и инициализация весов (обычно случайно распределенные по стандартному нормальному закону). Эта комбинация приводит к изменению дисперсии между слоями до их насыщения на крайних значениях функции сигмоиды.
Ниже приведено математическое уравнение и график функции сигмоиды. Обратите внимание, что на крайних значениях градиент становится равным нулю. Следовательно, в этих насыщенных точках нет “обучения”.
Теперь мы рассмотрим несколько техник, которые могут уменьшить вероятность затухания или взрыва градиентов во время обучения.