Структура сети. На рис. 23 показана сеть с обратными связями, состоящая из двух слоев

На рис. 23 показана сеть с обратными связями, состоящая из двух слоев. Нулевой слой не выполняет вычислительной функции, а лишь распределяет выходы сети обратно на входы. Каждый нейрон первого слоя вычисляет взвешенную сумму своих входов, давая сигнал NET, который затем с помощью нелинейной функции F преобразуется в сигнал OUT.

Рис. 23. Однослойная сеть с обратными связями.

В первой работе Хопфилда функция F была просто пороговой функцией. Выход такого нейрона равен единице, если взвешенная сумма выходов с других нейронов больше порога Tj, в противном случае она равна нулю. Он вычисляется следующим образом:

NETj = S wij OUTi + Inj, i ¹ j (14)

OUTj = 1, если NETj > Tj,

OUTj = 0, если NETj < Tj, (15)

OUTj не изменяется, если NETj = Tj,

Состояние сети - это множество текущих значений сигналов OUT от всех нейронов. В первоначальной сети Хопфилда состояние каждого нейрона менялось в дискретные случайные моменты времени, в последующей работе состояния нейронов могли меняться одновременно. Так как выходом бинарного нейрона может быть только ноль или единица, то текущее состояние сети является двоичным числом, каждый бит которого является сигналом выхода OUT некоторого нейрона.

Рис. 24. Два нейрона порождают систему с четырьмя состояниями.

Функционирование сети легко визуализируется геометрически. На рис. 24 показан случай двух нейронов в выходном слое, причем каждой вершине квадрата соответствует одно из четырех состояний системы (00, 01, 10, 11). На рис. 25 показана трехнейронная система, представленная кубом (в трехмерном пространстве), имеющим восемь вершин, каждая из которых помечена трехбитовым бинарным числом. В общем случае система с n нейронами имеет 2n различных состояний и представляется n-мерным гиперкубом.

Рис. 25. Три нейрона порождают систему с восемью состояниями.

Когда подается новый входной вектор, сеть переходит из вершины в вершину, пока не стабилизируется. Устойчивая вершина определяется сетевыми весами, текущими входами и величиной порога. Если входной вектор частично неправилен или неполон, то сеть стабилизируется в вершине, ближайшей к желаемой.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: