优化中的微积分:梯度下降与损失地形
本文基于模型知识整理(生成时未联网核对),收敛条件建议对照 Boyd §9 或 Goodfellow §8 复核。
一句话定义
梯度下降用最朴素的微积分指令训练一切模型:$w\leftarrow w-\eta\nabla L$——沿负梯度(最速下降方向,kp-023)迈步长 η;它的收敛性由学习率与曲率(Hessian 特征值,kp-027)的比值决定,病态峡谷让它之字形、鞍点让它停滞,而动量/自适应学习率是对地形的补救设计。
为什么重要
这是本库所有内容的"总装":导数(方向)、梯度(多维方向)、泰勒(步长合法域)、凸性(收敛保证)在一条两行公式里全员到岗。梯度下降(及变体 SGD/Adam)训练着当代几乎所有 AI 模型——理解它的微积分骨架,等于理解深度学习优化的全部直觉来源。
前置知识
kp-023/027(梯度与曲率)。
核心概念
- 算法:$\mathbf w_{k+1}=\mathbf w_k-\eta\nabla L(\mathbf w_k)$——每步沿局部最陡下坡走 η 距离。
- 收敛条件(一维/二次情形的精确结果):曲率 L''=H 时,稳定要求 $0<\eta<\frac{2}{H}$;收敛速度常数 $|1-\eta H|$——学习率上限由最大曲率决定,收敛速度由 $\eta H$ 离 1 多近决定。
- 病态峡谷:多维曲率 $\lambda_{\max}\gg\lambda_{\min}$(kp-027)时,η 被大曲率卡死(否则震荡)、小曲率方向进展奇慢——迭代数正比 $\kappa=\lambda_{\max}/\lambda_{\min}$(条件数 kp-023 的优化化)。
- 补救谱系:
- 动量:$v\leftarrow\beta v-\eta\nabla L$,$w\leftarrow w+v$——惯性平均抵消之字(峡谷相互抵消的震荡分量、累计一致分量); - 自适应(AdaGrad/RMSProp/Adam):每维度除以自身梯度平方的滑动平均——给平坦方向大步、陡峭方向小步(对角曲率的廉价逆); - 牛顿法:$w\leftarrow w-H^{-1}\nabla L$——直接除以真曲率(一步二次收敛),代价是 H 的存储与求逆(kp-023 的病态与规模问题)。
原理与机制
为什么走负梯度:kp-023 证明它是瞬时最速下降方向——贪心但便宜(一阶信息);"最速≠最短"的代价由曲率结构(kp-027)决定,于是所有改进方向都是在"用更贵的地形信息换更直的路线"(动量=历史平均、牛顿=二阶全信息)。
为什么学习率是第一超参:$\eta>2/H$ 每步越过谷底越走越远(发散);η 略小于临界值则之字振荡;η 太小慢如蜗牛。有效学习率=η×曲率——损失缩放(kp-030 的归一化)等价于学习率缩放,这就是 kp-029"奖励/损失尺度即隐式学习率"的出处。
凸与非凸的分野:凸碗(kp-027)上梯度下降有全局收敛保证(η 合适时必达最优);非凸地形(深度网络)只承诺"到达某个驻点附近"——实践上 SGD 的噪声+高维几何让它意外地表现良好(平坦极小值假说),但理论保证不复存在。
图示
更新: w ← w − η∇L
一维收敛: 0 < ηH < 2 ; 最优 η* = 1/H (一步到底, 二次损失)
病态: 迭代数 ∝ κ = λmax/λmin (kp-023 条件数的优化化)
动量: v ← βv − η∇L (惯性) ; Adam: 逐维度自适应除曲率近似
牛顿: w ← w − H⁻¹∇L (二次收敛, 贵)
SGD: 噪声=逃离鞍点的踹 + 隐式正则
直观类比
下山蒙眼(只知脚底坡度):小步试探每步沿最陡方向挪(梯度下降);步子太大直接跨过谷底撞对面山壁(η>2/H 发散);峡谷里左墙右墙来回撞(病态之字);动量=学会了"攒速度冲直道";Adam=给两条腿分别装减震器。
实例或案例
- 训练神经网络:Adam 默认参数能跑通大多数任务(kp-029 的默认值纪律同源);学习率衰减=后期进入小曲率精细区(kp-010 的"接近极值步子要小")。
- 线性回归两种解法对照:正规方程一步(kp-030)vs 梯度下降迭代——病态时前者爆炸、后者带噪收敛,各有胜负(kp-023 的呼应)。
- 学习率warmup:初期曲率/梯度统计不稳,先小步再加速——工程对"局部线性化信任半径"(kp-008)的尊重。
常见误区
- 误区一:"学习率越大收敛越快"。超临界即发散;最优学习率与曲率绑定——损失尺度变了学习率必须跟着变。
- 误区二:"梯度为零的驻点就是好结果"。深度网络的鞍点/平坦区也让梯度≈0;监控损失曲线与梯度范数而非只看"不动了"(kp-030 的监控纪律)。
- 误区三:"Adam 一上就万事大吉"。Adam 的自适应是对角近似,强相关曲率(非对角 H)仍需动量/正则化辅助——没有万能优化器。
与其他知识点的关系
自测题
- 一维二次损失 L(w)=H/2·w² 的最优学习率与收敛速度?
答:η*=1/H(一步到达);一般 0<η<2/H 收敛,|1−ηH| 越小越快。
- 病态峡谷(κ 大)中梯度下降的症状与两种缓解?
答:之字震荡+收敛慢(迭代 ∝ κ);缓解:动量(抵消震荡)、预条件/自适应(给平坦方向提速)。
- 为什么 SGD 的噪声反而有益?
答:噪声帮助逃离鞍点与尖锐极小值,偏向平坦极小(泛化更好)——随机性从缺陷变成正则化机制。
延伸阅读
- Boyd & Vandenberghe《Convex Optimization》§9(无约束优化的算法章)。
- Goodfellow《Deep Learning》第 8 章(优化全谱)。
- Ruder, "An overview of gradient descent optimization algorithms"(优化器综述,免费 arXiv)。