vault backup: 2026-05-14 19:31:50

This commit is contained in:
Dmitry
2026-05-14 19:31:50 +03:00
parent 9cecc7dbe7
commit 4742fcddc7
4 changed files with 306 additions and 8 deletions
+148
View File
@@ -0,0 +1,148 @@
---
status: seed
type: concept
tags: []
created: 2026-05-14
updated: 2026-05-14
title: КР - Хопфилд
---
# КР - Хопфилд
## Что могут спросить
1. Что такое сеть Хопфилда и для чего она нужна?
2. Почему сеть Хопфилда относится к ассоциативной памяти?
3. Какая у неё архитектура?
4. Как кодируются входные и эталонные образы?
5. Как рассчитываются веса?
6. Как сеть восстанавливает искажённый образ?
7. Какие есть ограничения?
8. Чем сеть Хопфилда отличается от сети Хэмминга?
## Краткий ответ
**Сеть Хопфилда** - однослойная рекуррентная нейронная сеть ассоциативной памяти. Она хранит набор эталонных образов и по искажённому или неполному входу пытается восстановить ближайший эталон.
Если вход похож на один из запомненных образов, сеть в процессе итераций приходит к устойчивому состоянию, соответствующему этому образу.
## Архитектура
- один слой нейронов;
- каждый нейрон связан с другими нейронами;
- выходы нейронов возвращаются на входы;
- связей нейрона с самим собой обычно нет;
- веса задаются один раз по эталонным образам;
- состояние сети пересчитывается до стабилизации.
Входной и выходной векторы имеют одинаковую размерность:
$$
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
$$
2. Для каждого нейрона считается новое состояние:
$$
s_j(p+1)=\sum\limits_{i=1}^{n-1}w_{ij}y_i(p)
$$
3. Значение нейрона обновляется через пороговую функцию:
$$
y_j(p+1)=f(s_j(p+1))
$$
где обычно:
$$
f(s)=
\begin{cases}
1, & s \ge 0 \\
-1, & s < 0
\end{cases}
$$
4. Шаги повторяются, пока выходы не перестанут изменяться.
Если распознавание успешно:
$$
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
$$
После подачи входа сеть итеративно пересчитывает состояния нейронов через пороговую функцию, пока выходной вектор не стабилизируется. Если всё прошло успешно, устойчивое состояние совпадает с одним из эталонов.
+154
View File
@@ -0,0 +1,154 @@
---
status: seed
type: concept
tags: []
created: 2026-05-14
updated: 2026-05-14
title: КР - Хэмминг
---
# КР - Хэмминг
## Что могут спросить
1. Что такое сеть Хэмминга и для чего она нужна?
2. Что такое расстояние Хэмминга?
3. Какая архитектура у сети Хэмминга?
4. Как задаются веса первого слоя?
5. Зачем нужен второй слой?
6. Как работает взаимное торможение нейронов?
7. Почему сеть Хэмминга экономнее сети Хопфилда?
8. Чем сеть Хэмминга отличается от сети Хопфилда?
## Краткий ответ
**Сеть Хэмминга** - нейронная сеть ассоциативной памяти, которая выбирает ближайший эталонный образ. Она не восстанавливает образ полностью, а определяет, какому эталону или классу соответствует вход.
Идея: найти эталон с минимальным расстоянием Хэмминга до входного вектора.
## Расстояние Хэмминга
Расстояние Хэмминга - число позиций, в которых два бинарных вектора отличаются.
Пример:
$$
X=(1,0,1,1),\quad Y=(1,1,0,1)
$$
Отличаются 2 позиции, значит:
$$
d_H(X,Y)=2
$$
Для бинарных векторов:
$$
d_H(X,Y)=\sum\limits_{i=1}^{n}[x_i\neq y_i]
$$
## Архитектура
Сеть состоит из двух слоёв:
1. **Первый слой** - сравнивает входной образ со всеми эталонами.
2. **Второй слой** - реализует конкуренцию между эталонами и оставляет одного победителя.
Если есть $m$ эталонов, то в первом и втором слоях по $m$ нейронов.
Нейроны первого слоя имеют $n$ входов, где $n$ - размерность образа.
Во втором слое:
- связь нейрона с самим собой имеет вес $+1$;
- связи с другими нейронами имеют отрицательный вес $-\varepsilon$;
- параметр $\varepsilon$ выбирают так:
$$
0<\varepsilon<\frac{1}{m}
$$
## Инициализация
Пусть $x_i^k$ - $i$-й элемент $k$-го эталонного образа.
Веса первого слоя:
$$
w_{ik}=\frac{x_i^k}{2}
$$
Порог:
$$
T_k=\frac{n}{2}
$$
где:
- $i=0,\dots,n-1$;
- $k=0,\dots,m-1$;
- $n$ - размерность входного образа;
- $m$ - число эталонов.
## Алгоритм функционирования
1. На вход подаётся неизвестный вектор:
$$
X=\{x_i:i=0,\dots,n-1\}
$$
2. Первый слой вычисляет начальную близость входа к каждому эталону:
$$
y_j^{(1)}=s_j^{(1)}=\sum\limits_{i=1}^{n-1}w_{ij}x_i+T_j
$$
3. Эти значения передаются во второй слой:
$$
y_j^{(2)}=y_j^{(1)}
$$
4. Во втором слое запускается конкуренция:
$$
s_j^{(2)}(p+1)=y_j^{(2)}(p)-\varepsilon\sum\limits_{\substack{k=0\\k\neq j}}^{m-1}y_k^{(2)}(p)
$$
5. Затем применяется пороговая функция:
$$
y_j^{(2)}(p+1)=f(s_j^{(2)}(p+1))
$$
6. Итерации продолжаются, пока выходы второго слоя не стабилизируются.
В конце активным должен остаться один нейрон. Его номер соответствует ближайшему эталону.
## Смысл второго слоя
Второй слой нужен для выбора победителя. Нейроны взаимно тормозят друг друга: чем сильнее активен один кандидат, тем сильнее он подавляет остальных.
В итоге остаётся нейрон, соответствующий эталону с наибольшей похожестью и минимальным расстоянием Хэмминга.
## Почему первый слой условный
Первый слой используется только один раз - чтобы посчитать начальные значения похожести. После этого сеть работает только со вторым слоем.
Поэтому первый слой можно заменить матрицей весов и обычным вычислением близости.
## Отличие от сети Хопфилда
| Сеть | Что делает | Результат |
|---|---|---|
| Хопфилда | восстанавливает образ | полный эталонный вектор |
| Хэмминга | сравнивает с эталонами | номер ближайшего эталона |
Сеть Хэмминга обычно требует меньше памяти и вычислений, потому что ей не нужно восстанавливать весь образ через полную рекуррентную динамику.
## Мини-ответ на контрольной
Сеть Хэмминга - сеть ассоциативной памяти для выбора ближайшего эталонного образа. Она основана на расстоянии Хэмминга, то есть числе несовпадающих битов. Первый слой вычисляет близость входа к каждому эталону, второй слой через отрицательные обратные связи подавляет слабые варианты. В результате активным остаётся один выходной нейрон, соответствующий ближайшему образцу.