vault backup: 2026-05-07 15:37:13
This commit is contained in:
+67
@@ -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}$** — направление и величина изменения веса (пропорциональны дельте и входу нейрона)
|
||||
|
||||
Ошибка течёт от выхода к входу, на каждом слое умножаясь на производную активации и веса следующего слоя.
|
||||
Reference in New Issue
Block a user