Files
SecondBrain/90 Library/Machine Learning/Сеть Хэмминга.md
T
2026-05-24 15:03:28 +03:00

7.1 KiB

status, type, tags, created, updated, title
status type tags created updated title
seed concept
machine-learning
neural-networks
associative-memory
2025-12-17 2026-05-15 Сеть Хэмминга

Сеть Хэмминга

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

По сравнению с Сеть Хопфилда, сеть Хэмминга обычно требует меньше памяти и вычислений.

Идея

Сеть сравнивает неизвестный входной образ со всеми сохранёнными эталонами. Для бинарных векторов близость связана с расстоянием Хэмминга: числом отличающихся битов в двух бинарных векторах.

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

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

!Pasted image 20260514120654.png

Архитектура

Сеть состоит из двух слоёв:

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

Количество нейронов во втором слое равно количеству эталонных образов. Победить должен один нейрон - тот, который соответствует ближайшему эталону.

Первый и второй слои имеют по m нейронов, где m - число эталонных образов. Нейроны первого слоя имеют по n синапсов, соединённых со входами сети. Эти входы можно рассматривать как фиксированный нулевой слой.

Нейроны второго слоя связаны между собой ингибиторными обратными связями:

  • связь нейрона с самим собой имеет вес +1;
  • связи с другими нейронами имеют отрицательный вес -\varepsilon.

Параметр \varepsilon выбирают так, чтобы:


0 < \varepsilon < \frac{1}{m}

Ингибиторные связи постепенно подавляют менее подходящие эталоны, пока активным не останется один победивший нейрон.

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

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

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


w_{ik}=\frac{x_i^k}{2},\quad i=0,\dots,n-1,\quad k=0,\dots,m-1

T_k=\frac{n}{2},\quad k=0,\dots,m-1

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

Порог T_k сдвигает диапазон выхода: скалярное произведение \sum w_{ik}x_i при весах x_i^k/2 даёт значение от 0 до n/2. После прибавления T_k = n/2 итоговое значение y_k^{(1)} попадает в диапазон [0, n], где n соответствует полному совпадению с эталоном, а 0 — полному несовпадению.

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

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

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

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


y_j^{(2)}=y_j^{(1)},\quad j=0,\dots,m-1
  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),\quad j=0,\dots,m-1

Затем вычисляются значения их аксонов:


y_j^{(2)}(p+1)=f[s_j^{(2)}(p+1)]
  1. Проверяется, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если изменились, сеть возвращается к шагу 2. Если нет, работа завершается.

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

Замечание о первом слое

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

Это подчёркивает практический смысл сети Хэмминга: первая часть вычисляет расстояния или меры похожести, а вторая выбирает победителя.

Связанные заметки

  • Сеть Хопфилда
  • Расстояние между объектами
  • Нейронные сети