⭐ 深度学习入门体系(第 8 篇): 什么是优化器?
⭐ 深度学习入门体系(第 8 篇): 什么是优化器?
——为什么 Adam 会成为“新手默认选择”?它真的比 SGD 更好吗?
在前几篇我们讲了损失函数,这一篇要讲训练流程的另一半主角:
优化器 Optimizer
你一定见过:
- SGD
- Adam
- RMSProp
- AdamW
- Momentum
- Adagrad
但很可能你会有这些困惑:
- 优化器到底是在“优化什么”?
- 它是怎么让模型越来越好?
- Adam 为什么这么流行?
- 在实际项目中到底该用 Adam 还是 SGD?
- Adam 是万能的吗?
- 为什么很多大模型最终还是选了 AdamW?
这篇文章我们把这些讲透。
保证你看完之后不再对优化器“一知半解”。
文章目录
🎯 一、优化器是什么?一句话解释
优化器是告诉模型“要往哪个方向、以多大步伐更新参数”的算法。
损失函数告诉模型:
- 你哪里做错了
- 错得有多严重
而优化器告诉模型:
- 那你该往哪调
- 调多少才比较合理
这两者合作才能完成学习。

🪜 二、生活化类比:优化器是“教练”,损失是“成绩”
让我们用一个非常好理解的类比。
你准备跑马拉松。
- 每次跑完有一个成绩(损失)
- 你需要知道如何改进(优化器)
- 教练告诉你:“步伐大点”、“摆臂小点”、“注意节奏”
优化器就是模型的教练。
不同教练风格不一样:
- SGD:朴素派,简单直接
- Momentum:讲究节奏感
- Adam:现代派,用数据分析你过去的表现
- AdamW:在 Adam 基础上更注重“体脂管理”(权重衰减)
你选择哪个教练,训练感受就完全不同。

🧱 三、以最直观方式解释梯度下降
几乎所有优化器都基于一个最核心的思想:
梯度下降(Gradient Descent)
还是用生活类比。
你身处一个大山谷中,四周是起伏的地形。
你的目标是:
到达盆地最低点(损失最小)
你能做什么?
观察四周:
- 哪个方向坡度最大?
- 哪个方向往下最陡?
然后往那个方向走一步。
这就是梯度下降最核心的逻辑——永远往“最陡往下”的方向走。

🎒 四、SGD:最基础、最朴实、最原始的优化器
SGD(随机梯度下降)做的事情非常简单:
- 看当前梯度方向
- 沿着这个方向走一步
- 重复这个过程
优点:
- 简单
- 稳定
- 理论最扎实
- 大公司、大学研究常用(因为可控)
缺点:
- 容易在复杂地形“迷路”
- 速度慢
- 对学习率非常敏感
- 容易卡在局部最小值或鞍点
所以很多人不喜欢单独用 SGD,而是用它的增强版。

🌀 五、Momentum:给 SGD 加上“惯性”
SGD 像走山路的人,不停地停下判断方向。
Momentum 则像给你加了一个“轮子”,让你:
- 遇到小坑时可以冲过去
- 不容易卡住
- 走得更顺滑
它本质上是“梯度的指数滑动平均”,
让更新方向更稳定、不抖动。
这是所有现代优化器的基础思想。

⚡ 六、Adam:为什么它会成为“新手默认选择”?
Adam 出现后瞬间风靡深度学习界,被极大规模采用。
它的核心思想:
**综合了 Momentum 的“动量”
- RMSProp 的“自适应学习率”
= 自动调节学习率的现代优化器**
我们用生活化比喻一下:
你跑步时:
- 教练会观察你每一步的状态
- 当你跑得不稳时会提醒你慢点
- 当你跑得很稳时会让你加速
Adam 就是这样的“智能教练”。
它会自动:
- 给每个参数分配不同学习率
- 根据历史梯度决定加速还是减速
- 更快地找到低谷
- 更不容易卡住
这使它成为:
- 新手友好
- 小数据友好
- 噪声友好
- 多任务友好
- 训练速度快
- 超参数简单
你几乎不需要调参,它就能跑出不错的效果。

📉 七、Adam 的缺点是什么?(非常重要)
虽然 Adam 很受欢迎,但它也有缺点:
- 容易过拟合
- 容易走得太快,错过最优解
- 最终解的泛化能力常输给 SGD
- 学习率衰减非常关键(否则不稳)
你可以理解为:
Adam 是“速度快但不一定稳”的选手。
所以在超大规模训练里(如 ResNet、ImageNet、大模型预训练):
很多团队仍然喜欢用 SGD with momentum。
原因很简单:
SGD 慢,但“稳、靠谱、泛化强”。
🧱 八、AdamW:为什么“大模型时代”几乎都选它?
Adam 有一个严重缺点:
L2 正则(权重衰减)和 Adam 的更新方式相冲突。
结果就是模型会“不健康地增胖”。
AdamW 的改进在于:
把“权重衰减”从 Adam 的更新规则里分离出来。
简单说:
AdamW 让模型“保持体型健康”。
它成为 Transformer、LLM、大规模模型训练中的标准做法。
几乎所有主流大模型都使用 AdamW:
- GPT 系列
- BERT 系列
- ViT
- Diffusion 模型
- ChatGPT 及后续家族
原因只有一个:
稳定、泛化好、适合大规模训练。

🧭 九、实际工程中怎么选优化器?
给出最简单、最实用的决策树。
① 初学者、小项目、图像分类?
Adam
- 适当学习率衰减
- 简单稳定,一般不踩坑
② 数据量大、训练时间长、专注泛化能力?
SGD + Momentum
- 学习率 warmup
- 余弦退火或多步衰减
这是顶级实验室和大厂训练 CNN 的常见选择。
③ NLP、Transformer、大模型、扩散模型?
AdamW(强烈推荐)
它已经是行业标准。
④ 噪声大的任务?
Adam / RMSProp
因为它们更“稳”。
⑤ 特征不均匀、不同维度差异大?
Adam / Adagrad / RMSProp
这些方法能为不同参数自动调学习率。
🧪 十、优化器最重要的参数:学习率 LR
你可以不懂优化器所有细节,但必须理解:
学习率是最关键的超参数。
它决定“你走路的步幅”。
- 步子太大 → 容易摔倒,损失震荡
- 步子太小 → 走半天不动,训练太慢
在实际工程中,调学习率经常比调优化器更有效。

🧩 十一、一句话总结本篇内容
优化器是模型的“教练”,
SGD 稳、Adam 快、AdamW 健康、Momentum 顺滑,
而学习率是所有优化器的“灵魂”。
🔜 下一篇
《深度学习入门体系(第 9 篇):什么是反向传播?为什么它能“让网络自动学会”?》
更多推荐
所有评论(0)