首页 > 机器人资讯 > 深度学习要另起炉灶,彻底抛弃反向传播?

深度学习要另起炉灶,彻底抛弃反向传播?

日期:2019-03-19   人气:  来源:互联网
简介:深度学习要另起炉灶,彻底抛弃反向传播? 在深度学习才开始流行但是没有像如今这么成熟的时候(2011年),Hinton等人就已经开始思考一个问题:深度学习依赖的反向传播算法(back-prop)在生物学上是很难成立的,很难相信神经系统能够自动形成与正向传播对……

深度学习要另起炉灶,彻底抛弃反向传播?

在深度学习才开始流行但是没有像如今这么成熟的时候(2011年),Hinton等人就已经开始思考一个问题:深度学习依赖的反向传播算法(back-prop)在生物学上是很难成立的,很难相信神经系统能够自动形成与正向传播对应的反向传播结构(这需要精准地求导数,对矩阵转置,利用链式法则,并且解剖学上从来也没有发现这样的系统存在的证据)。

另外一点是,神经系统是有分层的(比如视觉系统有V1,V2等等分层),但是层数不可能像现在的大型神经网络一样动不动就成百上千层(而且生物学上也不支持如此,神经传导速度很慢,不像用GPU计算神经网络一层可能在微秒量级,生物系统传导一次一般在ms量级,这么多层数不可能支持我们现在这样的反应速度,并且同步也存在问题)。

但是有趣的是,目前大多数研究指出,大脑皮层中普遍存在一种称为Corticalminicolumn的柱状结构,库卡机器人驱动器维修,其内部含有上百个神经元,并存在分层。这意味着人脑中的一层并不是类似现在神经网络的一层,而是有复杂的内部结构。

不过Hinton也没有料到后来CNN发展的如此火,他当时的这篇论文没有怎么受到关注。这几年他也没有继续关注这个问题,因为CNN,LSTM,NTM等等问题太多太有趣。

不过到现在,CNN的发展似乎到了一个瓶颈:特别大,特别深的网络;容易被对抗样本欺骗;仍然需要大量训练数据;无监督学习方面进展很少。

Hinton在题主给的视频中重新分析了一下目前CNN的问题,主要集中在Pooling方面(我认为可以推广到下采样,因为现在很多CNN用卷积下采样代替Pooling层)。Hinton认为,过去人们对Pooling的看法是能够带来invariance的效果,也就是当内容发生很小的变化的时候(以及一些平移旋转),CNN仍然能够稳定识别对应内容。

Hinton觉得这是一个错误的方向。他给出了一个心理学实验的例子,这个例子要求判断两个R是否是一样的,仅仅因为旋转导致不同:

(几乎所有)人的做法是下意识的旋转左侧的R,看它们是否重合。

但是按照CNN的invariance的想法完全不是这么做。如果你对训练神经网络有经验,你可能会想到我们在做图像预处理和数据拓增的时候,会把某些图片旋转一些角度,作为新的样本,给神经网络识别。这样CNN能够做到对旋转的invarience,并且是直觉上的invariance,根本不需要像人那样去旋转图片,它直接就忽视了旋转,因为我们希望它对旋转invariance。

CNN同样强调对空间的invariance,也就是对物体的平移之类的不敏感(物体不同的位置不影响它的识别)。这当然极大地提高了识别正确率,但是对于移动的数据(比如视频),或者我们需要检测物体具体的位置的时候,CNN本身很难做,机器人维修,需要一些滑动窗口,或者R-CNN之类的方法,这些方法很反常(几乎肯定在生物学中不存在对应结构),而且极难解释为什么大脑在识别静态图像和观察运动场景等差异很大的视觉功能时,几乎使用同一套视觉系统。

因此Hinton认为,人脑做到的是equivariance,也就是能够检测到平移、选转等等各种差异,但是能够认识到他们在某些视觉问题场景下是相同的,某些场景下应该有所区别,而不是像CNN一样为了追求单一的识别率,用invariance掩盖这些差异。

于是Hinton重新开始关注Capsules的问题,希望从中有所突破,解决之前深度学习中的很多问题。如果确实能够解决这些问题,Hinton有勇气完全抛弃之前的体系结构,从0开始。

这是Hinton最近被NIPS接受的关于Capsules论文DynamicRoutingbetweenCapsules(未发表)。其在MNIST上非常成功,识别率达到了新高,同时解决了CNN难以识别重叠图像等问题。

注:上文中equivalence改为了equivariance,这是更准确的说法

一些分析

虽然现在只有论文摘要,以及Hinton最近的视频,我们还是可以分析一下Hinton的想法和追求:

可解释性。

按照Hinton的说法,Capsule是一组神经元,这组神经元的激发向量可以代表对应于一类实体(比如一个物体,或者一个物体的部件)的实例参数(instantiationparameters)。这个说法非常像Hinton曾经提的专家积(ProductsofExperts)[1]的概念,他用这个概念解释著名的对比散度(contrastivedivergence)算法[2]。更为人熟知的是AndrewY.Ng的关于自动从视频中识别猫脸的实验[3],这些实验都暗示了某个神经元可以代表代表某些物体实例(祖母细胞假说)。但是我们知道,某个神经元自身是个简单的数学变换,其自身不能起到决定性的作用。CNN等能够自动抽取图像特征等等性质已经为人熟知,但是到底是哪些神经元或者哪些结构起了作用?这个很难回答。现代大多数神经网络的结构是相对整体且比较粗糙的,很难解释其内部的具体作用机制,因此我们常常把神经网络称为黑盒模型。现在有了Capsule后,我们或许可以以Capsule为单位分析得出每个Capsule具体的作用,这样可解释性要强很多。

注:从视频中看Hinton所说的instantiationparameters应该是指表征以下内容的参数:

1.某类物体出现的概率

2.物体的一般姿态(generalizedpose),包括位置,方向,尺寸,速度,库卡机器人何服电机维修,颜色等等

因果性。

这是Hinton在视频中重点提到的,也是很多机器学习专家关心的东西。现在的神经网络缺乏某种推断的机制,更多是目标函数最大化下的函数拟合。我们知道网络能够正确分类某个图片,但是为什么?图片中什么部分或者条件才导致网络得出这个结论?如果分类出错了,又是什么具体的部分或者条件误导了它?这些我们都不是非常清楚,大部分时候仅仅靠调参提高结果。而论文中DynamicRouting,就是希望能够形成一种机制,让网络能够将适合Capsule_A处理的内容,路由到Capsule_A让其处理。这样就形成了某种推断链。找到最好的(处理)路径等价于(正确)处理了图像,Hinton这样解释。

Hinton指出,原先的Pooling,类似于静态的routing,仅仅把上面的结果原地交给下面一层的神经元。(下面图片中DynamicRouting仅供示意,具体实现要看发表出来的论文)

无监督学习。

这点也是Hinton强调的(原话似乎是Ahumandoesnotknowsomuchlabels)。Hinton估计有在Capsule基础上做无监督研究的意向,在之前的[4]中Hinton已经用Capsule实现了自编码器。

如何看待Hinton重新提出的Capsule?

首先这个工作成功或者不成功都是很正常的,就算Capsule真的会成为以后的趋势,Hinton也未必这么快找到正确的训练算法;就算Hinton找到了正确的训练算法,也没有人能够保证,Capsules的数量不到人脑中mini-columns数量的时候,能够起达到人类的识别率(何况现在CNN虽然问题很多,但是识别率很多已经超过人类了)。

#p#分页标题#e#

另外看之前的关于Capsules的论文[4],其中的结果在2011年还是不错的,但是相比近年来的CNN就差多了,这恐怕也是Capsules随后没有火起来的原因。很多人都吐槽现在深度学习各种各样的问题,需要大量调参,但是每次调参都能有一大批人在论文发表deadline前调到想要的效果,这个也不得不服啊;不服你用SIFT给你一年调到一样的效果试试?

或许最糟的结果是,如同分布式存储中著名的CAP理论(又叫Brewer'stheorem)所述,一致性,可用性和分片性三者不能同时满足;或许对于机器学习,正确率,可解释性,因果性也不能同时满足(最好的模型必然最难理解)。Hinton晚年试图突破深度学习就像爱因斯坦晚年试图统一电磁力和引力一样,是注定无法成功的。不过相信Hinton仍然愿意等下去,毕竟从反向传播提出,到深度学习的火爆,Hinton已经坚守了30年了。

评论中有人提到,人工神经网络不必非要按照生物的路子走。我想Hinton重提Capsule的原因不只是因为Capsule在生物学上有支持,而是其有可以实施dynamicrouting算法等的优良性质,Hinton在其上看到了一些可能的突破点。

最早的神经网络作为感知机出现的时候是按照Hebb'srule学习的,可以说是非常生物了。正是Hinton和LeCun搞出脱离生物模型的反向传播算法,以及Hinton后来基于热力学统计做的玻尔兹曼机和受限玻尔兹曼机以及配套的对比散度算法,才有了深度学习的今天。

免责声明:本网部分文章和信息来源于互联网,本网转载出于传递更多信息和学习之目的。如转载稿涉及版权等问题,请立即联系网站所有人,我们会予以更改或删除相关文章,保证您的权利。