本文来源于机器之心网站,内容有编辑
众所周知,过参数化的深度神经网络(DNN)是一类表达能力极强的函数,它们甚至可以以 100% 的训练准确率记住随机数据。这种现象就提出了一个问题:为什么它们不会轻易地过度拟合真实数据?
在回答这个问题之前,我们来首先了解一下过度拟合的本质。
1 深度学习涵盖的问题
过去几年来,深度学习在许多机器学习应用领域都取得了极大的成功。然而,我们对深度学习的理论理解以及开发原理的改进能力上都有所落后。如今对深度学习令人满意的理论描述正在形成。这涵盖以下问题:
(1)深度网络的表征能力;
(2)经验风险的优化;
(3)泛化——当网络过参数化(overparametrized)时,即使缺失显性的正则化,为什么期望误差没有增加?
本文解决了第三个问题,也就是非过拟合难题,这在最近的多篇论文中都有提到。论文 [1] 和 [7] 展示了线性网络的泛化特性可被扩展到 DNN 中从而解决该难题,这两篇论文中的泛化即用梯度下降训练的带有特定指数损失的线性网络收敛到最大间隔解,提供隐性的正则化。本论文还展示了同样的理论可以预测经验风险的不同零最小值(zero minimizer)的泛化。
2 过拟合难题
经典的学习理论将学习系统的泛化行为描述为训练样本数 n 的函数。从这个角度看,DNN 的行为和期望一致:更多训练数据带来更小的测试误差,如图 1a 所示。该学习曲线的其他方面似乎不够直观,但也很容易解释。例如即使在训练误差为零时,测试误差也会随着 n 的增加而减小(正如 [1] 中所指出的那样,因为被报告的是分类误差,而不是训练过程中被最小化的风险,如交叉熵)。看起来 DNN 展示出了泛化能力,从技术角度上可定义为:随着 n → ∞,训练误差收敛至期望误差。图 1 表明对于正常和随机标签,模型随 n 的增加的泛化能力变化。这与之前研究的结果一致(如 [8]),与 [9] 的稳定性结果尤其一致。注意泛化的这一特性并不寻常:很多算法(如 K 最近邻算法)并不具备该保证。
图 1:不同数量训练样本下的泛化。(a)在 CIFAR 数据集上的泛化误差。(b)在随机标签的 CIFAR 数据集上的泛化误差。该深度神经网络是通过最小化交叉熵损失训练的,并且是一个 5 层卷积网络(即没有池化),每个隐藏层有 16 个通道。ReLU 被用做层之间的非线性函数。最终的架构有大约 1 万个参数。图中每一个点使用批大小为 100 的 SGD 并训练 70 个 epoch 而得出,训练过程没有使用数据增强和正则化。
泛化的这一特性虽然重要,但在这里也只是学术上很重要。现在深度网络典型的过参数化真正难题(即本论文的重点)是在缺乏正则化的情况下出现明显缺乏过拟合的现象。从随机标注数据中获得零训练误差的同样网络(图 1b)很显然展示出了大容量,但并未展示出在不改变多层架构的情况下,每一层神经元数量增加时期望误差会有所增加(图 2a)。具体来说,当参数数量增加并超过训练集大小时,未经正则化的分类误差在测试集上的结果并未变差。
图 2:在 CIFAR-10 中的期望误差,横轴为神经元数量。该 DNN 与图 1 中的 DNN 一样。(a)期望误差与参数数量增加之间的相关性。(b)交叉熵风险与参数数量增加之间的相关性。期望风险中出现部分「过拟合」,尽管该指数损失函数的特点略微有些夸大。该过拟合很小,因为 SGD 收敛至每一层具备最小弗罗贝尼乌斯范数(Frobenius norm)的网络。因此,当参数数量增加时,这里的期望分类误差不会增加,因为分类误差比损失具备更强的鲁棒性(见附录 9)。
3 深度网络的非线性动态
3.1 主要问题
把所有引理合在一起,就得到了
定理 3:给定一个指数损失函数和非线性分割的训练数据,即对于训练集中的所有 x_n,∃f(W; x_n) 服从 y_n*f(W; x_n) > 0,获得零分类误差。以下特性展示了渐近平衡(asymptotic equilibrium):
GD 引入的梯度流从拓扑学角度来看等于线性化流;
解是每一层权重矩阵的局部极小弗罗贝尼乌斯范数解。
在平方损失的情况下分析结果相同,但是由于线性化动态只在零初始条件下收敛至极小范数,因此该定理的最终表述「解是局部极小范数解」仅适用于线性网络,如核机器,而不适用于深度网络。因此在非线性的情况下,平方损失和指数损失之间的差别变得非常显著。对其原因的直观理解见图 3。对于全局零最小值附近的深度网络,平方损失的「地形图」通常有很多零特征值,且在很多方向上是平坦的。但是,对于交叉熵和其他指数损失而言,经验误差山谷有一个很小的向下的坡度,在||w||无限大时趋近于零(详见图 3)。
在补充材料中,研究者展示了通过惩罚项 λ 写出 W_k = ρ_k*V_k,并使 ||V_k||^2 = 1,来考虑相关动态,从而展示初始条件的独立性以及早停和正则化的等效性。
图 3:具备参数 w_1 和 w_2 的平方损失函数(左)。极小值具备一个退化 Hessian(特征值为零)。如文中所述,它表示在零最小值的小近邻区域的「一般」情况,零最小值具备很多零特征值,和针对非线性多层网络的 Hessian 的一些正特征值。收敛处的全局最小值附近的交叉熵风险图示如右图所示。随着||w|| → ∞,山谷坡度稍微向下。在多层网络中,损失函数可能表面是分形的,具备很多退化全局最小值,每个都类似于这里展示的两个最小值的多维度版本。
3.2 为什么分类比较不容易过拟合
由于这个解是线性化系统的极小范数解,因此我们期望,对于低噪声数据集,与交叉熵最小化相关的分类误差中几乎很少或没有过拟合。注意:交叉熵作为损失函数的情况中,梯度下降在线性分离数据上可收敛至局部极大间隔解(local max-margin solution),起点可以是任意点(原因是非零斜率,如图 3 所示)。因此,对于期望分类误差,过拟合可能根本就不会发生,如图 2 所示。通常相关损失中的过拟合很小,至少在几乎无噪声的数据情况下是这样,因为该解是局部极大间隔解,即围绕极小值的线性化系统的伪逆。近期结果(Corollary 2.1 in [10])证明具备 RELU 激活函数的深度网络的 hinge-loss 的梯度最小值具备大的间隔,前提是数据是可分离的。这个结果与研究者将 [1] 中针对指数损失的结果扩展至非线性网络的结果一致。注意:目前本论文研究者没有对期望误差的性质做出任何声明。不同的零最小值可能具备不同的期望误差,尽管通常这在 SGD 的类似初始化场景中很少出现。本文研究者在另一篇论文中讨论了本文提出的方法或许可以预测与每个经验最小值相关的期望误差。
总之,本研究结果表明多层深度网络的行为在分类中类似于线性模型。更准确来说,在分类任务中,通过最小化指数损失,可确保全局最小值具备局部极大间隔。因此动态系统理论为非过拟合的核心问题提供了合理的解释,如图 2 所示。主要结果是:接近经验损失的零极小值,非线性流的解继承线性化流的极小范数特性,因为这些流拓扑共轭。损失中的过拟合可以通过正则化来显性(如通过权重衰减)或隐性(通过早停)地控制。分类误差中的过拟合可以被避免,这要取决于数据集类型,其中渐近解是与特定极小值相关的极大间隔解(对于交叉熵损失来说)。
4 实验
图 4:使用平方损失在特征空间中对线性网络进行训练和测试(即 y = WΦ(X)),退化 Hessian 如图 3 所示。目标函数是一个 sine 函数 f(x) = sin(2πfx),在区间 [−1, 1] 上 frequency f = 4。训练数据点有 9 个,而测试数据点的数量是 100。第一对图中,特征矩阵 φ(X) 是多项式的,degree 为 39。第一对图中的数据点根据 Chebyshev 节点机制进行采样,以加速训练,使训练误差达到零。训练使用完整梯度下降进行,步长 0.2,进行了 10, 000, 000 次迭代。每 120, 000 次迭代后权重受到一定的扰动,每一次扰动后梯度下降被允许收敛至零训练误差(机器准确率的最高点)。通过使用均值 0 和标准差 0.45 增加高斯噪声,进而扰动权重。在第 5, 000, 000 次迭代时扰动停止。第二张图展示了权重的 L_2 范数。注意训练重复了 29 次,图中报告了平均训练和测试误差,以及权重的平均范数。第二对图中,特征矩阵 φ(X) 是多项式的,degree 为 30。训练使用完整梯度下降进行,步长 0.2,进行了 250, 000 次迭代。第四张图展示了权重的 L_2 范数。注意:训练重复了 30 次,图中报告了平均训练和测试误差,以及权重的平均范数。该实验中权重没有遭到扰动。
5 解决过拟合难题
本研究的分析结果显示深度网络与线性模型类似,尽管它们可能过拟合期望风险,但不经常过拟合低噪声数据集的分类误差。这遵循线性网络梯度下降的特性,即风险的隐性正则化和对应的分类间隔最大化。在深度网络的实际应用中,通常会添加显性正则化(如权重衰减)和其他正则化技术(如虚拟算例),而且这通常是有益的,虽然并非必要,尤其是在分类任务中。
如前所述,平方损失与指数损失不同。在平方损失情况中,具备任意小的 λ 的正则化(没有噪声的情况下)保留梯度系统的双曲率,以收敛至解。但是,解的范数依赖于轨迹,且无法确保一定会是线性化引入的参数中的局部极小范数解(在非线性网络中)。在没有正则化的情况下,可确保线性网络(而不是深度非线性网络)收敛至极小范数解。在指数损失线性网络和非线性网络的情况下,可获得双曲梯度流。因此可确保该解是不依赖初始条件的极大间隔解。对于线性网络(包括核机器),存在一个极大间隔解。在深度非线性网络中,存在多个极大间隔解,每个对应一个全局最小值。在某种程度上来说,本研究的分析结果显示了正则化主要提供了动态系统的双曲率。在条件良好的线性系统中,即使 λ → 0,这种结果也是对的,因此内插核机器的通用情况是在无噪声数据情况下无需正则化(即条件数依赖于 x 数据的分割,因此 y 标签与噪声无关,详见 [19])。在深度网络中,也会出现这种情况,不过只适用于指数损失,而非平方损失。
结论就是深度学习没什么神奇,在泛化方面深度学习需要的理论与经典线性网络没什么不同,泛化本身指收敛至期望误差,尤其是在过参数化时出现了过拟合缺失的情况。本研究分析通过将线性网络的特性(如 [1] 强调的那些)应用到深度网络,解释了深度网络泛化方面的难题,即不会过拟合期望分类误差。
下面回到我们最开始提出的问题,为了回答这个问题——为什么深度神经网络不会轻易地过度拟合真实数据?,我们使用傅立叶分析研究了深度神经网络。我们证明了具有有限权重(或者经过有限步训练)的深度神经网络天然地偏向于在输入空间上表示光滑的函数。具体而言,深度 ReLU 网络函数的一个特定频率分量(k)的大小至少以 O(k^(-2))的速率衰减,网络的宽度和深度分别以多项式和指数级别帮助网络对更高的频率建模。这就说明了为什么深度神经网络不能完全记住 delta 型的峰函数。我们的研究还表明深度神经网络可以利用低维数据流形的几何结构来用简单的函数逼近输入空间中存在于简单函数流形上的复杂函数。结果表明,被网络分类为属于某个类的所有样本(包括对抗性样本)都可以通过一条路径连接起来,这样沿着该路径上的网络预测结果就不会改变。最后,我们发现对应于高频分量的深度神经网络(DNN)参数在参数空间中所占的体积较小。
如今,人们已经做出了许多关于深度神经网络表达能力的理论研究(Hornik et al., 1989; Cybenko, 1989; Montufar et al., 2014; Poole et al., 2016)。最近的研究表明,深度神经网络(DNN)实际上能够以 100% 的训练准确率记忆随机数据,这表明它们在过参数化的机制中确实有很强的表达能力(Zhang et al., 2017)。这大大激发了人们对深度学习的另一个领域(泛化理论)进行研究的兴趣,从而理解为什么实际上的表现如此优秀,因为能够记住随机数据的过参数化的神经网络会使传统的泛化边界(例如,VC 维、Rademacher 复杂度等)变得无意义。在这些研究中,一个路线将目光投向了研究深度神经网络(DNN)泛化问题的新方法(Neyshabur et al., 2015, 2017; Dziugaite and Roy, 2017);另一个路线则研究基于随机梯度下降(SGD)的方法如何在寻找最小值的问题中作为隐式正则项提升泛化能力(Mandt et al., 2017; Chaudhari and Soatto, 2017; Jastrz˛ebski et al., 2017; Smith and Le, 2017)。
基于这些研究,研究者注意到过参数化的深度神经网络(DNN)在训练过程中优先学习简单(或光滑)的函数,从而捕获到数据中出现的全局性结构而不是过度拟合单个样本(Arpit et al., 2017; Advani and Saxe, 2017)。有趣的是,这种现象已经被证明无论是在真实数据或是随机生成的数据上都是成立的(Arpit et al., 2017)。因此,尽管这样的深度神经网络(DNN)是过参数化的并且具有很强的表达能力,它们似乎更偏向于拟合光滑函数。这也暗示着表征这些函数的参数空间的容量很大。在本文中,研究者使用傅立叶分析来展示深度神经网络(DNN)天然地就偏向于拟合光滑函数,而不是研究泛化问题或深度神经网络优化方法的行为。据作者所知,这是首次使用傅立叶分析研究深度神经网络的工作。本文的贡献如下:
1、展示了对于参数 θ 的任意有限值来说,深度神经网络(DNN)的 ReLU 函数的一个特定的频率分量(k)的量级至少以 O(1/k^2 ) 的速率衰减,并且网络的宽度和深度分别以多项式和指数的级别帮助其捕获更高的频率;因此,高频分量的大小会更小(DNN 更容易趋向于光滑)。其结果是,对深度神经网络(DNN)进行有限步训练使其更趋向于表示如上面所描述的函数。
2、作为这一理论的附带结果,研究者揭示了(有限权重)深度神经网络在学习类似狄拉克 delta 函数(单位脉冲函数)峰函数的理论极限。这是因为它的傅立叶变换的量级是一个常值函数(因此所有的频率都有相同的振幅)。并且如上文中所讨论的,深度神经网络(DNN)无法学习对这样的函数建模,因为它们的傅立叶系数必须至少以 1/k^2 的速率衰减(尽管增加宽度和深度可以分别以多项式级和指数级别帮助其捕获更高的频率)。
3、研究者指出,如果在低维流形上定义数据-目标函数的映射,深度神经网络(DNN)可以利用流形的几何结构来对函数取近似,这些函数沿着流形(其函数的频率分量相对于其输入空间较低)具有高频分量。
4、通过分析实验表明,对于一个在 CIFAR-10 数据集上训练的深度神经网络(DNN)来说,存在几乎线性的路径能够连接所有的对抗性样本,它们被分类成一个特定的类(比如「猫」)。对于所有真正类别为「猫」的训练样本,所有的样本也沿着这条路径被分类成同一个类别——「猫」。研究者进一步展示了对于在 CIFAR-10 数据集上训练的深度神经网络(DNN)来说,所有同一个类别中的训练样本也通过同样的方式连接起来。
5、实验表明,与带有高频分量的函数相对应的深度神经网络(DNN)在参数空间中所占的体积更小。
图 2:展示训练期间(y 轴)频谱演变(x 轴)的热图。颜色代表测量出的在相应的频率上网络频谱的幅值,其值用相同的频率的目标幅值进行了归一化操作。此图说明,尽管更高频率的训练数据具有 g 的振幅,深度神经网络仍然优先训练低频数据。
图 3: 一个深度为 D、宽度为 W,权重修剪 K=0.1 的网络被训练去预测一个 delta 峰(所有频率的振幅都相同)。在图(a)和图(b)中,y 轴对应于不断增加的训练迭代次数(向上递增),x 轴则代表频域(右图)和输入域(左图)。更亮的颜色表示数值更大。此图说明,根据理论所阐述的,宽度和深度分别以多项式和指数级帮助网络捕获高频分量。这一点在输入域和频域上都可以看出来(注:64^4=8^8)。更多的图片请参见附录(图 11)。
图 5: 在图 3 中所使用的 delta 峰数据集上,一个深度为 D 层、宽度为 W 个单元的网络的所有权重的谱范数(y 轴)与训练过程中迭代次数(x 轴)的关系图。
对于矩阵值权重,它们的谱范数是通过估计由 10 次幂迭代得到的特征向量的特征值计算而来。对于向量值权重,则仅使用了 L2 范数。此图说明,随着神经网络通过学习去拟合更大的频率,神经网络权值的谱范数也增大,从而松弛频谱的边界
图 6: 在图(a)和图(b)中,左图:L=0 瓣(虚线圆);右图:L=20 瓣(由 20 瓣组成的虚线花)定义了数据的流形。
对于这两个流形,我们沿着流形定义了一个频率为 k Hz 的正弦信号,并将它二值化,得到一个 0/1 的目标(点的颜色)。对于每种情况,研究者训练了一个 6 层深的 ReLU 网络,将数据样本从流形映射到它相应的目标上。填充的颜色表示预测出的类,等高线表示该网络经过 sigmoid 函数处理的对数 logits 的绝对值。此图说明,对应较大的 L 的流形,即使在两种流形沿着流形的目标频率相同时,也能使深度神经网络在其域空间学习到更光滑的函数。可以看到,网络会学习利用 L 值较大的流形的几何结构去学习关于其输入空间的低频函数。这个结论在另一个实验中得到了证实。
图 8: 用于预测定义在一个 L 瓣的流形(y 轴)上的给定频率(x 轴)的二值化正弦波的训练分类准确率的热图。此图说明,如果目标信号的频率较低或数据定义在一个具有更大的 L 的流形上,固定大小的网络的准确率越高。后者的结果表明,随着流形中瓣数的增加,在一个流形上学习一个高频目标就变得更容易。
图 9: 每一行都展示了图像空间中的一条路径,从右至左显示了从对抗性样本变为一个真实训练图像的过程。
所有的图像都被一个 ResNet-20 以不少于 95% 的 softmax 概率分类为右侧所示的训练样本的类别。本实验表明,我们可以找到一条路径,分类为某一个特定类别(「飞机」)的对抗性样本(右侧,例如「猫」)与真实的训练样本类别(左侧,「飞机」)相连,这样以来沿着这条路径的左右样本都会被网络预测为同一个类别(「猫」)。