“训练卡住(Loss不再下降)” 不等于 “梯度很小(接近0)”,当遇到“训练卡住”时,不要只检查梯度是否消失,如果梯度还在剧烈震荡但 Loss 不动,说明优化器可能陷入了平坦区域
上方的 Loss 图:在迭代次数超过 300 之后,Loss 基本变成了一条平直线,不再下降,也就是“训练卡住了”。
下方的 Gradient Norm 图:如果你看红圈圈出来的地方(对应 Loss 平坦的区间),梯度的范数(Norm of Gradient)并不小,它仍然在剧烈地上下震荡。
客制化learning-rate
第一个学习率持续下降
第二个习率先变大后变小
第一个是普通梯度下降,第二个是考虑gradient的大小和方向,
是考虑大小