自动调节学习率
- 在网络训练中不同的参数需要不同的学习率,如果对学习率不做任何调整可能在很大程度上都难以找到最优的解。如图所示
因此有了如下三种方法来调整学习率
1. Apagrad方法
在平的方向需要学习率大一些,走的快一点。在一些陡的方向需要Lr小一些。
越陡g越大,lr越小,走的越慢。
然而,在同参数同方向上有时也需要不同的学习率,如图所示。
为此提出了RMSProp的方法
2.
- 通过控制α的大小来动态的调整学习率,α越大学习率就越小,前进的距离就小,α越小前进的距离就越大。
3.Adam方法
Adam方法就是结合了 RMSprop 和 动量(Momentum)。
4.其他辅助方法
4.1 通过使学习率不断衰减
如不使用学习率衰减的方法,只使用Apagrad的方法,可能就会出现如上图所示的内容,当δ逐渐变小积累到一定程度就会发生振荡。
因此让学习率随时间的不断增加,让其值逐渐变小。
4.2 warm up
warm up的方法有用在 Resnet和transform等网络中。
5 总结
m:动量考虑方向正负号等。
δ:只考虑值的大小。