# 梯度下降优化器

> 来源：https://deeplearning.bnuai.com/demos/optimizers ｜ 作者：唐志清（北京师范大学） ｜ 更新：2026-11-01 ｜ 内容依据邱锡鹏《神经网络与深度学习》（https://nndl.ai/）及作者公开课件

> （此处为交互演示，请在网页中使用：https://deeplearning.bnuai.com/demos/optimizers）

## 观察要点

1. **椭圆碗（病态条件）**：各方向曲率差异很大时，SGD 在陡峭方向来回震荡、在平缓方向前进缓慢；增大学习率会发散。动量法通过累积历史梯度抵消震荡、加速平缓方向的前进。
2. **Rosenbrock 香蕉函数**：最小值位于一条狭长弯曲的山谷中，考验优化器沿谷底前进的能力。
3. **鞍点**：从鞍点附近出发，SGD 在梯度很小的方向上几乎停滞；自适应学习率方法（RMSprop、Adam）会放大小梯度方向的步长，更快地逃离鞍点（[第 7 章](https://deeplearning.bnuai.com/chapters/07-optimization-regularization)）。
4. **学习率**：同一个优化器，学习率过小收敛慢、过大震荡甚至发散——试着拖动学习率滑块。

各算法的更新公式（$\boldsymbol g_t$ 为梯度）：

| 算法 | 更新规则 |
| --- | --- |
| SGD | $\theta_t=\theta_{t-1}-\alpha\boldsymbol g_t$ |
| 动量法 | $\Delta\theta_t=\rho\Delta\theta_{t-1}-\alpha\boldsymbol g_t$ |
| Nesterov | $\Delta\theta_t=\rho\Delta\theta_{t-1}-\alpha\,\boldsymbol g(\theta_{t-1}+\rho\Delta\theta_{t-1})$ |
| RMSprop | $G_t=\beta G_{t-1}+(1-\beta)\boldsymbol g_t^2,\ \ \Delta\theta_t=-\dfrac{\alpha}{\sqrt{G_t+\epsilon}}\boldsymbol g_t$ |
| Adam | $\Delta\theta_t=-\dfrac{\alpha}{\sqrt{\hat G_t+\epsilon}}\hat M_t$（$\hat M_t,\hat G_t$ 为偏差修正后的一阶、二阶矩） |

相关章节：[第 7 章 网络优化与正则化](https://deeplearning.bnuai.com/chapters/07-optimization-regularization)。
