为什么不抛弃神经网络和深度学习呢?[关闭]


25

深度学习和神经网络通常存在的基本问题。

  1. 适合训练数据的解决方案是无限的。我们没有一个只有一个人就能满足的精确数学方程式,并且可以说是最好的概括。简而言之,我们不知道哪种概括最好。

  2. 优化权重并不是一个凸面的问题,因此我们永远都不会知道最终会遇到全局最小值还是局部最小值。

那么,为什么不抛弃神经网络而寻找更好的ML模型呢?我们了解什么,并且与一组数学方程式一致?线性和SVM没有数学上的缺点,并且与一组数学方程式完全一致。为什么不只是沿着同一条线思考(虽然不需要线性),并且提出一个比线性和SVM,神经网络和深度学习更好的新ML模型?


37
如果找到它,人们就会。
马修·德鲁里

23
“为什么不提出……?” 您不会相信有多少研究人员正忙着这样做呢!到目前为止,他们还没有取得成功。
连·弗斯

31
“所有模型都是错误的,但有些模型是有用的”,nns当然是有用的。
josh

15
@RajeshDachiraju-这是一个古老的成语,但我可能有点含糊。您问为什么不丢弃NN,因为它们不是完美的。我的反驳是,它们并不完美,但非常有用。人们使用它们来自动驾驶汽车,翻译外语,标记视频,保护鲸鱼,甚至将带狗耳朵的红眼油膜过滤器应用于您的照片!例如它们起作用,所以我们继续使用它们:)
josh

13
您也知道错在哪里:牛顿力学。量子力学。相对论。所有的物理学都是错误的(没有一个模型描述所有事物,都有其缺陷)。化学在很多事情上是完全错误的(描述原子总是一个很好的近似,但从来都不是精确的)。世界上唯一真正正确的东西是数学。纯数学。其他一切都接近正确的答案。我们应该丢掉其余的吗?(从错误的法律构建的计算机开始?)。否。再次:所有模型都是错误的,但有些模型很有用。
Mayou36年

Answers:


48
  1. 无法知道哪种解决方案最能普遍概括是一个问题,但是这不应该阻止我们使用其他好的解决方案。人类自身通常不知道最能概括什么(例如,考虑对物理统一理论进行竞争),但这不会给我们带来太多问题。

  2. 结果表明,由于局部最小值,训练失败的可能性极小。深度神经网络中的大多数局部最小值的值都接近于全局最小值,因此这不是问题。资源

但是更广泛的答案是,您可以整天谈论非凸性和模型选择,并且人们仍然会继续使用神经网络,仅仅是因为它们比其他任何东西都表现更好(至少在图像分类等方面)。

当然,也有人认为我们不应该过于关注CNN,就像数十年前社区关注SVM一样,而是继续寻找下一个大问题。特别是,我想我记得Hinton感到遗憾的是CNN的有效性可能会阻碍研究。相关文章


1
我特别喜欢最后一段。
Rajesh Dachiraju '17

10
您是否引用了第二点?
DrMcCleod

@DrMcCleod:对我来说,第二点看起来更像是人格主义。只是意义较轻。
Rajesh Dachiraju '17

6
@DrMcCleod有很多工作表明局部极小值与全局极小值非常接近,而鞍点则是问题所在。见对鞍点的讨论和纸纸为什么局部极小并不一定是坏事。
jld

1
我希望我只喜欢一个剧院。但是,假设我知道我几乎会喜欢几乎任何一部电影,就像我真正想看的一部电影一样。这样,当有10家影院时,我不会感到失望,而且我必须随机选择一家,因为我知道任何一家影院和电影都会让我满意。
shimao

14

正如您对问题的评论所指出的那样,有很多人在努力寻找更好的东西。我想通过扩展@josh留下的评论来回答这个问题


所有模型都是错误的,但有些模型是有用的 (Wiki)

以上陈述是用于描述统计模型性质的一般事实。利用我们可用的数据,我们可以创建模型来让我们做一些有用的事情,例如估计一个预测值。

以线性回归为例

使用大量观察值,我们可以拟合一个模型,从而为给定一个自变量的近似值,给定自变量的任何值。

伯纳姆(KP);Anderson,DR(2002),“模型选择和多模型”>“推理:一种实用的信息理论方法”(第二版):

“模型是对现实的简化或近似,因此不会反映所有现实。...Box指出:“所有模型都是错误的,但有些模型是有用的。”尽管模型永远不能“真实”,但模型可能从非常有用到有用,再到最终对基本上没有用,多少有用。”

与模型的偏差(如上图所示)似乎是随机的,有些观察值在该线下方,而有些观察值在该线上方,但是我们的回归线显示出大致的相关性。尽管我们模型中的偏差似乎是随机的,但在实际情况下,还会有其他因素在起作用,导致这种偏差。例如,想象一下当汽车驶过路口时,他们必须向左或向右转才能继续行驶,而汽车没有特别的转弯模式。虽然我们可以说汽车的转向完全是随机的,但是每个驾驶员是否都到达交汇处,并在那一点上随机决定转向的方向?实际上,他们可能会出于特定原因前往特定的位置,并且在不试图停止每辆车询问其推理的情况下,我们只能将其行为描述为随机的。

在能够以最小偏差拟合模型的地方,我们如何确定某个未知点,未被注意或无法测量的变量在某个时候不会抛出模型?在巴西,蝴蝶翅膀的襟翼会在德克萨斯州引发龙卷风吗?

仅使用您提到的使用线性模型和SVN模型的问题在于,我们需要手动观察变量以及变量之间的相互影响。然后,我们需要确定哪些变量很重要,然后编写特定于任务的算法。如果我们只有几个变量,这可能很简单,但是如果我们只有数千个变量呢?如果我们想创建一个通用的图像识别模型,该方法可以现实地实现吗?

深度学习和人工神经网络(ANN)可以帮助我们为包含大量变量(例如图像库)的海量数据集创建有用的模型。正如您所提到的,有数量众多的解决方案可以使用ANN拟合数据,但是这个数量与我们通过反复试验开发自己的解决方案的数量是否真的有所不同吗?

人工神经网络的应用为我们完成了许多工作,我们可以指定我们的输入和期望的输出(并在以后进行调整以进行改进),然后交给人工神经网络来找出解决方案。这就是为什么人工神经网络通常被称为“黑匣子”的原因。从给定的输入中,它们输出近似值,但是(一般而言)这些近似值不包括有关近似值的详细信息。

因此,这实际上取决于您要解决的问题,因为该问题将决定哪种模型方法更有用。模型不是绝对准确的,因此总是存在“错误”的因素,但是结果越准确,它们就越有用。关于结果如何进行更详细的计算也可能有用,这取决于问题,它甚至可能比提高精度更有用。

例如,如果您要计算人员信用评分,则使用回归和SVM可以更好地进行计算。既可以直接调整模型,又可以向客户解释单独的独立变量对其总体得分的影响,这非常有用。人工神经网络可以帮助处理大量变量以获得更准确的分数,但是这种准确性会更有用吗?


6
您提出了一些很好的观点,但是“在许多情况下,我们的观察和预测不会完全落在拟合线上”这一事实并不能恰当地证明“所有模型都是错误的”口号。在线性回归中,我们正在对E(Y | X)建模,因此未完全位于线上的点不会证明我们的模型存在缺陷。随机性是预先规定和预期的;当我们观察到与拟合线的偏差时,模型不是“错误的”。
klumbard

@klumbard感谢您的评论。我已经更详细地更新了我的答案,以此为例解释了我的背后原因。我在回答问题时采取了更加哲学的方法,并且以更笼统的措辞而不是具体的方式发言,这是我在本社区的第一篇文章,如果不是这样的话,我深表歉意。您似乎对具体知识很了解,可以再详细说明一下吗?我的问题是,偏差不能证明存在缺陷,R平方为0.01的回归模型是否也不“错误”?
Carrosive

2
我对您的帖子的唯一问题是您的措辞方式是:“ ...在许多情况下,我们的观察和预测将不会完全符合拟合线。这是我们的模型经常'错误'的一种方式……”。我只是说模型的规范包括一个误差项,因此(单独)观察到的数据没有落在拟合线上的事实并不表示模型“错误”。这看起来似乎是一个微妙的语义区别,但我认为这很重要
klumbard

1
您要解决的突出问题是,由于忽略了变量偏差以及功能形式的错误指定,所有模型都是错误的。每次您写下回归模型并对估计值进行推论时,您都假设您已经正确指定了模型,而事实并非如此。
klumbard

1
@klumbard哦,我知道你现在的位置。因此,尽管模型产生的估计不太可能完全准确,但是我们可以测量误差项以表明实际值可能与估计值相差多少,因此说模型固有错误是不正确的。我将从答案中删除这一部分,我认为我的观点可以在其后添加的部分中得到更好的解释。感谢您的解释:)
Carrosive

8

全局最小值可能也是无用的,因此我们并不在乎是否找到它。原因是对于深层网络,不仅随着网络规模的增加,找到它的时间将成倍增加,而且全局最小值通常对应于训练集的过拟合。因此,DNN的泛化能力(我们真正关心的是)会受到影响。同样,我们通常更喜欢与损失函数的较高值相对应的更平坦的最小值,而不是与损失函数的较低值相对应的较锐利的最小值,因为第二个值将非常不好地处理输入中的不确定性。随着贝叶斯深度学习的发展,这一点变得越来越明显。当应用于不确定性很重要的现实世界中的问题时,稳健的优化通常会比确定性优化更胜一筹。

最后,事实是DNN只是在图像分类和NLP方面使用了诸如XGBoost之类的方法。一家必须从图像分类中获利的公司将正确选择它们作为要在生产中部署的模型(在功能设计,数据管道等方面投入大量资金,但我偏离了方向)。这并不意味着它们在所有ML环境中都处于主导地位:例如,它们在结构化数据上的表现要比XGBoost差(请参阅Kaggle竞赛的最后赢家),并且在时间序列建模上它们的表现似乎还不如粒子过滤器。但是,RNN的一些最新创新可能会改变这种情况。


2
真?下票?这是没有必要的。这是合理的答案(+1)。
usεr11852恢复单胞菌说,

5
@RajeshDachiraju因为您显然是在试图推断我会或不会知道的内容,所以您可能有兴趣了解那些对您似乎对神经网络和非凸优化有更多了解的人们,他们经常谈论神经网络的单个全局最小值。在使用这个术语试卷一大堆,你可以尝试阅读这一个,看你是否明白你错了。
DeltaIV

2
@RajeshDachiraju:感谢您解释您的推理,很多人都不会打扰。话虽如此,我认为您对此的推理是有缺陷的,并且源于对一个非常特殊的短语的误解。我同意DeltaIV的这一标准术语。
usεr11852恢复单胞菌说,

1
@DeltaIV:我的观点是,可能有多个权重向量在训练数据上损失0(当然,保持体系结构不变)。整点训练是要获取体重向量inst吗?所以我不同意你的看法。这些权重向量之一非常有用。但我要求我们同意不同意并在此结束对话。关于Rajesh
Rajesh Dachiraju '17

1
@RajeshDachiraju是的,可能会有,它们同样无用/无趣,因为它们对应于将训练集过度拟合非常低的泛化能力(如果有的话)。我真的建议您阅读我之前链接过的论文,它很好地解释了为什么在使用NN时我们真的不在乎损失函数训练集上的全局最小值。关于防止神经网络过度拟合的一些材料也可能有用。
DeltaIV '17年

7

我认为思考这个问题的最佳方法是通过竞争激烈的市场。如果您放弃了深度学习,而您的竞争对手却使用了它,并且它的效果比您使用的更好,那么您将在市场上被击败。

我认为这就是今天正在发生的事情,即对于市场上的许多问题,深度学习似乎比任何方法都更有效。例如,使用深度学习的在线语言翻译要比以前使用的纯语言方法更好。就在几年前,情况并非如此,但是深度学习的进步使那些习惯了市场领导地位的人受益匪浅。

我一直在重复“市场”,因为这就是驱动当前深度学习激增的原因。一旦企业发现有用的东西,那东西就会广泛传播。不是我们委员会决定深度学习应该流行。这是商业和竞争。

第二部分是,除了ML的实际成功之外,还害怕错过这艘船。许多企业对如果错过了AI会感到失败,他们会失败。所有这些咨询公司,Gartners等都在担负这种恐惧,对首席执行官低声说,他们必须做AI或明天就死。

没有人强迫企业使用深度学习。IT和R&D对新玩具感到兴奋。学术界的欢呼声,所以这个聚会将一直持续到音乐停止,即深度学习停止提供为止。在此期间,您可以将其丢弃并提出更好的解决方案。


那学术研究经费呢?你能说明一下吗?
Rajesh Dachiraju

2
该行业有很多资金。从行业中获得最多收益的教授是在学术界最具影响力的教授。大学拿走了从公司那里获得的巨额资金,所以他们喜欢这些教授。如果你读这个纽约时报的文章,你可以得到学术界的狂热和对行业的一个想法
Aksakal

很好地参考了市场(+1):我说了同样的话(“必须从图像分类中获利的公司会正确选择它们作为要在生产中部署的模型”)。但是,对于偏执狂,我会稍有不同意见。Waymo准备击败特斯拉,奥迪和我现在不记得的另一家汽车制造商,这是事实(不是偏执狂),这在很大程度上要归功于Google在深度学习领域的巨大投资。奥迪绝对可以使用SIFT和SURF(经过测试的计算机视觉技术,与深度学习毫无关系),如果它们……
DeltaIV '17

...通缉。在图像分类方面,相对于SIFT,SURF和其他基于几何的方法,DL的优势在五年的学术研究和工业研究中得到了证明。这绝对不是万能药(请参阅IBM Watson的失败),并且存在一些炒作,但也有一些困难的事实。
DeltaIV '17年

2
@DeltaIV ML确实可以在某些应用程序中使用,但是我认为今天它的广泛采用很大程度上是由于偏执狂和炒作。不管CTO是否奏效。我有朋友谁不知道我说的是就在一年前,现在他们说,AI是未来,他们将开始实施等
Aksakal

4

有很好的答案,主要是结合了DL和ANN的实用性。但是我想以一种更基本的方式来反对OP,因为这个问题已经被认为是神经网络在数学上的不一致性。

首先,有背后的数学理论(大部分型号)神经网络。您可能同样会争辩说,除非基础模型是线性的,否则线性回归不会泛化。在神经算法中,假设一个模型(即使不是显式的)也要计算拟合误差。用各种试探法修改算法的事实并不会使原始的数学支持无效。顺便说一句,局部优化也是一个数学上一致的理论,更不用说有用的理论了。

沿着这条线,如果神经网络只是构成整个科学家工具箱中的一类方法,那条线将神经网络与其余技术区分开了吗?实际上,SVM曾经被视为一类NN,但它们仍然出现在同一本书中。另一方面,也许可以简化一些方法,将NN视为一种(非线性)回归技术。我同意OP,无论您是否将其标记为NN,我们都必须搜索更好,基础完善,高效的算法。


前后矛盾的问题是,一个人不能问一些简单的问题,比如什么时候应该停止训练并放弃?还有很多传言,例如“ Dropot”,“重量衰减”,“ ReLu”和各种激活,批量归一化,最大池化,softmax,提早停止,各种学习速率计划以及所有这些排列和组合,这些都使设计师始终感到怀疑。是否在某个时候放弃。
Rajesh Dachiraju

1
@RajeshDachiraju在外点优化算法中的惩罚系数或在Runge-Kutta方法中的步长可以说相同。“不一致”一词在科学中具有确切的含义,此处不适用。
米格尔(Miguel)

0

我猜对于某些问题,我们不太在乎数学的严谨性和简单性,而在实用性方面则更为重视,目前的状况是神经网络在执行某些任务(如图像处理中的模式识别)方面表现更好。


0

这个问题有很多。让我们一遍一遍地写一下。

适合训练数据的解决方案是无限的。我们没有一个只有一个人就能满足的精确数学方程式,并且可以说是最好的概括。

有无数种解决方案的事实源于学习问题是一个不适定的问题,因此不可能有一个能最全面地概括问题的解决方案。同样,没有免费的午餐定理,无论使用哪种方法,都不能保证它在所有学习问题中都是最好的。

简而言之,我们不知道哪种概括最好。

这句话不是真的。Vapnik&Chervonenkis提出了关于经验风险最小化的定理,这些定理将样本数量,学习方法的VC维数和泛化误差联系在一起。注意,这仅适用于给定的数据集。因此,给定一个数据集和一个学习过程,我们知道泛化的范围。请注意,由于没有免费的午餐定理,因此对于不同的数据集,没有并且不可能是一个最佳的学习过程。

优化权重并不是一个凸面的问题,因此我们永远都不会知道最终会遇到全局最小值还是局部最小值。那么,为什么不抛弃神经网络而寻找更好的ML模型呢?

在这里,您需要牢记一些事情。优化非凸问题并不像凸问题那么容易。那是真实的。但是,凸学习方法的种类有限(线性回归,SVM),在实践中,它们在各种问题上的表现要比非凸学习方法(提升,CNN)差。因此至关重要的是,在实践中神经网络效果最好。尽管有许多非常重要的元素使神经网络能够正常工作:

  1. 由于随机梯度下降,它们可以应用于非常大的数据集。
  2. 与SVM不同,使用深网推论不依赖于数据集。这使得神经网络在测试时高效。
  3. 使用神经网络,只需增加更多的层或使其更大,就可以直接控制其学习能力(考虑参数数量)。这是至关重要的,因为对于不同的数据集,您可能需要更大或更小的模型。

我们了解什么,并且与一组数学方程式一致?线性和SVM没有数学上的缺点,并且与一组数学方程式完全一致。为什么不只是沿着同一条线思考(尽管不一定要线性),并提出一个比线性和SVM,神经网络和深度学习更好的新ML模型?

因为不了解而放弃有用的东西并不是一个很好的研究方向。另一方面,努力理解它们是很好的研究方向。另外,我不同意神经网络与数学方程式不一致。它们非常一致。我们知道如何优化它们并执行推理。


-2

从实验的角度来看神经网络怎么样?仅仅因为我们创建了它们并不意味着我们不愿凭直觉来理解它们。或者我们不允许他们与他们一起玩,以更好地了解他们在做什么。

这是我对它们的几点看法:

  • 结构:它们是层次结构。它们就像共享输入的树。根是输入层,叶是输出层。层与输出越接近,与输出越相关,则其包含的抽象级别就越高(图片比像素更多)。
  • 功能性:它们“玩弄”数据,操作方式是试验神经元(权重)之间的关系,直到事物“咔嗒”一声(误差幅度可以接受)。

这与我们的想法是一致的。这甚至与科学方法的运作方式保持一致。因此,通过破解神经网络,我们还可以解决知识代表什么的一般问题。


-3

别忘了,在使用LM,GLM,多级建模的研究领域非常广泛。最近,贝叶斯技术和汉密尔顿蒙特卡洛技术(STAN社区确实处于这种状态)已经成熟,许多问题可以由STAN轻松解决,并且不需要NN或深层网络。社会科学研究,微观经济学是迅速采用斯坦的这类领域的两个(大)例子。

Stan模型非常“可读”。系数实际上具有后验分布解释,因此预测也是如此。先验是数据生成过程的一部分,不需要共轭才能表现出色(例如gibbs)。stan中的模型拟合很令人高兴,它实际上会自动调优讨厌的MCMC参数,并在探索过程中出现非常好的可视化效果时向您发出警告。

如果您尚未尝试过,请在此处查看很棒的stan演示)。

归根结底,我认为人们对这方面的讨论不多,因为在该领域的研究和问题并不像NN那样“性感” /“酷”。


-5

当没有数学一致性时(在这种情况下,至少是神经网络),通常会发生什么……当测试结果没有按预期给出结果时,老板会回来说……嘿,为什么不呢?尝试辍学(哪个权重,哪一层,由于没有数学方法来确定而头痛多少),因此,在尝试并希望得到少量改善但不是期望的改善之后,老板会回来并说,为什么不尝试减肥(什么因素?)?后来,为什么不在某些层上尝试ReLU或其他激活,而仍然不尝试,为什么不尝试“最大池化”呢?还是不行,为什么不尝试批量归一化,还是不行,或者至少收敛,但是没有理想的结果,哦,您处于本地最小值,请尝试不同的学习率时间表,只是改变网络架构?并以不同的组合重复以上所有步骤!保持循环直到成功!

另一方面,当您尝试使用一致的SVM时,在收敛之后,如果结果不好,那就可以了,我们使用的线性核不够好,因为数据可能不是线性的,请使用其他形状的核,然后尝试如果您有任何预感,则可以使用其他形状的内核;如果还没有,请保留它,这是SVM的局限性。

我的意思是,神经网络非常不一致,甚至没有错!它永远不会接受失败!工程师/设计师会负担重担,以防万一其无法正常工作。


3
在我看来,这似乎不包含您自己问题的答案。您是否认为您可以对其进行编辑以使其听起来听起来不像是一头胡言乱语,并明确说明了以哪种方式解释了为什么神经网络和深度学习可能比ML模型更有用(这似乎是您的原始问题)?
Silverfish

1
他的观点是,使用SVM,我们可以尽自己所能地知道何时完成任务,但是对于NN,我们却不知道。可以说,考虑到DL的欺骗很容易,即使像错误这样的指标也不能告诉我们模型的实际性能。
yters

1
@是的,是的,但是silverfish的评论是,这不是为什么不转储DL的答案。更接近重述该问题。我建议将其与问题合并。
P.Windridge '17
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.