vault backup: 2026-05-07 15:37:13

This commit is contained in:
Dmitry
2026-05-07 15:37:13 +03:00
parent 6295e1669f
commit 562e9f1812
2 changed files with 90 additions and 8 deletions
@@ -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}$** — направление и величина изменения веса (пропорциональны дельте и входу нейрона)
Ошибка течёт от выхода к входу, на каждом слое умножаясь на производную активации и веса следующего слоя.