К одному из сложных видов искусственных нейронных сетей (ИНС) относятся рекуррентные, в которых имеются обратные связи [1, 2]. В первых рекуррентных ИНС главной идеей было обучение своему выходному сигналу на предыдущем шаге. Рекуррентные сети реализуют нелинейные модели, которые могут быть применены для оптимального управления процессами, изменяющимися во времени, то есть обратные связи позволяют обеспечить адаптивное запоминание прошлых временных событий. Обобщение рекуррентных ИНС позволит создать более гибкий инструмент для построения нелинейных моделей. Рассмотрим некоторые архитектуры рекуррентных ИНС.
В основе сети Джордана лежит многослойный персептрон. Обратная связь реализуется через подачу на входной слой не только исходных данных, но и сигналов выхода сети с задержкой на один или несколько тактов, что позволяет учесть предысторию наблюдаемых процессов и накопить информацию для выработки правильной стратегии управления [3–5].
Сеть Элмана, как и сеть Джордана, получается из многослойного персептрона введением обратных связей. Только сигналы на входной слой идут не от выходов сети, а от выходов нейронов скрытого слоя [3–5].
Для обобщения рекуррентных ИНС в статье предлагается добавить задержку сигналов обратной связи скрытого слоя на несколько тактов. Для этого добавим у слоя динамическую стековую память. Пример архитектуры такой ИНС показан на рисунке 1.
Выходы скрытого слоя {c1, c2, …, ck} подаются на входные нейроны с весовыми коэффициентами {wij}-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) [6].
Таблица 1
Данные о плотности потока солнечного излучения на длине волны 10,7 см за 2010–2012 гг.
Table 1
Solar radiant flux density 10,7 cm line data for 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
|
Трансформируем временной ряд методом скользящих окон [7], как показано в таблице 2.
Таблица 2
Обучающая выборка ИНС для решения задачи прогнозирования, полученная в результате преобразования временного ряда методом окон
Table 2
Training set ИНС to solve a forecast task. It was obtained as a result of time series transformation using windows method
№ примера
|
Вход ИНС (x)
|
Выход ИНС (y)
|
x1
|
x2
|
x3
|
y1
|
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
|
…
|
Пусть в рекуррентной ИНС скрытый слой содержит три нейрона, выходной – один нейрон, стек динамической памяти – обратные сигналы скрытого слоя с задержкой на два такта.
Так как число нейронов скрытого слоя, имеющих обратную связь с входным слоем, равно трем, размер входного вектора во время обучения ИНС при запоминании предыдущего выходного сиг- нала на один шаг назад увеличится на три, при запоминании двух предыдущих выходных сигналов – на шесть. Обозначим входные сигналы обучающей выборки, не изменяющиеся во время трансформации, как {x1, x2, x3}, а сигналы обратной связи – {x4, x5, x6, x7, x8, x9}. В таблице 3 приведена трансформированная обучающая выборка.
На входы {x4, x5, x6} подаются выходные сигналы скрытого слоя с задержкой на один такт {с1-1, c2-1, c3-1}, на входы {x7, x8, x9} – выходные сигналы скрытого слоя с задержкой на два такта {с1-2, c2-2, c3-2}.
Таким образом, обучение рекуррентной ИНС с динамической стековой памятью методом обратного распространения ошибки можно свести к обучению многослойного персептрона [8], трансформируя обучающую выборку. Для реализации предлагаемой методологии обучения рекуррентной ИНС с динамической стековой памятью расширены возможности нейроэмулятора NeuroNADS [9].
Объектно-ориентированная модель рекуррентной ИНС с динамической стековой памятью представлена на диаграмме классов (рис. 2).
В отличие от класса Layer, который является контейнером для нейронов многослойного персептрона, класс LayerMemory cодержит память stackOut, реализованную в виде стека предыдущих сигналов слоя. Размер стека задается с помощью свойства stackSize. На схеме (рис. 3) память слоя изображена в виде стека выходных сигналов слоя {y-1, y-2, …, y-n}, где n – размер стека. Каждая ячейка стека y-i состоит из массива выходов нейронов слоя {y1, y2, …, yn}. Стек организован так, что после переполнения памяти последняя ячейка y-n удаляется, вся очередь сдвигается на одну позицию, так что y-i = y-(i-1).
Спрогнозируем среднемесячную плотность солнечной активности на длине волны 10,7 см на первые шесть месяцев 2012 г. на основе данных за 2010–2011 гг. из таблицы 1. Для этого построим и обучим рекуррентную ИНС с динамической стековой памятью с помощью нейроэмулятора NeuroNADS. Первые 24 примера временного ряда возьмем для обучающей выборки, а оставшиеся шесть примеров – для тестовой выборки.
Обучение проведем гибридным алгоритмом [10]. Параметры алгоритма: шаг обучения – 0,3, максимальное количество особей в поколении – 10, коэффициент мутации – 0,1. Критерии остановки обучения: среднеквадратическая ошибка – 0,001, количество эпох – 1 000.
Один из лучших результатов обучения ИНС представлен на сайте журнала (http://www.swsys. ru/uploaded/image/2014-4-dop/11.jpg, http://www. swsys.ru/uploaded/image/2014-4-dop/12.jpg). Показатели ошибок прогнозирования временного ряда следующие: среднеквадратическая ошибка (MSE) – 0,00154, средняя абсолютная ошибка на обучающей выборке (MAPE) – 2,6 %, средняя абсолютная ошибка на тестовой выборке (MAPE) – 15,5 %, средняя абсолютная ошибка на обучающей выборке (MAE) – 25,21, средняя абсолютная ошибка на тестовой выборке (MAE) – 181,37.
По результатам обучения можно сделать вывод, что рекуррентная ИНС с динамической стековой памятью справилась с задачей, показатели ошибок прогнозирования временного ряда соответствуют допустимым значениям. Таким образом, рекуррентные ИНС с динамической стековой памятью можно обучать с помощью предложенной методологии, а построенные модели ИНС использовать для прогнозирования временных рядов.
Литература
1. Хайкин С. Нейронные сети: полный курс. 2-е изд.; [пер. с англ.]. М.: Вильямс, 2006. 1104 с.
2. Каллан Р. Основные концепции нейронных сетей; [пер. с англ.]. М.: Вильямс, 2001. 290 с.
3. Бодянский Е.В., Руденко О.Г. Искусственные нейронные сети: архитектуры, обучение, применения. Харьков: Телетех, 2004. 369 с.
4. Осовский С. Нейронные сети для обработки информации; [пер. с польск. И.Д. Рудинского]. М.: Финансы и статистика, 2002. 344 с.
5. Тархов Д.А. Нейронные сети. Модели и алгоритмы. Кн. 18. Справ. изд. (Сер. Нейрокомпьютеры и их применение). М.: Радиотехника, 2005. 256 с.
6. Информационно-аналитическая система: данные о солнечной и геомагнитной активности. URL: http://moveinfo.ru/ data/sun/select (дата обращения: 10.03.2014).
7. Круг П.Г. Нейронные сети и нейрокомпьютеры. М.: Изд-во МЭИ, 2002. 176 с.
8. Галушкин А.И. Нейронные сети: основы теории. М.: Горячая линия–Телеком, 2012. 496 с.
9. Нейроэмулятор NeuroNADS. URL: http://www.service.i-intellect.ru (дата обращения: 10.03.2014).
10. Белявский Г.И., Пучков Е.В., Лила В.Б. Алгоритм и программная реализация гибридного метода обучения искусственных нейронных сетей // Программные продукты и системы. 2012. № 4. С. 96–100.
References
1. Haykin S. Neural Networks: A Comprehensive Foundation. 2nd ed., Prentice-Hall Publ., 1999 (Russ. ed.: Moscow,
Vilyams Publ., 2006, 1104 p.).
2. Kallan R. The Essence of Neural Networks. Prentice-Hall Publ., 1998, 248 p. (Russ. ed.: Moscow, Vilyams Publ.,
2001, 290 p.).
3. Bodyansky E.V., Rudenko O.G. Iskusstvennye neyronnye seti: arkhitektury, obuchenie, primeneniya [Artificial
Neural Networks: Architectures, Training, Applications]. Harkov, TELETEKh Publ., 2004, 369 p.
4. Osovsky S. Neyronnye seti dlya obrabotki informatsii [Neural Networks for Information Processing]. Moscow,
Finansy i statistika Publ., 2002, 344 p.
5. Tarkhov D.A. Neyronnye seti. Modeli i algoritmy (Seriya “Neyrokompyutery i ikh primenenie”) [Neural Networks.
Models and Algorithms. Series “Neural Computers and their Application”]. Vol. 18, reference book, Moscow, Radiotekhnika
Publ., 2005, 256 p.
6. Informatsionno-analiticheskaya sistema (dannye o solnechnoy i geomagnitnoy aktivnosti) [Information and
Analytical System (Solar and Geomagnetic Activity Data)]. Available at: http://moveinfo.ru/data/sun/select (accessed April
7, 2014).
7. Krug P.G. Neyronnye seti i neyrokompyutery [Neural Networks and Neural Computers]. Moscow, MEI Publ., 2002,
176 p.
8. Galushkin A.I. Neyronnye seti: osnovy teorii [Neural Networks: Theoretical Basics]. Moscow, Goryachaya Liniya–
Telekom Publ., 2012, 496 p.
9. Neyroemulyator NeuroNADS. Available at: http://www.service.i-intellect.ru (accessed April 7, 2014).
10. Belyavsky G.I., Puchkov E.V., Lila V.B. The algorithm and software implementation of the hybrid training method
of artificial neural networks. Programmnye produkty i sistemy [Software & Systems]. Tver, 2012, no. 4, pp. 96–100 (in
Russ.).