Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 6114 / 1483 | Оценка: 4.37 / 4.06 | Длительность: 13:49:00
ISBN: 978-5-9556-0049-9
Специальности: Программист
Лекция 8:

Нейронные сети Хопфилда и Хэмминга

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

Как говорилось выше, иногда сеть не может провести распознавание и выдает на выходе несуществующий образ. Это связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0,15n. Кроме того, если два образа А и Б имеют значительное сходство, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора Б и наоборот.

Когда нет необходимости, чтобы сеть выдавала образец в явном виде и достаточно, скажем, получать номер образца, ассоциативную память успешно реализует сеть Хэмминга. Данная сеть характеризуется, по сравнению с сетью Хопфилда, более экономным использованием памяти и меньшим объемом вычислений, что становится очевидным из ее структуры (см. рис. 8.2).


Рис. 8.2.

Сеть состоит из двух слоев. Первый и второй слои имеют по m нейронов, где m — число образцов. Нейроны первого слоя имеют по n синапсов, соединенных с входами сети (которые образуют фиктивный нулевой слой). Нейроны второго слоя связаны между собой ингибиторными (отрицательными обратными ) синаптическими связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же аксоном.

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

На стадии инициализации весовым коэффициентам первого слоя и порогу активационной функции присваиваются следующие значения:

\begin{gathered}
w_{ik}=\frac{x_i^k}{2},\quad i=0,\ldots, n-1,\; k=0,\ldots, m-1,\\
T_k=\frac n2,\quad k=0,\ldots,m-1.
\end{gathered}

Здесь x_i^k - i -й элемент k -го образца.

Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине 0<\varepsilon<1/m. Синапс нейрона, связанный с его же аксоном, имеет вес +1.

Алгоритм функционирования сети Хэмминга следующий:

  1. На входы сети подается неизвестный вектор

    X=\{x_i|i=0,\ldots,n\},

    исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя):

    y_j^{(1)}=s_j^{(1)}=\sum_{i=0}^{n-1}w_{ij}x_i+T_j,\quad
j=0,\ldots, m-1.

    После этого полученными значениями инициализируются значения аксонов второго слоя:

    y_j^{(2)}=y_j^{(1)},\quad j=0,\ldots, m-1.
  2. Вычисляются новые состояния нейронов второго слоя:

    s_j^{(2)}(p+1)=y_j(p)-\varepsilon\sum_{k=0}^{m-1}y_k^{(2)}(p),\quad
k\ne j,\quad j=0,\ldots, m-1
\vspace{-1mm}

    и значения их аксонов:

    y_j^{(2)}(p+1)=f\lfloor s_j^{(2)}(p+1)\rfloor,\quad j=0,\ldots, m-1.

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

  3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да — перейти к шагу 2. Иначе — конец процедуры.

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

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >