Рекуррентные сети практика. Рекуррентные нейронные сети
Нейронные сети. Типы НС. Обучение НС. Применение НС.
Лекция 8.
При идентификации X и Y представляют входные и выходные сигналы системы соответственно.
Вообще говоря, большая часть прикладных задач может быть сведена к реализации некоторого сложного функционального многомерного преобразования.
В результате отображения X → Y крайне важно обеспечить формирование правильных выходных сигналов в соответствии:
Со всеми примерами обучающей выборки;
Со всеми возможными входными сигналами, которые не вошли в обучающую выборку.
Второе требование в значительной степени усложняет задачу формирования обучающей выборки. В общем виде эта задача в настоящее время еще не решена, однако во всех известных случаях может быть найдено частное решение.
Рекуррентными нейронными сетями называются такие сети, в которых выходы нейронных элементов последующих слоев имеют синаптические соединения с нейронами предшествующих слоев. Это приводит к возможности учета результатов преобразования нейронной сетью информации на предыдущем этапе для обработки входного вектора на следующем этапе функционирования сети. Рекуррентные сети могут использоваться для решения задач прогнозирования и управления.
Архитектура рекуррентных сетей
Существуют различные варианты архитектур рекуррентных нейронных сетей.
Сеть Джордана: В 1986 ᴦ. Джордан (Jordan) предложил рекуррентную сеть (рис.8.1), в которой выходы нейронных элементов последнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные элементы называются контекстными нейронами (context units). Οʜᴎ распределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя.
Рис. 8.1 Архитектура рекуррентной нейронной сети с обратными связями от нейронов выходного слоя
Число контекстных нейронов равняется числу выходных нейронных элементов рекуррентной сети. В качестве выходного слоя таких сетей используются нейронные элементы с линейной функцией активации. Тогда выходное значение j -го нейронного элемента последнего слоя определяется по формуле
(8.1)
где v ij - весовой коэффициент между i -м нейроном промежуточного и j -м нейроном выходного слоев; P i (t )- выходное значение i -го нейрона промежуточного слоя; t j - пороговое значение j -го нейрона выходного слоя. Взвешенная сумма i -гo нейронного элемента промежуточного слоя определяется следующим образом:
(8.2)
где w ij – весовой коэффициент между j -м нейроном входного и i -м нейроном промежуточного слоев; р – число нейронов выходного слоя; w ki – весовой коэффициент между k -м контекстным нейроном и i -м нейроном промежуточного слоя; T – пороговое значение i -го нейрона промежуточного слоя; n – размерность входного вектора.
Тогда выходное значение i -го нейрона скрытого слоя:
(8.3)
В качестве функции нелинейного преобразования F обычно используется гиперболический тангенс или сигмоидная функция.
Для обучения рекуррентных нейронных сетей применяется алгоритм обратного распространения ошибки (будет рассмотрен ниже).
Алгоритм обучения рекуррентной нейронной сети в общем случае состоит из следующих шагов:
1. В начальный момент времени t = 1 все контекстные нейроны устанавливаются в нулевое состояние – выходные значения приравниваются нулю.
2. Входной образ подается на сеть и происходит прямое распространение его в нейронной сети.
3. В соответствии с алгоритмом обратного распространения ошибки модифицируются весовые коэффициенты и пороговые значения нейронных элементов.
4. Устанавливается t = t +1 и осуществляется переход к шагу 2. Обучение рекуррентной сети производится до тех пор, пока суммарная среднеквадратичная ошибка сети не станет меньше заданной.
Рекуррентные нейронные сети
Рекуррентные нейронные сети - это наиболее сложный вид нейронных сетей, в которых имеется обратная связь. При этом под обратной связью подразумевается связь от логически более удалённого элемента к менее удалённому. Наличие обратных связей позволяет запоминать и воспроизводить целые последовательности реакций на один стимул. С точки зрения программирования в таких сетях появляется аналог циклического выполнения, а с точки зрения систем - такая сеть эквивалентна конечному автомату. Такие особенности потенциально предоставляют множество возможностей для моделирования биологических нейронных сетей. Но, к сожалению, большинство возможностей на данный момент плохо изучены в связи с возможностью построения разнообразных архитектур и сложностью их анализа.
Перцептроны Розенблатта с обратной связью
Первые идеи о нейронных сетях с обратными связями описал Ф.Розенблатт в заключение своей книги о перцептронах в 1962 году. Ф.Розенблатт дал качественное описание нескольких видов перцептронов с обратной связью . Первая группа таких перцептронов была предназначена для вырабатывания избирательного внимания, а вторая группа для обучения последовательности реакций.
Однослойные сети с обратной связью
После выхода книги Минского с критикой возможностей элементарного перцептрона в 1969 году работы по изучению искуственных нейронных сетей практически прекратились. Только небольшие группы продолжали исследования в этом направлении. Одна из таких групп в Массачусетском Технологическом институте в 1978 году начала свою работу. Джон Хопфилд был приглашен в качестве консультанта из отделения биофизики лаборатории Бела. Его идеи так же как и Розенблатта базировались на результатах исследования в нейрофизиологии. Главной заслугой Хопфилда является энергетическая интерпретация работы искуственной нейронной сети. Что же касается самой нейронной сети Хопфилда , то она обладает рядом недостатков из-за которых она не может быть использована практически. Впоследствии Коско развил идеи Хопфилда и разработал модель гетероассоциативной памяти - нейронная сеть Коско . Основным недостатком этих сетей является отсутствие устойчивости, а в случаях когда она достигается сеть становится эквивалентной однослойной нейронной сети из-за чего она не в состоянии решать линейно неразделимые задачи. В итоге емкость таких сетей крайне мала. Несмотря на эти практические недостатки в области распознавания, данная сеть успешно применялась в исследованиях энергетического хаоса, возникновения аттракторов, а так же с этого времени о искуственных нейронных сетей стало возможным говорить как о ассоциативной памяти .
Рекуррентные сети с единичной задержкой
См. также
Литература
- Розенблатт, Ф. Принципы нейродинамики: Перцептроны и теория механизмов мозга = Principles of Neurodynamic: Perceptrons and the Theory of Brain Mechanisms. - М.: Мир, 1965. - 480 с.
- J. J. Hopfield [PNAS Reprint (Abstract) PNAS Reprint (PDF) Neural networks and physical systems with emergent collective computational abilities.] // Proceedings of National Academy of Sciences . - April 1982. - С. vol. 79 no. 8 pp. 2554-2558.
- Jordan, M. I. Serial order: A parallel distributed processing approach. // Institute for Cognitive Science Report 8604 . - University of California, San Diego: 1986.
- Elman, J.L. Finding structure in time. // Cognitive Science . - 1990. - С. 179-211.
Wikimedia Foundation . 2010 .
Смотреть что такое "Рекуррентные нейронные сети" в других словарях:
Запрос «Нейронная сеть» перенаправляется сюда. Cм. также другие значения. Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым выходной элемент Искусственные нейронные сети (ИНС) математические модели, а также их программные или… … Википедия
Запрос «Нейронная сеть» перенаправляется сюда. Cм. также другие значения. Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым выходной элемент Искусственные нейронные сети (ИНС) математические модели, а также их программные или… … Википедия
Запрос «Нейронная сеть» перенаправляется сюда. Cм. также другие значения. Схема простой нейросети. Зелёным обозначены входные элементы, жёлтым выходной элемент Искусственные нейронные сети (ИНС) математические модели, а также их программные или… … Википедия
У этого термина существуют и другие значения, см. Нейронная сеть (значения). Схема простой нейросети. Зелёным цветом обозначены входные нейроны, голубым скрытые нейроны, жёлтым выходной нейрон … Википедия
Для улучшения этой статьи желательно?: Добавить иллюстрации. Рекуррентные нейронные сети (англ. … Википедия
Нейронная сеть Хопфилда полносвязная нейронная сеть с симметричной матрицей связей. В процессе работы динамика таких сетей сходится (конвергирует) к одному из положений равновесия. Эти положения равновесия являются локальными минимумами… … Википедия
Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Человеческая память ассоциативна, то есть некоторое воспоминание может порождать большую связанную с ним область. Один предмет напоминает нам … Википедия
Архитектура нейронной сети Коско Нейронная сеть Коско (Двунаправленная ассоциативная память ДАП) нейронная сеть, разработанная Бартом Коско. Это однослойная нейронная сеть с обратными связями, базируется на двух идеях: адаптивной… … Википедия
Логическая схема перцептрона с тремя выходами Основная статья: Перцептрон Перцептрон является одной из первых моделей искусстве … Википедия
Книги
- Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники , Жерон Орельен. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники для создания интеллектуальных систем. Полноцветное издание. "Эта книга - замечательное…
К одному из сложных видов искусственных нейронных сетей (ИНС) относятся рекуррентные, в которых имеются обратные связи. В первых рекуррентных ИНС главной идеей было обучение своему выходному сигналу на предыдущем шаге. Рекуррентные сети реализуют нелинейные модели, которые могут быть применены для оптимального управления процессами, изменяющимися во времени, то есть обратные связи позволяют обеспечить адаптивное запоминание прошлых временных событий. Обобщение рекуррентных ИНС позволит создать более гибкий инструмент для построения нелинейных моделей. Рассмотрим некоторые архитектуры рекуррентных ИНС.
В основе сети Джордана лежит многослойный персептрон. Обратная связь реализуется через подачу на входной слой не только исходных данных, но и сигналов выхода сети с задержкой на один или несколько тактов, что позволяет учесть предысторию наблюдаемых процессов и накопить информацию для выработки правильной стратегии управления .
Сеть Элмана так же, как и сеть Джордана получается из многослойного персептрона введением обратных связей. Только сигналы на входной слой идут не от выходов сети, а от выходов нейронов скрытого слоя . Пример архитектуры сети Элмана показан на рис. 1. Выходы скрытого слоя { c 1 , c 2 ,…, c k } подаются с временной задержкой на входные нейроны с весовыми коэффициентам { w ij } -1 , где i (i = 1,2,…, n ) , j j = 1,2…, k ).
Рис. 1. Пример архитектуры сети Элмана
Для обобщения рекуррентных ИНС в статье предлагается добавить задержку сигналов обратной связи скрытого слоя на нескольких тактов. Для этого добавим у слоя динамическую стековую память. Пример архитектуры такой ИНС показан на рис. 2.
Рис. 2. Пример архитектуры рекуррентной ИНС с динамической стековой памятью нескольких предыдущих выходных сигналов скрытого слоя
Выходы скрытого слоя { c 1 , c 2 ,…, c k } подаются на входные нейроны с весовыми коэффициентам { w ij } - t , где i – индекс нейрона, на который подается сигнал (i = 1,2,…, n ) , j – индекс выходного сигнала нейрона скрытого слоя (j = 1,2…, k ) , t – индекс временной задержки (t =1,2… m ). Количество временных задержек будем изменять от 1 до m . Таким образом, сеть Элмана получается при m =1, а многослойный персептрон – при m =0.
При детальном рассмотрении архитектуры рекуррентной сети видно, что обратные связи от скрытого слоя или от выхода сети можно исключить путем добавления в обучающую выборку сигналов обратной связи.
Рассмотрим процесс трансформации обучающей выборки для решения задачи прогнозирования временного ряда с помощью рекуррентной ИНС с динамической стековой памятью. В качестве примера будем использовать среднемесячные значения плотности потока солнечного излучения на длине волны 10,7 за 2010-2012 года (табл. 1) .
Таблица 1. Данные о плотности потока солнечного излучения на длине волны 10,7 см. за 2010-2012 гг
№ примера | Дата | Плотность потока излучения 10 -22 [Вт/м 2 ] |
1 | Январь 2010 | 834,84 |
2 | Февраль 2010 | 847,86 |
3 | Март 2010 | 833,55 |
4 | Апрель 2010 | 759,67 |
5 | Май 2010 | 738,71 |
6 | Июнь 2010 | 725,67 |
7 | Июль 2010 | 799,03 |
8 | Август 2010 | 797,10 |
9 | Сентябрь 2010 | 811,67 |
10 | Октябрь 2010 | 816,77 |
11 | Ноябрь 2010 | 824,67 |
12 | Декабрь 2010 | 843,23 |
13 | Январь 2011 | 837,42 |
14 | Февраль 2011 | 945,71 |
15 | Март 2011 | 1153,87 |
16 | Апрель 2011 | 1130,67 |
17 | Май 2011 | 959,68 |
18 | Июнь 2011 | 959,33 |
19 | Июль 2011 | 942,58 |
20 | Август 2011 | 1017,74 |
21 | Сентябрь 2011 | 1345,00 |
22 | Октябрь 2011 | 1372,90 |
23 | Ноябрь 2011 | 1531,67 |
24 | Декабрь 2011 | 1413,55 |
25 | Январь 2012 | 1330,00 |
26 | Февраль 2012 | 1067,93 |
27 | Март 2012 | 1151,29 |
28 | Апрель 2012 | 1131,67 |
29 | Май 2012 | 1215,48 |
30 | Июнь 2012 | 1204,00 |
Трансформируем временной ряд методом скользящих окон , как показано в таблице 2.
Таблица 2. Обучающая выборка ИНС для решения задачи прогнозирования, полученная в результате преобразования временного ряда методом окон
№ примера | Входы ИНС (x ) | Выходы ИНС (y ) | ||
x 1 | x 2 | x 3 | y 1 | |
1 | 834,84 | 847,86 | 833,55 | 759,67 |
2 | 847,86 | 833,55 | 759,67 | 738,71 |
3 | 833,55 | 759,67 | 738,71 | 725,67 |
… |
Пусть в рекуррентной ИНС скрытый слой содержит три нейрона, выходной – один нейрон, стек динамической памяти – обратные сигналы скрытого слоя с задержкой на два такта (рис. 3).
Рис. 3. Рекуррентная ИНС с памятью двух предыдущих выходных сигналов скрытого слоя
Так как число нейронов скрытого слоя, имеющих обратную связь с входным слоем, равно трем, то размер входного вектора во время обучения ИНС при запоминании предыдущего выходного сигнала на один шаг назад увеличится на три, при запоминании двух предыдущих выходных сигналов – на шесть. Обозначим входные сигналы обучающей выборки, не изменяющиеся во время трансформации, как {x 1 , x 2 , x 3 }, а сигналы обратной связи – {x 4 , x 5 , x 6 , x 7 , x 8 , x 9 }. В таблице 3 приведена трансформированная обучающая выборка.
Таблица 3. Добавление в обучающую выборку рекуррентной ИНС выходных сигналов скрытого слоя
№ п/п | Входы ИНС (x ) | Выходы ИНС (y ) | ||||||||
x 1 | x 2 | x 3 | x 4 | x 5 | x 6 | x 7 | x 8 | x 9 | y 1 | |
1 | 834,84 | 847,86 | 833,55 | 0 | 0 | 0 | 0 | 0 | 0 | 759,67 |
2 | 847,86 | 833,55 | 759,67 | c 1 -1 | c 2 -1 | c 3 -1 | 0 | 0 | 0 | 738,71 |
3 | 833,55 | 759,67 | 738,71 | c 1 -1 | c 2 -1 | c 3 -1 | c 1 - 2 | c 2 - 2 | c 3 - 2 | 725,67 |
… |
На входы {x 4 , x 5 , x 6 } подаются выходные сигналы скрытого слоя с задержкой на один такт {с 1 -1 , c 2 -1 , c 3 -1 }, на входы {x 7 , x 8 , x 9 } – выходные сигналы скрытого слоя с задержкой на два такта {с 1 -2 , c 2 -2 , c 3 -2 }.
Таким образом, обучение рекуррентной ИНС с динамической стековой памятью методом обратного распространения ошибки можно свести к обучению многослойного персептрона, трансформируя обучающую выборку. Для реализации предлагаемой методологии обучения рекуррентной ИНС с динамической стековой памятью расширены возможности нейроэмулятора NeuroNADS .
Объектно-ориентированная модель рекуррентной ИНС с динамической стековой памятью представлена на диаграмме классов (рис. 4).
Рис. 4. Диаграмма основных классов, реализующих рекуррентную ИНС с динамической стековой памятью
В отличие от класса Layer , который является контейнером для нейронов многослойного персептрона, класс LayerMemory cодержит память stackOut , реализованную в виде стека предыдущих сигналов слоя. Размер стека задается с помощью свойства stackSize . На схеме (рис. 5) память слоя изображена в виде стека выходных сигналов слоя {y -1 , y -2 , …, y - n }, где n – размер стека. Каждая ячейка стека y - i состоит из массива выходов нейронов слоя {y 1, y 2, …, y n }. Стек организован так, что после переполнения памяти последняя ячейка y - n удаляется, вся очередь сдвигается на одну позицию, так что y - i = y -( i -1) .
Рис. 5. Реализация слоя с памятью (LayerMemory ) для рекуррентных ИНС с динамической стековой памятью
Проведем прогноз среднемесячной плотности солнечной активности на длине волны 10,7 см на первые шесть месяцев 2012 года на основе данных за 2010-2011 года из табл. 1. Для этого построим и обучим рекуррентную ИНС с динамической стековой памятью (рис.3) с помощью нейроэмулятора NeuroNADS . Первые 24 примера временного ряда возьмем для обучающей выборки, а оставшиеся шесть примеров – для тестовой выборки.
Обучение проведем гибридным алгоритмом . Параметры алгоритма: шаг обучения – 0,3, максимальное количество особей в поколении – 10, коэффициент мутации – 0,1. Критерии остановки обучения: среднеквадратическая ошибка – 0,001, количество эпох – 1000.
Один из лучших результатов обучения ИНС представлен на рис. 6 и на рис. 7. Показатели ошибок прогнозирования временного ряда представлены в табл. 4.
синий
график исходного временного ряда;
красный
график выходных значений сети на обучающей выборке;
зеленый
график предсказанных значений сети.
Рис. 6. Результаты опроса рекуррентной ИНС с динамической стековой памятью на обучающей и тестовой выборках (по оси абсцисс – номер примера, по оси ординат – значение временного ряда)
Рис. 7. График изменения функции среднеквадратической ошибки рекуррентной ИНС с динамической стековой памятью во время обучения (по оси абсцисс – количество эпох, по оси ординат – значение ошибки)
Таблица 4. Показатели ошибок прогнозирования временного ряда
По результатам обучения можно сделать вывод, что рекуррентная ИНС с динамической стековой памятью справилась с задачей, показатели ошибок прогнозирования временного ряда соответствуют допустимым значениям. Таким образом, рекуррентные ИНС с динамической стековой памятью можно обучать с помощью предложенной методологии, а построенные модели ИНС использовать для прогнозирования временных рядов.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 14-01-00579 а.
Список литературы:
- Бодянский Е.В., Руденко О.Г. Искусственные нейронные сети: архитектуры, обучение, применения. – Харьков: ТЕЛЕТЕХ, 2004. – 369 с.
- Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.
- Информационно-аналитическая система [Электронный ресурс]: данные о солнечной и геомагнитной активности – Режим доступа: http://moveinfo.ru/data/sun/select (доступ свободный) – Загл. с экрана. – Яз. рус.
- Круг П.Г. Нейронные сети и нейрокомпьютеры. М.: Издательство МЭИ, 2002 г. – 176 с.
- Нейроэмулятор NeuroNADS [Электронный ресурс]: веб-сервис - Режим доступа: http://www.service.. с экрана. – Яз. рус.
- Белявский Г.И., Пучков Е.В., Лила В.Б. Алгоритм и программная реализация гибридного метода обучения искусственных нейронных сетей // Программные продукты и системы. Тверь, 2012. №4. С. 96 - 100.
Следующий вид искусственных нейронных сетей используется для предсказания последовательностей. Данные сети "понимают" взаимосвязь между разными элементами сети. Например, их используют для генерации текстов чат-ботами . Работает это так:
Принцип работы рекуррентной НС (взято )
В данном случае, сеть принимает последовательность "Привет, как дела?" и должна вывести: "Привет, нормально"
В медицине такие сети применяются для анализа медицинских записей , и предсказания по ним каких-либо будущих случаев , предсказания развития эпиприступа и.т.д.
Я продемонстрирую работу таких сетей на простом примере.
Dataframe = pandas.read_csv("international-airline-passengers.csv", usecols=, engine="python", skipfooter=3) dataset = dataframe.values dataset = dataset.astype("float32") dataframe.head()
International airline passengers: monthly totals in thousands. Jan 49 ? Dec 60 | |
---|---|
0 | 112 |
1 | 118 |
2 | 132 |
3 | 129 |
4 | 121 |
Набор данных включает в себя ежемесячные наблюдения за количеством пассажиров аэропорта с января 1949 по декабрь 1960. Всего имеется 144 наблюдения.
Если нарисовать график наблюдений, можно заметить определённую тенденцию:
Он цикличный, потому что наплывы пассажиров бывают в летний сезон.
Имеется положитлеьный тренд в общем количестве пасажиров, вездь популярность авиаперевозок постоянно растёт.
Нам нужно создать модель, которая будет способна найти взаимосвязи между количеством пассажиров в разные месяцы и предсказать количество пассажиров в будущем.
Train_size = int(len(dataset) * 0.67) test_size = len(dataset) - train_size print(len(train), len(test)) (96, 48)
Для тренировки сети используются 96 наблюдений (67%), для проверки точности модели - 48 наблюдений.
Модель будет состоять из двух слоёв. Первый слой содержит всего 4 нейрона. Выходной слой - всего один нейрон, из которого будут "выходить" предсказанные количества пассажиров.
Model = Sequential() model.add(LSTM(4, input_dim=look_back)) model.add(Dense(1)) model.compile(loss="mean_squared_error", optimizer="adam")
Загрузим данные в модель:
Model.fit(trainX, trainY, nb_epoch=5, batch_size=1, verbose=2) Epoch 1/5 0s - loss: 0.0019 Epoch 2/5 0s - loss: 0.0020 Epoch 3/5 0s - loss: 0.0020 Epoch 4/5 0s - loss: 0.0019 Epoch 5/5 0s - loss: 0.0020
Оценим ошибку работы модели:
TrainPredict = model.predict(trainX) testPredict = model.predict(testX) trainScore = math.sqrt(mean_squared_error(trainY, trainPredict[:,0])) print("Train Score: %.2f RMSE" % (trainScore)) testScore = math.sqrt(mean_squared_error(testY, testPredict[:,0])) print("Test Score: %.2f RMSE" % (testScore)) Train Score: 0.04 RMSE Test Score: 0.11 RMSE
На тестовой выборке ошибка составила 0.11. Это значит, что модель в среднем ошибается на 11 тыс. пассажиров. Для того, чтобы понять, много это или нет, давайте визуализируем результат.
Итак, синим обозначен исходный график. Зелёное- это правильные предсказания на обученной выборке. Нас интересует красная чаcть - предсказания модели на тестовой выборке. Мы видим, что модель примерно угадывает годовые циклы и общий тренд.
Вот так работают рекуррентные нейронные сети. Ещё раз повторюсь- это очень простой пример для иллюстрации. Например, для анализа медицинских записей используют более глубокие сети. Также, для повышения точности предсказаний их можно объекдинить со свёрточными нейронными сетями, описанными
Рекуррентными нейронными сетями называются такие сети, в которых выходы нейронных элементов последующих слоев имеют синаптические соединения с нейронами предшествующих слоев. Это приводит к возможности учета результатов преобразования нейронной сетью информации на предыдущем этапе для обработки входного вектора на следующем этапе функционирования сети. Рекуррентные сети могут использоваться для решения задач прогнозирования и управления.
Архитектура рекуррентных сетей
Существуют различные варианты архитектур рекуррентных нейронных сетей.
Сеть Джордана: В 1986 г. Джордан (Jordan) предложил рекуррентную сеть (рис. 6), в которой выходы нейронных элементов последнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные элементы называются контекстными нейронами (context units). Они распределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя.
Рис. 6 Архитектура рекуррентной нейронной сети с обратными связями от нейронов выходного слоя
Число контекстных нейронов равняется числу выходных нейронных элементов рекуррентной сети. В качестве выходного слоя таких сетей используются нейронные элементы с линейной функцией активации. Тогда выходное значение j -го нейронного элемента последнего слоя определяется по формуле
где v ij - весовой коэффициент между i -м нейроном промежуточного и j -м нейроном выходного слоев; P i (t )- выходное значение i -го нейрона промежуточного слоя; t j - пороговое значение j -го нейрона выходного слоя. Взвешенная сумма i -гo нейронного элемента промежуточного слоя определяется следующим образом:
где w ij - весовой коэффициент между j -м нейроном входного и i -м нейроном промежуточного слоев; р - число нейронов выходного слоя; w ki - весовой коэффициент между k -м контекстным нейроном и i -м нейроном промежуточного слоя; T - пороговое значение i -го нейрона промежуточного слоя; n - размерность входного вектора.
Тогда выходное значение i -го нейрона скрытого слоя
В качестве функции нелинейного преобразования F обычно используется гиперболический тангенс или сигмоидная функция.
Для обучения рекуррентных нейронных сетей применяется алгоритм обратного распространения ошибки.
Алгоритм обучения рекуррентной нейронной сети в общем случае состоит из следующих шагов:
1. В начальный момент времени t = 1 все контекстные нейроны устанавливаются в нулевое состояние - выходные значения приравниваются нулю.
2. Входной образ подается на сеть и происходит прямое распространение его в нейронной сети.
3. В соответствии с алгоритмом обратного распространения ошибки модифицируются весовые коэффициенты и пороговые значения нейронных элементов.
4. Устанавливается t = t +1 и осуществляется переход к шагу 2. Обучение рекуррентной сети производится до тех пор, пока суммарная среднеквадратичная ошибка сети не станет меньше заданной.