6.4 KiB
status, type, tags, created, updated, title
| status | type | tags | created | updated | title |
|---|---|---|---|---|---|
| seed | concept | 2026-05-14 | 2026-05-15 | КР - Хэмминг |
КР - Хэмминг
Что могут спросить
- Что такое сеть Хэмминга и для чего она нужна?
- Что такое расстояние Хэмминга?
- Какая архитектура у сети Хэмминга?
- Как задаются веса первого слоя?
- Зачем нужен второй слой?
- Как работает взаимное торможение нейронов?
- Почему сеть Хэмминга экономнее сети Хопфилда?
- Чем сеть Хэмминга отличается от сети Хопфилда?
Краткий ответ
Сеть Хэмминга - нейронная сеть ассоциативной памяти, которая выбирает ближайший эталонный образ. Она не восстанавливает образ полностью, а определяет, какому эталону или классу соответствует вход.
Идея: найти эталон с минимальным расстоянием Хэмминга до входного вектора.
Расстояние Хэмминга
Расстояние Хэмминга - число позиций, в которых два бинарных вектора отличаются.
Пример:
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]
Архитектура
Сеть состоит из двух слоёв:
- Первый слой - сравнивает входной образ со всеми эталонами.
- Второй слой - реализует конкуренцию между эталонами и оставляет одного победителя.
Если есть 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}
Сдвигает диапазон выхода в [0, n]: при полном совпадении с эталоном y_k^{(1)}=n, при полном несовпадении — 0.
где:
i=0,\dots,n-1;k=0,\dots,m-1;n- размерность входного образа;m- число эталонов.
Алгоритм функционирования
- На вход подаётся неизвестный вектор:
X=\{x_i:i=0,\dots,n-1\}
- Первый слой вычисляет начальную близость входа к каждому эталону:
y_j^{(1)}=s_j^{(1)}=\sum\limits_{i=1}^{n-1}w_{ij}x_i+T_j,\ j=\overline{0,m-1}
- Эти значения передаются во второй слой:
y_j^{(2)}=y_j^{(1)}
- Во втором слое запускается конкуренция:
s_j^{(2)}(p+1)=y_j^{(2)}(p)-\varepsilon\sum\limits_{\substack{k=0\\k\neq j}}^{m-1}y_k^{(2)}(p)
- Затем применяется пороговая функция:
y_j^{(2)}(p+1)=f(s_j^{(2)}(p+1))
- Итерации продолжаются, пока выходы второго слоя не стабилизируются.
В конце активным должен остаться один нейрон. Его номер соответствует ближайшему эталону.
Смысл второго слоя
Второй слой нужен для выбора победителя. Нейроны взаимно тормозят друг друга: чем сильнее активен один кандидат, тем сильнее он подавляет остальных.
В итоге остаётся нейрон, соответствующий эталону с наибольшей похожестью и минимальным расстоянием Хэмминга.
Почему первый слой условный
Первый слой используется только один раз - чтобы посчитать начальные значения похожести. После этого сеть работает только со вторым слоем.
Поэтому первый слой можно заменить матрицей весов и обычным вычислением близости.
Отличие от сети Хопфилда
| Сеть | Что делает | Результат |
|---|---|---|
| Хопфилда | восстанавливает образ | полный эталонный вектор |
| Хэмминга | сравнивает с эталонами | номер ближайшего эталона |
Сеть Хэмминга обычно требует меньше памяти и вычислений, потому что ей не нужно восстанавливать весь образ через полную рекуррентную динамику.
Мини-ответ на контрольной
Сеть Хэмминга - сеть ассоциативной памяти для выбора ближайшего эталонного образа. Она основана на расстоянии Хэмминга, то есть числе несовпадающих битов. Первый слой вычисляет близость входа к каждому эталону, второй слой через отрицательные обратные связи подавляет слабые варианты. В результате активным остаётся один выходной нейрон, соответствующий ближайшему образцу.