所有文章 > 正文

斯坦福马超:随机梯度下降,也爱躺「平」……why?

作者: 王惠远,北京大学

时间: 2021-07-22 10:48


报告:马  超,斯坦福大学助理教授

撰文:王惠远,北京大学


【专栏:前沿进展】利用「随机梯度下降法」训练神经网络,取得了巨大的成功,但其背后机制和原理仍是一个无法理解的难题。 最近,人们发现随机梯度下降会偏好较为「平坦的极小值」(flat minima),而经验上来讲「平坦的极小值」有较好的泛化能力,其中平坦性是指经验风险函数关于参数的二阶偏导数的特征值之和。


平坦极小值


那么为什么随机梯度下降会收敛到「平坦的极小值」?「平坦的极小值」为什么会有好的泛化性能? 斯坦福大学助理教授马超,针对上述两个问题,分别采用线性稳定理论(Linear Stability Theory)和乘法结构(The Multiplicative Structure)两个工具,做了细致分析。



01 为什么有好的泛化性能?


针对第二个问题,「平坦极小值」为什么会有较好的泛化表现? 简单的回答是:平坦性对于模型函数有一个正则化的效应。 神经网络具有一个明显的结构,即乘法结构,如下图所示:

针对这个乘法结构,我们分别对样本以及第一层的参数进行求导。经过对比两个偏导数的范数。 我们可以发现,神经网络对样本的偏导数的范数,小于等于,一个因子乘以神经网络对第一层参数的偏导数的范数。 

利用这个乘法结构,在神经网络可以插值数据集的假定下,我们可以用神经网络关于参数 梯度的范数平方的平均值来控制平坦度。

而神经网络关于样本的范数平方的平均数可以与神经网络在训练集上的(1,2)-Soblev半范数建立起联系。 可以想象,由于存在着乘法结构,如果对参数做一个微小的扰动不会引起神经网络输出的巨大变化,那么对样本做一个微小的扰动同样也不会对输出造成太大的变化。 可以把这个想法抽象成一个局部光滑性的假设。 在这个假设下,我们可以把定义在训练集上的Soblev半范数,推广到训练样本的小邻域的并上的半范数。由此我们可以得知对平坦的极小值的偏好会隐式地降低神经网络的Soblev半范数,故而提高泛化性能。


02 为什么会收敛到「平坦的极小值」?

图中不等式右边的式子看上去十分复杂,但是实际上我们可以把它和随机梯度下降的k阶线性稳定性联系在一起。

由于神经网络是高度非凸的,为了方便研究,我们可以在随机梯度下降法收敛到的参数附近对随机梯度的更新进行线性近似。

线性化随机梯度下降可以帮助我们更容易地分析它的稳定性。

经过适当地选取学习率和批量大小(batchsize),如果随机梯度下降法是线性稳定的,我们可以用学习率和批量大小这些超参数的函数,来控制局部极小值的平坦度,进一步控制神经网络的Soblev半范数。 那么我们可以得出一个观点:随机梯度下降可以隐式地正则化神经网络关于参数的梯度的二范,而正则化后者就是在正则化神经网络的Soblev半范数。 在假设样本独立同分布地抽样于某一个分布时,我们可以根据随机梯度下降的输出的泛化性能得到理论保证。

当局部光滑假设的半径是样本量的负 k 分之一的小量时,上述关于泛化误差的上界是有意义的。 上述不等式左边由三部分组成: 第一部分是主要的一项,代表着与Soblev半范数有关的误差,随机梯度下降法控制了Soblev半范数才能得到这个收敛速度,不然这一项就是平凡的; 第二项是由真实函数的梯度的范数引起的; 第三部分实际上是一个小概率事件,即是样本没有落在训练集的邻域内的概率。 既然随机梯度下降法得到的解,在插值的情况下(即是训练误差为零)也能有不错的泛化能力。于是我们自然可以得到它的解,抵抗人为的对抗性攻击(adversarial attack)。

对抗鲁棒性结果是泛化能力的一个十分自然的推论。


03 总结

斯坦福大学助理教授马超认为,随机梯度下降具有的隐式正则性。 通过利用神经网络具有的乘法结构,当参数可以插值训练集时,两层神经网络的Soblev半范数可以被参数的平坦性来控制。 而具有线性稳定性的随机梯度下降则会偏好于更加平坦的极小值。 通过建立一个随机梯度下降法的如学习率和批量大小等超参数和解的平坦性的关系,我们可以建立一个基于算法的泛化误差的上界。 同时,马超还证明,在他的框架下随机梯度下降虽然假设了插值训练集,但仍是对抗鲁棒的。 总结来讲,随机梯度下降会更倾向于选择平坦的极小值,而平坦的极小值会有更好的泛化能力。至于更加深层的神经网络和非插值的情形,可以留作将来研究。

二维码 扫码微信阅读
推荐阅读 更多