数学基础
/
Feb 08, 2026
Step 1 01. 梯度下降:蒙着眼下山
<!-- Title: 01. 梯度下降:蒙着眼下山 -->
<!-- ID: 232 -->
<!-- Series: 深度学习数学基础 (ID: 10) -->
<!-- Author: admin -->
# 梯度下降:蒙着眼下山
## 1. 直观理解:蒙眼下山
想象你被蒙住双眼,扔到了一座高山上。你的目标是下到山谷最低处(即**损失函数最小化**)。
你看不见周围的地形,你唯一的感知,就是脚下的坡度。
如果你感觉到脚尖向下倾斜(坡度为负),你就往前走一步;
如果你感觉到脚尖向上翘起(坡度为正),你就往后退一步。
这就是**梯度下降(Gradient Descent)**的直观解释:**通过不断感受局部的坡度,一步步挪向最低点。**
## 2. 数学原理:为什么是“负梯度”方向?
在数学上,**梯度(Gradient)**是一个向量,它指向函数**增长最快**的方向。
这就好比你站在山上,梯度指向的是“最陡峭的上坡路”。
因为我们要找的是**最小值**(下山),所以我们必须沿着梯度的**反方向**(负梯度方向)走。
### 核心公式
$$ \theta_{new} = \theta_{old} - \alpha \times \nabla J(\theta) $$
* **$\theta$ (Theta)**: 我们要优化的参数(比如神经网络中的权重 $w$ 和偏置 $b$)。
* **$\nabla J(\theta)$**: 损失函数 $J$ 对参数 $\theta$ 的梯度(导数)。
* **$\alpha$ (Alpha)**: **学习率 (Learning Rate)**。它决定了你一步迈多大。
* **$-$ (减号)**: 代表**反方向**。
## 3. 学习率 ($\alpha$):步子的艺术
学习率是深度学习中最重要的超参数之一。
* **步子太大 ($\alpha$ 过大)**:
* *后果*:你可能直接跨过了山谷,冲到了对面的山上。甚至可能越走越高(发散),永远回不到谷底。
* **步子太小 ($\alpha$ 过小)**:
* *后果*:下山速度极慢。就像蚂蚁搬家一样,等到天黑(训练时间耗尽)还没挪到半山腰。甚至容易卡在半路的小坑(局部最优解)里出不来。
## 4. 局部最优 (Local Minima) 与 鞍点 (Saddle Point)
在真实的高维地形中,事情没那么简单。
* **局部最优解**:一个小山谷,但不是最低的。就像你下山下到了一个堰塞湖,以为到底了,其实离海平面还远着呢。
* **鞍点**:形状像马鞍一样的地方。在一个方向看是极小值,在另一个方向看是极大值。这里梯度为 0,很容易让算法“误以为”到了终点而停滞不前。
*注:在高维空间中,鞍点其实比局部最优解更常见,也更麻烦。*
## 5. 进阶:SGD, Momentum 与 Adam
为了解决上述问题,科学家们发明了各种“下山神器”:
1. **SGD (随机梯度下降)**:
* *原理*:每次只随机看一个样本就决定怎么走。
* *特点*:速度快,但走得歪歪扭扭(震荡)。有助于跳出局部最优。
2. **Momentum (动量法)**:
* *原理*:模拟物理世界的惯性。如果你一直在下坡,速度会越来越快;遇到小坑,借着惯性直接冲过去。
3. **Adam (自适应矩估计)**:
* *原理*:目前的**默认首选**。它结合了动量和自适应学习率。
* *比喻*:相当于给下山的人装了一套**“惯性导航 + 地形自适应系统”**。平缓时步子大,陡峭时步子小,不仅走得稳,还不容易卡住。
## 6. Python 代码模拟
我们用一个简单的二次函数 $y = x^2$ 来模拟。目标是找到 $x=0$。
```python
import numpy as np
import matplotlib.pyplot as plt
# 目标函数及其导数
def f(x): return x**2
def df(x): return 2*x # f(x) 的导数
# 初始化
x = 10.0 # 起点在 x=10
lr = 0.1 # 学习率
epochs = 20
print(f"Start at x = {x}")
for i in range(epochs):
grad = df(x) # 1. 计算梯度(坡度)
x = x - lr * grad # 2. 向反方向迈步
print(f"Step {i+1}: x = {x:.4f}, f(x) = {f(x):.4f}, grad = {grad:.4f}")
# 最终 x 应该非常接近 0
```
## 7. 结语
梯度下降是深度学习的**引擎**。
无论模型多么复杂(Transformer, CNN, RNN),归根结底,都是在通过梯度下降这个简单的算法,一点点地修正参数,逼近真理。
P
潘卫
南京市沉思波网络科技有限责任公司创始人、CEO
您的观点 (可选)
🎁 注册账号,同步您的个性化学习路径