自适应优化器 Adam
普通梯度下降对所有参数用同一个学习率,遇到“一个方向陡、一个方向缓”的损失面就很别扭——步子大了在陡方向上乱晃,步子小了在缓方向上磨蹭。Adam 的聪明在于给每个参数配一个自适应的学习率:某个方向梯度一直很大,就把它的步子调小;一直很小,就调大。于是它在峡谷里既不乱晃、又能顺着谷底快速前进。看 SGD、动量、Adam 三个球同场赛跑。
损失面是一条又窄又长的山谷(金点是谷底)。红=SGD、黄=动量、绿=Adam,从同一点出发。看谁先稳稳到底。
SGD:一刀切
所有方向同一个学习率,在陡的方向来回横跳,在缓的方向慢慢挪。
动量:积累惯性
抵消横跳、顺着谷底加速,比 SGD 快,但学习率仍是固定的。
Adam:每参数自适应
按各方向的历史梯度大小自动调步长——陡方向压住、缓方向放开,又快又稳,是当下最常用的优化器。