自动调节学习率

  • 在网络训练中不同的参数需要不同的学习率,如果对学习率不做任何调整可能在很大程度上都难以找到最优的解。如图所示
    在这里插入图片描述
    因此有了如下三种方法来调整学习率

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:动量考虑方向正负号等。
δ:只考虑值的大小。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐