Нейрокомпьютерные системы



Сеть 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
можно определить состояние всех нейронов согласно зависимостям:

</p></div>
<p>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) повторять вплоть до стабилизации значений всех весов сети.




Содержание  Назад  Вперед