vault backup: 2026-05-14 12:24:36

This commit is contained in:
Dmitry
2026-05-14 12:24:36 +03:00
parent d4954ac62d
commit 36604084ac
7 changed files with 223 additions and 100 deletions
@@ -0,0 +1,40 @@
---
status: seed
type: concept
tags: []
created: 2025-12-17
updated: 2026-05-14
title: Нейронная сеть хемминга
---
# Нейронная сеть хемминга
Когда нет необходимости, чтобы сеть в явном виде выдавала образ, а достаточно, например, получать номер образа, ассоциативную память успешно реализует сеть Хемминга. Данная сеть характеризуется, по сравнению с сетью Хопфилда, меньшими затратами на память и объемом вычислений.
Идея работы сети состоит в нахождении расстояния Хемминга (Манхеттенского) от тестируемого образа до всех образов.
Расстоянем Хемминга называется число отличающихся битов в двух бинарных векторах.
Сеть должна выбрать образ с минимальным расстоянием до неизветного входного сигнала, в результате чего будет активирован только ОДИН выход сети, который соответствует этому образу.
![[Pasted image 20260514120654.png]]
Сеть состоит из двух слоев. Первый и второй слои имеют по $m$ нейронов, где $m$ - число образов.
Нейроны первого слоя имеют по $n$ синапсов, соединенных со входами сети (образуют фиксивный нулевой слой).
Нейроны второго уровня связаны между собой ингибиторными (отрицательными обратным) синаптическими связями.
Единственный синапс с положительной обратной связью для каждого нейрона, соединен с его же аксоном.
## Алгоритм функционирования
На стадии инициализации, весовым коэффициентам первого слоя и порогу функции активации присваиваются следующие значения: $$w_{ik}=\frac{x_{i}^{k}}{2},\ |\ i=0,\dots,n-1,|\ k=0,\dots,m-1$$
$$T_{k}=\frac{n}{2},\ |\ k=0,\dots,m-1$$
Здесь, $x_{i}^{k}$ - $i-ый$ элемент $k-ого$ образца.
Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине $0 < \epsilon < \frac{1}{m}$
Синапс нейрона, связанный с его же аксоном, имеет вес $+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)},\ j=0,\dots,m-1$$
2) Вычислить новые состояния нейронов второго слоя $$s_{j}^{(2)}(p+1)=y_{j}(p)-\epsilon\sum\limits_{k=1}^{m-1}y_{k}^{(2)}(p),\ |\ k \neq j,\ |\ j=0,\dots,m-1$$
И значения их аксонов: $$y_{j}^{(2)}(p+1)=f[s_{j}^{(2)}(p+1)],\ j=0,\dots,m-1$$
Активационная функция $f$ имеет вид порога, причем величина $f$ должна быть достаточно большой, чтобы любые возможные значения аргумента не приводили к насыщению (что такое насыщение?)
3) Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию, если да, то к шагу 2, иначе - конец.
**Замечание**
Роль первого слоя весьма условна, воспользовавшись один раз на Шаге 1 значениями его весовых коэффициентов, сеть больше не обращается к нему, поэтому первый слой вообще может быть исключен из сети (заменен на матрицу весовых коэффициентов)Lf
@@ -0,0 +1,19 @@
---
status: seed
type: concept
tags: []
created: 2025-12-17
updated: 2026-05-14
title: Функционирование сети Хопфилда
---
# Функционирование сети Хопфилда
1) На вход подается неизвестный сигнал. Фактически, ввд осуществляется установкой значений аксонов. $y_{i}(0) = x_{i},\ i=0,\dots,n-1$, поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условных характер Ноль в скобке обозначение нулевую итерацию в цикле работы сети.
2) Расчет нового состояние нейронов: $s_{j}(p+1)=\sum\limits_{i=1}^{n-1}w_{ij}y_{i}(p),\ j=0,\dots,n-1$ и новые значение аксонов $y_{j}(p+1)=f[s_{j}(p+1)]$, где $f$ - функция активации в виде скачка.
![[Pasted image 20260514115340.png|300]]
3) Проверка, изменились ли выходные данные значения аксонов за последнюю итерацию. Если да, то переход в пункту 2, иначе (если выходы стабилизировались) - конец. При этом, выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
- Иногда сеть не может провести распознавание и выдает на выходе несуществующий образ - связано это с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов не должно превышать $m \approx 0,15n$
- Кроме того, если два образа будут сильно похожи, то они, вероятно, будут вызывать у сети перекрестные ассоциации, то есть предъявление первого вектора, приведет к появлению на вхыоде второго и наоборот.
- Сеть может завершить или исправить образ, но не может ассоциировать полученный образ с другим.