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
+7 -7
View File
@@ -247,8 +247,13 @@
},
"active": "c6a180b8f1049b08",
"lastOpenFiles": [
"99 System/Cache/Pasted image 20260514120654.png",
"00 Inbox/Нейронная сеть хемминга.md",
"99 System/Archive/Функционирование сети Хопфилда.md",
"99 System/Archive/Нейронная сеть хемминга.md",
"90 Library/11 Machine Learning/Сеть Хэмминга.md",
"90 Library/11 Machine Learning/Сеть Хопфилда.md",
"CLAUDE.md",
"99 System/Cache/Pasted image 20260514120654.png",
"00 Inbox/Untitled.md",
"99 System/Cache/Pasted image 20260514115340.png",
"00 Inbox/Функционирование сети Хопфилда.md",
@@ -278,11 +283,7 @@
"90 Library/11 Machine Learning/Алгоритм обучения сети Кохонена.md",
"03 Journal/2026/05 - May/08.05.26 - Friday.md",
"03 Journal/2026/05 - May",
"04 Tools/SocialBase/04 Другие/Игорь Прохоров.md",
"99 System/Archive/Идея сети кохонена.md",
"99 System/Cache/Pasted image 20260507230701.png",
"00 Inbox/Идея сети кохонена.md",
"90 Library/11 Machine Learning/Обратное распространение ошибки - вывод.md",
"99 System/Cache/Pasted image 20260507222244.png",
"99 System/Cache/Pasted image 20260507222234.png",
"99 System/Cache/Pasted image 20260507214813.png",
@@ -291,7 +292,6 @@
"90 Library/02 DevOps/Ansible/Ansible - основы.md.tmp.254945.1777751876503",
"90 Library/03 Math/Статистика/Кластерный анализ/Классификация.md.tmp.254945.1777751799750",
"90 Library/03 Math/Статистика/Кластерный анализ/Кластерный анализ.md.tmp.254945.1777751782184",
"90 Library/03 Math/Статистика/Временные ряды/Автокорреляционная (ACF) и частная автокорреляционная (PACF) функции.md.tmp.254945.1777751726019",
"99 System/Cache/Pasted image 20260430153712.png"
"90 Library/03 Math/Статистика/Временные ряды/Автокорреляционная (ACF) и частная автокорреляционная (PACF) функции.md.tmp.254945.1777751726019"
]
}
@@ -165,7 +165,22 @@ $$
Преимущество нейронных сетей - обучаемость. Веса сети можно представить как набор матриц. Суть обучения сводится к настройке этих весов так, чтобы для входного объекта $X$ сеть выдавала выход $Y$, близкий к правильному ответу $D$.
Отдельный класс составляют сети ассоциативной памяти, например [[Сети Хопфилда и Хэмминга]]. В них веса могут задаваться один раз по эталонным образам, а дальнейшая работа сводится к восстановлению или выбору ближайшего сохранённого образа.
## Ассоциативная память
Отдельный класс составляют сети ассоциативной памяти, например [[Сеть Хопфилда]] и [[Сеть Хэмминга]]. Они ориентированы на хранение эталонных образов и распознавание входного сигнала по близости к этим эталонам.
Их особенность в том, что весовые коэффициенты рассчитываются один раз перед началом функционирования сети. После задания весов они обычно не корректируются: сеть не обучается итеративно в привычном смысле, а хранит набор эталонов и сопоставляет с ними входной образ.
Пусть известен набор эталонных образов: изображений, звуков, бинарных векторов или других сигналов. Сеть должна по входному, возможно искажённому, сигналу восстановить соответствующий эталонный образ, указать номер наиболее близкого эталона или показать, что подходящего эталона нет.
По смыслу входной образ работает как ключ, по которому сеть "вспоминает" ближайший сохранённый образ.
| Сеть | Что выдаёт | Когда удобна |
|---|---|---|
| [[Сеть Хопфилда]] | восстановленный образ | когда нужно получить полный эталон |
| [[Сеть Хэмминга]] | номер ближайшего эталона | когда достаточно классифицировать вход |
Обе сети относятся к моделям ассоциативной памяти, но решают задачу на разном уровне: сеть Хопфилда восстанавливает состояние, а сеть Хэмминга выбирает ближайший сохранённый образ.
## Обучение с учителем
@@ -203,5 +218,6 @@ $$
- [[Обратное распространение ошибки]]
- [[Backpropagation для многослойной нейронной сети]]
- [[Сети Хопфилда и Хэмминга]]
- [[Сеть Хопфилда]]
- [[Сеть Хэмминга]]
- [[Линейные модели]]
@@ -1,90 +0,0 @@
---
status: seed
type: concept
tags:
- machine-learning
- neural-networks
- associative-memory
created: 2025-12-17
updated: 2026-05-14
title: Сети Хопфилда и Хэмминга
---
# Сети Хопфилда и Хэмминга
**Сети Хопфилда и Хэмминга** - классические [[Нейронные сети|нейронные сети]], ориентированные на ассоциативную память и распознавание эталонных образов.
Их особенность в том, что весовые коэффициенты рассчитываются один раз перед началом функционирования сети. После задания весов они обычно не корректируются: сеть не обучается итеративно в привычном смысле, а хранит набор эталонов и сопоставляет с ними входной образ.
## Задача
Пусть известен набор эталонных образов: изображений, звуков, бинарных векторов или других сигналов. Сеть должна по входному, возможно искажённому, сигналу:
- восстановить соответствующий эталонный образ;
- или указать номер наиболее близкого эталона;
- или показать, что подходящего эталона нет.
По смыслу такие сети удобны для задач ассоциативной памяти: входной образ работает как ключ, по которому сеть "вспоминает" ближайший сохранённый образ.
![[Pasted image 20260508103342.png|500]]
## Сеть Хопфилда
Сеть Хопфилда - однослойная рекуррентная сеть с обратными связями.
Основные свойства:
- каждый нейрон связан с другими нейронами;
- выходы нейронов возвращаются на входы сети;
- связь нейрона с самим собой обычно исключается;
- состояние сети постепенно сходится к одному из устойчивых состояний.
Инициализация сети задаёт начальные выходы нейронов. При функционировании сеть изменяет состояние до тех пор, пока не придёт к устойчивому образу. Если входной сигнал близок к одному из сохранённых эталонов, сеть восстанавливает этот эталон.
В результате сеть Хопфилда выдаёт не просто номер класса, а сам восстановленный образ.
## Сеть Хэмминга
Сеть Хэмминга применяют, когда не нужно восстанавливать полный образ, а достаточно определить номер ближайшего эталона.
Идея сети - сравнить входной образ со всеми сохранёнными эталонами и выбрать тот, который находится ближе всего. Для бинарных образов это связано с [[Расстояние между объектами|расстоянием Хэмминга]]: количеством несовпадающих компонентов между двумя векторами.
## Архитектура сети Хэмминга
Сеть Хэмминга обычно состоит из двух слоёв:
- **первый слой** вычисляет близость входного вектора к каждому эталону;
- **второй слой** реализует конкуренцию между эталонами.
Количество нейронов во втором слое равно количеству эталонных образов. Победить должен один нейрон - тот, который соответствует ближайшему эталону.
![[Pasted image 20260508103431.png|420]]
Нейроны второго слоя связаны обратными ингибиторными связями:
- обратная связь нейрона с самим собой имеет вес $1$;
- связи с остальными нейронами имеют вес $-\varepsilon$.
Параметр $\varepsilon$ - небольшое положительное число:
$$
0 < \varepsilon < \frac{1}{m}
$$
где $m$ - число эталонных образов.
Ингибиторные связи подавляют менее подходящие варианты. После нескольких итераций активным остаётся нейрон, соответствующий ближайшему эталону.
## Отличие Хопфилда и Хэмминга
| Сеть | Что выдаёт | Когда удобна |
|---|---|---|
| Хопфилда | восстановленный образ | когда нужно получить полный эталон |
| Хэмминга | номер ближайшего эталона | когда достаточно классифицировать вход |
Обе сети относятся к моделям ассоциативной памяти, но решают задачу на разном уровне: сеть Хопфилда восстанавливает состояние, а сеть Хэмминга выбирает ближайший сохранённый образ.
## Связанные заметки
- [[Нейронные сети]]
- [[Расстояние между объектами]]
@@ -0,0 +1,88 @@
---
status: seed
type: concept
tags:
- machine-learning
- neural-networks
- associative-memory
created: 2025-12-17
updated: 2026-05-14
title: Сеть Хопфилда
---
# Сеть Хопфилда
**Сеть Хопфилда** - однослойная рекуррентная [[Нейронные сети|нейронная сеть]], используемая как ассоциативная память. Она получает входной, возможно искажённый, образ и постепенно приводит состояние сети к одному из сохранённых эталонов.
В отличие от [[Сеть Хэмминга|сети Хэмминга]], сеть Хопфилда выдаёт не номер ближайшего образа, а сам восстановленный образ.
## Идея
Сеть хранит набор эталонных образов как устойчивые состояния. При подаче входного сигнала значения выходов нейронов инициализируются этим сигналом, после чего сеть итеративно пересчитывает состояния. Если вход близок к одному из эталонов, динамика сети должна сойтись к нему.
По смыслу входной образ работает как ключ: сеть "вспоминает" наиболее близкий сохранённый образ.
## Архитектура
Основные свойства сети Хопфилда:
- каждый нейрон связан с другими нейронами;
- выходы нейронов возвращаются на входы сети;
- связь нейрона с самим собой обычно исключается;
- веса задаются заранее по эталонным образам;
- состояние сети изменяется до стабилизации.
Инициализация сети задаёт начальные выходы нейронов. При функционировании сеть изменяет состояние до тех пор, пока не придёт к устойчивому образу. Если входной сигнал близок к одному из сохранённых эталонов, сеть восстанавливает этот эталон.
Для сети Хопфилда часто используется бинарная функция активации, описанная в [[Нейронные сети]].
## Алгоритм функционирования
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),\quad j=0,\dots,n-1
$$
После этого вычисляются новые значения аксонов:
$$
y_j(p+1)=f[s_j(p+1)]
$$
где $f$ - функция активации в виде скачка.
![[Pasted image 20260514115340.png|300]]
3. Проверяется, изменились ли выходные значения за последнюю итерацию. Если изменились, сеть возвращается к пересчёту состояний. Если выходы стабилизировались, работа завершается.
Итоговый выходной вектор считается образом, который лучше всего соответствует входным данным.
## Ограничения
Сеть Хопфилда может не распознать образ корректно и выдать несуществующий эталон. Это связано с ограниченной ёмкостью ассоциативной памяти.
Для сети Хопфилда число запоминаемых образов обычно не должно превышать:
$$
m \approx 0.15n
$$
где $n$ - число нейронов.
Если два эталона слишком похожи, возможны перекрёстные ассоциации: предъявление первого образа может привести к восстановлению второго, и наоборот.
Сеть Хопфилда хорошо подходит для восстановления или завершения образа, но не предназначена для явного сопоставления образа с номером класса. Для такой задачи удобнее [[Сеть Хэмминга]].
## Связанные заметки
- [[Сеть Хэмминга]]
- [[Нейронные сети]]
@@ -0,0 +1,109 @@
---
status: seed
type: concept
tags:
- machine-learning
- neural-networks
- associative-memory
created: 2025-12-17
updated: 2026-05-14
title: Сеть Хэмминга
---
# Сеть Хэмминга
**Сеть Хэмминга** - нейронная сеть ассоциативной памяти, которая выбирает ближайший эталонный образ по входному сигналу. Она удобна, когда не нужно восстанавливать образ явно, а достаточно получить номер или класс ближайшего эталона.
По сравнению с [[Сеть Хопфилда|сетью Хопфилда]], сеть Хэмминга обычно требует меньше памяти и вычислений.
## Идея
Сеть сравнивает неизвестный входной образ со всеми сохранёнными эталонами. Для бинарных векторов близость связана с расстоянием Хэмминга: числом отличающихся битов в двух бинарных векторах.
Сеть должна выбрать эталон с минимальным расстоянием до входного сигнала. В результате активным остаётся один выходной нейрон, соответствующий выбранному образу.
![[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$-го эталонного образа.
Весовые коэффициенты тормозящих синапсов второго слоя берут равными небольшой величине $\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
$$
2. Вычисляются новые состояния нейронов второго слоя:
$$
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)]
$$
3. Проверяется, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если изменились, сеть возвращается к шагу 2. Если нет, работа завершается.
Функция активации $f$ используется как пороговая функция. Порог должен быть выбран так, чтобы возможные значения аргумента не приводили к нежелательному насыщению.
## Замечание о первом слое
Роль первого слоя условна: после вычисления начальных значений сеть больше к нему не обращается. Поэтому первый слой можно заменить матрицей весовых коэффициентов.
## Связанные заметки
- [[Сеть Хопфилда]]
- [[Расстояние между объектами]]
- [[Нейронные сети]]
@@ -37,4 +37,4 @@ $$T_{k}=\frac{n}{2},\ |\ k=0,\dots,m-1$$
**Замечание**
Роль первого слоя весьма условна
Роль первого слоя весьма условна, воспользовавшись один раз на Шаге 1 значениями его весовых коэффициентов, сеть больше не обращается к нему, поэтому первый слой вообще может быть исключен из сети (заменен на матрицу весовых коэффициентов)Lf