Проблема исчезающего градиента - Vanishing gradient problem

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

Обратное распространение позволило исследователям обучать контролируемые глубокие искусственные нейронные сети с нуля, поначалу без особого успеха. Hochreiter «s дипломированный Тезис 1991 формально определил причину этой неудачи в„исчезающем градиенте задачи“, которая не только влияет на многих-слоистые прямое распространение сетей , но и периодические сети . Последние обучаются путем разворачивания их в очень глубокие сети прямого распространения, где новый слой создается для каждого временного шага входной последовательности, обрабатываемой сетью. (Комбинация развертывания и обратного распространения называется обратным распространением во времени .)

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

Чрезвычайно упрощенная иллюстрация в повторяющихся нейронных сетях

В рекуррентных нейронных сетях после шагов происходит повторное умножение матрицы на вектор для скрытых состояний: вектор скрытого вывода слоя зависит от скрытого вывода предыдущего слоя . Мы можем упростить обсуждение, полностью пренебрегая нелинейной функцией , смещением и отмечая, что весовая матрица ( ) всегда одна и та же. В этом случае окончательный вывод будет просто: где - начальный вход в сеть. Если можно диагонализовать, то (из-за ) ясно, что собственные значения меньше 1 экспоненциально затухают с глубиной n, в то время как собственные значения больше 1 экспоненциально увеличиваются с глубиной n.

Решения

Многоуровневая иерархия

Для преодоления этой проблемы было предложено несколько методов. Один из них - это многоуровневая иерархия сетей Юргена Шмидхубера (1992), предварительно обучавшая один уровень за раз посредством неконтролируемого обучения , тонко настроенного посредством обратного распространения ошибки . Здесь каждый уровень изучает сжатое представление наблюдений, которое передается на следующий уровень.

Связанный подход

Подобные идеи использовались в нейронных сетях с прямой связью для неконтролируемого предварительного обучения для структурирования нейронной сети, что позволяет сначала изучить общие полезные детекторы функций . Затем сеть обучается с помощью контролируемого обратного распространения информации для классификации помеченных данных. Модель сети глубоких убеждений, разработанная Hinton et al. (2006) включает изучение распределения высокоуровневого представления с использованием последовательных уровней двоичных или скрытых переменных с действительным знаком . Он использует ограниченную машину Больцмана для моделирования каждого нового слоя функций более высокого уровня. Каждый новый слой гарантирует увеличение на нижней переплете из логарифмического правдоподобия данных, тем самым улучшая модель, если обучающийся должным образом. Как только будет изучено достаточно много уровней, глубокая архитектура может использоваться в качестве генеративной модели путем воспроизведения данных при выборке модели («наследственный проход») из активаций функций верхнего уровня. Хинтон сообщает, что его модели являются эффективными экстракторами признаков из структурированных данных большой размерности.

Долговременная кратковременная память

Другой метод, особенно используемый для рекуррентных нейронных сетей, - это сеть долговременной краткосрочной памяти (LSTM) 1997 года, разработанная Hochreiter & Schmidhuber . В 2009 году глубокие многомерные сети LSTM продемонстрировали силу глубокого обучения с множеством нелинейных слоев, выиграв три конкурса ICDAR 2009 по распознаванию рукописного ввода без каких-либо предварительных знаний о трех разных языках, которые нужно выучить.

Более быстрое оборудование

Достижения в области аппаратного обеспечения означают, что с 1991 по 2015 годы мощность компьютеров (особенно в том, что касается графических процессоров ) увеличилась примерно в миллион раз, что сделало возможным стандартное обратное распространение для сетей на несколько уровней глубже, чем когда была обнаружена проблема исчезающего градиента. Шмидхубер отмечает, что это «в основном то, что сейчас побеждает во многих соревнованиях по распознаванию изображений», но что «на самом деле это не решает проблему фундаментальным образом», поскольку оригинальные модели, решающие проблему исчезающего градиента, Хинтон и другие были обучены в процессор Xeon , а не графические процессоры.

Остаточные сети

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

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

Другие функции активации

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

Другой

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

Нейронные сети также можно оптимизировать, используя универсальный алгоритм поиска в пространстве весов нейронной сети, например, случайное предположение или более систематически генетический алгоритм . Этот подход не основан на градиенте и позволяет избежать проблемы исчезающего градиента.

Смотрите также

использованная литература