知了AI学习平台Logo知了
算法动画 · 神经网络

反向传播动画

展示反向传播算法如何利用链式法则从输出层向输入层逐层计算梯度并更新权重。

Backpropagation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
未激活·当前高亮(6 个元素)
1

一个三层神经网络:输入层(2 个神经元)、隐藏层(3 个神经元)、输出层(1 个神经元)。

第 1 步 / 共 714%
公式推导

反向传播: 从输出层到隐藏层的梯度传递

从输出层的损失梯度出发,利用链式法则将误差逐层向后传递,推导各层权重和偏置的梯度。

第 1 / 617%
1

前向传播回顾

z(l)=W(l)a(l−1)+b(l),a(l)=σ(z(l))\mathbf{z}^{(l)} = \mathbf{W}^{(l)} \mathbf{a}^{(l-1)} + \mathbf{b}^{(l)}, \quad \mathbf{a}^{(l)} = \sigma(\mathbf{z}^{(l)})
👉

关键部分

a(l)=σ(z(l))\mathbf{a}^{(l)} = \sigma(\mathbf{z}^{(l)})

前向传播:第 l 层先做线性变换得到 z,再经激活函数得到 a。

知识图谱

反向传播算法

反向传播利用链式法则从输出层向输入层逐层计算梯度,是训练神经网络的核心算法。

依赖核心原理计算起点用于指导控制步长求导得反向传播前向传播链式法则梯度损失函数权重更新学习率
核心
概念
方法
应用
代码沙盒

反向传播

使用 NumPy 从零实现反向传播算法。

📌 单层网络反向传播:在一个全连接层上实现反向传播。

🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

📜
历史

反向传播算法的突破性论文由Rumelhart、Hinton和Williams于1986年发表。但链式法则本身在微积分中已有300多年历史——深度学习的创新在于将它高效应用于多层网络。

来源:Rumelhart, Hinton & Williams, "Learning representations by back-propagating errors", Nature, 1986

💡
概念

反向传播之所以高效,是因为它复用了前向传播的中间结果(激活值)。如果没有这种复用,计算一个10层网络每层参数的梯度需要10次前向传播——而反向传播只需要一次反向遍历。

一句话总结
💡

反向传播算法利用链式法则从输出层向输入层逐层计算损失对各参数的梯度,是训练神经网络的核心算法。

常见误区

这些坑别踩

✗

误区 1

反向传播和前向传播计算量差不多。

✓

正确理解

反向传播需要计算每个参数的梯度,计算量通常是前向传播的2-3倍,因为要保留中间结果并反向计算。

✗

误区 2

反向传播是一种优化算法。

✓

正确理解

反向传播只负责计算梯度,不是优化算法,优化由梯度下降等算法完成,反向传播是"算梯度",梯度下降是"用梯度更新"。

巩固练习

章节练习与面试准备

通过测试检验学习效果,通过面试题提升实战能力

章末测试

共 4 题 · 选择题

1

反向传播算法的核心依据是?

2

反向传播相比逐参数正向数值求导的优势是?

3

在反向传播中,某一层权重的梯度取决于?

4

梯度消失问题在反向传播中常表现为?

面试经典题

共 5 题 · 先思考再看答案

1
基础

什么是反向传播算法?它解决了什么问题?

2
中等

请简述反向传播的完整计算过程。

3
中等

为什么反向传播要使用链式法则?请结合计算图说明。

4
困难

梯度消失和梯度爆炸在反向传播中如何产生?有哪些缓解方法?

5
困难

反向传播与自动微分(Automatic Differentiation)是什么关系?

💡 建议:先独立思考并组织语言,再对照参考答案查漏补缺