Update from Sync Service
This commit is contained in:
59
wiki/Resources/方法论/反向传播.md
Executable file
59
wiki/Resources/方法论/反向传播.md
Executable file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
created: 2026-04-28
|
||||
type: concept
|
||||
tags: [反向传播,神经网络,梯度下降,深度学习]
|
||||
---
|
||||
|
||||
# 反向传播(Backpropagation)
|
||||
|
||||
> 神经网络训练的核心算法,通过链式法则计算梯度
|
||||
|
||||
## 定义
|
||||
|
||||
反向传播(Backpropagation,简称 BP)是一种用于训练[[神经网络]]的算法。它通过计算损失函数对每个权重的梯度(偏导数),使得网络可以沿梯度下降方向更新参数。
|
||||
|
||||
## 核心思想
|
||||
|
||||
```
|
||||
前向传播:输入 → 网络 → 输出 → 计算损失
|
||||
反向传播:损失 → 链式法则 → 每个权重的梯度 → 更新权重
|
||||
```
|
||||
|
||||
## 数学基础
|
||||
|
||||
链式法则(Chain Rule):
|
||||
|
||||
```
|
||||
∂L/∂w = ∂L/∂output × ∂output/∂hidden × ∂hidden/∂w
|
||||
```
|
||||
|
||||
即:损失对权重的梯度 = 各层梯度的乘积
|
||||
|
||||
## 工作流程
|
||||
|
||||
1. **前向传播**:数据通过网络,计算输出
|
||||
2. **计算损失**:比较预测值与真实值
|
||||
3. **反向传播**:从输出层向输入层逐层计算梯度
|
||||
4. **更新权重**:沿梯度反方向更新参数
|
||||
|
||||
## 为什么叫"反向"?
|
||||
|
||||
- 前向传播:从输入到输出(推理方向)
|
||||
- 反向传播:从输出到输入(梯度计算方向)
|
||||
|
||||
## 关键挑战
|
||||
|
||||
| 问题 | 说明 | 解决方案 |
|
||||
|------|------|---------|
|
||||
| 梯度消失 | 深层网络中梯度越来越小 | ReLU、残差连接 |
|
||||
| 梯度爆炸 | 梯度变得过大 | 梯度裁剪、归一化 |
|
||||
|
||||
## 相关概念
|
||||
|
||||
- [[神经网络]](反向传播的应用对象)
|
||||
- [[机器学习]](反向传播是其中的训练算法)
|
||||
- [[Transformer 架构]](现代网络中的反向传播实现)
|
||||
|
||||
---
|
||||
|
||||
*基于深度学习基础知识整理*
|
||||
Reference in New Issue
Block a user