系列导航
第一幕(5 篇)+ 第二幕(5 篇)→ 查看全部▹ 第十一篇:向量——给万物一个坐标▹ 第十二篇:矩阵——空间的变形术▹ 第十三篇:概率——拥抱不确定▹ 第十四篇:高维——超越想象力▸ 第十五篇(本文):梯度下降——数学会学习▹ 第十六篇:终章——数学是人类的望远镜
第一章:蒙眼下山
想象你被蒙上眼睛,站在一座山上。你的目标是走到最低处(山谷)。
你看不见地形,但你能感觉脚下的坡度。
1. 感受脚下哪个方向最陡(往下倾斜最厉害)
2. 朝那个方向走一小步
3. 再感受,再走一步
4. 重复,直到四面都不再往下倾斜——你到了谷底
这就是梯度下降。
把"高度"换成"误差"——
把"位置"换成"模型参数"——
把"感受坡度"换成"求导数"——
你就得到了 AI 的学习算法。
梯度下降 = 顺着最陡的方向,一步步走向误差最小的地方。
一句话记住: AI 的"学习"不是人类那种"理解"。它就是反复做一件事:计算当前的误差,算出哪个方向能让误差变小,然后朝那个方向调整参数。重复几十亿次。
第二章:损失函数——“你错了多少?”
在下山之前,你需要知道"高度"是什么。在 AI 里,“高度"对应的是损失函数(Loss Function)——衡量模型的预测和正确答案之间的差距。
训练数据: "今天天气真___" 正确答案:"好"
模型预测:
好 → 0.10 (10%) ← 正确答案只给了 10%?
差 → 0.30 (30%)
热 → 0.60 (60%)
损失 = 很大!(模型给正确答案的概率太低了)
经过训练后:
好 → 0.70 (70%) ← 正确答案概率上升
差 → 0.10 (10%)
热 → 0.20 (20%)
损失 = 很小(模型学对了)
损失越大 = 预测越差 = 还在山上。 损失越小 = 预测越准 = 接近谷底。
训练的目标就是:找到一组参数,让损失函数的值尽可能小。
GPT 有几十亿个参数。损失函数是一个"几十亿维空间里的地形”。你要在这个超高维地形中找到最低点。
第三章:梯度——“最陡的方向”
第九篇(微积分上) 里你学过:导数告诉你"变化的速度"。
函数 f(x) = x²
导数 f'(x) = 2x
当 x = 3 时:f'(3) = 6
意思:x 增加一点点,f(x) 会增加约 6 倍那么多
→ 函数在这里"上坡"
当 x = -3 时:f'(-3) = -6
意思:x 增加一点点,f(x) 会减少约 6 倍
→ 函数在这里"下坡"
导数的符号 = 坡的方向
导数的大小 = 坡的陡度
在高维空间里,“导数"变成了梯度(gradient)——每个参数方向的偏导数组成的向量。
模型有 3 个参数 [w1, w2, w3]
梯度 = [∂L/∂w1, ∂L/∂w2, ∂L/∂w3]
翻译:
∂L/∂w1 = 如果只动 w1,损失会怎么变
∂L/∂w2 = 如果只动 w2,损失会怎么变
∂L/∂w3 = 如果只动 w3,损失会怎么变
梯度指向"损失增大最快"的方向。
所以沿着"梯度的反方向"走 = 损失减小最快。
梯度下降的更新规则:
新参数 = 旧参数 - 学习率 × 梯度
学习率 = 步长(每次走多远)
太大 → 走过头,来回震荡
太小 → 走太慢,训练要花一辈子
刚好 → 稳定地走向谷底
一句话记住: 梯度就是"当前位置最陡的上坡方向”。AI 做的是"反着走"——沿梯度下降,一步步减小误差。
第四章:连接 AI——反向传播
现在来看 AI 实际是怎么"学习"的。
GPT 有几十亿个参数。要对每个参数求梯度,最笨的方法是每次微调一个参数,看损失怎么变——这需要几十亿次前向计算。太慢了。
1986 年,Rumelhart、Hinton 和 Williams 发表了反向传播算法(Backpropagation),用链式法则一次性算出所有梯度。
重复几十亿次:
① 前向传播:输入数据,通过网络得到预测
② 计算损失:预测 vs 正确答案 → 误差多大?
③ 反向传播:从输出往回走,用链式法则算每个参数的梯度
④ 更新参数:参数 = 参数 - 学习率 × 梯度
就这四步。没有更多了。
GPT 的训练,就是把这四步重复几十亿次。
每次用一小批数据,每次让误差小一点点。
几十亿次之后,模型就学会了写诗、翻译、对话。
链式法则——这是高中就学过的微积分法则,现在成了深度学习的心脏:
y = f(g(x))
dy/dx = f'(g(x)) × g'(x)
"外层对中间层的导数" × "中间层对内层的导数"
神经网络有很多层。反向传播就是
从最后一层开始,一层层用链式法则
把梯度"传回去",直到传到第一层。
这就是为什么它叫"反向"传播——信号正向走(输入→输出),梯度反向走(输出→输入)。
一句话记住: AI 不会"顿悟"。它靠的是:算误差、求梯度、小步调参、重复几十亿次。这套方法叫梯度下降 + 反向传播。就这么简单——但简单的东西重复足够多次,就能产生智能。
第五章:所有工具在这里汇合
回望整个第三幕,你会发现:这一篇把前面所有工具都用上了。
| 你学过的概念 | 在梯度下降里的角色 |
|---|---|
| 向量(第11篇) | 参数是向量,梯度是向量 |
| 矩阵(第12篇) | 神经网络的每一层是矩阵变换 |
| 概率(第13篇) | 损失函数衡量预测概率和真实概率的差距 |
| 高维(第14篇) | 参数空间是几十亿维的,梯度下降在里面"摸索" |
| 导数(第9篇) | 梯度 = 每个参数的偏导数 |
| 函数(第6篇) | 神经网络是一个超级复杂的复合函数 |
中国古语: “不积跬步,无以至千里。” 梯度下降就是这句话的数学版——每次只走一小步(学习率 × 梯度),但走几十亿步后,就从"一团乱码"走到了"能写诗"。
动手实验
实验:用梯度下降找最低点
# 目标:找到 f(x) = (x - 3)² + 1 的最小值
# 显然最小值在 x = 3,但假装我们不知道
def f(x):
return (x - 3)**2 + 1
def gradient(x):
return 2 * (x - 3) # f'(x) = 2(x-3)
x = 0.0 # 随机起点
lr = 0.1 # 学习率
print("梯度下降过程:")
for step in range(20):
loss = f(x)
grad = gradient(x)
x = x - lr * grad # 核心公式!
if step % 4 == 0:
print(f" 第{step:2d}步: x={x:.4f}, 损失={loss:.4f}, 梯度={grad:.4f}")
print(f"\n最终: x={x:.4f} (真实最小值在 x=3)")
print(f"最终损失: {f(x):.6f} (真实最小值=1)")
本篇小结
一、蒙眼下山 = 梯度下降
- 感受坡度、朝最陡的下坡方向走一步、重复
二、损失函数 = “你错了多少”
- 预测和正确答案的差距。训练目标 = 让损失最小
三、梯度 = 高维版的坡度
- 每个参数方向的偏导数组成的向量
- 沿梯度反方向走 = 误差减小最快
四、反向传播 = 链式法则
- 前向传播 → 算损失 → 反向传梯度 → 更新参数
- GPT 的训练就是这四步重复几十亿次
五、所有工具在这里汇合
- 向量、矩阵、概率、高维、导数——全部用上了
下一篇预告
十五篇走下来,从结绳记事到梯度下降,从一万年前到今天。
最后一篇,我们不学新概念。我们回望。
数学到底是什么?它从哪里来?它要到哪里去?
从古巴比伦的泥板到 GPT 的参数矩阵,人类一直在做同一件事——用抽象的符号,描述看不见的规律。数学不是发明的,数学是发现的。而 AI,是数学最新的、最惊艳的"应用"。
下一篇(终章):看见数学(十六):终章——数学是人类的望远镜
《看见数学》系列 — 从结绳记事到 AI,看见数学之美。
本文首发于「AI 学习笔记」博客:https://Jason-Azure.github.io/ai-blog/
微信公众号:AI-lab学习笔记
系列文章完整列表见 标签:看见数学
