| Россия, Москва | 
Рекуррентные сети на базе персептрона
Сеть RTRN
Среди рекуррентных сетей особого внимания заслуживает сеть типа RTRN (англ.: Real Time Recurrent Network), предложенная Р.Вильямсом и Д.Зипсером и предназначенная для обработки сигналов в реальном времени. Сеть RTRN - частный случай сети Эльмана.
Обобщенная структура сети представлена на рис. 4. Сеть содержит  входных
узлов,
  входных
узлов,  скрытых нейронов и
  скрытых нейронов и  соответствующих им
узлов контекстного слоя.
Из
  соответствующих им
узлов контекстного слоя.
Из  скрытых нейронов только
  скрытых нейронов только  составляют выход
сети. Обозначим взвешенную
сумму
  составляют выход
сети. Обозначим взвешенную
сумму  -го нейрона скрытого слоя
 -го нейрона скрытого слоя  , а выход этого
нейрона -
, а выход этого
нейрона -  . Вектор
. Вектор  и смещенный (задержанный) на один цикл вектор
  и смещенный (задержанный) на один цикл вектор  образуют
расширенный вектор активации
  образуют
расширенный вектор активации  , возбуждающий нейроны сети:
, возбуждающий нейроны сети:
![x(k) = [1,x_1(k),x_2(k), \ldots, x_N(k), y_1(k-1), \ldots, y_K(k-1)]^T.](/sites/default/files/tex_cache/0be02337de69b983bc679b23e89fb27f.png)
После описания входного вектора сети в момент  можно
определить состояние
всех нейронов согласно зависимостям:
  можно
определить состояние
всех нейронов согласно зависимостям:
|  | ( 2) | 
|  | ( 3) | 
причем  обозначает непрерывную функцию активации нейрона (как правило,
сигмоидальную). На рис. 4 видно, что сеть RTRN представляет собой частный
случай сети Эльмана, в которой веса выходного слоя постоянны и равны
дельте Кронекера, т.е.
  обозначает непрерывную функцию активации нейрона (как правило,
сигмоидальную). На рис. 4 видно, что сеть RTRN представляет собой частный
случай сети Эльмана, в которой веса выходного слоя постоянны и равны
дельте Кронекера, т.е.  для
  для  или
  или  для
  для  . В этом
случае можно применять алгоритм обучения Вильяма-Зипсера.
. В этом
случае можно применять алгоритм обучения Вильяма-Зипсера.
1.  Выбрать случайные начальные значения весов сети, составляющих матрицу  и равномерно распределенных в заданном интервале (обычно в
диапазоне от
  и равномерно распределенных в заданном интервале (обычно в
диапазоне от  до
  до  ).
 ).
2.  Рассчитать состояние всех K нейронов для очередного момента  с использованием формул (1) и
(2). На этой основе можно
определить входной вектор
  с использованием формул (1) и
(2). На этой основе можно
определить входной вектор  , возбуждающий нейроны в момент
, возбуждающий нейроны в момент  .
.
3. Рассчитать значения
![\begin{align*}
dy_i(k)/dw_{ab} = (df_1(u_i)/du_i)[\delta_{ja}x_b +
\sum_{k=1}^K(dy_i(k-1)/dw_{ab})w_{i,k+N}]
\end{align*}](/sites/default/files/tex_cache/d47d5b480d304bac93d9ac48a44dd0c6.png)
4. Уточнить значения весов по алгоритму наискорейшего спуска согласно формуле
/dw_{ab})
\end{align*}](/sites/default/files/tex_cache/708c0738672dd1e9d5de30107958b3d3.png)
для  и
  и  .
.
Шаги (2-4) повторять вплоть до стабилизации значений всех весов сети.
 
                             


