LSTM

Простой LSTM-блок с тремя вентилями: входным, выходным и забывания. LSTM-блоки могут обладать большим числом вентилей.[1]

Долгая краткосрочная память (англ. Long short-term memory; LSTM) — разновидность архитектуры рекуррентных нейронных сетей, предложенная в 1997 году Зеппом Хохрайтером и Юргеном Шмидхубером[2]. Как и большинство рекуррентных нейронных сетей, LSTM-сеть является универсальной в том смысле, что при достаточном числе элементов сети она может выполнить любое вычисление, на которое способен обычный компьютер, для чего необходима соответствующая матрица весов, которая может рассматриваться как программа. В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными лагами с неопределённой продолжительностью и границами. Относительная невосприимчивость к длительности временных разрывов даёт LSTM преимущество по отношению к альтернативным рекуррентным нейронным сетям, скрытым марковским моделям и другим методам обучения для последовательностей в различных сферах применения. Из множества достижений LSTM-сетей можно выделить наилучшие результаты в распознавании несегментированного слитного рукописного текста[3], и победу в 2009 году на соревнованиях по распознаванию рукописного текста (ICDAR[en]). LSTM-сети также используются в задачах распознавания речи, например LSTM-сеть была основным компонентом сети, которая в 2013 году достигла рекордного порога ошибки в 17,7 % в задаче распознавания фонем на классическом корпусе естественной речи TIMIT[en][4]. По состоянию на 2016 год ведущие технологические компании, включая Google, Apple, Microsoft и Baidu, используют LSTM-сети в качестве фундаментального компонента новых продуктов[5][6].

Традиционная LSTM[ | ]

Традиционная LSTM с вентилями забывания[2][7] и ( обозначает произведение Адамара):

Переменные:

  •  — входной вектор,
  •  — выходной вектор,
  •  — вектор состояний,
  • , и  — матрицы параметров и вектор,
  • , и  — векторы вентилей,
    •  — вектор вентиля забывания, вес запоминания старой информации,
    •  — вектор входного вентиля, вес получения новой информации,
    •  — вектор выходного вентиля, кандидат на выход.

Функции активации:

  • : на основе сигмоиды.
  • : на основе гиперболического тангенса.
  • : на основе гиперболического тангенса, но в работе о глазках (смотровых отверстиях) для LSTM предполагается, что .[8][9]

LSTM с «глазками»[ | ]

Глазочная LSTM с вентилями забывания[8][9] не используется, используется в качестве замены в большинстве мест:

Свёрточная LSTM[ | ]

Свёрточная LSTM[10] ( обозначает оператор свёртки):


Тренировка[ | ]

Для минимизации общей ошибки LSTM на всём множестве тренировочных последовательностей, итеративный градиентный спуск такой как метод обратного распространения ошибки развёрнутый во времени может быть использован для изменения каждого из весов пропорционально его производной в зависимости от величины ошибки. Главной проблемой градиентного спуска для стандартных рекуррентных нейронных сетей является то, что градиенты ошибок уменьшаются с экспоненциальной скоростью по мере увеличения временной задержки между важными событиями, что было выявлено в 1991[11][12]. С LSTM-блоками, тем не менее, когда величины ошибки распространяются в обратном направлении от выходного слоя, ошибка оказывается заперта в памяти блока. Это называют «каруселью ошибок», которая непрерывно «скармливает» ошибку обратно каждому из вентилей, пока они не будут натренированы отбрасывать значение. Таким образом, регулярное обратное распространение ошибки эффективно для тренировки LSTM-блока для запоминания значений на очень длительные временные промежутки.

LSTM также можно тренировать при помощи комбинации эволюционного алгоритма для весов в скрытых слоях и псевдообратных матриц или метода опорных векторов для весов в выходном слое.[13] В обучении с подкреплением LSTM можно тренировать при помощи непосредственного поиска в пространстве стратегий, эволюционных стратегий или генетических алгоритмов.

Применения[ | ]

Описаны примеры применения LSTM: в робототехнике[14], для анализа временных рядов[15], для распознавания речи[4][16][17], в ритмическом обучении[9], для генерации музыкальных композиций[18], в грамматическом обучении (англ. artificial grammar learning)[8][19][20], в задачах распознавания рукописного ввода[21][22], для распознавания человеческой активности[23], в задаче выявления гомологичных белков[24].

Примечания[ | ]

  1. Klaus Greff; Rupesh Kumar Srivastava; Jan Koutník; Bas R. Steunebrink & Jürgen Schmidhuber (2015), LSTM: A Search Space Odyssey, arΧiv:1503.04069 
  2. 1 2 Sepp Hochreiter; Jürgen Schmidhuber. Long short-term memory (англ.) // Neural Computation (англ.) : journal. — 1997. — Vol. 9, no. 8. — P. 1735—1780. — doi:10.1162/neco.1997.9.8.1735. — PMID 9377276. Архивировано 26 мая 2015 года. Архивированная копия (недоступная ссылка). Дата обращения: 4 февраля 2017. Архивировано 26 мая 2015 года.
  3. A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 5, 2009.
  4. 1 2 Graves, Alex; Mohamed, Abdel-rahman; Hinton, Geoffrey. Speech Recognition with Deep Recurrent Neural Networks (англ.) // Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on : journal. — 2013. — P. 6645—6649.
  5. With QuickType, Apple wants to do more than guess your next text. It wants to give you an AI. (англ.). WIRED. Дата обращения: 16 июня 2016.
  6. Recurrent Neural Networks — Feedback Networks — Lstm Recurrent Network — Feedback Neural Network — Recurrent Nets — Feedback Network — Recurrent Net — - Feedback Net. people.idsia.ch. Дата обращения: 16 июня 2016.
  7. Felix A. Gers; Jürgen Schmidhuber; Fred Cummins. Learning to Forget: Continual Prediction with LSTM (англ.) // Neural Computation (англ.) : journal. — 2000. — Vol. 12, no. 10. — P. 2451—2471. — doi:10.1162/089976600300015015.
  8. 1 2 3 Gers, F. A.; Schmidhuber, J. LSTM Recurrent Networks Learn Simple Context Free and Context Sensitive Languages (англ.) // IEEE Transactions on Neural Networks (англ.) : journal. — 2001. — Vol. 12, no. 6. — P. 1333—1340. — doi:10.1109/72.963769.
  9. 1 2 3 Gers, F.; Schraudolph, N.; Schmidhuber, J. Learning precise timing with LSTM recurrent networks (англ.) // Journal of Machine Learning Research : journal. — 2002. — Vol. 3. — P. 115—143.
  10. Xingjian Shi; Zhourong Chen; Hao Wang; Dit-Yan Yeung; Wai-kin Wong; Wang-chun Woo. Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting (англ.) // Proceedings of the 28th International Conference on Neural Information Processing Systems : journal. — 2015. — P. 802—810.
  11. S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Diploma thesis, Institut f. Informatik, Technische Univ. Munich, 1991.
  12. S. Hochreiter, Y. Bengio, P. Frasconi, and J. Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies. In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press, 2001.
  13. Schmidhuber, J.; Wierstra, D.; Gagliolo, M.; Gomez, F. Training Recurrent Networks by Evolino (англ.) // Neural Computation (англ.). — 2007. — Vol. 19, no. 3. — P. 757—779. — doi:10.1162/neco.2007.19.3.757.
  14. H. Mayer, F. Gomez, D. Wierstra, I. Nagy, A. Knoll, and J. Schmidhuber. A System for Robotic Heart Surgery that Learns to Tie Knots Using Recurrent Neural Networks. Advanced Robotics, 22/13-14, pp. 1521—1537, 2008.
  15. J. Schmidhuber and D. Wierstra and F. J. Gomez. Evolino: Hybrid Neuroevolution / Optimal Linear Search for Sequence Learning. Proceedings of the 19th International Joint Conference on Artificial Intelligence (IJCAI), Edinburgh, pp. 853—858, 2005.
  16. Graves, A.; Schmidhuber, J. Framewise phoneme classification with bidirectional LSTM and other neural network architectures (англ.) // Neural Networks : journal. — 2005. — Vol. 18, no. 5—6. — P. 602—610. — doi:10.1016/j.neunet.2005.06.042.
  17. S. Fernandez, A. Graves, J. Schmidhuber. An application of recurrent neural networks to discriminative keyword spotting. Intl. Conf. on Artificial Neural Networks ICANN’07, 2007.
  18. D. Eck and J. Schmidhuber. Learning The Long-Term Structure of the Blues. In J. Dorronsoro, ed., Proceedings of Int. Conf. on Artificial Neural Networks ICANN’02, Madrid, pages 284—289, Springer, Berlin, 2002.
  19. Schmidhuber, J.; Gers, F.; Eck, D.; Schmidhuber, J.; Gers, F. Learning nonregular languages: A comparison of simple recurrent networks and LSTM (англ.) // Neural Computation (англ.) : journal. — 2002. — Vol. 14, no. 9. — P. 2039—2041. — doi:10.1162/089976602320263980.
  20. Perez-Ortiz, J. A.; Gers, F. A.; Eck, D.; Schmidhuber, J. Kalman filters improve LSTM network performance in problems unsolvable by traditional recurrent nets (англ.) // Neural Networks : journal. — 2003. — Vol. 16, no. 2. — P. 241—250. — doi:10.1016/s0893-6080(02)00219-8.
  21. A. Graves, J. Schmidhuber. Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks. Advances in Neural Information Processing Systems 22, NIPS’22, pp 545—552, Vancouver, MIT Press, 2009.
  22. A. Graves, S. Fernandez,M. Liwicki, H. Bunke, J. Schmidhuber. Unconstrained online handwriting recognition with recurrent neural networks. Advances in Neural Information Processing Systems 21, NIPS’21, pp 577—584, 2008, MIT Press, Cambridge, MA, 2008.
  23. M. Baccouche, F. Mamalet, C Wolf, C. Garcia, A. Baskurt. Sequential Deep Learning for Human Action Recognition. 2nd International Workshop on Human Behavior Understanding (HBU), A.A. Salah, B. Lepri ed. Amsterdam, Netherlands. pp. 29-39. Lecture Notes in Computer Science 7065. Springer. 2011
  24. Hochreiter, S.; Heusel, M.; Obermayer, K. Fast model-based protein homology detection without alignment (англ.) // Bioinformatics : journal. — 2007. — Vol. 23, no. 14. — P. 1728—1736. — doi:10.1093/bioinformatics/btm247. — PMID 17488755.

Ссылки[ | ]