HelloAI ← 可视化画廊
📐 数学/优化 · 12 分钟

梯度下降登山者

"训练模型"的本质就是下山——损失函数构成一片地形,优化器找最低点。 SGD、Momentum、Adam 是三种风格迥异的登山者,点击下面的地图任意位置,看它们从同一起点出发,走出三条不一样的路。

椭圆碗 · f(x,y) = 0.05x² + 0.15y²
👆 点击任意位置设为起点
速度:
学习率: 0.10
SGD 最朴素
直接沿梯度反方向走。学习率太大会震荡,太小会龟速。
步数
0
损失
梯度模
Momentum 带惯性
像滚雪球:累积过去的速度,能"冲过"小坑、平滑震荡。β=0.9
步数
0
损失
速度
Adam 自适应
为每个参数维护独立步长:陡的方向走小步,缓的方向走大步。深度学习默认款。
步数
0
损失
t
0
🏆 当前领先
点击地图开始
🎯

怎么读这张图

  • · 等高线(紫色环)是"等损失线"——同一条线上损失相同
  • · 颜色越深表示损失越大、越浅表示越接近最优
  • · SGD · Momentum · Adam
  • · 每个优化器留下的轨迹就是它的"下山路线"
💡

实验建议

  • · 在 椭圆碗 上加大学习率,看 SGD 怎么"反弹"
  • · 切到 波纹地形,挑一个山顶起跳,看谁能跨过小山
  • · 鞍点 上从中心附近出发,纯 SGD 会卡很久
  • · 香蕉函数 是经典难题,Adam 也会迷路
看看每个优化器背后的数学
SGD
θ ← θ - lr · ∇f(θ)

最直接:把参数往梯度反方向挪 lr 倍。

Momentum
v ← β·v - lr·∇f(θ)
θ ← θ + v

v 是"速度",累积了过去的方向。β=0.9 让 90% 旧速度保留。

Adam
m ← β₁·m + (1-β₁)·g
v ← β₂·v + (1-β₂)·g²
θ ← θ - lr·m̂ / (√v̂ + ε)

同时维护一阶(动量)和二阶(变量尺度)矩,自适应每维步长。