Chapter 12

梯度(反向传播)

参数微调时损失变化的方向与大小。

按章节的深度学习图示

每完成一章,下方图示会逐步填满。这是目前的结构。

XHY

Y → H → X

深度学习中的梯度

梯度告诉你「如果稍微调整一个权重(参数),损失(误差)会怎样变化、朝哪个方向变」。可以把它想象成一个指南针,指向「往哪走能减小误差」。

类比:想象你蒙着眼睛下山。你用脚感受地面的坡度(梯度),然后朝下坡方向迈步。沿着梯度的反方向走就能到达谷底(最小损失)。这就是梯度下降

反向传播把梯度从输出一层一层向输入传递回去。利用微积分的链式法则,一次遍历就能高效地计算出每一层每个权重的梯度。

AI 的训练 = 看梯度来更新权重。 没有梯度就不知道「该往哪个方向调」,学习就不可能进行。梯度是深度学习训练的心脏

学习率控制「每次走多远」。太大 → 越过谷底(发散);太小 → 走得太慢。Adam 等优化器会根据梯度大小自动调节步幅

如果梯度过大(梯度爆炸),训练不稳定;如果过小(梯度消失),浅层几乎学不到东西。梯度裁剪批归一化跳跃连接等技术就是为了防止这些问题。

所有经过训练的 AI 模型:ChatGPT、图像识别、推荐系统——每个模型都靠计算梯度来更新权重。前向传播 → 算损失 → 反向传播求梯度 → 更新权重。重复这 4 步数百万次就是训练。

前向与反向:前向计算 Z = W·X 是从左到右;反向传播 dW、dX 是从右到左。两者总是成对出现。

微调:把 ChatGPT 适配到特定用途时,用新数据计算梯度并微调权重。有了梯度,预训练模型就能快速适应新任务。

题目形式:式为前向 Z = W·X反向 dZ = dW·X之一。空白(?)只出现在X 的一个分量Z(或 dZ)的一个分量。W 与 dW 均全部给出。

前向(Z = W·X):Z 的每一格 = W 的该行X的内积。空白在Z时,用该行 W 与 X 做内积;空白在X时,用其他 Z 与 W 的行列出方程求该 X 分量。

反向(dZ = dW·X):与前向计算结构相同。dZ 的每一格 = dW 的该行X的内积。空白在dZ时做该行与 X 的内积,空白在X时由方程解出该分量。

梯度是表示函数变化方向和快慢的向量。要减小损失,就沿梯度反方向更新参数。前向 Z=WXZ = W \cdot X,反向 dZ=dWXdZ = dW \cdot X

前向Z=WXZ = W \cdot X反向dZ=dWXdZ = dW \cdot X

前向
W
1
2
-1
2
-1
1
0
1
-1
·
X
-1
5
3
Z
6
-4
2
反向
dZ
2
6
dW
2
-1
3
1
2
-1
·
X
-1
5
3

前向: Z = W·X(W 每行与 X 的内积)

Z1 = (W 第1行)·X = 1×(-1)+2×5+(-1)×3 = 6
Z2 = (W 第2行)·X = 2×(-1)+(-1)×5+1×3 = -4
Z3 = (W 第3行)·X = 0×(-1)+1×5+(-1)×3 = 2

反向: dZ = dW·X(结构相同,值为梯度)

dZ1 = (dW 第1行)·X = 2×(-1)+(-1)×5+3×3 = 2
dZ2 = (dW 第2行)·X = 1×(-1)+2×5+(-1)×3 = 6

线性层、隐藏层等也用同样方式计算梯度。

题目中空白(?)出现在X的一格或Z(前向)/ dZ(反向)的一格。

题目

Z=WXZ = W \cdot XdZ=dWXdZ = dW \cdot X 中填入空白(?)处。

dZ = dW · X

X
1
2
-2
·
dW
2
0
-1
2
1
0
=
dZ
4
1 / 20