可视化资源

自适应优化器 Adam

普通梯度下降对所有参数用同一个学习率,遇到“一个方向陡、一个方向缓”的损失面就很别扭——步子大了在陡方向上乱晃,步子小了在缓方向上磨蹭。Adam 的聪明在于给每个参数配一个自适应的学习率:某个方向梯度一直很大,就把它的步子调小;一直很小,就调大。于是它在峡谷里既不乱晃、又能顺着谷底快速前进。看 SGD、动量、Adam 三个球同场赛跑。

损失面是一条又窄又长的山谷(金点是谷底)。红=SGD黄=动量绿=Adam,从同一点出发。看谁先稳稳到底。

第 0 步
SGD:一刀切

所有方向同一个学习率,在陡的方向来回横跳,在缓的方向慢慢挪。

动量:积累惯性

抵消横跳、顺着谷底加速,比 SGD 快,但学习率仍是固定的。

Adam:每参数自适应

按各方向的历史梯度大小自动调步长——陡方向压住、缓方向放开,又快又稳,是当下最常用的优化器。