Научная статья на тему 'Решение проблемы исчезающего градиента с помощью нейронных сетей долгой краткосрочной памяти'

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

CC BY
941
117
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННЫЕ СЕТИ / ДОЛГАЯ КРАТКОСРОЧНАЯ ПАМЯТЬ / LSTM / ИСЧЕЗАЮЩИЙ ГРАДИЕНТ / РЕКУРРЕНТНЫЕ НЕЙРОННЫЕ СЕТИ / ВРАТА ЗАБЫВАНИЯ / NEURAL NETWORKS / LONG SHORT TERM MEMORY / VANISHING GRADIENT / RECURRENT NEURAL NETWORKS / FORGET GATE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пустынный Я.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пустынный Я.Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Solving the problem of vanishing gradient using long short term memory neural networks

Neural networks are becoming increasingly popular for modeling. While direct transmission networks only use fixed-length data to predict the result at the next time step, standard recurrent neural networks can take into account results obtained from all iterations. On the other hand, recurrent networks are difficult to train because of the so-called vanishing gradient problem. This problem can be solved with neural network architecture with long short-term memory. In this work, an analysis of this type of network in the problem of solving the above problem was carried out. The structure of this type of networks was considered and conclusions were drawn of how such networks solve the problem of vanishing gradient.

Текст научной работы на тему «Решение проблемы исчезающего градиента с помощью нейронных сетей долгой краткосрочной памяти»

Решение проблемы исчезающего градиента с помощью нейронных сетей долгой краткосрочной памяти

о

CS

о

CS CS

о ш m

X

<

m о х

X

Пустынный Ян Николаевич

аспирант, ФГБУН Федеральный исследовательский центр комплексного изучения Арктики имени академика Н.П. Лаверова Уральского отделения Российской академии наук, Институт геодинамики и геологии, y.pustynnyy@yandex.ru

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

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

Введение

В настоящее время, в системах распознавания изображений используют сверточные нейронные сети (далее - CNN), которые хорошо подходят для классификации статических изображений [1]. Однако, насколько хорошо они подходят, если необходимо проанализировать данные в динамике или составить прогнозную модель? Есть способы составить работающие алгоритмы с помощью CNN, но наиболее популярным методом выполнения классификации и другого анализа последовательностей данных являются рекуррентные нейронные сети (далее - RNN). В задачах анализа временных рядов особенно выделяется подмножество таких сетей - сети долговременной краткосрочной памяти (далее LSTM).

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

Чистые рекуррентные нейронные сети не очень часто используются на практике. Основная причина этому - проблема исчезающего градиента. Для рекуррентных нейронных сетей, в идеале, следует иметь длинные цепочки «воспоминаний» в качестве входных данных, чтобы сеть могла подключать отношения данных на значительных расстояниях во времени. Такая сеть могла бы добиться реального прогресса в понимании того, как работает язык и повествование, как соотносятся события на фондовом рынке и так далее. Тем не менее, чем больше временных шагов у нас есть, тем больше шансов, что градиенты обратного распространения либо накапливаются и взрываются, либо исчезают до нуля.

Проблема рекуррентных нейронных сетей

Рассмотрим следующее представление рекуррентной нейронной сети:

ht =a{Uxt + Vhtt _1)

где U и V - весовые матрицы, соединяющие входы и рекуррентные выходы соответственно.

Если пройти на три шага вперед в данной рекуррентной нейронной сети, то получим следующее:

ht =a(Uxt + V (a(Uxt_1 + Va(Uxt_2)))

Отсюда можно заметить, что по мере того, как сеть работает во времени, в нее добавляются более глубокие слои. Это вызывает определенную проблему. Если рассмотреть градиент ошибки относительно матрицы весов U во время обратного распространения во времени:

dE3 dE3 dout3 dh3 dh2 dh1

dU dout3 dh3

dh2 dh1 dU

'3

то станет заметно, что каждый из этих градиентов включает вычисление градиента сигмоидной функции.

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

чезновению градиента

дЕ3

ди

поэтому градиент стано-

Рисунок 1 - Сигмоидный градиент

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

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

Разумеется, можно использовать функции активации ReLU, чтобы частично решить эту проблему, но не устранить ее. Однако наиболее популярным способом решения этой проблемы в рекуррентных нейронных сетях является использование сетей долгой краткосрочной памяти. [1, 2]

Структура сетей LSTM

Чтобы уменьшить проблему исчезающего (и взрывающегося) градиента и, следовательно, позволить рекуррентным нейронным сетям хорошо работать на практике, должен быть способ уменьшить умножение градиентов, которые меньше нуля. Ячейка LSTM является специально разработанной логической единицей, которая поможет уменьшить проблему исчезающего градиента в достаточной степени, чтобы сделать рекуррентные нейронные сети более практичными для долгосрочных задач. Происходит это за счет создания состояния внутренней памяти, которое просто добавляется к обрабатываемому входному сигналу, и которое значительно уменьшает мультипликативное влияние небольших градиентов. Зависимость от времени и эффектов предыдущих входов контролируются концепцией, называемой вратами забывания. Эта концепция определяет, какие состояния запоминаются или забываются. Структура типичной ячейки LSTM показана на рисунке 2

Поток данных на рисунке идет слева направо, с текущим входным сигналом xt и предыдущим выходом 1ы, соединенным со входом в верхний "рельс данных". [3]

Рисунок 2 - Структура ячейки иЭТМ

Входные врата

Входной сигнал лежит в интервале между -1 и 1 с помощью функции тангенциальной активации. Это можно выразить следующим образом:

# = tanh(b9 + х и9 + Н_ _У9)

где ид и V9 - веса для входного и предыдущего выходных данных ячейки, соответственно,

Ьд - смещение входного сигнала.

Обратите внимание, что индексы д не являются степенями, а скорее означают, что это входные веса и значения смещения.

Этот вход затем поэлементно умножается на выход входного элемента. Входной элемент в основном представляет собой скрытый слой сигмоидных активированных узлов с взвешенными входными значениями xt и !н-1, который выводит значения от 0 до 1, а при умножении элемента на вход определяет, какие входы включены и выключены. Выражение для входного элемента:

I =а(Ь' + х и + _У)

Выход входного каскада ячейки LSTM может быть выражен ниже, где оператор ° выражает элементарное умножение:

g о 1

Как можно заметить, выход входного затвора i действует как веса для входа д.

Врата забывания

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

цикл повторения, таким образом можно узнать связь между входами, разделенными по времени. Нужно также помнить, что элемент забывания снова является сигмоидным активированным набором узлов, который элементарно умножается на st-1, чтобы определить, какие предыдущие состояния следует запомнить и которые следует забыть (т. е. забыть выход ворот близко к 0). Это позволяет ячейке LSTM изучать соответствующий контекст. Рассмотрим предложение "Мария отвезла Лену в Сочи, и та была очень благодарна". Для того, чтобы ячейка LSTM узнала, к кому «та» относится, ей нужно забыть «Марию» и заменить ее «Леной»".[2, 4] Врата забывания выражаются следующим образом:

/ = а(Ьг + х ии1 + Н_ХУГ')

х х О го А С.

X

го т

о

2 О

м о

о

CS

о

CS CS

о ш m

X

<

m о x

X

Выход элементного произведения предыдущего состояния и забывающего элемента выражается как

st_1 ° / . Опять же, выход забытых ворот действует как

веса для внутреннего состояния.

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

^ = VI ° / + 8 ° *

Выходные врата

Заключительный этап LSTM это выход. Ячейка выхода имеет два компонента-другую тангенциальную функцию и сигмоидную функцию выхода. Выходная сиг-моидная функция, как и другие функции в ячейке, умножается на сжатое состояние st, чтобы определить, какие значения состояния выводятся из ячейки. Ячейка LSTM контролирует, что такое вход, что «запоминается» во внутренней переменной состояния и, наконец, что выводится из ячейки.

Выражение для выходных ворот будет следующим:

о = а(Ь° + х ,и° + И, _1У°')

Таким образом, конечный результат работы ячейки может быть выражен как:

к1 = tanh(st) ° о

Устранение проблемы исчезающего градиента

Проблема с классическими рекуррентными нейронными сетями заключается в том, что вычисление градиента для обновления весов включает каскадные выражения, такие как:

дкп дК_1 дкп_2

дК_1 дНп_2 дНп_3 "'

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

^ = VI ° / + 8 ° *

Если взять частичную производную этой рекуррентности, как было выше, для классической рекуррентной нейронной сети, обнаружиться следующее:

— = /

^ _1

Обращает внимание, что 8 ° * отпал и осталось просто повторяемое умножение f. Так, за три временных шага, было бы / * / * / . Очевидно, что если на выходе f=1, то спада градиента не будет. Как правило, смещение сигмоида в f становится большим в начале обучения, так что f начинается как 1, что означает, что все прошлые входные состояния будут «запомнены» в

ячейке. Во время тренировки, врата забывания уменьшат или исключат память некоторых компонентов [5]

Таким образом, LSTM сети являются отличным решением проблемы исчезающего градиента и, следовательно, являются причиной, почему в настоящее время используются так широко [5]. До сих пор мы имели дело с данными в ячейках LSTM так, как если бы они были единичными значениями (т. е. скалярами), однако на самом деле они являются тензорами или векторами, и это может привести к путанице. Поэтому в следующем разделе я потрачу немного времени на объяснение размеров тензора, которые мы можем ожидать от развернутых сетей LSTM.

Литература

1. Thomas, A. An introduction to neural networks for beginners, 2015 - 40 p.

2. Staub S. Artificial Neural Network and Agility / World Conference on Technology, Innovation and Entrepreneurship

, 2015 - 9 p.

3. Frasconi, P. Long Short-Term Memory in Recurrent Neural Networks / International Journal of Engineering and Technology, 2003 - 8 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Sundermeyer, M., Ney, H., Schlüter, R. LSTM Neural Networks for Language Modeling / INTERSPEECH, 2012 - 8 p.

5. Linden, J. Evaluating Combinations of Classification Algorithms and Paragraph Vectors for News Article Classification / 2018 Federated Conference on Computer Science and Information Systems, 2018 - 7 p.

Solving the problem of vanishing gradient using long short

term memory neural networks Pustynnyy Y.N.

Federal center for integrated Arctic research Neural networks are becoming increasingly popular for modeling. While direct transmission networks only use fixed-length data to predict the result at the next time step, standard recurrent neural networks can take into account results obtained from all iterations. On the other hand, recurrent networks are difficult to train because of the so-called vanishing gradient problem. This problem can be solved with neural network architecture with long short-term memory. In this work, an analysis of this type of network in the problem of solving the above problem was carried out. The structure of this type of networks was considered and conclusions were drawn of how such networks solve the problem of vanishing gradient. Keywords: neural networks, long short term memory, LSTM,

vanishing gradient, recurrent neural networks, forget gate Refefrences

1. Thomas, A. An introduction to neural networks for beginners,

2015 - 40 p.

2. Staub S. Artificial Neural Network and Agility / World Conference

on Technology, Innovation and Entrepreneurship, 2015 - 9 p.

3. Frasconi, P. Long Short-Term Memory in Recurrent Neural

Networks / International Journal of Engineering and Technology, 2003 - 8 p.

4. Sundermeyer, M., Ney, H., Schlüter, R. LSTM Neural Networks

for Language Modeling / INTERSPEECH, 2012 - 8 p.

5. Linden, J. Evaluating Combinations of Classification Algorithms

and Paragraph Vectors for News Article Classification / 2018 Federated Conference on Computer Science and Information Systems, 2018 - 7 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.