Skip to content

梯度下降与优化器:AI 是怎么"学会"的?

更新: 7/13/2026 字数: 0 字 时长: 0 分钟

想象一下,你在教 AI 认猫。一开始它瞎猜,错得离谱。然后它一点点调整自己,越猜越准——这个"一点点调整"的过程,靠的就是梯度下降。而优化器,就是让这个调整过程又快又稳的"教练"。下面我们从零讲起。

一、梯度下降:蒙着眼睛下山找最低点

梯度下降:蒙眼下山找最低点

先说个大白话:AI 学习,本质上就是"减少犯错"。

我们给 AI 的错误程度打个分,叫损失(Loss)——错得越离谱,分越高;越接近正确,分越低。AI 的目标就是把这个分数降到最低。

把这件事想象成下山:

  • 整座山 = AI 所有可能的"状态",山越高的地方代表 AI 错得越厉害。
  • 山谷最低点 = AI 表现最好、犯错最少的状态。
  • AI 要做的 = 从山顶走到山谷最低点。

但这里有个关键限制:AI 是蒙着眼睛的,它看不到整座山长什么样,不知道最低点在哪。它只能感受到脚下这一小块地是朝哪个方向倾斜的

这个"脚下的坡度方向",就是梯度(Gradient)

梯度的大白话: 站在山坡上,用脚探一探——哪个方向最陡、下降最快,梯度就告诉你这个方向。

于是下山策略就非常朴素:

  1. 感受脚下哪个方向最陡(算梯度);
  2. 朝那个方向迈一步;
  3. 到了新位置,再感受一次,再迈一步;
  4. 不断重复,直到走到谷底走不动为止。

这就是梯度下降——不需要看全景,只靠脚下的坡度,一步步摸到最低点。

这里还有个重要角色:步子迈多大? 这叫学习率(Learning Rate)

  • 步子太小 → 下山慢得让人着急,走一整天还在半山腰;
  • 步子太大 → 可能一脚跨过谷底,在两边来回蹦跶,永远落不到底。

所以学习率这个"步子大小",是调教 AI 时最需要拿捏的东西之一。

二、最基础的版本(SGD)有什么毛病?

基础版的三个烦恼

最原始的下山法叫 SGD(随机梯度下降)。"随机"是说它每次不看全部数据,只随手抓一小批数据来估算坡度——这样算得快,但也带来了三个典型毛病:

  • 毛病一:走"之"字形,来回震荡。 因为每次只抓一小批数据,估出来的坡度方向有点毛糙、忽左忽右。结果小人不是笔直下山,而是在山谷两侧来回横跳,绕了很多冤枉路,下得很慢。

  • 毛病二:容易卡在"小水坑"里出不来。 真实的山不是一个光滑的大碗,而是坑坑洼洼的。SGD 走着走着掉进一个小坑,四周一探——脚下没坡度了,就以为"到底了",其实真正的谷底还在远处。这个假谷底叫局部最低点

  • 毛病三:步子大小一刀切,很难调。 全程用同一个步子大小。陡的地方这个步子可能太小,平缓的地方又可能太大,怎么设都别扭。

接下来的优化器,就是一个接一个地来治这些毛病的。

三、优化器进化史:一步步把毛病治好

优化器进化之路

优化器的大白话: 就是"怎么迈步下山"的策略。同样是下山,聪明的走法能又快又稳地到谷底。

1. Momentum(动量):给下山加上"惯性"

治的是:走之字形震荡、卡小水坑。

想象把蒙眼小人换成一个往下滚的球。球有惯性——它会记住自己之前的运动方向,越滚越顺。

  • 遇到左右横跳的干扰,惯性会把这些抵消掉,让球总体保持朝谷底的大方向冲,不再画"之"字;
  • 滚到小水坑时,凭着这股冲劲还能冲过去,不容易被小坑困住。

一句话特点: 靠"惯性"让下山更顺、更稳,还能冲出小坑。

2. AdaGrad:让步子自己会"看路"

治的是:步子大小一刀切。

前面所有方法都用固定步子。AdaGrad 的想法很聪明:让每一步的大小自己根据路况调整——

  • 之前在某个方向已经走了很多、很陡,就把这个方向的步子自动调小,免得冲过头;
  • 某个方向一直没怎么动、很平缓,就给它大一点的步子,鼓励多走走。

这就叫自适应步长。缺点是:它会把走过的路"全部累加"记账,时间一长,步子会被越缩越小,最后几乎迈不动,下山提前"熄火"。

一句话特点: 步子会看路自动调,但走久了容易越走越慢、后劲不足。

3. RMSProp:给 AdaGrad 装上"遗忘功能"

治的是:AdaGrad 后劲不足、步子越缩越小。

RMSProp 的改进很直接:不要把老账全记着。它只重点参考最近一段路的坡度情况来调步子,久远的就慢慢淡忘。

这样步子既能自适应路况,又不会因为累积太多历史而被无限缩小,能一直保持合理的下山速度,尤其适合路况多变的场景。

一句话特点: 自适应步长 + 只看近期路况,避免"越走越慢"。

4. Adam:把前面的优点全打包

治的是:前面各家的短板,来个"集大成"。

Adam 是目前最常用的优化器,它的思路很简单——把 Momentum 的惯性和 RMSProp 的自适应步长合在一起:

  • 一边像滚球一样带着惯性,走得又顺又稳、能冲出小坑;
  • 一边像 RMSProp 一样自动调步子,陡处小步、缓处大步,还不会熄火。

两全其美,而且开箱即用、几乎不用怎么费心调,所以成了绝大多数场景的默认首选。

一句话特点: 惯性 + 自适应步长二合一,稳、快、省心,通用性最强。

四、到底该用哪个?一张表看懂

优化器核心改进特点适用场景
SGD最基础的下山简单,但慢、爱震荡、易卡坑追求极致效果、愿意精细调参的研究场景
Momentum加入惯性更顺更稳,能冲出小坑需要在 SGD 上提速、减少震荡时
AdaGrad步子自适应会看路,但后劲不足数据稀疏(很多特征偶尔才出现)的场景
RMSProp自适应 + 遗忘旧账步子稳定不熄火路况多变、非平稳的任务
Adam惯性 + 自适应合体稳、快、省心,通用绝大多数任务的默认首选

梯度下降就是"蒙眼下山、顺着最陡的方向一步步摸到谷底",而从 SGD 到 Adam 的优化器演进,本质上就是在教这个下山的人——怎么走得更稳、更快、更省心。新手直接用 Adam 就够了,等你想追求极致效果时,再回头研究其他选手也不迟。