GRU и LSTM: современные рекуррентные нейронные сети | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 2 ноября, печатный экземпляр отправим 6 ноября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №15 (95) август-1 2015 г.

Дата публикации: 31.07.2015

Статья просмотрена: 9667 раз

Библиографическое описание:

Будыльский, Д. В. GRU и LSTM: современные рекуррентные нейронные сети / Д. В. Будыльский. — Текст : непосредственный // Молодой ученый. — 2015. — № 15 (95). — С. 51-54. — URL: https://moluch.ru/archive/95/21426/ (дата обращения: 19.10.2024).

Рекуррентные нейронные сети (Recurrent Neural Network, RNN) — класс моделей машинного обучения, основанный на использовании предыдущих состояний сети для вычисления текущего [5; 10]. Такие сети удобно применять в тех случаях, когда входные данные задачи представляют собой нефиксированную последовательность значений, как, например, текстовые данные, где текстовый фрагмент представлен нефиксированным количеством предложений, фраз и слов. Каждый символ в тексте, отдельные слова, знаки препинания и даже целые фразы — все это может являться атомарным элементом входной последовательности.

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

где  — входной вектор в момент времени  (например, векторное представление текущего слова в текстовом фрагменте); , ,  — обучаемые параметры рекуррентной нейронной сети;  — функция нелинейного преобразования. Чаще всего в качестве нелинейного преобразования применяют одну из следующих функций: сигмоидальная функция (1), гиперболический тангенс (2), функция-выпрямитель (3):

                                                                                                  (1)

                                                                                          (2)

                                                                                                        (3)

В простой рекуррентной нейронной сети (см. рис. 1) выходное значение  на текущем шаге  вычисляется по формуле:

где  и  — обучаемые параметры.

В 1997 году Зепп Хохрайтер (Sepp Hochreiter) и Юрген Шмидхубер (Jürgen Schmidhuber) представили новый подход, получивший название LSTM (Long Short-Term Memory — долгая краткосрочная память) [8]. Рекуррентные нейронные сети, основанные на этом подходе, имеет более продвинутый (и более сложный) способ вычисления . Данный способ, помимо входных значений и предыдущего состояния сети, использует также фильтры (gates), определяющие, каким образом информация будет использоваться для вычисления как выходных значений на текущем слое , так и значений скрытого слоя на следующем шаге . Весь процесс вычисления  для простоты упоминается как LSTM-слой (LSTM layer, LSTM unit).

Рис. 1. Простая рекуррентная нейронная сеть

 

Рассмотрим подробнее структуру LSTM-слоя. Центральным понятием здесь является запоминающий блок (memory cell), который, наряду с состоянием сети , вычисляется на каждом шаге, используя текущее входное значение  и значение блока на предыдущем шаге . Входной фильтр (input gate)  определяет, насколько значение блока памяти на текущем шаге должно влиять на результат. Значения фильтра варьируются от 0 (полностью игнорировать входные значения) до 1, что обеспечивается областью значений сигмоидальной функции:

                                                                                        (4)

«Фильтр забывания» (forget gate) позволяет исключить при вычислениях значения памяти предыдущего шага:

                                                                                     (5)

На основе всех данных, поступающих в момент времени  (а именно, ,  и ), вычисляется состояние блока памяти  на текущем шаге, используя фильтры (4) и (5):

                                                                                    (6)

Выходной фильтр (output gate) аналогичен двум предыдущим и имеет вид:

                                                                                     (7)

Итоговое значение LSTM-слоя определяется выходным фильтром (7) и нелинейной трансформацией над состоянием блока памяти (6):

В 2014 году в работе [15] была представлена модель GRU (Gated Recurrent Unit), основанная на тех же принципах, что и LSTM, но использует меньше фильтров и операций для вычисления  [6]. Фильтр обновления (update gate)  и фильтр сброса состояния (reset gate)  вычисляются по следующим формулам:

                                                                                     (8)

                                                                                      (9)

Выходное значение  вычисляется на основе промежуточного значения , которое, при помощи фильтра сброса состояния (9), определяет, какие значения предыдущего шага  следует исключить (здесь можно видеть прямую аналогию с фильтром забывания из LSTM):

                                                                          (10)

Используя фильтр обновления (8) и промежуточное значение (10), имеем:

Сходства и различия между LSTM- и GRU-слоями можно изобразить схематически (см. рис. 2)

Рис. 2. Схематическое представление LSTM (слева) и GRU (источник: [6])

 

Несмотря на то, что в целом развитие вычислительных моделей идет от простых к более сложным, более простая модель GRU появилась на 17 лет позже модели LSTM. Сама формулировка Gated Recurrent Unit является более обобщающей и подразумевает включение в себя LSTM как частного случая. Однако, это не более чем занимательный исторический факт. Семейство рекуррентных нейронных сетей, использующих фильтры (gates), благодаря LSTM, за свою историю получило активное развитие в следующих областях [12]:

-                    распознавание рукописного текста [1; 3; 4];

-                    моделирование языка [7];

-                    машинный перевод [2; 15];

-                    обработка аудио [13], видео [11] и изображений [14];

-                    анализ тональности и классификация текстов [16];

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

Стоит отметить, что такое активное внимание к рассмотренному семейству моделей в настоящее время обусловлено, в частности, высокими показателями их эффективности во многих задачах. Как и другие рекуррентные нейронные сети, LSTM и GRU (особенно двух- и многослойные) характеризуются достаточно сложной процедурой обучения. Значительно ускорить процессы обучения глубоких нейросетей позволяют графические процессоры (Graphics Processing Unit, GPU), что наглядно демонстрируется активной реализацией (и оптимизацией) описанных рекуррентных моделей под GPU-вычисления [9]

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

 

Литература:

 

1.                   A novel connectionist system for unconstrained handwriting recognition / A. Graves [et al.] // Pattern Analysis and Machine Intelligence, IEEE Transactions on. — 2009. — Vol. 31, no. 5. — Pp. 855–868.

2.                   Addressing the Rare Word Problem in Neural Machine Translation / T. Luong [et al.] // arXiv preprint arXiv:1410.8206. — 2014.

3.                   Doetsch P., Kozielski M., Ney H. Fast and robust training of recurrent neural networks for offline handwriting recognition // Frontiers in Handwriting Recognition (ICFHR), 2014 14th International Conference on. — IEEE. 2014. — Pp. 279–284.

4.                   Dropout improves recurrent neural networks for handwriting recognition / V. Pham [et al.] // Frontiers in Handwriting Recognition (ICFHR), 2014 14th International Conference on. — IEEE. 2014. — Pp. 285–290.

5.                   Elman J. L. Finding structure in time // Cognitive science. — 1990. — Vol. 14, no. 2. — Pp. 179–211.

6.                   Empirical evaluation of gated recurrent neural networks on sequence modeling / J. Chung [et al.] // arXiv preprint arXiv:1412.3555. — 2014.

7.                   Gated feedback recurrent neural networks / J. Chung [et al.] // arXiv preprint arXiv:1502.02367. — 2015.

8.                   Hochreiter S., Schmidhuber J. Long short-term memory // Neural computation. — 1997. — Vol. 9, no. 8. — Pp. 1735–1780.

9.                   Hwang K., Sung W. Single stream parallelization of generalized LSTM-like RNNs on a GPU // arXiv preprint arXiv:1503.02852. — 2015.

10.               Jordan M. I. Serial order: A parallel distributed processing approach // Advances in psychology. — 1997. — Vol. 121. — Pp. 471–495.

11.               Long-term recurrent convolutional networks for visual recognition and description / J. Donahue [et al.] // arXiv preprint arXiv:1411.4389. — 2014.

12.               LSTM: A Search Space Odyssey / K. Greff [et al.] // arXiv preprint arXiv:1503.04069. — 2015.

13.               Multi-resolution linear prediction based features for audio onset detection with bidirectional LSTM neural networks / E. Marchi [et al.] // Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International Conference on. — IEEE. 2014. — Pp. 2164–2168.

14.               Novel approaches for face recognition: template-matching using dynamic time warping and LSTM Neural Network Supervised Classification / A. L. Levada [et al.] // Systems, Signals and Image Processing, 2008. IWSSIP 2008. 15th International Conference on. — IEEE. 2008. — Pp. 241–244.

15.               On the properties of neural machine translation: Encoder-decoder approaches / K. Cho [et al.] // arXiv preprint arXiv:1409.1259. — 2014.

16.               Tai K. S., Socher R., Manning C. D. Improved semantic representations from tree-structured long short-term memory networks // arXiv preprint arXiv:1503.00075. — 2015.

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


Задать вопрос