Lookahead
1 Introduction
想要在神经网络中获得更好的性能,往往需要代价高昂的超参数调节。
使用lookahead 可以改进内部优化器的收敛性,并经常提高泛化性能,同时对超参数变化鲁棒性很好,实验证明,lookahead对内循环优化器的变化,快速权值更新的次数和慢的权重学习速率具有很强的鲁棒性。
2 Method
lookahead维护了一组slow weights φ和fast weights θ,它们与快速weights每k次更新同步。在样本D中采样,fast weights通过在batches of 采样的样本上应用算法A(任何标准优化算法)进行更新。在使用A更新k个内部优化器后,通过在权重空间中进行线性插值,将slow weights更新到fast weights,我们将slow weights学习率表示为α,每次慢速权值更新后,快速权重被重置为当前的慢速权重值。
标准优化方法通常需要仔细调整学习速率,以防止震荡和缓慢收敛,这在随机环境中更为重要。然而,lookahead会从内循环中国较大的学习率中得到好处。在高曲率方向震荡时,fast weights更新沿低曲率方向快速推进,同构参数插值,slow weight 有助于平滑震荡,fast weight 和 slow weight的结合改进了高曲率方向的学习,减少了方差,并使lookahead在实践中能够快速收敛。
图1中,当fast weight在最小值附近探索时,slow weights更新会将lookahead推向提高测试精度的领域,这是SGD在20次更新后仍未到达的区域。
Slow weights trajectory
我们可以将slow weights的轨迹描述为每个inner-loop最终的fast weights的exponential moving average,不管inner 优化器是什么,在k个内环步骤之后,有:
直观的说,slow weights充分利用了最近提出的快速权值优化方法,但保持了原有快速权值的一些影响。
Fast weights trajectory
在每个inner-loop中,fast weights取决于底层优化器的选择,给出了一个引入目标函数L的优化算法和当前的mini-batch训练实例d,fast weights的更新规则:
我们可以选择保持、插值或者重置内部优化器的内部状态(例如动量)。每种选择都提高了内部优化器的收敛性。
计算cost是内部优化器的倍。
2.1 Selecting the Slow Weights Step Size
(θt,k − θt,0)方向上的步长由α控制,这里给出一种选择α的原则方法。
Proposition 1 .对于二次损失函数
步长α*由以下方法给出(使两点 θt,0 和 θt,k 的损失最小化):
其中e θ∗ = A−1b使损失最小化。