Today: Tuesday 22 June 2021 , 7:47 pm


advertisment
search




Долгая краткосрочная память

Последнее обновление 36 минута , 22 секунды 67 Взгляды

Advertisement
In this page talks about ( Долгая краткосрочная память ) It was sent to us on 22/06/2021 and was presented on 22/06/2021 and the last update on this page on 22/06/2021

Твой комментарий


Введите код
  миниПростой LSTM-блок с тремя вентилями: входным, выходным и забывания. LSTM-блоки могут обладать большим числом вентилей.
Долгая краткосрочная память ( ; LSTM) — разновидность архитектуры рекуррентных нейронных сетей, предложенная в 1997 году Зеппом Хохрайтером и Юргеном Шмидхубером
{{статья
заглавие=Long short-term memory
издание=
том=9
номер=8
страницы=1735—1780
ссылка=http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf
doi=10.1162/neco.1997.9.8.1735
pmid=9377276
deadlink=yes
archiveurl=https://web.archive.org/web/20150526132154/http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf
archivedate=2015-05-26
accessdate=2017-02-04
язык=en
автор=Sepp Hochreiter; Jürgen Schmidhuber
год=1997
тип=journal
. Как и большинство рекуррентных нейронных сетей, LSTM-сеть является универсальной в том смысле, что при достаточном числе элементов сети она может выполнить любое вычисление, на которое способен обычный компьютер, для чего необходима соответствующая матрица весов, которая может рассматриваться как программа. В отличие от традиционных рекуррентных нейронных сетей, LSTM-сеть хорошо приспособлена к обучению на задачах классификации, обработки и прогнозирования временных рядов в случаях, когда важные события разделены временными лагами с неопределённой продолжительностью и границами. Относительная невосприимчивость к длительности временных разрывов даёт LSTM преимущество по отношению к альтернативным рекуррентным нейронным сетям, скрытым марковским моделям и другим методам обучения для последовательностей в различных сферах применения. Из множества достижений LSTM-сетей можно выделить наилучшие результаты в распознавании несегментированного слитного рукописного текста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., и победу в 2009 году на соревнованиях по распознаванию рукописного текста ( ). LSTM-сети также используются в задачах распознавания речи, например LSTM-сеть была основным компонентом сети, которая в 2013 году достигла рекордного порога ошибки в 17,7 % в задаче распознавания фонем на классическом корпусе естественной речи . По состоянию ведущие технологические компании, включая Google, Apple, Microsoft и Baidu, используют LSTM-сети в качестве фундаментального компонента новых продуктов .

Архитектура

LSTM-сеть — это искусственная нейронная сеть, содержащая LSTM-модули вместо или в дополнение к другим сетевым модулям. LSTM-модуль — это рекуррентный модуль сети, способный запоминать значения как на короткие, так и на длинные промежутки времени. Ключом к данной возможности является то, что LSTM-модуль не использует функцию активации внутри своих рекуррентных компонентов. Таким образом, хранимое значение не размывается во времени, и градиент или штраф не исчезает при использовании при тренировке сети.
LSTM-модули часто группируются в «блоки», содержащие различные LSTM-модули. Подобное устройство характерно для «глубоких» многослойных нейронных сетей и способствует выполнению параллельных вычислений с применением соответствующего оборудования. В формулах ниже каждая переменная, записанная строчным курсивом, обозначает вектор размерности равной числу LSTM-модулей в блоке.
LSTM-блоки содержат три или четыре «вентиля», которые используются для контроля потоков информации на входах и на выходах памяти данных блоков. Эти вентили реализованы в виде логистической функции для вычисления значения в диапазоне 0; 1. Умножение на это значение используется для частичного допуска или запрещения потока информации внутрь и наружу памяти. Например, «входной вентиль» контролирует меру вхождения нового значения в память, а «вентиль забывания» контролирует меру сохранения значения в памяти. «Выходной вентиль» контролирует меру того, в какой степени значение, находящееся в памяти, используется при расчёте выходной функции активации для блока. (В некоторых реализациях входной вентиль и вентиль забывания воплощаются в виде единого вентиля. Идея заключается в том, что старое значение следует забывать тогда, когда появится новое значение достойное запоминания).
Веса в LSTM-блоке (W и U) используются для задания направления оперирования вентилей. Эти веса определены для значений, которые подаются в блок (включая x_t и выход с предыдущего временного шага h_{t-1) для каждого из вентилей. Таким образом, LSTM-блок определяет, как распоряжаться своей памятью как функцией этих значений, и тренировка весов позволяет LSTM-блоку выучить функцию, минимизирующую потери. LSTM-блоки обычно тренируют при помощи метода обратного распространения ошибки во времени.

Традиционная LSTM

Традиционная LSTM с вентилями забывания{{статья
заглавие=Learning to Forget: Continual Prediction with LSTM
издание=
том=12
номер=10
страницы=2451—2471
ссылка=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.5709
doi=10.1162/089976600300015015
язык=en
автор=Felix A. Gers; Jürgen Schmidhuber; Fred Cummins
год=2000
тип=journal
c_0 = 0 и h_0 = 0 (\circ обозначает произведение Адамара):
\begin{align
f_t &= \sigma_g(W_{f x_t + U_{f h_{t-1 + b_f) \\
i_t &= \sigma_g(W_{i x_t + U_{i h_{t-1 + b_i) \\
o_t &= \sigma_g(W_{o x_t + U_{o h_{t-1 + b_o) \\
c_t &= f_t \circ c_{t-1 + i_t \circ \sigma_c(W_{c x_t + U_{c h_{t-1 + b_c) \\
h_t &= o_t \circ \sigma_h(c_t)
\end{align
Переменные:
  • x_t — входной вектор,
  • h_t — выходной вектор,
  • c_t — вектор состояний,
  • W, U и b — матрицы параметров и вектор,
  • f_t, i_t и o_t — векторы вентилей,
    • f_t — вектор вентиля забывания, вес запоминания старой информации,
    • i_t — вектор входного вентиля, вес получения новой информации,
    • o_t — вектор выходного вентиля, кандидат на выход.
Функции активации:
  • \sigma_g: на основе сигмоиды.
  • \sigma_c: на основе гиперболического тангенса.
  • \sigma_h: на основе гиперболического тангенса, но в работе о глазках (смотровых отверстиях) для LSTM предполагается, что \sigma_h(x) = x.

LSTM с «глазками»

Глазочная LSTM с вентилями забывания h_{t-1 не используется, c_{t-1 используется в качестве замены в большинстве мест:
\begin{align
f_t &= \sigma_g(W_{f x_t + U_{f c_{t-1 + b_f) \\
i_t &= \sigma_g(W_{i x_t + U_{i c_{t-1 + b_i) \\
o_t &= \sigma_g(W_{o x_t + U_{o c_{t-1 + b_o) \\
c_t &= f_t \circ c_{t-1 + i_t \circ \sigma_c(W_{c x_t + b_c) \\
h_t &= o_t \circ \sigma_h(c_t)
\end{align

Свёрточная LSTM

Свёрточная LSTM (* обозначает оператор свёртки):
\begin{align
f_t &= \sigma_g(W_{f * x_t + U_{f * h_{t-1 + V_{f \circ c_{t-1 + b_f) \\
i_t &= \sigma_g(W_{i * x_t + U_{i * h_{t-1 + V_{i \circ c_{t-1 + b_i) \\
o_t &= \sigma_g(W_{o * x_t + U_{o * h_{t-1 + V_{o \circ c_{t-1 + b_o) \\
c_t &= f_t \circ c_{t-1 + i_t \circ \sigma_c(W_{c * x_t + U_{c * h_{t-1 + b_c) \\
h_t &= o_t \circ \sigma_h(c_t)
\end{align

Тренировка

Для минимизации общей ошибки LSTM на всём множестве тренировочных последовательностей, итеративный градиентный спуск такой как метод обратного распространения ошибки развёрнутый во времени может быть использован для изменения каждого из весов пропорционально его производной в зависимости от величины ошибки. Главной проблемой градиентного спуска для стандартных рекуррентных нейронных сетей является то, что градиенты ошибок уменьшаются с экспоненциальной скоростью по мере увеличения временной задержки между важными событиями, что было выявлено в 1991S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Diploma thesis, Institut f. Informatik, Technische Univ. Munich, 1991.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.. С LSTM-блоками, тем не менее, когда величины ошибки распространяются в обратном направлении от выходного слоя, ошибка оказывается заперта в памяти блока. Это называют «каруселью ошибок», которая непрерывно «скармливает» ошибку обратно каждому из вентилей, пока они не будут натренированы отбрасывать значение. Таким образом, регулярное обратное распространение ошибки эффективно для тренировки LSTM-блока для запоминания значений на очень длительные временные промежутки.
LSTM также можно тренировать при помощи комбинации эволюционного алгоритма для весов в скрытых слоях и псевдообратных матриц или метода опорных векторов для весов в выходном слое.{{статья заглавие=Training Recurrent Networks by Evolino издание= том=19 номер=3 страницы=757—779 doi=10.1162/neco.2007.19.3.757 язык=en автор=Schmidhuber, J.; Wierstra, D.; Gagliolo, M.; Gomez, F. год=2007 В обучении с подкреплением LSTM можно тренировать при помощи непосредственного поиска в пространстве стратегий, эволюционных стратегий или генетических алгоритмов.

Применения

Описаны примеры применения LSTM: в робототехнике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., для анализа временных рядов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., для распознавания речи 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., в ритмическом обучении , для генерации музыкальных композиций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., в {{статья заглавие=LSTM Recurrent Networks Learn Simple Context Free and Context Sensitive Languages издание= том=12 номер=6 страницы=1333—1340 doi=10.1109/72.963769 язык=en тип=journal автор=Gers, F. A.; Schmidhuber, J. год=2001{{статья заглавие=Learning nonregular languages: A comparison of simple recurrent networks and LSTM издание= том=14 номер=9 страницы=2039—2041 doi=10.1162/089976602320263980 язык=en тип=journal автор=Schmidhuber, J.; Gers, F.; Eck, D.; Schmidhuber, J.; Gers, F. год=2002 , в задачах распознавания рукописного ввода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.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., для распознавания человеческой активности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, в задаче выявления гомологичных белков .

Примечания


Ссылки

  • Рекуррентные нейронные сети — более 30 статей о LSTM за авторством группы Шмидхубер, ЮргенЮргена Шмидхубера в
  • PhD-диссертация о LSTM-сетях.
  • Статья о выявлении мошенничества с двумя главами посвящёнными объяснению рекуррентных нейронных сетей, в особенности LSTM.
  • Статья о высокопроизводительном расширении LSTM, упрощённой до типа единичного узла, способного выучивать произвольные архитектуры.
  • Руководство: Как реализовать LSTM-сеть на Питоне при помощи Theano

Категория:Искусственные нейронные сети
 
Комментарии

Пока нет комментариев




последний раз видели
большинство посещений