Files
SecondBrain/99 System/Archive/КР - Хопфилд.md
T
2026-05-31 10:18:48 +03:00

5.6 KiB

status, type, tags, created, updated, aliases
status type tags created updated aliases
seed concept
2026-05-14 2026-05-15
КР - Хопфилд

КР - Хопфилд

Что могут спросить

  1. Что такое сеть Хопфилда и для чего она нужна?
  2. Почему сеть Хопфилда относится к ассоциативной памяти?
  3. Какая у неё архитектура?
  4. Как кодируются входные и эталонные образы?
  5. Как рассчитываются веса?
  6. Как сеть восстанавливает искажённый образ?
  7. Какие есть ограничения?
  8. Чем сеть Хопфилда отличается от сети Хэмминга?

Краткий ответ

Сеть Хопфилда - однослойная рекуррентная нейронная сеть ассоциативной памяти. Она хранит набор эталонных образов и по искажённому или неполному входу пытается восстановить ближайший эталон.

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

Архитектура

  • один слой нейронов;
  • каждый нейрон связан с другими нейронами;
  • выходы нейронов возвращаются на входы;
  • связей нейрона с самим собой обычно нет;
  • веса задаются один раз по эталонным образам;
  • состояние сети пересчитывается до стабилизации. !Pasted image 20260515090322.png

Входной и выходной векторы имеют одинаковую размерность:


X=(x_1,\dots,x_n),\quad x_i \in \{-1,1\}

Эталонный образ:


X^k=(x_1^k,\dots,x_n^k),\quad k=1,\dots,m

где:

  • n - число нейронов и размерность образа;
  • m - число запоминаемых эталонов;
  • k - номер эталонного образа.

Инициализация весов

Веса рассчитываются по эталонным образам:


w_{ij}=\sum\limits_{k=1}^{m}x_i^kx_j^k,\quad i\neq j

Связь нейрона с самим собой исключается:


w_{ii}=0

Смысл: если два признака часто имеют одинаковый знак в эталонах, связь между ними усиливается; если разные знаки - связь становится отрицательной.

Алгоритм функционирования

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

Начальное состояние сети:


y_i(0)=x_i,\quad i=0,\dots,n-1
  1. Для каждого нейрона считается новое состояние:

s_j(p+1)=\sum\limits_{i=0}^{n-1}w_{ij}y_i(p)
  1. Значение нейрона обновляется через пороговую функцию:

y_j(p+1)=f(s_j(p+1))

где обычно:


f(s)=
\begin{cases}
1, & s \ge 0 \\
-1, & s < 0
\end{cases}
  1. Шаги повторяются, пока выходы не перестанут изменяться.

Если распознавание успешно:


Y=X^k

То есть сеть восстановила один из эталонных образов.

Ограничения

Сеть Хопфилда может ошибиться, если:

  • запомнено слишком много образов;
  • эталоны слишком похожи друг на друга;
  • вход слишком сильно искажён;
  • сеть пришла к ложному устойчивому состоянию.

Оценка ёмкости:


m \approx 0.15n

где m - число запоминаемых образов, n - число нейронов.

Отличие от сети Хэмминга

Сеть Что выдаёт Когда нужна
Хопфилда восстановленный образ нужно восстановить полный эталон
Хэмминга номер ближайшего образа нужно выбрать класс/эталон

Главная фраза для ответа: сеть Хопфилда восстанавливает образ, а сеть Хэмминга выбирает ближайший образец по расстоянию Хэмминга.

Мини-ответ на контрольной

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


w_{ij}=\sum\limits_{k=1}^{m}x_i^kx_j^k,\quad w_{ii}=0

После подачи входа сеть итеративно пересчитывает состояния нейронов через пороговую функцию, пока выходной вектор не стабилизируется. Если всё прошло успешно, устойчивое состояние совпадает с одним из эталонов.