为什么尽管VC维度不佳,但深度学习还是大肆宣传?


86

神经网络的Vapnik–Chervonenkis(VC)维度公式的范围从到,在最坏的情况下为,其中是边的数量和是节点数。拥有强大泛化保证的训练样本数与VC维数成线性关系。O(E)O(E2)O(E2V2)EV

这意味着对于具有数十亿边缘的网络(如成功的深度学习模型而言),训练数据集在最佳情况下需要数十亿个训练样本,在最坏情况下需要四千万个训练样本。目前最大的训练集大约有1000亿个样本。由于没有足够的训练数据,因此深度学习模型不太可能泛化。相反,他们过度拟合了训练数据。这意味着模型在与训练数据不同的数据上将无法很好地执行,这对于机器学习来说是不希望的特性。

根据VC维度分析,鉴于深度学习无法泛化,为什么深度学习结果如此夸大?仅对某些数据集具有高精度本身并不意味着什么。深度学习架构是否有一些特别之处,可以显着降低VC维度?

如果您认为VC维度分析不相关,请提供证据/解释,表明深度学习是泛化的,并且不适合过度。即它具有良好的召回率和精度,还是仅具有良好的召回率?100%的召回率和100%的精度都是微不足道的。两者都接近100%是非常困难的。

与此相反,这里有证据表明深度学习过于适合。过拟合模型由于包含确定性/随机噪声,因此很容易被愚弄。参见下图,了解过度拟合的示例。

拟合不足,拟合和过度拟合的示例。

另外,尽管测试数据具有良好的准确性,但请查看该问题的较低答案,以了解过拟合模型的问题。

有人回应说,正则化解决了较大的VC维度的问题。请参阅此问题以进行进一步讨论。


评论不作进一步讨论;此对话已转移至聊天
DW

7
我不认为为什么“被炒作”是件好事。答案是“因为人”。人们对事物感兴趣的原因有很多,包括市场营销。
luk32

深度学习在实践中起作用。可能过度拟合。这可能是完全不合理的。这可能是从一个长女神那里学习宇宙的秘密。但是炒作来自于从业者,他们突然间可以在代码上写30行,并教照相机扫描签名并将其与存储的签名进行匹配以验证银行交易。或在照片中标记未知的人。等等,也许您已经听过“如果这是真的话,那不是侮辱”这一行吗?好吧,如果可行的话,这不是炒作。它存在许多无法解决的问题,并且大肆宣传。但是它可以在现实生活中应用。
斯特拉·比德曼

@StellaBiderman轻松地围绕标准机器学习技术进行工具编程是一件好事。但是兴趣似乎更多地与可能与人类能力相抗衡的DNN假定的学习能力有关,考虑到该模型的VC分析,这似乎过分夸大了。如此高的VC维度意味着模型将不会泛化,而是会记住数据集,从而使它们非常脆弱。所有对抗性示例文件似乎都证明了这一点。

@gerrit我不确定编辑是否有帮助。我敢打赌,更多的人会知道VC维是什么,而不是它代表什么。
David Richerby

Answers:


75

“如果地图和地形不一致,请相信地形。”

真正理解深度学习为何会如此出色的原因还不是很清楚,但是可以肯定的是,学习理论中的旧概念(例如VC维)似乎并没有太大帮助。

对此问题进行了激烈的辩论,请参见例如:

关于对抗性示例的问题,该问题在以下位置发现:

  • C. Szegedy,W。Liu,Y。Jia,P。Sermanet,S。Reed,D。Anguelov,D。Erhan,V。Vanhoucke,A。Rabinovich,随着卷积而深入

它在以下方面得到进一步发展:

有很多后续工作。


评论不作进一步讨论;此对话已转移至聊天
DW

当您说“有很多后续工作”时,是指2014年的最新论文吗?您提到的前两篇论文是最近的。您可以更新您所引用的论文吗?
VF1

2
对于“如果地图和地形不一致,请信任该地形”的值为+1。这些模型在实践中都非常有效,无论数学是否符合要求。从科学的观点来看,这种情况一直都在发生,如果有的话会使问题更加有趣。没有人读过Razborov和Rudich的有关自然证明的著作,并且说:“好吧,我想P与NP毕竟不是一个有趣的问题。” 他们去了,发现使用代数几何进行复杂性理论是可能的。从科学的角度来看,超越我们的理解的问题更好,而不是更糟。
斯特拉·彼德曼

65

“根据VC维分析,考虑到深度学习无法进行概括[...]”

不,这不是VC维分析所说的。VC维分析提供了一些足以保证泛化的条件。但是相反不一定如此。即使您不满足这些条件,ML方法仍然可以推广。

换种说法:深度学习比VC维分析更好,这会让您期望(比VC分析“预测”更好)。那是VC维分析的缺点,而不是深度学习的缺点。这并不意味着深度学习存在缺陷。相反,这意味着我们不知道深度学习为何起作用-VC分析无法提供任何有用的见解。

较高的VC维度并不意味着可以深度学习。较高的VC维度并不能保证在实际情况下是否可以欺骗它。VC维度提供了单向的最坏情况的约束:如果满足这些条件,那么好事就会发生,但是如果您不满足这些条件,我们就不会知道会发生什么(也许如果发生了,好事仍然会发生大自然的表现要比最坏的情况要好; VC分析并不能保证美好的事物不会 / 不会发生。

可能是模型空间的VC维很大(它可能包含非常复杂的模式),但是自然是通过简单的模式来解释的,而ML算法学习的是自然界中存在的简单的模式(例如,由于正则化)- -在这种情况下,VC维度会很高,但是模型会泛化(针对自然界中存在的特定模式)。

这就是说......越来越多的证据深学习可以通过对抗的例子所迷惑。但是要小心您的推理链。您得出的结论并非从您开始时得出的前提得出。


6
较高的VC维数确实意味着更难概括(从某种意义上讲,至少在处理任意分布时)。所述泛化误差下限正好意味着相比于VC维样本小的数目,存在使得相对于分配给它的任何算法会遇到很高的泛化误差(很有可能)。Ω(dn)
Ariel's

5
-1表示“高VC尺寸根本不能保证任何东西。” 这是不正确的:较高的VC维数意味着样本复杂度下限为PAC学习。一个好的答案应该解决最坏情况下的分布与“实际”分布。
Sasho Nikolov

1
@SashoNikolov,要点-谢谢!编辑。
DW

该帖子的质量低下。给定内容,长度,票数和质量,这很荒谬,在此指出,但它可能需要使用meta,因为确实存在错误。
邪恶的

23

行业人士对VC规模无视,流氓...

更严重的是,尽管PAC模型是一种思考学习的优雅方法(至少在我看来),并且足够复杂以引起有趣的概念和问题(例如VC维及其与样本复杂性的联系) ,这与现实生活中的情况几乎没有关系。

请记住,在PAC模型中,您需要处理任意分布,这意味着您的算法应处理对抗分布。在尝试学习现实世界中的某些现象时,没有人会给您“对抗性数据”来弄乱您的结果,因此要求将概念类设为PAC可学习的可能太过强烈了。有时,对于特定的发行类别,您可以独立于VC维来约束泛化误差。保证金范围就是这种情况,它们是独立于VC维而制定的。如果可以保证较高的经验裕度,它们可以保证较低的泛化误差(当然,并非所有分布都可能发生这种情况,例如,在平面上使用具有相反标签的两个闭合点,然后将分布集中在它们上)。

因此,撇开PAC模型和VC维度,我认为炒作是因为它们似乎有效,并且在以前不可能完成的任务中取得了成功(想到的最新成就之一就是AlphaGo)。我对神经网络知之甚少,所以我希望有更多经验的人参与进来,但是据我所知,目前尚无良好的保证(肯定不像PAC模型那样)。也许在正确的假设下,可以正式证明神经网络的成功(我假设围绕神经网络的正式治疗和“深度学习”开展工作,所以我希望对此主题有更多了解的人们可以链接一些论文)。 。


评论不作进一步讨论;此对话已转移至聊天
DW

15

鉴于深度学习无法概括,

我不知道你从哪里得到的。根据经验,将泛化视为未见数据的分数(例如准确性)。

使用CNN的答案很简单:CNN比其他任何工具都好得多。例如,请参见ImageNet 2012:

  • CNN:15.315%(这是一个早期示例。CNN现在要好得多。前5位错误的发生率约为4%)
  • 最佳非CNN:26.172%的Top-5错误(来源 -据我所知,不使用CNN的技术并没有低于25%的top-5错误)

创建一个更好的分类器,人们将转向该分类器。

更新:我将向所有提供公开证据证明机器学习通常很容易被愚弄的人(例如深度学习的证据)提供答案。

不是这种情况。您可以创建一个在简单数据集上极其简单的分类器。不可能愚弄它(“简单”意味着什么都不重要),但这也不是很有趣。


3
低错误并不意味着泛化。这是必要条件,但不是充分条件。
yters

3
@yters请定义泛化。
马丁·托马

5
@yters,此评论使我觉得您对机器学习的了解还很少。马丁说看不见的数据的准确性。您正在谈论训练数据的准确性。您对什么是概括基本上是正确的,但是请意识到这里的其他所有人也都理解这一点
肯·威廉姆斯

1
@是的,我非常确定Ken(以及本网站上的许多人,包括我自己)都知道这一点。但是,如果您的测试集不能代表您的数据集,那么您将无法对泛化做出任何陈述。尽管有必要牢记这一点,但我不认为这对您有任何帮助。您只需要假设/确保测试集在生产时确实代表您的数据。实际上,很容易证明,如果训练样本不代表任何分布,则可以使任何分类器任意变坏。
马丁·托马

2
很明显 如果对模型进行过正确数据验证的训练,就不能期望模型能够很好地概括。您需要更好的数据,而不是更好的模型。
艾姆雷(Emre)

9

一个字的答案是“正规化”。幼稚的VC维数公式在这里实际上并不适用,因为正则化要求权重不是一般的。调整后,只有极少数(无穷小?)重量组合具有可接受的损耗。结果是真实维度少了许多数量级,因此可以通过我们拥有的训练集进行概括。现实生活的结果证明,过度拟合通常不会发生。


2
我已经看到一再的说法,即现实生活的结果表明深度学习具有普遍性。概括显示的结果到底是什么?到目前为止,我所看到的只是DL在特定数据集上实现了较低的错误率,这本身并不意味着DL可以泛化。
yters

3
对于未经训练的数据它显示出良好的结果(“好” =比其他ML方法更好)。我不确定您还想如何实际衡量一般性。
lvilnis

3

我们处理该论文:理解深度学习需要重新考虑泛化。在

重新思考泛化需要重新审视旧观念:统计力学方法和复杂的学习行为Charles H. Martin和Michael W. Mahoney

参见:https : //arxiv.org/pdf/1710.09553.pdf

基本上,我们认为VC边界太宽松了,因为基本方法和采用的统计限制是不现实的。

一种更好的方法是统计力学,它考虑了一类与数据相关的函数,并采用了热力学极限(而不仅仅是大数的极限)

此外,我们还指出了深度需求的自然不连续性如何导致学习曲线发生相变,我们认为这已在Google论文中得到了观察(上)

关于限制,请参阅本文第4.2节

“很明显,如果我们固定样本大小m并让[函数类的大小] N→∞,或者反之亦然,将N固定,让m→∞],则我们不应指望非平凡的结果,因为[ N]越来越大,但样本大小是固定的。因此,[统计力学]通常考虑m,N→∞的情况,使得α= m / N是一个固定常数。”

也就是说,极少有我们会向深网中添加更多数据(m)。我们也总是增加网络(N)的大小,因为我们知道我们可以从数据中捕获更详细的功能/信息。取而代之的是,我们在实践中做了我们在论文中所主张的—取大尺寸的限制,将比率m / N固定(而不是说固定m并让N增加)。

这些结果在《学习统计力学》中众所周知。分析更加复杂,但是结果导致结构更加丰富,可以解释深度学习中的许多现象。

同样,尤其是众所周知,统计中的许多界限变得微不足道或不适用于非平滑概率分布,或者当变量取离散值时。对于神经网络,由于不连续(在激活函数中)而导致非平凡的行为,从而导致相变(在热力学极限中出现)。

我们写的论文试图向计算机科学的读者解释这些突出的想法。

瓦普尼克(Vapnik)本人意识到,他的理论并不真正适用于神经网络...早在1994年

“将[VC维度]扩展到多层网络面临[许多]困难。不能将现有的学习算法视为将网络可实现的整个功能集上的经验风险降到最低... [因为]可能...搜索将局限于这些功能的子集...此集合的容量可能远低于整个集合的容量... [并且]可能随观察次数而变化。这可能需要一种理论来考虑具有“活跃”功能子集的非恒定容量的概念”
Vapnik,Levin和LeCun,1994年

http://yann.lecun.com/exdb/publis/pdf/vapnik-levin-lecun-94.pdf

尽管用VC理论不容易处理,但这对于统计机制来说不是问题,它们描述的内容非常像蛋白质折叠的能态理论。(这将是未来论文的主题)


这听起来很有趣,但是我不确定我是否遵循您的论点。您能否以不需要理解统计机制的独立方式,详细说明第一句话,即基本方法/统计极限如何不切实际?VC界限有哪些假设?为什么它们不切实际?也许您可以编辑答案以包含该信息?
DW

我添加了对Vapnik和LeCun(1994)讨论该问题的原始工作的引用。
查尔斯·马丁

并增加了一些澄清。
查尔斯·马丁

1

在以上答案中似乎没有人指出,引用的VC维数公式仅适用于1层神经网络。我的猜测是,VC 层实际上随着层数L的增加呈指数增长。我的推理基于考虑深度神经网络,其中激活函数被多项式神经网络所代替。然后,随着层数的增加,合成多项式的次数呈指数增长。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.