Adaptive learning rate
一、固定学习率存在的问题
很多时候训练陷入瓶颈,损失不再下降,不是因为陷入了局部最小值,大部分情况下是在局部最小值附近震荡(学习率太大),这个时候应该通过降低学习率的方式,从而能够继续往最小值方向下降。
这个例子说明了不同的参数的梯度变化可能会有显著不同,所以不应该对所有参数用同一个学习率。同时,在训练的不同阶段,学习率也可以有所不同,比如早期学习率可以更大,后期学习率可以变小。所以有了自适应学习率的概念。
二、自适应学习率
Root Mean Square
这种方法η是固定的,总体上在梯度小的地方,σ也比较小,对应的学习率步长比较大;梯度大的地方,σ比较大,学习率步长比较小。对应torch的Adagrad方法。
RMSProp
另一种动态学习率的方法。η同样是固定的,但σ受到当前梯度的影响是可以调节的,不像前面RMS那样受各个update的梯度影响相同。通过调节α,可以调节当前梯度对此次更新的影响,是RMS的改进版。
Learning Rate Scheduling
这种方法变化的是η,有decay和warmup两种变化形式。
三、 Adam:当前最常用的参数优化方法
Adam是RMSprop(步长)和动量Momentum(梯度)相结合的方法。