深度神经网络原理 如何估算神经网络的最优学习率?
如何估算神经网络的最优学习率?
。
具体来说,目前主流的神经网络模型使用梯度下降算法进行训练,或学习参数。学习速率决定权重在梯度方向上成批移动的距离。理论上,学习率越高,神经网络的学习速度越快。但是,如果学习速率过高,可能会“穿越”损失函数的最小值,导致收敛失败。
上图左边是高学习率,右边是低学习率,来源:mikkel Duif(quora)
那么,如何找到最佳学习率?
方法。但是,这种方法的初始学习率(上例中为0.1)不应该太高。如果初始学习率太高,可能会“穿越”最优值。
另外,还有另外一种思路,就是逆向操作,从学习率很低开始,每批之后再提高学习率。例如,从0.00001到0.0001,再到0.001,再到0.01,再到0.1。这个想法背后的直觉是,如果我们总是以很低的学习率学习,我们总是可以学习到最好的权重(除非整个网络架构有问题),但它将非常缓慢。因此,从一个很低的学习率开始,我们可以肯定地观察到损失函数的下降。然后逐渐加大学习率,直到学习率过高,导致发散。该方法还避免了上述方法初始学习率过高,一次“穿越”最优值的隐患。这是Leslie n.Smith在2015年的论文《训练神经网络的循环学习率》中提出的方法。
深度神经网络原理 神经网络参数调整方法 深度神经网络是谁开发的
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。