Опубликован: 13.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 12:

Рекуррентные сети на базе персептрона

< Лекция 11 || Лекция 12: 1234 || Лекция 13 >

Сеть RTRN

Среди рекуррентных сетей особого внимания заслуживает сеть типа RTRN (англ.: Real Time Recurrent Network), предложенная Р.Вильямсом и Д.Зипсером и предназначенная для обработки сигналов в реальном времени. Сеть RTRN - частный случай сети Эльмана.

Структура сети RTRN

увеличить изображение
Рис. 4. Структура сети RTRN

Обобщенная структура сети представлена на рис. 4. Сеть содержит N входных узлов, K скрытых нейронов и K соответствующих им узлов контекстного слоя. Из K скрытых нейронов только M составляют выход сети. Обозначим взвешенную сумму i -го нейрона скрытого слоя u_i, а выход этого нейрона - y_i. Вектор x(k) и смещенный (задержанный) на один цикл вектор y(k-1) образуют расширенный вектор активации x(k), возбуждающий нейроны сети:

x(k) = [1,x_1(k),x_2(k), \ldots, x_N(k), y_1(k-1), \ldots, y_K(k-1)]^T.

После описания входного вектора сети в момент t можно определить состояние всех нейронов согласно зависимостям:

u_i(k) = \sum_{j=0}^{N+K} w_{ij}x_j(k), ( 2)
y_i(k) = f(u_i(k)). ( 3)

причем f( ) обозначает непрерывную функцию активации нейрона (как правило, сигмоидальную). На рис. 4 видно, что сеть RTRN представляет собой частный случай сети Эльмана, в которой веса выходного слоя постоянны и равны дельте Кронекера, т.е. w_{ij} = \delta_{ij} = 1 для i =
j или 0 для i \neq j. В этом случае можно применять алгоритм обучения Вильяма-Зипсера.

1. Выбрать случайные начальные значения весов сети, составляющих матрицу W и равномерно распределенных в заданном интервале (обычно в диапазоне от -1 до 1 ).

2. Рассчитать состояние всех K нейронов для очередного момента t =
0,1,2,\ldots с использованием формул (1) и (2). На этой основе можно определить входной вектор x(k), возбуждающий нейроны в момент t.

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*}

4. Уточнить значения весов по алгоритму наискорейшего спуска согласно формуле

\begin{align*}
w_{ab}(k+1) = w_{ab}(k) -\alpha \sum_{i=1}^K [y_i(k)- d_i(k)]( dy_i(k)/dw_{ab})
\end{align*}

для a = 1,2, \ldots, K и b = 0,1,2, \ldots, N+K.

Шаги (2-4) повторять вплоть до стабилизации значений всех весов сети.

< Лекция 11 || Лекция 12: 1234 || Лекция 13 >
Ирина Ткаченко
Ирина Ткаченко
Россия, Москва
Николай Ткаченко
Николай Ткаченко
Россия