APP下载

康奈尔大学提出使用随机加权平均训练神经网络 提高网络泛化性能

消息来源:baojiabao.com 作者: 发布时间:2024-11-26

报价宝综合消息康奈尔大学提出使用随机加权平均训练神经网络 提高网络泛化性能

原文来源:arXiv

作者:Pavel Izmailov、Dmitrii Podoprikhin、Timur Garipov、Dmitry Vetrov、Andrew Gordon Wilson

“雷克世界”编译:嗯~是阿童木呀、EVA

一般来说,深度神经网络的训练通常是通过一个随机梯度下降(SGD)变体,再结合一个衰减的学习速率对一个损失函数进行优化,直到其收敛来进行的。我们指出,沿着SGD轨迹的多个点的简单平均,具有周期性或恒定的学习率,能比常规训练更好地进行泛化。我们还表明,这个随机加权平均(Stochastic Weight Averaging ,SWA)过程发现了比SGD更广泛的优化方法,并近似于近期使用单个模型进行的快速几何集成(Fast Geometric Ensembling ,FGE)方法。通过使用SWA,我们在传统SGD训练上的测试精确度取得了显著进步,而这个训练是在CIFAR-10、CIFAR-100和ImageNet上使用一系列最先进的残差网络(residual networks)、金字塔网络(PyramidNets)、密集网络(DenseNets)和ShakeShake网络进行的。总而言之,SWA非常容易实施,它改进了泛化,并且几乎没有计算开销。

通过对多层网络的损耗面有更好的了解,我们可以加快深度学习中训练过程的收敛性、稳定性和精确度。近期的研究(Garipov等人于2018年、Draxler等人于2018年提出)表明,SGD所发现的局部最优能通过近乎恒定损耗的简单曲线连接起来。基于这一见解,Garipov等人(于2018年)也开发了快速几何集成(Fast Geometric Ensembling ,FGE),以在权重空间中采样多个邻近点,从而在需要训练单个深度神将网络(DNN)的时候创造出高性能的集成效果。

在CIFAR-100上使用预激活ResNet-110的SWA和SGD说明。左图:三个FGE样本的测试误差曲面以及相应的SWA解(平均重量空间)。中间和右侧:测试误差和训练损失曲面,显示SGD(在收敛时)和SWA所提出的权重, 125个训练轮数后,从SGD的相同初始化开始。

FGE使用一个具有高频率循环学习率的SGD来选择网络进行集成。在图1(左)中我们可以看到,由FGE集成的网络的权重在最理想的解的外围。这一观察结果表明,它在权重空间而不是模型空间对这些点进行平均的效果更好。虽然维持由SGD遍历的权重的运行平均这个想法可以追溯到Ruppert(于1988年年提出),但是这个过程通常不会被用来训练神经网络。它有时被用作指数衰减的运行平均,与衰减的学习率(被称为指数平均数指标(exponential moving average))相结合应用,它使传统SGD的轨迹更为平滑,但它们表现得又不是完全不同。然而,我们指出,一个同样由SGD遍历的这些点的加权平均具有周期性或恒定的学习率,我们称之为随机加权平均(Stochastic Weight Averaging,SWA),具有许多令人惊讶的和有发展前景的特征足以用于训练深度神经网络,从而使它们的损耗面的几何形状能被更好地理解。实际上,具有周期性或恒定学习率的SWA可以作为一个替代元件,替代对多层网络的标准SGD训练——但是它改进了泛化,并且基本上没有开销。特别是:

?我们表明,具有周期性(Loshchilov和Hutter于2016年提出)或恒定学习率的SGD遍历了与高性能网络相一致的权重空间区域。我们发现,虽然这些模型围绕最优集移动,但它们始终没有达到它的中心点。我们指出,通过对SGD迭代的平均权重进行计算,我们可以进入这个更理想的点空间。

Top:作为迭代函数的周期性学习率。底部:在CIFAR-100上,使用预激活ResNet-110规划的循环学习速率,作为迭代函数的测试误差。圆圈表示对应于最小学习率的迭代。

?虽然FGE集成(Garipov等人于2018年提出)可以在同一时间内作为一个单个模型被训练,但是对k个模型集成的测试预测需要k倍的计算。我们证明,SWA可以被解释为FGE集成的近似值,但是它具有单个模型的测试时间、方便性和可解释性。

?我们证明,相较于SGD,SWA能够使所取得的解在本质上具有更宽泛的优化。凯斯卡尔等人(于2017)推测,最优宽度与泛化之间有着密切的关系。我们可举例说明,训练上的损失是相对于测试误差而进行移位的(图1,中间和右侧面板)。我们经过实验研究证明,SGD一般收敛于最优点的宽阔平坦区域边界附近的点。另一方面,SWA能够找到一个位于该地区中心的点,通常情况下,它的训练损失很不理想,但本质上在测试误差方面要好得多。

?SWA在若干个基准测试中对一系列广泛的架构所进行的训练取得了显著性的进步。特别是,在ImageNet上只需要运行SWA约10个轮数,我们就能够相较于ResNet-50和DenseNet-161提高约0.8%的性能,相较于ResNet-150提高0.6%的性能。并且,我们使用预激活ResNet-110、VGG-16和Wide ResNet-28-10,在CIFAR-100上的性能表现实现了超过1.3%的提升,而在CIFAR-10上的性能改进超过了0.4%。与此同时,我们也为Shake-Shak网络和金字塔网络上的性能表现实现了实质性的改善。

?SWA非常容易实现,并且与传统的训练方案相比,几乎没有计算开销。

在一个具有(顶部)周期性和(底部)恒定学习速率的轨迹,包含第一、中间和最后点(用黑色十字表示)的平面上,在CIFAR-100上使用预激活ResNet-110的L2-正则化的交叉熵训练损失(左)和测试误差(右)表面。

在本文中,我们已经提出了一个用于训练神经网络的随机加权平均(SWA)。SWA非常易于实施,且架构独立,并且相较于传统的训练,它几乎不需要任何附加的成本就可以提高泛化性能。

从长远来看,未来的研究有很多令人兴奋的方向。由于算法所遍历的权重几何形状的存在,SWA并不要求每个权重的平均值对应一个好的解。因此,有可能开发一个SWA,使其能够较之标准SGD更快地进行收敛。人们也可以将SWA与大批量大小结合起来,同时保持泛化性能,因为SWA发现了比传统SGD训练更为宽泛的最优化。除此之外,循环学习率使SWA能够探索神经网络权重中具有较高后验密度(posterior density)的区域。这样的学习速率可以结合随机马尔科夫链蒙特卡罗(MCMC)方法一起开发,以鼓励在提供高质量样本的同时进行进一步的探索。也可以使用Garipov等人(于2018]年)发现的高精度曲线来开发SWA以对整个具有优良解的区域进行平均。

总而言之,对多层网络的损耗表面进行更好的了解将有助于持续释放这些丰富模型所存在的潜力。我们希望SWA能够激励这一领域进行进一步的发展。





2018-03-24 17:34:00

相关文章