From 562e9f1812b662341ae7cebc5283333bf1872bf0 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 7 May 2026 15:37:13 +0300 Subject: [PATCH] vault backup: 2026-05-07 15:37:13 --- .obsidian/workspace.json | 31 ++++++--- ... распространения ошибки для произвольного числа слоев НС.md | 67 +++++++++++++++++++ 2 files changed, 90 insertions(+), 8 deletions(-) create mode 100644 00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 1f52dbf..6d8d4db 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -21,8 +21,24 @@ "icon": "lucide-file", "title": "Обратное распространение ошибки - вывод" } + }, + { + "id": "88b67d9f503d6d2c", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md", + "mode": "source", + "source": false, + "backlinks": false + }, + "icon": "lucide-file", + "title": "Алгоритм обратного распространения ошибки для произвольного числа слоев НС" + } } - ] + ], + "currentTab": 1 } ], "direction": "vertical" @@ -170,13 +186,13 @@ "state": { "type": "outline", "state": { - "file": "01 Library/11 Machine Learning/Обратное распространение ошибки - вывод.md", + "file": "00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md", "followCursor": false, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", - "title": "Outline of Обратное распространение ошибки - вывод" + "title": "Outline of Алгоритм обратного распространения ошибки для произвольного числа слоев НС" } }, { @@ -191,8 +207,7 @@ "title": "File properties for Git" } } - ], - "currentTab": 4 + ] }, { "id": "953ae0f10eedfdc6", @@ -245,11 +260,12 @@ "obsidian-git:Open Git source control": false } }, - "active": "cb9f1037ae0492db", + "active": "88b67d9f503d6d2c", "lastOpenFiles": [ + "01 Library/11 Machine Learning/Обратное распространение ошибки - вывод.md", + "00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md", "01 Library/11 Machine Learning/Обратное распространение ошибки.md", "01 Library/11 Machine Learning/Нейронные сети.md", - "01 Library/11 Machine Learning/Обратное распространение ошибки - вывод.md", "00 Inbox/Hello.md", "00 Inbox/Обратное распространение ошибки - вывод.md", "99 System/Archive/Обратное распространение ошибки - вывод.md", @@ -272,7 +288,6 @@ "01 Library/02 DevOps/Основные команды git.md", "00 Inbox/Git.md", "00 Inbox/Archive/Шаблонизатор Helm.md", - "00 Inbox/Archive/УИР.md", "00 Inbox/Archive", "01 Library/03 Math/Теория нечетких множеств/Теория нечетких множеств.md.tmp.254945.1777751883191", "01 Library/02 DevOps/Ansible/Ansible - основы.md.tmp.254945.1777751876503", diff --git a/00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md b/00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md new file mode 100644 index 0000000..1f5597a --- /dev/null +++ b/00 Inbox/Алгоритм обратного распространения ошибки для произвольного числа слоев НС.md @@ -0,0 +1,67 @@ +--- +status: seed +type: concept +tags: [] +created: 2025-12-17 +updated: 2026-05-07 +title: Алгоритм обратного распространения ошибки для произвольного числа слоев НС +--- + +# Алгоритм обратного распространения ошибки для произвольного числа слоев НС + +## Шаг 1: Прямой проход + +Подать на входы сети один из возможных образцов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. + +## Шаг 2: Дельта выходного слоя + +Рассчитать $\delta^{(N)}$ для выходного слоя: + +$$\delta_j^{(N)} = (y_j - d_j) y_j'$$ + +где: +- $y_j$ — предсказание j-го выходного нейрона +- $d_j$ — правильный ответ +- $y_j'$ — производная функции активации + +Рассчитать изменения веса $\Delta w^{(N)}$ слоя N: + +$$\Delta w_{ij}^{(N)} = -\eta \delta_j^{(N)} y_i^{(N-1)}$$ + +где: +- $\eta$ — скорость обучения (learning rate) +- $y_i^{(N-1)}$ — выход нейрона i из предыдущего слоя + +## Шаг 3: Дельта и изменения весов для остальных слоёв + +Рассчитать $\delta^{(n)}$ и $\Delta w^{(n)}$ для всех остальных слоёв, $n = N-1, \ldots, 1$: + +$$\delta_i^{(n)} = y_i^{(n)'} \sum_j \delta_j^{(n+1)} w_{ij}^{(n+1)}$$ + +где: +- $y_i^{(n)'}$ — производная функции активации нейрона i в слое n +- $\sum_j \delta_j^{(n+1)} w_{ij}^{(n+1)}$ — сумма ошибок следующего слоя, взвешенных по соединяющим весам + +$$\Delta w_{ij}^{(n+1)} = -\eta \delta_j^{(n+1)} y_i^{(n)}$$ + +## Шаг 4: Коррекция всех весов в НС + +$$w_{ij}^{(n)}(t) = w_{ij}^{(n)}(t-1) + \Delta w_{ij}^{(n)}(t)$$ + +где $t$ — текущая итерация. + +## Шаг 5: Проверка сходимости + +Если ошибка сети существенна, перейти на шаг 1. + +--- + +## Интерпретация + +- **$\delta_j^{(N)}$** — локальная ошибка на выходном нейроне (разница между предсказанием и истиной, умноженная на крутизну активации) + +- **$\delta_i^{(n)}$** — локальная ошибка на скрытом нейроне (ошибка распространяется назад через веса и производные функции активации) + +- **$\Delta w_{ij}$** — направление и величина изменения веса (пропорциональны дельте и входу нейрона) + +Ошибка течёт от выхода к входу, на каждом слое умножаясь на производную активации и веса следующего слоя. \ No newline at end of file