Основы теории нейронных сетей




Структура ДАП


На рис. 10.1 приведена базовая конфигурация ДАП. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 10.1 входной вектор

A
обрабатывается матрицей весов
W
сети, в результате чего вырабатывается вектор выходных сигналов нейронов
B
. Вектор
B
затем обрабатывается транспонированной матрицей
W^t
весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор
A
. Процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор
A
, ни вектор
B
не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации
F
. Этот процесс может быть выражен следующим образом:

 b_i=F(\sum_j a_jw_{ij})

или в векторной форме:

 B=F(AW),

где

B
— вектор выходных сигналов нейронов слоя 2,
A
— вектор выходных сигналов нейронов слоя 1,
W
— матрица весов связей между слоями 1 и 2,
F
— функция активации.


Рис. 10.1. 

Аналогично,

 A=F(BW^t),

где

W^t
является транспозицией матрицы
W
.

Как отмечено нами ранее, Гроссберг показал преимущества использования сигмоидальной (логистической) функции активации

 OUT_i=\frac{1}{1+\exp(-\lambda NET_i)},

где

OUT_i
— выход нейрона
i
,
NET_i

— взвешенная сумма входных сигналов нейрона

i
,
\lambda
— константа, определяющая степень кривизны.

В простейших версиях ДАП значение константы

\lambda

выбирается большим, в результате чего функция активации приближается к простой пороговой функции. В дальнейшем будем предполагать, что используется пороговая функция активации.

Примем также, что существует память внутри каждого нейрона в слоях 1 и 2 и что выходные сигналы нейронов изменяются одновременно с каждым тактом синхронизации, оставаясь постоянными в паузах между этими тактами. Таким образом, поведение нейронов может быть описано следующими правилами:

 \begin{aligned} OUT_i(n+1) = 1,\quad &\text{если } NET_i(n)>0,\\ OUT_i(n+l) = 0,\quad & \text{если }NET_i(n)<0,\\ OUT_i(n+l) = OUT(n),\quad & \text{если } NET_i(n) = 0, \end{aligned}

где

OUT_i(n)
представляет собой величину выходного сигнала нейрона
i

в момент времени

n
.

Заметим, что, как и в описанных ранее сетях, слой 0 не производит вычислений и не имеет памяти; он является только средством распределения выходных сигналов слоя 2 к элементам матрицы

W^t
.




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