From 4742fcddc73db0a820c7b81e9e423b6c1b4a2373 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 14 May 2026 19:31:50 +0300 Subject: [PATCH] vault backup: 2026-05-14 19:31:50 --- .obsidian/workspace.json | 4 +- 00 Inbox/КР - Хопфилд.md | 148 ++++++++++++++++++ 00 Inbox/КР - Хэмминг.md | 154 +++++++++++++++++++ 90 Library/11 Machine Learning/Персептрон.md | 8 +- 4 files changed, 306 insertions(+), 8 deletions(-) create mode 100644 00 Inbox/КР - Хопфилд.md create mode 100644 00 Inbox/КР - Хэмминг.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index a43ed17..256701b 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -259,6 +259,8 @@ }, "active": "85ff070f2dda5843", "lastOpenFiles": [ + "00 Inbox/КР - Хэмминг.md", + "00 Inbox/КР - Хопфилд.md", "90 Library/11 Machine Learning/Персептрон.md", "00 Inbox/МИАД_Л5_нейронки.pdf", "00 Inbox/КР - Кохонен.md", @@ -293,8 +295,6 @@ "CODEX.md", "00 Inbox/Идея.md", "99 System/Archive/Сети Хопфилда и Хэмминга.md", - "99 System/Archive/Идея.md", - "90 Library/11 Machine Learning/Сети Хопфилда и Хэмминга.md", "99 System/Cache/Recording 20260514000859.m4a", "99 System/Cache/Recording 20260514000811.m4a", "99 System/Cache/Pasted image 20260512225511.png", diff --git a/00 Inbox/КР - Хопфилд.md b/00 Inbox/КР - Хопфилд.md new file mode 100644 index 0000000..471a0c1 --- /dev/null +++ b/00 Inbox/КР - Хопфилд.md @@ -0,0 +1,148 @@ +--- +status: seed +type: concept +tags: [] +created: 2026-05-14 +updated: 2026-05-14 +title: КР - Хопфилд +--- + +# КР - Хопфилд + +## Что могут спросить + +1. Что такое сеть Хопфилда и для чего она нужна? +2. Почему сеть Хопфилда относится к ассоциативной памяти? +3. Какая у неё архитектура? +4. Как кодируются входные и эталонные образы? +5. Как рассчитываются веса? +6. Как сеть восстанавливает искажённый образ? +7. Какие есть ограничения? +8. Чем сеть Хопфилда отличается от сети Хэмминга? + +## Краткий ответ + +**Сеть Хопфилда** - однослойная рекуррентная нейронная сеть ассоциативной памяти. Она хранит набор эталонных образов и по искажённому или неполному входу пытается восстановить ближайший эталон. + +Если вход похож на один из запомненных образов, сеть в процессе итераций приходит к устойчивому состоянию, соответствующему этому образу. + +## Архитектура + +- один слой нейронов; +- каждый нейрон связан с другими нейронами; +- выходы нейронов возвращаются на входы; +- связей нейрона с самим собой обычно нет; +- веса задаются один раз по эталонным образам; +- состояние сети пересчитывается до стабилизации. + +Входной и выходной векторы имеют одинаковую размерность: + +$$ +X=(x_1,\dots,x_n),\quad x_i \in \{-1,1\} +$$ + +Эталонный образ: + +$$ +X^k=(x_1^k,\dots,x_n^k),\quad k=1,\dots,m +$$ + +где: + +- $n$ - число нейронов и размерность образа; +- $m$ - число запоминаемых эталонов; +- $k$ - номер эталонного образа. + +## Инициализация весов + +Веса рассчитываются по эталонным образам: + +$$ +w_{ij}=\sum\limits_{k=1}^{m}x_i^kx_j^k,\quad i\neq j +$$ + +Связь нейрона с самим собой исключается: + +$$ +w_{ii}=0 +$$ + +Смысл: если два признака часто имеют одинаковый знак в эталонах, связь между ними усиливается; если разные знаки - связь становится отрицательной. + +## Алгоритм функционирования + +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) +$$ + +3. Значение нейрона обновляется через пороговую функцию: + +$$ +y_j(p+1)=f(s_j(p+1)) +$$ + +где обычно: + +$$ +f(s)= +\begin{cases} +1, & s \ge 0 \\ +-1, & s < 0 +\end{cases} +$$ + +4. Шаги повторяются, пока выходы не перестанут изменяться. + +Если распознавание успешно: + +$$ +Y=X^k +$$ + +То есть сеть восстановила один из эталонных образов. + +## Ограничения + +Сеть Хопфилда может ошибиться, если: + +- запомнено слишком много образов; +- эталоны слишком похожи друг на друга; +- вход слишком сильно искажён; +- сеть пришла к ложному устойчивому состоянию. + +Оценка ёмкости: + +$$ +m \approx 0.15n +$$ + +где $m$ - число запоминаемых образов, $n$ - число нейронов. + +## Отличие от сети Хэмминга + +| Сеть | Что выдаёт | Когда нужна | +|---|---|---| +| Хопфилда | восстановленный образ | нужно восстановить полный эталон | +| Хэмминга | номер ближайшего образа | нужно выбрать класс/эталон | + +Главная фраза для ответа: **сеть Хопфилда восстанавливает образ, а сеть Хэмминга выбирает ближайший образец по расстоянию Хэмминга**. + +## Мини-ответ на контрольной + +Сеть Хопфилда - рекуррентная сеть ассоциативной памяти для восстановления эталонного бинарного образа по искажённому входу. Веса рассчитываются один раз по эталонам: + +$$ +w_{ij}=\sum\limits_{k=1}^{m}x_i^kx_j^k,\quad w_{ii}=0 +$$ + +После подачи входа сеть итеративно пересчитывает состояния нейронов через пороговую функцию, пока выходной вектор не стабилизируется. Если всё прошло успешно, устойчивое состояние совпадает с одним из эталонов. diff --git a/00 Inbox/КР - Хэмминг.md b/00 Inbox/КР - Хэмминг.md new file mode 100644 index 0000000..0da6793 --- /dev/null +++ b/00 Inbox/КР - Хэмминг.md @@ -0,0 +1,154 @@ +--- +status: seed +type: concept +tags: [] +created: 2026-05-14 +updated: 2026-05-14 +title: КР - Хэмминг +--- + +# КР - Хэмминг + +## Что могут спросить + +1. Что такое сеть Хэмминга и для чего она нужна? +2. Что такое расстояние Хэмминга? +3. Какая архитектура у сети Хэмминга? +4. Как задаются веса первого слоя? +5. Зачем нужен второй слой? +6. Как работает взаимное торможение нейронов? +7. Почему сеть Хэмминга экономнее сети Хопфилда? +8. Чем сеть Хэмминга отличается от сети Хопфилда? + +## Краткий ответ + +**Сеть Хэмминга** - нейронная сеть ассоциативной памяти, которая выбирает ближайший эталонный образ. Она не восстанавливает образ полностью, а определяет, какому эталону или классу соответствует вход. + +Идея: найти эталон с минимальным расстоянием Хэмминга до входного вектора. + +## Расстояние Хэмминга + +Расстояние Хэмминга - число позиций, в которых два бинарных вектора отличаются. + +Пример: + +$$ +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] +$$ + +## Архитектура + +Сеть состоит из двух слоёв: + +1. **Первый слой** - сравнивает входной образ со всеми эталонами. +2. **Второй слой** - реализует конкуренцию между эталонами и оставляет одного победителя. + +Если есть $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} +$$ + +где: + +- $i=0,\dots,n-1$; +- $k=0,\dots,m-1$; +- $n$ - размерность входного образа; +- $m$ - число эталонов. + +## Алгоритм функционирования + +1. На вход подаётся неизвестный вектор: + +$$ +X=\{x_i:i=0,\dots,n-1\} +$$ + +2. Первый слой вычисляет начальную близость входа к каждому эталону: + +$$ +y_j^{(1)}=s_j^{(1)}=\sum\limits_{i=1}^{n-1}w_{ij}x_i+T_j +$$ + +3. Эти значения передаются во второй слой: + +$$ +y_j^{(2)}=y_j^{(1)} +$$ + +4. Во втором слое запускается конкуренция: + +$$ +s_j^{(2)}(p+1)=y_j^{(2)}(p)-\varepsilon\sum\limits_{\substack{k=0\\k\neq j}}^{m-1}y_k^{(2)}(p) +$$ + +5. Затем применяется пороговая функция: + +$$ +y_j^{(2)}(p+1)=f(s_j^{(2)}(p+1)) +$$ + +6. Итерации продолжаются, пока выходы второго слоя не стабилизируются. + +В конце активным должен остаться один нейрон. Его номер соответствует ближайшему эталону. + +## Смысл второго слоя + +Второй слой нужен для выбора победителя. Нейроны взаимно тормозят друг друга: чем сильнее активен один кандидат, тем сильнее он подавляет остальных. + +В итоге остаётся нейрон, соответствующий эталону с наибольшей похожестью и минимальным расстоянием Хэмминга. + +## Почему первый слой условный + +Первый слой используется только один раз - чтобы посчитать начальные значения похожести. После этого сеть работает только со вторым слоем. + +Поэтому первый слой можно заменить матрицей весов и обычным вычислением близости. + +## Отличие от сети Хопфилда + +| Сеть | Что делает | Результат | +|---|---|---| +| Хопфилда | восстанавливает образ | полный эталонный вектор | +| Хэмминга | сравнивает с эталонами | номер ближайшего эталона | + +Сеть Хэмминга обычно требует меньше памяти и вычислений, потому что ей не нужно восстанавливать весь образ через полную рекуррентную динамику. + +## Мини-ответ на контрольной + +Сеть Хэмминга - сеть ассоциативной памяти для выбора ближайшего эталонного образа. Она основана на расстоянии Хэмминга, то есть числе несовпадающих битов. Первый слой вычисляет близость входа к каждому эталону, второй слой через отрицательные обратные связи подавляет слабые варианты. В результате активным остаётся один выходной нейрон, соответствующий ближайшему образцу. diff --git a/90 Library/11 Machine Learning/Персептрон.md b/90 Library/11 Machine Learning/Персептрон.md index 8c0a729..c64d5e5 100644 --- a/90 Library/11 Machine Learning/Персептрон.md +++ b/90 Library/11 Machine Learning/Персептрон.md @@ -13,7 +13,7 @@ title: Персептрон # Персептрон -**Персептрон**, или **перцептрон**, - ранняя модель [[Нейронные сети|нейронной сети]], предложенная Фрэнком Розенблаттом в 1957 году и реализованная в машине «Марк-1» в 1960 году. По смыслу это однослойная модель классификации, которая принимает вектор признаков и относит объект к классу по линейному правилу. +**Персептрон**, или **перцептрон**, - ранняя модель [[Нейронные сети|нейронной сети]], предложенная Фрэнком Розенблаттом в 1957 году и реализованная в машине "Марк-1" в 1960 году. По смыслу это однослойная модель классификации, которая принимает вектор признаков и относит объект к классу по линейному правилу. Персептрон близок к [[Линейные модели|линейным моделям]]: решение строится через взвешенную сумму входных признаков и пороговую функцию активации. @@ -60,11 +60,7 @@ $$ Веса персептрона задают положение такой плоскости в пространстве признаков. Поэтому классификация сводится к проверке, по какую сторону разделяющей гиперплоскости находится объект. -Для сети персептронного типа с $m$ выходами число областей классификации не превышает: - -$$ -2^m -$$ +Для сети персептронного типа с $m$ выходами число областей классификации не превышает $2^m$. ## Ограничение