选自offconvex
作者:ZhiyuanLi等机器之心编译编辑:小舟、陈萍你的学习率的大小调合适了吗?
从事机器学习方面相关研究的人都了解,网络模型的最终性能少不了优化。其中损失函数扮演了非常重要的角色,而随机梯度下降算法(SGD)由于其良好的收敛性,常常被用来进行梯度更新。为了加快收敛速度,缩短训练时间,同时为了提高求解精度,采用随机梯度下降算法应该注意学习率(LearningRate,LR)等参数的调整。那么LR的大小对现代深度学习与传统优化分析的是怎样的呢?下面通过一篇论文进行解答。该论文就是《ReconcilingModernDeepLearningwithTraditionalOptimizationAnalyses:TheIntrinsicLearningRate》,指出了归一化网络与传统分析之间的不兼容性。在深入研究这些结果之前,先回顾一下权重衰减(又名ξ2正则化)训练归一化网络。则随机梯度下降(SGD)的第t次迭代为:λ表示权重衰减(WD)因子(或者?2-正则化系数),ηt表示学习率,Bt表示batch,?L(wt,Bt)表示batch梯度。在比较理想的假设下(即在随机初始化期间固定顶层不会影响最终准确度),用于训练此类归一化网络的损失函数尺度不变,这意味着L(wt;Bt)=L(cwt;Bt),?c0。尺度不变性的结果就是:对于任意c0,?wLw=w0=c?wL
w=cw0以及?2wL
w=w0=c2?2wL
w=cw0。传统观点(ConventionalWisdom,CW)CW1:当LR降至零时,优化动态收敛到一条确定的路径(梯度流),沿着该路径训练损失显著减小。回想一下,在解释传统(确定)梯度下降中,如果LR小于损失函数平滑度的倒数,那么每一步都会减少损失。SGD是随机的,在可能的路径上都有分布。但是,极小的LR可以看作是full-batch梯度下降(GD),它在无穷小的步长范围内接近梯度流(GF)。上述推理表明,极小的LR至少可以减少损失,那么更高的LR也可以。当然,在深度学习中,我们不仅