/knowledge/notes/gradient-descent-variants
概念笔记 · 微积分与优化
梯度下降的变种
优化算法
- 学于
- 统计机器学习COMP90051
- 时间
- 2023 年第一学期
- 应用于
- 人类还是机器?
- 阅读 / 复习
- 约 6 分钟阅读2026-10-15
随机梯度下降有许多变体。它们之间的选择影响收敛速度、内存使用和泛化。这篇笔记涵盖主要优化器:SGD、Momentum、RMSprop 和 Adam,并显示何时使用每一个。
01
基本想法
所有基于梯度的优化器都沿负梯度方向更新参数。它们在如何使用过去的梯度方面有所不同。普通 SGD 每次梯度取一步。Momentum 累积梯度,平滑更新。RMSprop 根据历史梯度幅度为每个参数自适应步长。Adam 结合了两个想法:Momentum 和逐参数自适应。
实际选择取决于问题。SGD 简单,通常泛化良好。Adam 快速收敛,需要很少调优。RMSprop 介于两者之间。Momentum 在现代实践中很少单独使用。
02
数学
设 为损失 的梯度。更新规则:
- SGD:
- Momentum: ;
- RMSprop: ;
- Adam:结合Momentum和RMSprop,带偏差修正。使用一阶矩(梯度均值)和二阶矩(梯度平方均值)。
超参数 (学习率)、(动量衰减)和批量大小都影响收敛。更大的批次减少方差但需要更多内存。更高的学习率收敛更快但可能发散。
03
动手试
小工具显示合成损失曲面和四个优化器竞相到达最小值。调整学习率和批量大小,然后点击每个优化器查看其轨迹。Adam 通常收敛最快。
- 高学习率:快速收敛但发散风险。
- 大批次:梯度更平滑,整体更慢(更新次数更少)。
- Adam 通常在复杂曲面上获胜;SGD 可能泛化更好。
04
我在哪用到它
05
容易出错的地方
避免这些错误的关键是理解优化器背后的原理。Adam 的自适应学习率机制在大多数情况下表现良好,但在某些任务(如训练 GAN)中可能不稳定。SGD 虽然需要更多调优,但在适当的学习率计划下往往能达到更好的泛化性能。
批量大小的选择不仅影响训练速度,还影响模型的最终性能。大批量训练虽然能充分利用 GPU 并行能力,但可能导致泛化能力下降(sharp minima)。小批量虽然训练慢,但梯度噪声有助于逃离局部最优并找到更平坦的最小值(flat minima),这通常对应更好的测试性能。
06
参考资料
- Adam:随机优化方法arXiv 1412.6980
首次在 COMP90051(2024)中学习,2026 年扩展。