← 全部章节

P23 · 第 23 讲

Gradient Descent

1:41

本章目录(6 节)
  1. 1. 它是什么,不是什么
  2. 2. 为什么"往低处走"这个直觉会骗人
  3. 3. 从演示回到可执行的三句话
  4. 4. 易错对照
  5. 5. 自测
  6. 6. 30 秒速记

分P:P23 · BV1ou411N7X3?p=23 · 时长 1:41(101 s)· cid 1250616352 官方源:ML Lecture 3-3: Gradient Descent (Demo by Minecraft)(YouTube wzPAInDF_gI,2017-09-21,100 s) 课程版本:2016/17 ML Lecture 系列 讲义:无(manifest 标 slides.type = "none") 依据与边界:无字幕、无讲义、未看画面。只能确证元数据:1 分 41 秒、官方标题为 "Gradient Descent (Demo by Minecraft)"、属 ML Lecture 3 的第二个演示(3-2 是 AoE)。不描述画面、动作、时间戳。 下文地形与鞍点的内容是拿官方前置讲义 Gradient Descent (v2).pdf 做的复习补充,不是对本片段的解读。


1. 它是什么,不是什么

与 P22 的区别只能确证到素材不同(AoE vs Minecraft);都不替代 3-1 正课。


2. 为什么"往低处走"这个直觉会骗人

【补充】以下出自 Gradient Descent (v2).pdf p37,标题 "More Limitation of Gradient Descent":

地形 梯度 现象
Local minimum(局部极小) \(\partial L/\partial w=0\) 卡住,四周都更高
Saddle point(鞍点) \(\partial L/\partial w=0\) 卡住,但有些方向能降
Plateau(平台) \(\partial L/\partial w\approx 0\) 不是 0,但小到几乎不动

三者的共同点:梯度只告诉你"脚下这一步往哪走",不告诉你"整张地图长什么样"。二维里"往下走总能到谷底"的经验,在参数维度上千、上万时不再成立——绝大多数临界点不是局部极小,而是鞍点(细节见 P17)。

(a)鞍点不是陷阱,除非你正好站在它上面。【补充】取

$$L(w_1,w_2)=w_1^2-w_2^2,\qquad \nabla L=(2w_1,\,-2w_2).$$

这是原点处的标准鞍点:\(w_1\) 方向向上弯,\(w_2\) 方向向下弯。用 \(\eta=0.1\)、起点 \((0.01,\,0.001)\) 迭代(Python 计算):

步 \(w_1\) \(w_2\) \(L\)
0 0.0100 0.0010 \(+9.9\times10^{-5}\)
2 0.0064 0.00144 \(+3.9\times10^{-5}\)
4 0.0041 0.00207 \(+1.2\times10^{-5}\)
6 0.0026 0.00299 \(-2.0\times10^{-6}\)

loss 先缓慢下降(因为还在被 \(w_1^2\) 主导),第 6 步转负——已经越过鞍点,沿负曲率方向往下掉了。若起点精确取 \((0,0)\),梯度恒为 0,六步后仍在原地。结论:鞍点的危险来自"梯度接近 0 导致移动极慢",而不是"数学上出不去";这也解释了为什么加一点随机噪声/动量常常就够了。

(b)平台比鞍点更常见。梯度很小但不为 0,loss 长时间近乎水平。调大 \(\eta\) 可能跨过谷底(p5 的学习率三情形),调小更慢——需要动量(SGDM)或自适应步长(Adagrad/RMSProp/Adam)。

(c)维度越高,直觉越不可靠。二维图能"看见"全局,真实网络只有当前点的梯度。p37 并列三类地形,就是提醒:别把优化失败一律归因于"局部最优"。


3. 从演示回到可执行的三句话

  1. 先判断停在哪:梯度范数接近 0 时,看 Hessian 的特征值符号才能区分极小/鞍点(P17 详述);
  2. 别指望一步到位:梯度下降是局部方法,步长由 \(\eta\) 与曲率共同决定;
  3. 地形不好就换工具:平台 → 动量;曲率差异大 → 自适应学习率;鞍点 → 噪声/动量(P24/P25)。

4. 易错对照

误区 正确
P23 是理论课,能替代 3-1 是 1:41 演示,理论在 Gradient Descent (v2).pdf
从标题能推出画面内容 只能确证"用 Minecraft 做 GD 演示",其余需画面/字幕
梯度为 0 就是局部最优 也可能是鞍点;要靠 Hessian 特征值区分
鞍点一定卡死 只要不在正中心,负曲率方向会自然逃逸;精确停在中心才不动

5. 自测

Q1. 训练 loss 长时间几乎不变,梯度范数很小。可能是哪三种情况?如何区分?

参考答案

局部极小、鞍点、平台。前两者梯度为 0,平台是"接近 0 但不为 0"。区分极小与鞍点要看 Hessian 特征值:全正为极小,有正有负为鞍点(P17)。平台则表现为梯度小但方向仍有信息,动量/自适应学习率常能推过去。

Q2. \(L=w_1^2-w_2^2\),起点 \((0,0)\) 与 \((0.01,0.001)\) 的 GD 轨迹有何本质差别?

参考答案

\((0,0)\) 处梯度恒为 0,参数永不动;\((0.01,0.001)\) 虽梯度很小,但负曲率方向每步乘 1.2,六步后 loss 转负、逃出鞍点。说明鞍点的"卡住"是数值上的慢,不是几何上的封闭。

Q3. 为什么说 1:41 的演示不能当作"高维优化"的完整教学?

参考答案

它无讲义无字幕,时长只够展示直观;高维优化的关键结论(临界点分类、Hessian、动量、自适应步长)都在正课与后续 P24/P25,演示不承载定义与推导。


6. 30 秒速记

P23 = 1:41 的 Minecraft 演示,不是课,无讲义无字幕,只能确证"演示"这一层。它配 P22 补"地形"直观:梯度为 0 可能是局部极小、鞍点或平台;二维"往下走"的直觉在高维失效;鞍点只要不在正中心就会沿负曲率逃逸,平台要靠动量/自适应步长。细节回 ML Lecture 3-1 与 P17。

与其他 P 的关系:P22 是同一系列的 AoE 演示;P24/P25 把"平台/鞍点怎么办"落到 SGDM、Adagrad、RMSProp、Adam;P16 的 optimization issue 一格,是本节能走多远的诊断背景。

来源与说明

基于对应官方讲义整理,未取到完整视频字幕;不冒充逐字稿。