Опубликован: 01.03.2007 | Доступ: свободный | Студентов: 1376 / 118 | Оценка: 4.58 / 4.39 | Длительность: 20:15:00
Специальности: Программист
Лекция 8:

Нейронные сети ассоциативной памяти

Зависимость работы сети Хопфилда от степени скоррелированности образов можно легко продемонстрировать на следующем примере. Пусть даны три эталона x^1 ,x^2 ,x^3 таких, что

\begin{array}{l}
 \left( {x^1 ,x^2 } \right) + \left( {x^1 ,x^3 } \right) > n, \\ 
 \left( {x^1 ,x^2 } \right) + \left( {x^2 ,x^3 } \right) > n, \\ 
 \left( {x^1 ,x^3 } \right) + \left( {x^2 ,x^3 } \right) > n, \\ 
 \left( {x^i ,x^j } \right) > 0{\rm{ (}}\forall i,j). \\ 
 \end{array} ( 4)

Для любой координаты существует одна из четырех возможностей:

\begin{array}{l}
 1){\rm{ }}x_l^i = x_l^j {\rm{ = }}1{\rm{ (}}\forall i,j){\rm{, }} \\ 
 {\rm{2)}}x_l^i = - x_l^j {\rm{ = }}x_l^k {\rm{ = }}1{\rm{ }}{\rm{,}} \\ 
 {\rm{3)}}x_l^i = - x_l^j {\rm{ = }}x_l^k {\rm{ = - }}1{\rm{ }}{\rm{, }} \\ 
 4){\rm{ }}x_l^i = x_l^j {\rm{ = - }}1{\rm{ (}}\forall i,j){\rm{ }}{\rm{.}} \\ 
 \end{array}

В первом случае при предъявлении сети q -го эталона в силу формулы (3) получаем x'_l = Sign\left( {\sum\limits_{i = 1}^3 {\left( {x^q ,x^i } \right) \times 1} } \right) = 1, так как все скалярные произведения положительны по условию (4). Аналогично получаем в четвертом случае x'_j = - 1.

Во втором случае рассмотрим отдельно три варианта

\begin{array}{*{20}c}
   {x = x^i ,{\rm{ }}x'_j = Sign\left( { - \left( {x^i ,x^i } \right) + \left( {x^i ,x^j } \right) + \left( {x^i ,x^k } \right)} \right) = 1} \\
   {x = x^j ,{\rm{ }}x'_l = Sign\left( { - \left( {x^j ,x^i } \right) + \left( {x^j ,x^j } \right) + \left( {x^j ,x^k } \right)} \right) = 1} \\
   {x = x^k ,{\rm{ }}x'_l = Sign\left( { - \left( {x^k ,x^i } \right) + \left( {x^k ,x^j } \right) + \left( {x^k ,x^k } \right)} \right) = 1} \\
\end{array}

так как скалярный квадрат любого образа равен n, а сумма двух любых скалярных произведений эталонов больше n, по условию (4). Таким образом, независимо от предъявленного эталона получаем x'_j = 1. Аналогично в третьем случае получаем x'_j = - 1.

Окончательный вывод таков: если эталоны удовлетворяют условиям (4), то при предъявлении любого эталона на выходе всегда будет один образ. Этот образ может быть эталоном или "химерой", составленной, чаще всего, из узнаваемых фрагментов различных эталонов (примером "химеры" может служить образ, приведенный на рис. 8.1 г). Рассмотренный ранее пример с буквами детально иллюстрирует такую ситуацию.

Приведенные выше соображения позволяют сформулировать требование, детализирующие понятие "слабо скоррелированных образов". Для правильного распознавания всех эталонов достаточно (но не необходимо) потребовать, чтобы выполнялось следующее неравенство \sum\limits_{\scriptstyle i = 1 \hfill \atop \scriptstyle i \ne j \hfill}^m {\left| {\left( {x^i ,x^j } \right)} \right|} < n,\forall j. Более простое и наглядное, хотя и более сильное условие можно записать в виде \left| {\left( {x^i ,x^j } \right)} \right| < \frac{n}{m},\forall i \ne j. Из этих условий видно, что чем больше задано эталонов, тем более жесткие требования предъявляются к степени их скоррелированности, тем ближе они должны быть к ортогональным.

Рассмотрим преобразование (3) как суперпозицию двух преобразований:

Px = \sum\limits_{i = 1}^m {\left( {x,x^i } \right)x^i } ,{\rm{  }}x' = Sign\left( {Px} \right). ( 5)

Обозначим через L\left( {\left\{ {x^i } \right\}} \right) = \left\{ {\left. {x} \right| x = \sum\limits_{i = 1}^m {\alpha_i x^i }{\rm{; }}\alpha_i \in {\bf{R}}} \right\} - линейное пространство, натянутое на множество эталонов. Тогда первое преобразование в (5) переводит векторы из {\bf{R}}^n в L\left( {\left\{ {x^i } \right\}} \right). Второе преобразование в (5) переводит результат первого преобразования Px в одну из вершин гиперкуба образов. Легко показать, что второе преобразование в (5) переводит точку Px в ближайшую вершину гиперкуба. Действительно, пусть a и b две различные вершины гиперкуба такие, что a - ближайшая к Px, а b = x'. Из того, что a и b различны следует, что существует множество индексов, в которых координаты векторов a и b различны. Обозначим это множество через I = \left\{{i:a_i = - b_i } \right\}. Из второго преобразования в (5) и того, что b = x', следует, что знаки координат вектора Px всегда совпадают со знаками соответствующих координат вектора b. Учитывая различие знаков i -х координат векторов a и Px при i \in I можно записать \left| {a_i - \left( {Px} \right)_i } \right| = \left| {a_i } \right| + \left| {\left( {Px} \right)_i } \right| = 1 + \left| {\left( {Px} \right)_i } \right|. Совпадение знаков i -х координат векторов b и Px при i \in I позволяет записать следующее неравенство \left| {b_i - \left( {Px} \right)_i } \right| = \left| {\left| {a_i } \right| - \left| {\left( {Px} \right)_i } \right|} \right| < 1 + \left| {\left( {Px} \right)_i } \right|. Сравним расстояния от вершин a и b до точки Px

\begin{array}{l}
 \left\| {b - Px} \right\| = \sum\limits_{i = 1}^n {\left( {b_i - \left( {Px} \right)_i } \right)^2 } = \sum\limits_{i \in I}{\left( {b_i - \left( {Px} \right)_i } \right)^2 } + \sum\limits_{i \notin I}{\left( {b_i - \left( {Px} \right)_i } \right)^2 } < \\ 
 \sum\limits_{i \in I}{\left( {1 + \left| {\left( {Px} \right)_i } \right|} \right)^2 } + \sum\limits_{i \notin I}{\left( {a_i - \left( {Px} \right)_i } \right)^2 } = \sum\limits_{i = 1}^n {\left( {a_i - \left( {Px} \right)_i } \right)^2 } = \left\| {a - Px} \right\|. \\ 
 \end{array}

Полученное неравенство \left\| {b - Px} \right\| < \left\| {a - Px} \right\| противоречит тому, что a - ближайшая к Px. Таким образом доказано, что второе преобразование в (5) переводит точку Px в ближайшую вершину гиперкуба образов.

Артур Гибадуллин
Артур Гибадуллин
Россия, г. Нижневартовск