【SGD过程中的噪声如何帮助避免局部极小值和鞍点?】引理2:令v∈R^n为一个均值为0并且协方差为D的随机向量 。那么,E[||v||^2]=Tr(D) 。
通过使用这一条引理以及马尔可夫不等式,我们可以看到,当Hessian具有大曲率时,更大扰动的可能性越高 。我们还可以考虑一个在局部最小值x?周围的「稳定半径」:对于给定的?∈(0,1),存在一些r(x?)>0,使得如果我们的起点x_0满足||x_0?x?||<r(x?),第t次迭代满足||x_t?x?||<r(对于所有的t≥0)的概率至少为1?? 。在这种情况下,我们可以说x?是在半径r(x?)内随机稳定的 。将这种稳定性的概念与我们之前的非正式论证结合起来,我们得到以下结论:
定理1:一个严格的局部最小值x?的稳定性半径r(x?)与?^2f(x?)的谱半径成反比 。
让我们把这个结论和我们所知道的Fisher信息结合起来 。如果在随机梯度下降的动态下,平坦极小值更加稳定,这就意味着随机梯度下降隐式地提供了一种正则化的形式 。它通过注入各项异性的噪声使我们摆脱了Fisher-Rao范数所带来的不利泛化条件 。
深度学习的启示:Hessian矩阵的退化和「widevalleys」
在深度学习中,一个有趣的现象是过度参数化 。我们经常有比做示例运算时更多的参数(d>>N) 。这时,D(x)是高度退化的,即它有许多零(或者接近零)的特征值 。这意味着损失函数在很多方向上都是局部不变的 。这为这些网络描绘了一个有趣的优化解空间中的场景:随机梯度下降大部分时间都在穿越很宽的「峡谷」(widevalleys) 。噪声沿着几个有大曲率的方向传播,这抵消了g_N朝着这个「峡谷」的底部(损失表面的最小值)推进的趋势 。
当前关注点:批量大小、学习率、泛化性能下降
由于我们在将n(x)加到梯度之前,按照1/√m的因子将其进行缩放,因此增加了批处理的规模,降低了小批量估计的整体方差 。这是一个值得解决的问题,因为大的批量尺寸可以使模型训练得更快 。它在两个重要的方面使得训练更快:训练误差在更少的梯度更新中易于收敛,并且大的批量尺寸使得我们能利用大规模数据并行的优势 。但是,不使用任何技巧就增大批量尺寸会导致测试误差增大 。这个现象被称为泛化能力下降(generalizationgap),并且目前还存在一些为什么会出现这种情况的假说 。一个流行的解释是,我们的「探索性噪声」不再有足够的力量将我们推出一个尖锐最小值的吸引域 。一种解决办法是简单地提高学习率,以增加这种噪声的贡献 。这种缩放规则非常成功(https://arxiv.org/abs/1706.02677) 。
长期关注点:逃离鞍点
虽然泛化能力下降「generalizationgap」最近已经成为了一个热门话题,但之前仍有很多工作研究鞍点的影响 。虽然不会渐进收敛到鞍点(http://noahgolmant.com/avoiding-saddle-points.html),我们仍然可能附近停留相当长的一段时间(https://arxiv.org/abs/1705.10412) 。而且尽管大的批量尺寸似乎会更易于产生更尖锐的最小值,但真正大的批量尺寸会将我们引导到确定的轨迹上,这个轨迹被固定在鞍点附近 。一项研究(https://arxiv.org/abs/1503.02101)表明,注入足够大的各项同性噪声可以帮助我们逃离鞍点 。我敢打赌,如果噪声有足够的「放大」能力,小批量的随机梯度下降(mini-batchSGD)会在造成训练困难的维度上提供足够的噪声,并且帮助我们逃离它们 。
一旦我们解决了「尖锐的最小值」的问题,鞍点可能是下一个大规模优化的主要障碍 。例如,我在CIFAR-10数据集上用普通的随机梯度下降算法训练了ResNet34 。当我将批量尺寸增大到4096时,泛化能力下降的现象出现了 。在这一点之后(我最高测试了大小为32K的批量尺寸,有50K个训练样本),性能显著降低:训练误差和测试误差都仅仅在少数几个epoch中比较平稳,并且网络无法收敛到一个有效解上 。以下是这些结果的初步学习曲线(即看起来比较丑、还有待改进):
- 《雍正王朝》中的太后乌雅氏,为何有人给她定性为“泼妇”?
- 杨天真是哪部电视剧中的人物
- 有人说,妻子就是家中的“风水”,你认同这句话吗?为什么?
- 有人说在茫茫宇宙中的地球上人类很渺小,可以忽略不计,地球不需要人类的保护。你咋看?
- 心理疾病进行自我治疗的过程算不算禅定?
- 什么是必需氨基酸和非必需氨基酸
- 爱情进展与跑步相反
- 美女爱戴 诱惑中的减肥秘方
- 针灸减肥过程要注意些什么?
- 减肥茶中的中药有什么功效
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
