14
правок
Изменения
Нет описания правки
== Описание ==
[[File:RNN.png|450px|thumb|Рисунок 1. RNN и ее развернутое представление<ref>[http://colah.github.io/posts/2015-08-Understanding-LSTMs Understanding LSTM Networks]</ref>]][[File:RNN_layer.png|450px|thumb|Рисунок 2. Схема слоя рекуррентной сети<ref>[http://colah.github.io/posts/2015-08-Understanding-LSTMs Understanding LSTM Networks]</ref>]]
Рекуррентные нейронные сети {{---}} сети с циклами, которые хорошо подходят для обработки последовательностей (рис. 1).
[[File:RNN_BP.jpg|450px|thumb|Рисунок 3. RNN с задержкой на скрытом слое]]
=== Нейронный компрессор истории ===
Нейронный компрессор исторических данных {{---}} это блок, позволяющий в сжатом виде хранить существенные исторические особенности процесса, который является своего рода стеком рекуррентной нейронной сети, формируемым в процессе самообучения.
[[File:LSTM.png|450px|thumb|Рисунок 6. Схема слоев рекуррентной сети долго-краткосрочной памяти<ref>[http://colah.github.io/posts/2015-08-Understanding-LSTMs Understanding LSTM Networks]</ref>]]
=== Сети долго-краткосрочной памяти ===
=== Двунаправленные рекуррентные сети ===
[[File:biRNN.png|450px|thumb|Рисунок 7. Двунаправленная рекуррентная сеть<ref>[https://towardsdatascience.com/understanding-bidirectional-rnn-in-pytorch-5bd25a5dd66 Understanding Bidirectional RNN in PyTorch]</ref>]]
Двунаправленная рекуррентная сеть (англ. Bidirectional Recurrent Neural Network, biRNN) представляет собой две однонаправленные рекуррентные сети, одна из которых обрабатывает входную последовательность в прямом порядке, а другая {{---}} в обратном (рис. 7). Таким образом, для каждого элемента входной последовательности считается два вектора скрытых состояний, на основе которых вычисляется выход сети. Благодаря данной архитектуре сети доступна информация о контексте как из прошлого, так и из будущего, что решает проблему однонаправленных рекуррентных сетей. Для обучения biRNN используются те же алгоритмы, что и для RNN.
=== Seq-2-seq сети ===
[[File:Seq2seq.png|450px|thumb|Рисунок 8. Seq-2-seq сеть<ref>[https://medium.com/guan-hong/implement-of-seq2seq-model-117c32492e57 Implementation of seq2seq model]</ref>]]
Seq-2-seq (Sequence to sequence, Seq2seq) сеть является базовой архитектурой many-to-many RNN и используется для трансляции одной последовательности в другую (рис. 8). Она состоит из двух рекуррентных сетей: кодировщика и декодировщика. Кодировщик вычисляет вектор, кодирующий входную последовательность. Далее данный вектор передается декодировщику, который в свою очередь по полученному скрытому представлению восстанавливает целевую последовательность. При этом каждый посчитанный выход используется для обновления скрытого представления.
<br clear="both" />