vault backup: 2026-05-14 12:24:36
This commit is contained in:
Vendored
+7
-7
@@ -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
|
||||
Reference in New Issue
Block a user