深度神经网络是否显著过拟合?

-翻译自Are Deep Neural Networks Dramatically Overfitted?

如果你像我一样,带着传统机器学习的经验进入深度学习领域,你可能经常思考这个问题:由于典型的深度神经网络有如此多的参数并且训练误差很容易被完善,它肯定会遭受严重的过度拟合。那么深度学习模型如何在训练样本之外的数据上进行泛化?

在努力理解为什么深度神经网络能够以某种方式泛化的过程中,我想起了这篇关于系统生物学的有趣论文 - “生物学家可以修理收音机吗?”(Lazebnik,2002)。 如果一位生物学家想要像她在生物系统上工作一样修理一台无线电机器,那么生活可能会很艰难。 由于无法揭示无线电系统的完整工作机制,因此寻找小的局部功能可能会给出一些提示,但却很难呈现出系统内的所有交互,更不用说整个工作流程了。无论你认为它与DL有关,它都是一个非常有趣的阅读。

我想讨论一些关于深度学习模型的泛化性和复杂性度量的论文。 希望它可以阐明您的思路,以了解为什么DNN可以泛化。

1 压缩与模型选择的经典定理

1.1 奥卡姆剃刀(Occam’s Razor)

奥卡姆剃刀是一个非正式的解决问题的原则,由William of Ockham在14世纪提出:

“Simpler solutions are more likely to be correct than complex ones.”
PS:我们一般将这个原理称为“如无必要,勿增实体”,即“简单有效原理”。

当我们面对多个潜在的候选理论来解释世界并且必须选择一个时,这个原理是非常强大的。 对于一个问题来说,太多不必要的假设似乎是合理的,但更难以推广到其他复杂的问题上或最终通往宇宙的基本原则。

想到这一点,人们花了数百年的时间才发现白天的天空是蓝色的,但日落时的红色是因为同样的原因(瑞利散射),尽管两种现象看起来非常不同。 人们必须分别为他们提出许多其他解释,但统一和简单的版本最终获胜。

1.2 最小描述长度原则(Minimum Description Length principle)

奥卡姆剃刀的原理可以类似地应用于机器学习模型。这种概念的形式化版本称为最小描述长度(MDL)原则,用于比较给定数据的竞争模式/解释。

“Comprehension is compression.”
PS:其想法是,在给予假说的集合的情况下,能产生最多资料压缩效果的那个假说是最好的。

MDL的基本思想是将学习视为数据压缩。通过压缩数据,我们需要发现具有高潜力的数据中的规律性或模式,以推广到看不见的样本。信息瓶颈理论认为,深度神经网络训练时首先通过最小化泛化误差来表示数据,然后通过修剪噪声来学习压缩这种表示。

同时,MDL将模型描述视为压缩传递的一部分,因此模型不能任意大。

MDL原则的两部分版本表明:设H^{(1)}H^{(2)},...是可以解释数据集D的模型列表。其中最好的假设应该是最小化总和的假设:

H^{best}=\arg\min \limits_{H}[L(H)+L(D|H)]

  • L(H) 是以比特表示的模型H的长度。
  • L(D|H) 是用H编码时数据D的描述长度

简单来说,最好的模型是包含编码数据和模型本身的最小模型。按照这个标准,我在本节开头提出的记忆方法听起来很糟糕,无论它在训练数据上的准确度如何。

人们可能认为奥卡姆的剃刀是错误的,由于现实世界可能是任意复杂的,为什么我们必须找到简单的模型?关于MDL的一个有趣的观点是将模型视为“语言”而不是基本的生成定理。我们希望找到良好的压缩策略来描述一小组样本中的规律性,并且它们不一定是用于解释该现象的“真实”生成模型。模型可能是错误的但却仍然有用(即,考虑任何贝叶斯先验)。

1.3 柯氏复杂性(Kolmogorov Complexity)

柯氏复杂性依赖于通过现代计算机的概念来定义对象的算法(描述性)复杂性:它是描述对象的最短二进制计算机程序的长度。在MDL之后,计算机本质上是最通用的数据解压缩器形式。

柯氏复杂性的正式定义指出:给定通用计算机U和程序p,让我们将U(p)表示为计算机处理程序后的输出,将L(p)表示为程序的描述长度。 然后,通用计算机U对字符串s的柯氏复杂性K_U是:

K_U(s)=\min \limits_{p:U(p)=s}L(p)

请注意,通用计算机可以模仿任何其他计算机的操作。所有现代计算机都是通用的,因为它们都可以简化为图灵机。无论我们使用哪台计算机,这个定义都是通用的,因为另一台通用计算机总是可以通过编程来克隆U的行为,而编码这个克隆程序只是一个常量。

柯氏复杂性与香农信息论之间存在很多联系,因为两者都与通用编码有关。令人惊讶的是,随机变量的预期柯氏复杂度近似等于其香农熵(参见报告的第2.3节)。关于这个主题的更多内容超出了这里的范围,但在线有许多有趣的读物。 帮助自己:)

1.4 Solomonoff的归纳推理理论(Solomonoff’s Inference Theory)

奥卡姆剃刀的另一个数学形式化是Solomonoff的通用归纳推理理论(Solomonoff,1964)。 其原则是基于其柯氏复杂性,支持与“最短程序”相对应的模型来生成训练数据。

2 DL模型的表现力

与传统的统计模型相比,深度神经网络具有极其多的参数。如果我们使用MDL来测量深度神经网络的复杂性并将参数数量视为模型描述长度,那么它看起来会很糟糕。模型描述L(H)很容易失控。

然而,具有大量的参数是神经网络获得高表现力的必要条件。由于深度神经网络具有捕获任何灵活数据表示的强大能力,因此在许多应用中取得了巨大成功。

2.1 通用逼近定理(Universal Approximation Theorem)

通用近似定理指出前馈网络具有:1)线性输出层,2)至少一个包含有限数量神经元的隐藏层和3)一些激活函数可以将R^n的紧致子集上的任何连续函数逼近任意准确性。该定理首先被证明是用于sigmoid激活函数(Cybenko,1989)。后来证明了通用逼近性质并不特定于激活的选择(Hornik,1991),而是多层前馈结构。

虽然具有单层结构的前馈网络足以表示任何函数,但是网络的宽度必须是指数级大的。通用逼近定理不能保证模型是否可以被正确地学习或泛化。通常,添加更多层有助于减少浅层网络中所需的隐藏神经元的数量。

为了利用通用逼近定理,我们总能找到一个神经网络来表示在任何所需阈值下具有误差的目标函数,但这需要付出一些代价 - 网络可能会变得非常大。

2.2 证明:双层神经网络的有限样本表达性(Proof: Finite Sample Expressivity of Two-layer NN)

我们到目前为止讨论的通用逼近定理没有考虑有限样本集。Zhang, et al. (2017)提供了关于双层神经网络的有限样本表达性的简洁证明。

在以下条件下,神经网络C可以表示为给定样本大小为n维度为d的任何函数:对于每个有限样本集S⊆R^d,其中| S | = n,并且在此样本集上定义的每个函数:f: SR,我们可以找到C的一组权重配置,使C(x)= f(x), ∀x∈S

论文提出了一个定理:

There exists a two-layer neural network with ReLU activations and 2n+d weights that can represent any function on a sample of size n in d dimensions.
PS: 存在具有ReLU激活和2n+d个权重的双层神经网络,其可以表示尺寸为n的d维样本上的任何函数。

证明: 首先,我们构建一个双层神经网络C: R^dR。其输入是d维的向量x∈R^d。 网络的隐藏层具有h个隐藏单元,其权重矩阵为W∈R^d×h,偏置值为-b∈R^h,并且使用ReLU激活函数。第二层输出具有权重向量v∈R^h和零偏差的标量值。

网络C对输入向量x的输出可以表示如下:

C(x)=v\max(xW−b,0)^⊤=∑_{i=1}^h v_i\max(xW_{(:,i)}−b_i,0)

其中W(:, i)d×h矩阵中的第i列。

给定样本集S = (x_1,...,x_n)和目标值y = (y_1,...,y_n),我们希望找到适当的权重W∈R^d×hb,v∈R^h,使得C(x_i)=y_i,∀i= 1,...,N

让我们将所有采样点合并为一个输入矩阵X∈R^n×d。 如果设置h = n,则XW-b将是大小为n×n的方阵。

我们可以简化W以在所有列中具有相同的列向量:

W_{(:,j)}=w∈R^d,∀j=1,…,n

nn-expressivity-proof

a_i = x_iw,我们希望找到合适的wb,使得b_1 <a_1 <b_2 <a_2 <... <b_n <a_n。 这总是可以实现的,因为我们尝试用n个约束来解决n + d个未知变量,并且x_i是独立的(即随机选择w,排序x_iw然后将b_j设置为其间的值)。然后M_{ReLU}成为下三角矩阵:

M_relu

它是一个非奇异方阵,因为det(M_{ReLU})≠0,所以我们总能找到合适的v来求解vM_{ReLU}=y(换句话说,M_{ReLU}的列空间全部是R^n,我们可以找到列向量的线性组合来获得任何y)。

2.3 深度神经网络可以学习随机噪声 (Deep NN can Learn Random Noise)

正如我们所知,双层神经网络是通用逼近器,因此看到它们能够完美地学习非结构化的随机噪声就不是多么令人惊讶的事情了,如Zhang, et al. (2017)所示。如果图像分类数据集的标签被随机打乱,则深度神经网络的高表现力仍然可以使他们能够实现接近零的训练损失。这些结果不会随着正则化条件的添加而改变。

fit-random-labels:在随机标签或随机像素的CIFAR 10上进行模型的训练:(a)学习曲线; (b-c)标签损坏率是随机洗牌的百分比

3 深度学习模型是否显著过拟合?

深度学习模型有着严重的过度参数化,这使得模型通常可以在训练数据上获得完美的结果。在传统观点中,如偏差-方差权衡,这种现象可能是一场灾难:没有任何东西可以泛化到看不见的测试数据。然而,通常情况下,这种“过度拟合”(训练误差= 0)的深度学习模型仍然在训练样本之外测试数据上表现出不错的性能。有趣,这是为什么呢?

3.1 深度学习的现代风险曲线 (Modern Risk Curve for Deep Learning)

传统的机器学习使用U形风险曲线来衡量偏差-方差的权衡并量化模型的泛化程度。 如果我被问到如何判断模型是否过度拟合,这将是我脑海中浮现的第一件事。

随着模型变大(添加更多参数),训练误差减小到接近零,但是一旦模型复杂度增加以超过“欠拟合”和“过度拟合”之间的阈值,测试误差(泛化误差)开始增加。 在某种程度上,这与奥卡姆剃刀完全一致。

U-shaped bias-variance risk curve

不幸的是,这种方法不适用于深度学习模型。Belkin et al. (2018)调和了传统的偏差-方差权衡,并为深度神经网络提出了一种新的双U形风险曲线。 一旦网络参数的数量足够高,风险曲线就会进入另一种状态。

A new double-U-shaped bias-variance risk curve for deep neural networks.

论文声称可能有两个原因:

  • 参数的数量不是归纳偏置的良好量度,其被定义为用于预测未知样本的学习算法的假设集。 请参阅后面部分中有关DL模型复杂性的更多讨论。
  • 配备更大的模型,我们可能能够发现更大的函数类,并进一步找到具有更小范数的插值函数,因此“更简单”。

如文中所示,双U形风险曲线是通过经验性地观察到的。然而,我正在努力重现结果。有一些成功的迹象,但为了产生类似于定理的非常平滑的曲线,实验中的许多细节必须得到考虑。

Training and evaluation errors of a one hidden layer fc network of different numbers of hidden units, trained on 4000 data points sampled from MNIST.

3.2 正则化不是泛化的关键 (Regularization is not the Key to Generalization)

正则化是控制过度拟合和提高模型泛化性能的常用方法。有趣的是,一些研究(Zhang,et al.2017)已经表明,显式正则化(即数据增加,权重衰减和dropout)对于减少泛化误差既不必要也不充足。

以CIFAR 10训练的Inception模型为例(见下图),正则化技术有助于样本外的泛化性能,但并不多。没有单一的正规化方法似乎是独立于其他方法的关键。因此,正则化不太可能是泛化的根本原因。

在CIFAR 10上训练的Inception模型的准确性,使用不同的数据增强和重量衰减组合。

3.3 内在维度 (Intrinsic Dimension)

参数的数量与深度学习领域中的模型过度拟合无关,这表明参数计数不能作为深度神经网络的真实复杂性的表示。

除参数计数外,研究人员还提出了许多方法来量化这些模型的复杂性,例如模型的自由度数(Gao&Jojic,2016)或前序码(Blier&Ollivier,2018)

我想讨论一个关于这个问题的最新方法,称为内在维度(Li et al,2018)。内在维度直观,易于测量,同时仍然揭示了不同大小的模型的许多有趣属性。

具有大量参数的神经网络会形成高维的参数空间,学习过程就发生在这个高维的objective landscape上。其中参数空间的流形的形状是至关重要的。例如,通过提供更多预测梯度并允许更大的学习率形成的更平滑的流形更有利于优化,这被认为是批量标准化成功稳定训练的原因(Santurkar, et al,2019)

即使参数空间很大,幸运的是我们不必太担心优化过程会陷入局部最优,因为objective landscape中的局部最优点几乎总是位于鞍点而不是山谷这个结论已经被证明了。换句话说,总有一个维度子集包含离开局部最优并继续探索的路径。

参数优化中各种关键点的插图。

内在维度测量背后的一个直觉是,由于参数空间具有如此高的维度,因此可能没有必要利用所有维度来有效地学习。如果我们只是通过一片objective landscape并且仍然可以学习一个好的解决方案,那么所得到的模型的复杂性可能低于参数计数所显示的复杂性。这基本上是内在维度试图评估的内容。

假设模型具有D维度并且其参数表示为θ(D)。为了学习,随机采样较小的d维子空间θ(d),其中d <D。在一次优化更新过程中,不是对整个D维度采用梯度步进,而是仅使用较小的子空间θ(d)并通过重新映射以更新模型参数。

当D = 3时,用于直接优化的参数矢量的图示。

梯度更新公式如下所示:

θ^{(D)}=θ^{(D)}_0+Pθ^{(d)}

其中θ^{(D)}_0是初始化值,P是在训练之前随机采样的D×d投影矩阵。θ^{(D)}_0P在训练期间都是不可训练的和固定的。θ(d)被初始化为全零。

通过搜索d = 1,2,...,D的值,当解出现时相应的d被定义为内在维度。

事实证明,许多问题的内在维度要比参数数量小得多。例如,在CIFAR 10图像分类任务中,具有650k+参数的全连接的网络仅具有9k的内在维度,而包含62k参数的卷积网络甚至具有更低的内部维度,只有2.9k。

所测量的各种型号的模型达到最佳性能的90%时的内在维度d。

内在维度的测量表明,深度学习模型的复杂度比它们看起来要简单得多。

3.4 异构层鲁棒性 (Heterogeneous Layer Robustness)

Zhang et al. (2019)研究了参数在不同层中的作用。 该论文提出的基本问题是:“所有的网络层都是平等的吗?”简短的回答是:不会。模型对某些网络层的变化更敏感,但对其他网络层的变化不敏感。

本文提出了两种类型的操作,可以应用于第l层的参数θ^{(l)}_t以测试它们对模型鲁棒性的影响(l = 1,...,Lt表示时间):

  • 重新初始化:将参数重置为初始值θ^{(ℓ)}_t←θ^{(ℓ)}_0。将层l重新初始化的网络的性能称为层l的重新初始化鲁棒性。
  • 重新随机化:随机重新采样层的参数,θ^{(l)}_t←θ^{~(l)}〜P^{(l)}。相应的网络性能称为层l的重新随机化鲁棒性。

借助这两个操作,可以将图层分为两类:

  • 鲁棒层:重新初始化或重新随机化层后,网络没有或只有微不足道的性能下降。
  • 关键层:与鲁棒层相反。

在全连接和卷积网络上观察到类似的模式。任意层的重新随机化完全破坏了模型性能,因为预测会立即下降到随机猜测。更有趣和令人惊讶的是,当应用重新初始化时,只有第一层或前几层(最接近输入层的层)是关键的,而重新初始化更高层则导致性能的降低可忽略不计。

在MNIST上训练的fc网络。 每行对应于网络中的一个层。 第一列是每层的重新随机化鲁棒性,其余列表示在不同训练时间的重新初始化鲁棒性。 (b)在CIFAR 10上训练的VGG11模型(转换网)。与(a)中类似的表示但行和列被转置。

ResNet能够在非相邻层之间使用捷径的方式在网络中重新分配敏感层,而不仅仅是在底层。在残差块结构的帮助下,网络可以对重新随机化具有均匀的鲁棒性。只有每个残差块的第一层仍然对重新初始化和重新随机化都敏感。如果我们将每个残差块视为本地子网,则鲁棒性模式类似于上面的fc和conv网络。

在CIFAR 10上训练的ResNet-50模型中的层的重新随机化(第一行)和重新初始化(重置行)的鲁棒性。

基于深度神经网络中的许多顶层对重新初始化后的模型性能并不重要的事实,本文松散地得出结论:

Over-capacitated deep networks trained with stochastic gradient have low-complexity due to self-restricting the number of critical layers.
PS:由于自我限制关键层的数量,用随机梯度训练的过度容量的深度网络具有低复杂性。

我们可以将重新初始化视为减少参数有效数量的一种方法,因此对论文实验的观察与内在维度所证明的一致。

4 实验

在看到上面所有有趣的发现之后,重现它们应该是非常有趣的。有些结果很容易重现, 细节描述如下,我的代码可以在lilianweng/generalization-experiment上找到。

深度学习的现代风险曲线

这是最难以重现的实验。作者确实给了我很多好建议,我非常感激。以下是他们实验中的一些值得注意的设置:

  • 没有正则化方法,如权重衰减,dropout等。
  • 训练集包含4k个样本。对所有的模型来说,它仅进行一次采样并不再进行变化。评估使用完整的MNIST测试集。
  • 每个网络都经过长时间的训练,以达到接近零的训练风险。对于不同大小的模型,学习率的调整方式也不同。
  • 为了使模型对参数不足区域中的初始化不太敏感,他们的实验采用了“权重重用”方案:从训练的较小的神经网络获得的参数被用来对较大的网络进行初始化。

我没有对每个模型进行足够长时间的训练或调整以获得完美的训练性能,但是评估误差确实在插值阈值附近显示出特殊的扭曲,与训练误差不同。例如,对于MNIST,阈值是训练样本的数量乘以类别数量(10),即40000。

x轴是模型参数的数量:(28 * 28 + 1)* num。单位+数量, 单位*10,以对数表示。

risk_curve_loss-mse_sample-4000_epoch-500

层间不平等

这个很容易重现。 请参阅我的实现

在第一个实验中,我使用了三层的fc网络,每层有256个单元。第0层是输入层,第3层是输出。该网络在MNIST上训练了100个Epochs。

layer_equality_256x3

在第二个实验中,我使用了四层的fc网络,每层有128个单元。其他设置与实验1相同。

layer_equality_128x4

内在维度测试

为了将d维子空间正确地映射到全参数空间,投影矩阵P应该具有正交列。因为映射生成的Pθ^{(d)}是由d维向量中的相应标量值缩放的P的列的总和,Σ^d_{i=1}θ_i^{(d)}P^⊤(:, i),所以最好充分利用子空间P中的正交列。

我的实现遵循一种天真的方法,通过从标准正态分布中采样具有独立条目的大矩阵。期望这些列在高维空间中是独立的,因此是正交的。当尺寸不是太大时,这种方法有效。当用大d进行探索时,存在用于创建稀疏投影矩阵的方法,这是内在维度论文所建议的。

以下是两个网络上的实验运行:(左)每层有64个单元的双层fc网络和(右)具有128个隐藏单元的单层fc网络,在10%的MNIST上进行训练。对于每个d,模型训练100个epochs。请参阅此处的代码

intrinsic-dimension-net-64-64-and-128

5 References

[1] Wikipedia page on Occam’s Razor.

[2] Occam’s Razor on Principia Cybernetica Web.

[3] Peter Grunwald. “A Tutorial Introduction to the Minimum Description Length Principle”. 2004.

[4] Ian Goodfellow, et al. Deep Learning. 2016. Sec 6.4.1.

[5] Zhang, Chiyuan, et al. “Understanding deep learning requires rethinking generalization.” ICLR 2017.

[6] Shibani Santurkar, et al. “How does batch normalization help optimization?.” NIPS 2018.

[7] Mikhail Belkin, et al. “Reconciling modern machine learning and the bias-variance trade-off.”arXiv:1812.11118, 2018.

[8] Chiyuan Zhang, et al. “Are All Layers Created Equal?” arXiv:1902.01996, 2019.

[9] Chunyuan Li, et al. “Measuring the intrinsic dimension of objective landscapes.” ICLR 2018.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容