这是言论的主要出处: Artificial intelligence pioneer says we need to start over(http://t.cn/RpR0Q18) 以及 Fei-Fei Li 在 Twitter 上的评论: Echo Geoff's sentiment no tool is eternal, even backprop or deeplearning. V. important to continue basic research.(http://t.cn/RpFfw5f)
在深度学习才开始流行但是没有像如今这么成熟的时候(2011 年),Hinton 等人就已经开始思考一个问题:深度学习依赖的反向传播算法 (back-prop) 在生物学上是很难成立的,很难相信神经系统能够自动形成与正向传播对应的反向传播结构(这需要精准地求导数,对矩阵转置,利用链式法则,并且解剖学上从来也没有发现这样的系统存在的证据)。
另外一点是,神经系统是有分层的(比如视觉系统有 V1, V2 等等分层),但是层数不可能像现在的大型神经网络一样动不动就成百上千层(而且生物学上也不支持如此,神经传导速度很慢,不像用 GPU 计算神经网络一层可能在微秒量级,生物系统传导一次一般在 ms 量级,这么多层数不可能支持我们现在这样的反应速度,并且同步也存在问题)。
但是有趣的是,目前大多数研究指出,大脑皮层中普遍存在一种称为 Cortical minicolumn 的柱状结构,其内部含有上百个神经元,并存在分层。这意味着人脑中的一层并不是类似现在神经网络的一层,而是有复杂的内部结构。
(mini-column 图片,引自 minicolumn hypothesis in neuroscience | Brain | Oxford Academic)
Hinton 模仿 mini-column 提出了对应的人工神经网络结构 Capsule (2011 年),对应论文为 Transforming Auto-encoders(http://t.cn/RpFfYrb)。
(Capsule 示意图,来自论文)
不过 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 论文 Dynamic Routing between Capsules (未发表)https://research.google.com/pubs/pub46351.html 。其在 MNIST 上非常成功,识别率达到了新高,同时解决了 CNN 难以识别重叠图像等问题。
注:上文中 equivalence 改为了 equivariance,这是更准确的说法
一些分析
虽然现在只有论文摘要,以及 Hinton 最近的视频,我们还是可以分析一下 Hinton 的想法和追求:
首先这个工作成功或者不成功都是很正常的,就算 Capsule 真的会成为以后的趋势,Hinton 也未必这么快找到正确的训练算法;就算 Hinton 找到了正确的训练算法,也没有人能够保证,Capsules 的数量不到人脑中 mini-columns 数量的时候,能够起达到人类的识别率(何况现在 CNN 虽然问题很多,但是识别率很多已经超过人类了)。
另外看之前的关于 Capsules 的论文 [4],其中的结果在 2011 年还是不错的,但是相比近年来的 CNN 就差多了,这恐怕也是 Capsules 随后没有火起来的原因。很多人都吐槽现在深度学习各种各样的问题,需要大量调参,但是每次调参都能有一大批人在论文发表 deadline 前调到想要的效果,这个也不得不服啊;不服你用 SIFT 给你一年调到一样的效果试试?
或许最糟的结果是,如同分布式存储中著名的 CAP 理论(又叫 Brewer's theorem)所述,一致性,可用性和分片性三者不能同时满足;或许对于机器学习,正确率,可解释性,因果性也不能同时满足(最好的模型必然最难理解)。Hinton 晚年试图突破深度学习就像爱因斯坦晚年试图统一电磁力和引力一样,是注定无法成功的。不过相信 Hinton 仍然愿意等下去,毕竟从反向传播提出,到深度学习的火爆,Hinton 已经坚守了 30 年了。
评论中有人提到,人工神经网络不必非要按照生物的路子走。我想 Hinton 重提 Capsule 的原因不只是因为 Capsule 在生物学上有支持,而是其有可以实施 dynamic routing 算法等的优良性质,Hinton 在其上看到了一些可能的突破点。
最早的神经网络作为感知机出现的时候是按照 Hebb's rule 学习的,可以说是非常生物了。正是 Hinton 和 LeCun 搞出脱离生物模型的反向传播算法,以及 Hinton 后来基于热力学统计做的玻尔兹曼机和受限玻尔兹曼机以及配套的对比散度算法,才有了深度学习的今天。
[1] Hinton, G. E. (1999). Products of experts.
[2] Hinton, G. E. (2002). Training products of experts by minimizing contrastive divergence. Neural computation, 14(8), 1771-1800.
[3] Le, Q. V. (2013, May). Building high-level features using large scale unsupervised learning. In Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on (pp. 8595-8598). IEEE.
[4] Hinton, G. E., Krizhevsky, A., & Wang, S. D. (2011, June). Transforming auto-encoders. In International Conference on Artificial Neural Networks (pp. 44-51). Springer Berlin Heidelberg.