<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.159.229&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.159.229&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.66.159.229"/>
		<updated>2026-04-08T09:51:10Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=79697</id>
		<title>Рекуррентные нейронные сети</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8&amp;diff=79697"/>
				<updated>2021-01-21T17:06:24Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.159.229: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Рекуррентная нейронная сеть''' (англ. ''recurrent neural network'', ''RNN'') {{---}} вид [[:Нейронные_сети,_перцептрон|нейронных сетей]], где связи между элементами образуют направленную последовательность.&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
[[File:RNN.png|450px|thumb|[http://colah.github.io/posts/2015-08-Understanding-LSTMs/ RNN и ее развернутое представление]]]&lt;br /&gt;
[[File:RNN_layer.png|450px|thumb|[http://colah.github.io/posts/2015-08-Understanding-LSTMs/ Схема слоя рекуррентной сети]]]&lt;br /&gt;
Рекуррентные нейронные сети {{---}} сети с циклами, которые хорошо подходят для обработки последовательностей.&lt;br /&gt;
[[File:RNN_BP.jpg|450px|thumb|RNN с задержкой на скрытом слое]]&lt;br /&gt;
[[File:RNN_BPTT.jpg|450px|thumb|Развертка RNN]]&lt;br /&gt;
Обучение RNN аналогично обучению обычной нейронной сети. Мы также используем [[:Обратное_распространение_ошибки|алгоритм обратного распространения ошибки (backpropagation)]]&amp;lt;sup&amp;gt;[на 28.01.19 не создан]&amp;lt;/sup&amp;gt;, но с небольшим изменением. Поскольку одни и те же параметры используются на всех временных этапах в сети, градиент на каждом выходе зависит не только от расчетов текущего шага, но и от предыдущих временных шагов. Например, чтобы вычислить градиент для четвертого элемента последовательности, нам нужно было бы «распространить ошибку» на 3 шага и суммировать градиенты. Этот алгоритм называется «алгоритмом обратного распространения ошибки сквозь время» (англ. Backpropagation Through Time, BPTT).&amp;lt;ref name=BPTT_1&amp;gt;[http://andrew.gibiansky.com/blog/machine-learning/recurrent-neural-networks/ Backpropagation Through Time]&amp;lt;/ref&amp;gt;&amp;lt;ref name=BPTT_2&amp;gt;[http://www.wildml.com/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/ Backpropagation Through Time]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм обратного распространения ошибки сквозь время:&lt;br /&gt;
&lt;br /&gt;
[[File:RNN_BPTT_GRAD.png|400px|frameless]]&lt;br /&gt;
&lt;br /&gt;
== Области и примеры применения ==&lt;br /&gt;
Используются, когда важно соблюдать последовательность, когда важен порядок поступающих объектов.&lt;br /&gt;
* Обработка текста на естественном языке:&lt;br /&gt;
** Анализ текста;&lt;br /&gt;
** Автоматический перевод;&lt;br /&gt;
* Обработка аудио:&lt;br /&gt;
** Автоматическое распознавание речи;&lt;br /&gt;
* Обработка видео:&lt;br /&gt;
** Прогнозирование следующего кадра на основе предыдущих;&lt;br /&gt;
** Распознавание эмоций;&lt;br /&gt;
* Обработка изображений:&lt;br /&gt;
** Прогнозирование следующего пикселя на основе окружения;&lt;br /&gt;
** Генерация описания изображений.&lt;br /&gt;
&lt;br /&gt;
== Виды RNN ==&lt;br /&gt;
=== Один к одному ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:RNN_OTO.jpg|100px|left]]&lt;br /&gt;
|Архитектура по сути является обычной нейронной сетью.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Один ко многим ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:RNN_OTM.jpg|100px|left]]&lt;br /&gt;
|Один вход ко многим выходам может применяться, например, для генерации аудиозаписи. На вход подаем жанр музыки, который хотим получить, на выходе получаем последовательность аудиозаписи.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Многие к одному ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:RNN_MTO.jpg|100px|left]]&lt;br /&gt;
|Много входов и один выход может применяться, если мы хотим оценить тональность рецензии. На вход подаем слова рецензии, на выходе получаем оценку ее тональности: позитивная рецензия или негативная.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Многие ко многим ===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:RNN_MTM1.jpg|100px|left]]&lt;br /&gt;
|Данную архитектуру можно использовать для перевода текста с одного языка на другой.&lt;br /&gt;
|-&lt;br /&gt;
|[[File:RNN_MTM2.jpg|100px|left]]&lt;br /&gt;
|Такой вариант подойдет для определения для классификации каждого слова в предложении в зависимости от контекста.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Архитектуры ==&lt;br /&gt;
=== Полностью рекуррентная сеть ===&lt;br /&gt;
Это базовая архитектура, разработанная в 1980-х. Сеть строится из узлов, каждый из которых соединён со всеми другими узлами. У каждого нейрона порог активации меняется со временем и является вещественным числом. Каждое соединение имеет переменный вещественный вес. Узлы разделяются на входные, выходные и скрытые.&lt;br /&gt;
&lt;br /&gt;
=== Рекурсивная сеть ===&lt;br /&gt;
[[:Рекурсивные нейронные сети|Рекурсивные нейронные сети]]&amp;lt;sup&amp;gt;[на 28.01.19 не создан]&amp;lt;/sup&amp;gt; представляют собой более общий случай рекуррентных сетей, когда сигнал в сети проходит через структуру в виде дерева (обычно бинарные деревья). Те же самые матрицы весов используются рекурсивно по всему графу в соответствии с его топологией.&lt;br /&gt;
&lt;br /&gt;
=== Нейронная сеть Хопфилда ===&lt;br /&gt;
Тип рекуррентной сети, когда все соединения симметричны. Изобретена Джоном Хопфилдом в 1982 году и гарантируется, что динамика такой сети сходится к одному из положений равновесия.&lt;br /&gt;
&lt;br /&gt;
=== Двунаправленная ассоциативная память (BAM) ===&lt;br /&gt;
Вариацией сети Хопфилда является двунаправленная ассоциативная память (BAM). BAM имеет два слоя, каждый из которых может выступать в качестве входного, находить (вспоминать) ассоциацию и генерировать результат для другого слоя.&lt;br /&gt;
[[File:Elman_RNN.jpg|450px|thumb|Сеть Элмана]]&lt;br /&gt;
&lt;br /&gt;
=== Сеть Элмана ===&lt;br /&gt;
Нейронная сеть Элмана состоит из трёх слоев: x, y, z (см рис. Сеть Элмана). Дополнительно к сети добавлен набор «контекстных блоков»: u (см рис. Сеть Элмана). Средний (скрытый) слой соединён с контекстными блоками с фиксированным весом, равным единице. С каждым шагом времени на вход поступает информация, которая проходит прямой ход к выходному слою в соответствии с правилами обучения. Фиксированные обратные связи сохраняют предыдущие значения скрытого слоя в контекстных блоках (до того как скрытый слой поменяет значение в процессе обучения). Таким способом сеть сохраняет своё состояние, что может использоваться в предсказании последовательностей, выходя за пределы мощности многослойного перцептрона.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;h_t = \sigma_h(W_h x_t + U_h h_{t-1} + b_h)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_t = \sigma_y(W_y h_t + b_y)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
Обозначения переменных и функций:&lt;br /&gt;
* &amp;lt;math&amp;gt;x_t&amp;lt;/math&amp;gt;: вектор входного слоя;&lt;br /&gt;
* &amp;lt;math&amp;gt;h_t&amp;lt;/math&amp;gt;: вектор скрытого слоя;&lt;br /&gt;
* &amp;lt;math&amp;gt;y_t&amp;lt;/math&amp;gt;: вектор выходного слоя;&lt;br /&gt;
* &amp;lt;math&amp;gt;W, U, b&amp;lt;/math&amp;gt;: матрица и вектор параметров;&lt;br /&gt;
* &amp;lt;math&amp;gt;\sigma_h, \sigma_y&amp;lt;/math&amp;gt;: функция активации.&lt;br /&gt;
&lt;br /&gt;
=== Сеть Джордана ===&lt;br /&gt;
Нейронная сеть Джордана подобна сети Элмана, но контекстные блоки связаны не со скрытым слоем, а с выходным слоем. Контекстные блоки таким образом сохраняют своё состояние. Они обладают рекуррентной связью с собой.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;h_t = \sigma_h(W_h x_t + U_h y_{t-1} + b_h)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;y_t = \sigma_y(W_y h_t + b_y)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
=== Эхо-сети ===&lt;br /&gt;
Эхо-сеть (англ. Echo State Network, ESN) характеризуется одним скрытым слоем (который называется резервуаром) со случайными редкими связями между нейронами. При этом связи внутри резервуара фиксированы, но связи с выходным слоем подлежат обучению. Состояние резервуара (state) вычисляется через предыдущие состояния резервуара, а также предыдущие состояния входного и выходного сигналов. Так как эхо-сети обладают только одним скрытым слоем, они обладают достаточно низкой вычислительной сложностью.&lt;br /&gt;
&lt;br /&gt;
=== Нейронный компрессор истории ===&lt;br /&gt;
Нейронный компрессор исторических данных {{---}} это блок, позволяющий в сжатом виде хранить существенные исторические особенности процесса, который является своего рода стеком рекуррентной нейронной сети, формируемым в процессе самообучения.&lt;br /&gt;
[[File:LSTM.png|450px|thumb|[http://colah.github.io/posts/2015-08-Understanding-LSTMs/ Схема слоев рекуррентной сети долго-краткосрочной памяти]]]&lt;br /&gt;
&lt;br /&gt;
=== Сети долго-краткосрочной памяти ===&lt;br /&gt;
[[:Долгая_краткосрочная_память|Сеть долго-краткосрочной памяти]] (англ. Long short-term memory, LSTM) является самой популярной архитектурой рекуррентной нейронной сети на текущий момент, такая архитектура способна запоминать данные на долгое время.&amp;lt;ref name=LSTM&amp;gt;[https://www.bioinf.jku.at/publications/older/2604.pdf Sepp Hochreiter, Jurgen Schmidhuber. Long short-term memory (1997). Neural Computation.]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Управляемые рекуррентные блоки ===&lt;br /&gt;
Управляемые рекуррентные блоки (англ. Gated Recurrent Units, GRU) {{---}} обладает меньшим количеством параметров, чем у LSTM, и в ней отсутствует выходное управление. При этом производительность в моделях речевого сигнала или полифонической музыки оказалась сопоставимой с LSTM.&lt;br /&gt;
&lt;br /&gt;
=== Двунаправленные рекуррентные сети ===&lt;br /&gt;
[[File:biRNN.png|450px|thumb|[https://miro.medium.com/max/955/1*6QnPUSv_t9BY9Fv8_aLb-Q.png Двунаправленная рекуррентная сеть]]]&lt;br /&gt;
Двунаправленная рекуррентная сеть (англ. Bidirectional Recurrent Neural Network, biRNN) представляет собой две однонаправленные рекуррентные сети, одна из которых обрабатывает входную последовательность в прямом порядке, а другая {{---}} в обратном. Таким образом, для каждого элемента входной последовательности считается два вектора скрытых состояний, на основе которых вычисляется выход сети. Благодаря данной архитектуре сети доступна информация о контексте как из прошлого, так и из будущего, что решает проблему однонаправленных рекуррентных сетей. Для обучения biRNN используются те же алгоритмы, что и для RNN.&lt;br /&gt;
&lt;br /&gt;
=== Seq-2-seq сети ===&lt;br /&gt;
[[File:Seq2seq.png|450px|thumb|[https://www.machinelearningmastery.ru/img/0-927694-803579.png Seq-2-seq сеть]]]&lt;br /&gt;
Seq-2-seq (Sequence to sequence, Seq2seq) сеть используется для трансляции одной последовательности в другую. Она состоит из двух рекуррентных сетей: кодировщика и декодировщика. Кодировщик вычисляет вектор, кодирующий входную последовательность. Далее данный вектор передается декодировщику, который в свою очередь по полученному скрытому представлению восстанавливает целевую последовательность. При этом каждый посчитанный выход используется для обновления скрытого представления. &lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Пример кода ==&lt;br /&gt;
===Пример кода на Python с использованием библиотеки Keras.&amp;lt;ref name=KerasRNN&amp;gt;[https://keras.io/layers/recurrent/ Keras RNN]&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Импорты&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''import''' numpy '''as''' np&lt;br /&gt;
  '''from''' keras.preprocessing '''import''' sequence&lt;br /&gt;
  '''from''' keras.models '''import''' Sequential&lt;br /&gt;
  '''from''' keras.layers '''import''' Dense, Activation, Embedding&lt;br /&gt;
  '''from''' keras.layers '''import''' LSTM&lt;br /&gt;
  '''from''' keras.datasets '''import''' imdb&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Устанавливаем seed для обеспечения повторяемости результатов&amp;lt;/font&amp;gt;&lt;br /&gt;
  np.random.seed(&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;42&amp;lt;/font&amp;gt;)&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Указываем количество слов из частотного словаря, которое будет использоваться (отсортированы по частоте использования)&amp;lt;/font&amp;gt;&lt;br /&gt;
  max_features = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;5000&amp;lt;/font&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Загружаем данные (датасет IMDB содержит 25000 рецензий на фильмы с правильным ответом для обучения и 25000 рецензий на фильмы с правильным ответом для тестирования)&amp;lt;/font&amp;gt;&lt;br /&gt;
  (X_train, y_train), (X_test, y_test) = imdb.load_data(nb_words = max_features)&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Устанавливаем максимальную длину рецензий в словах, чтобы они все были одной длины&amp;lt;/font&amp;gt;&lt;br /&gt;
  maxlen = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;80&amp;lt;/font&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Заполняем короткие рецензии пробелами, а длинные обрезаем&amp;lt;/font&amp;gt;&lt;br /&gt;
  X_train = sequence.pad_sequences(X_train, maxlen = maxlen)&lt;br /&gt;
  X_test = sequence.pad_sequences(X_test, maxlen = maxlen)&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Создаем модель последовательной сети&amp;lt;/font&amp;gt;&lt;br /&gt;
  model = Sequential()&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Добавляем слой для векторного представления слов (5000 слов, каждое представлено вектором из 32 чисел, отключаем входной сигнал с вероятностью 20% для предотвращения переобучения)&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.add(Embedding(max_features, &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;32&amp;lt;/font&amp;gt;, dropout = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;0.2&amp;lt;/font&amp;gt;))&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Добавляем слой долго-краткосрочной памяти (100 элементов для долговременного хранения информации, отключаем входной сигнал с вероятностью 20%, отключаем рекуррентный сигнал с вероятностью 20%)&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.add(LSTM(&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;100&amp;lt;/font&amp;gt;, dropout_W = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;0.2&amp;lt;/font&amp;gt;, dropout_U = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;0.2&amp;lt;/font&amp;gt;))&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Добавляем полносвязный слой из 1 элемента для классификации, в качестве функции активации будем использовать сигмоидальную функцию&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.add(Dense(&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;, activation = &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'sigmoid'&amp;lt;/font&amp;gt;))&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Компилируем модель нейронной сети&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.compile(loss = &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'binary_crossentropy'&amp;lt;/font&amp;gt;,&lt;br /&gt;
                optimizer = &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'adam'&amp;lt;/font&amp;gt;,&lt;br /&gt;
                metrics = [&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'accuracy'&amp;lt;/font&amp;gt;])&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Обучаем нейронную сеть (данные для обучения, ответы к данным для обучения, количество рецензий после анализа которого будут изменены веса, число эпох обучения, тестовые данные, показывать progress bar или нет)&amp;lt;/font&amp;gt;&lt;br /&gt;
  model.fit(X_train, y_train, &lt;br /&gt;
            batch_size = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;64&amp;lt;/font&amp;gt;,&lt;br /&gt;
            nb_epoch = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;7&amp;lt;/font&amp;gt;,&lt;br /&gt;
            validation_data = (X_test, y_test),&lt;br /&gt;
            verbose = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;)&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;# Проверяем качество обучения на тестовых данных (если есть данные, которые не участвовали в обучении, лучше использовать их, но в нашем случае таковых нет)&amp;lt;/font&amp;gt;&lt;br /&gt;
  scores = model.evaluate(X_test, y_test, batch_size = &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;64&amp;lt;/font&amp;gt;)&lt;br /&gt;
  print(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'Точность на тестовых данных: %.2f%%'&amp;lt;/font&amp;gt; % (scores[1] * &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;100&amp;lt;/font&amp;gt;))&lt;br /&gt;
&lt;br /&gt;
===Пример на языке Java===&lt;br /&gt;
[https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/basic/BasicRNNExample.java Пример] простой рекуррентной нейронной сети, способной генерировать заданную строку по первому символу, с применением библиотеки &amp;lt;code&amp;gt;deeplearning4j&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
*[[:Сверточные_нейронные_сети|Сверточные нейронные сети]]&lt;br /&gt;
*[[:Нейронные_сети,_перцептрон|Нейронные сети, перцептрон]]&lt;br /&gt;
*[[:Рекурсивные нейронные сети|Рекурсивные нейронные сети]]&amp;lt;sup&amp;gt;[на 28.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Примечания==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Нейронные сети]]&lt;br /&gt;
[[Категория: Рекуррентные нейронные сети]]&lt;/div&gt;</summary>
		<author><name>217.66.159.229</name></author>	</entry>

	</feed>