浅析 Hinton 提出的 Capsule 计划(一)

雷课2020-11-20 16:45:40

    雷 课

     公众号ID:

     leike189

点击“雷 课”关注













一张很代表性的图,来自11月28日纽约时报。

Hinton 和同事拿着 “四面体”,这个四面体给 Hinton 很多关于Capsules的启示,详见后文。

关于最新的 Hinton 的论文 Dynamic Routing Between Capsules,参见

https://www.zhihu.com/question/67287444/answer/251241736


这篇论文是对Capsule最初步的实现,个人认为写得很随意。


Hinton 以“深度学习之父” 和 “神经网络先驱” 闻名于世,其对深度学习及神经网络的诸多核心算法和结构(包括“深度学习”这个名称本身,反向传播算法,受限玻尔兹曼机,深度置信网络,对比散度算法,ReLU激活单元,Dropout防止过拟合,以及深度学习早期在语音方面突破)做出了基础性的贡献。尽管已经将大半辈子的时间投入到神经网络之上,这位老人却丝毫没有想退休的意思。


Hinton 近几年以 “卷积神经网络有什么问题?” 为主题做了多场报道 ,提出了他的 Capsule 计划。Hinton似乎毫不掩饰要推翻自己盼了30多年时间才建立起来的深度学习帝国的想法。他的这种精神也获得了同行李飞飞(ImageNet创始者)等人肯定 。


Hinton 为什么突然想要推倒重来?这肯定不是出于巧合或者突然心血来潮,毕竟作为一个领域的先驱,质疑自己亲手建立的理论,不是谁都愿意做的事情。(试想一下,如果你到处做报告,说自己的领域有各种各样的问题,就算不会影响到自己,也让做这个领域的同行和靠这个领域吃饭的人不是很舒服)。


说推倒重来有点过分,Hinton并没有否定一切,并且他的主要攻击目标是深度学习在计算机视觉方面的理论。但是从几次演讲来看,他的 Capsule 计划确实和以前的方法出入比较大。Hinton 演讲比较风趣,但是也存在思维跳跃,难度跨度太大等问题。这些问题在他的关于 Capsule 的报告中还是比较突出的。可以说仅仅看报告很难理解完全 Hinton 的想法。我这几天结合各类资料,整理了一下 Hinton 的思路和动机,和大家分享一下。


Hinton 与神经网络

(以下用NN指代人工神经网络,CNN指代(深度)卷积神经网络,DNN指代深度神经网络)


要深入理解Hinton的想法,就必须了解神经网络发展的历史,这也几乎是Hinton的学术史。


人工智能才起步的时候,科学家们很自然的会有模拟人脑的想法(被称为连接主义),因为人脑是我们唯一知道的拥有高级智能的实体。


NN 起源于对神经系统的模拟,最早的形式是感知机,学习方法是神经学习理论中著名的 Hebb's rule 。NN最初提出就成为了人工智能火热的研究方向。不过 Hebb's rule 只能训练单层NN,而单层NN甚至连简单的“异或”逻辑都不能学会,而多层神经网络的训练仍然看不到希望,这导致了NN的第一个冬天。


Hinton 意识到,人工神经网络不必非要按照生物的路子走。在上世纪80年代, Hinton 和 LeCun 奠定和推广了可以用来训练多层神经网络的反向传播算法(back-propagation) NN再次迎来了春天。


反向传播算法,说白了就是一套快速求目标函数梯度的算法。


对于最基本的梯度下降(Gradient Descent):

 反向传播就是一种高效计算

的方式


不过在那时,NN就埋下了祸根。


首先是,反向传播算法在生物学上很难成立,很难相信神经系统能够自动形成与正向传播对应的反向传播结构(这需要精准地求导数,对矩阵转置,利用链式法则,并且解剖学上从来也没有发现这样的系统存在的证据)。反向传播算法更像是仅仅为了训练多层NN而发展的算法。失去了生物学支持的NN无疑少了很多底气,一旦遇到问题,人们完全有更多理由抛弃它(历史上上也是如此)。


其次是,反向传播算法需要SGD等方式进行优化,这是个高度非凸的问题,其数学性质是堪忧的,而且依赖精细调参。相比之下,(当时的)后起之秀SVM等等使用了凸优化技术,这些都是让人们远离NN的拉力。当那时候的人们认为DNN的训练没有希望(当时反向传播只能训练浅层网络)的时候,NN再次走向低谷。


深度学习时代的敲门砖——RBM

第二次NN低谷期间,Hinton没有放弃,转而点了另外一个科技树:热力学统计模型。


Hinton由玻尔兹曼统计相关的知识,结合马尔科夫随机场等图学习理论,为神经网络找到了一个新的模型:玻尔兹曼机(BM)。


Hinton用能量函数来描述NN的一些特性,期望这样可以带来更多的统计学支持。


不久Hinton发现,多层神经网络可以被描述为玻尔兹曼机的一种特例——受限玻尔兹曼机(RBM)。Hinton 在 Andrew Ng 近期对他的采访中 (https://www.youtube.com/watch?v=-eyhCTvrEtE),称其为 "most beautiful work I did"。


当年我第一次看到 RBM 的相关数学理论的时候,真的非常激动,觉得这样的理论不work有点说不过去。这里我给出相关的数学公式,以展示NN可以有完全不同于生物的诠释方式。


在统计力学中,玻尔兹曼分布(或称吉布斯分布)可以用来描述量子体系的量子态的分布,有着以下的形式:

其中 s 是某个量子态,E(s)为这个状态的能量,P(s)为这个状态出现的概率。


k是玻尔兹曼常量,是个常数。T是系统温度,在具体问题中也是一个常数。于是我们不妨让kT=1,原来的表达式可以简化为

也就是


这不就是 softmax 吗?居然自然地在统计力学分布里面出现了(难怪之前 LeCun 让大家学物理)。


为了再次简化,我们定义

于是就有了



(因为这时候公式里面只有一个s,就没有必要写下标了)


下面问题来了,E是什么?S又应该是什么?


Hinton 看了看神经网络的一层,其分为可见层(输入层)和隐含层(中间层)。按照经典网络的定义,神经元有激活和未激活两个状态。那么干脆让  等于可见层  并上隐含层  神经元的状态吧(默认都用向量的方式表示):


于是 

(RBM示意图,取自Wikipedia)

那么E又是什么呢?


非常巧合的是,量子物理学里面有个模型极其像神经网络,以至于只要了解过几乎都会惊叹两者的相似度。这个模型就是著名 易辛模型(Ising model)。易辛模型(物理学界常见调侃:你3维 Ising 模型会解了吗?)描述了晶格系统中的相变,解释了铁磁性问题(你可能好奇过,为啥这么多金属,就铁等少数金属特别敏感,而且还能被磁化。这个模型给出了解释)。


Hinton 把神经元的偏置(对于可见层记作  ,对于隐含层记作  ) 作为 Ising model 的 “外场”,NN的权重  作为 Ising Model 的“内部耦合系数”(两个神经元之间的权重越大,代表它们的耦合越强,关联越强),于是能量就可以写作非常简单的形式:

这个形式让人惊讶之处在于,在没有浪费任何一个NN中的参量的情况下做到了最简,并且非常合理的直觉:神经元的偏置只和神经元本身通过乘法直接相关,而两个神经元间的权重也只和对应的两个神经元通过乘法直接相关,而整体的贡献用加法联系起来。


我们可以将某个神经元Hi关联的能量分离出来。

也就是

其中Wi是和神经元Hi相连的权重,H'是除去Hi的向量。


为了方便,我们把和Hi无关的部分记作

于是

于是很容易得到

这不就是sigmoid函数吗?也就是

这时候 sigmoid 函数就有了自然的解释:玻尔兹曼分布下隐含层神经元激活的条件概率的激活函数。


如果你是 Hinton,推导到这一步,肯定也会觉得是个喜出望外的结果吧。


而优化的目标,就是极大似然估计,也就是最大化

这里其实也非常有趣,因为和热力学统计中的自由能非常相关。


定义自由能为

(“自由”可以理解为  拥有额外的自由度,其蕴含的能量在体系中可以用来对外做功)。


于是有

即V是关于自由能的玻尔兹曼分布。也就是我们找的参数是使得出现的样本的自由能(在参数约束的分布中)最低的一组参数。这样参数选择就和样本分布通过最低能量联系起来。


总之一切看上去都很有道理。Hinton展现了NN和玻尔兹曼分布间惊人的联系(其在论文中多次称 surprisingly simple),其背后的内涵引人遐想。甚至有人在听过Hinton的讲座之后,还发现RBM的训练模式和量子重整化群的重整化步骤是同构的。


不过问题是,优化整体网络是困难的,其根源性被认为在于配分函数Z。求得最低能量对应的结构一般意义上是个 #P-Hard 的问题,如果真的能够有有效算法,那么很多热力学系统,包括 Ising 模型也就迎刃而解。


Hinton 使用贪心的方式来降低算法复杂度:逐层训练网络,而不是整体优化。而为了训练每层RBM,Hinton发展了所谓的对比散度(contrastive divergence)算法。


CD算法利用了 Gibbs sampling,但是算法收敛的非常慢(这已经是贪心处理过的问题了,可见原问题多难)。Hinton再次近似,固定采样步数 k ,被称为 CDk 算法。Hinton 惊奇的发现 k=1 的时候(显然是极度粗糙的近似),算法的表现就已经相当良好了。


Hinton 发现用这个粗糙的算法预训练网络(这个时候是无监督学习,也就是只需要数据,不需要标签;在下面会提到)后,就可以通过调优(加上标签,使用反向传播继续训练,或者干脆直接在后面接个新的分类器)高效且稳定地训练深层神经网络。


之后“深度学习”这个词逐渐走上历史的前台,虽然 1986年就有这个概念了 。可以说 RBM 是这一波人工智能浪潮的先行者。


这让人想起另外一个相当粗糙但是甚至更加成功的算法——SGD。可以说,利用梯度的算法 中很难有比SGD还简单的了,但是SGD (加上动量后)效果确实特别好。非常粗糙的算法为何却对NN的优化这种非常复杂的问题很有效,这仍然是一个非常有趣的开放问题。


由于玻尔兹曼机本身的特性,其可以被用来解决“无监督学习”(Unsupervised learning)相关的问题。即使没有标签,网络也可以自己学会一些良好的表示,比如下面是从MNIST数据集中学到的表示:

当我们将人类智能,和目前的人工智障对比时,常常举的例子就是“现在机器学习依赖大数据,而人类的学习却是相反的,依赖小数据”。这个说法其实不尽准确。人类拥有太多的感知器官,无时无刻不接收着巨量的数据:就按人眼的分辨率而言,目前几乎没有什么实际的机器学习模型模型使用如此高清晰度的数据进行训练的。我们观察一个东西的时候,所有的知觉都潜移默化地给我们灌输海量的数据,供我们学习,推理,判断。我们所谓的“小数据”,实际上主要分为两个部分:

1.少标签。我们遇到的“题目”很多,我们无时无刻不在接受信息;但是我们的“答案”很少,我们可能看过各种各样的人,各种各样的动物,直到某一天才有人用3个字告诉我们,“这是猫”。可能一生中,别人给你指出这是猫的次数,都是屈指可数的。但是,仅仅通过这一两次提示(相当于一两个标签),你就能在一生中记得这些概念。甚至别人从不告诉这是猫,你也知道这应该不是狗或者其他动物。这种“没有答案”的学习称为 “无监督学习”(Yann LeCun将其比作蛋糕胚,以示其基础性的作用),目前机器学习在无监督学习方面进展很少。


2.逻辑推断,因果分析。也可以说是少证据。如果你看过探案相关的小说,那些侦探,能从非常细微的证据中,得出完整的逻辑链;现实中,爱因斯坦等物理学家能够从非常少的几点假设构建出整套物理学框架。最早的人工智能研究很多集中在类似的方面(流派被称为“符号主义”),但是事实证明这些研究大多数很难应用到实际问题中。现在NN为人所诟病的方面之一就是很难解决逻辑问题,以及因果推断相关的问题(不过最近有些进步,比如在视觉问答VQA方面)

(Yann LeCun的蛋糕,

来自网络上公开的Yann LeCun PPT的图片)


无监督学习和先验知识


这是为了帮助理解而在中间插入的一小节。这一小节强调先验知识对无监督学习的重要性,这有助于理解后面为什么Hinton要强行把所谓“坐标框架”体现在模型中,因为“坐标框架”就是一种先验知识,而且是从认知神经科学中总结的先验知识。


无监督学习是一种没有答案的学习。很关键的一点是,没有答案怎么学?


子曰:学而不思则罔,思而不学则殆。无监督学习就像一个“思而不学”(这里的“学”是指学习书本(即较直接答案),不是指广义的学习)的学生。显然这个学生如果没有正确的思路和指导方向,自己一直凭空想下去,八成会变成一个疯狂级的黑暗民科。


这个“思路和指导方向”就是我们的先验知识。先验知识并没有限定思考的范围,但是却给出了一些“建议的方向”。这对有监督和无监督学习都很重要,但是可能对无监督更加关键。


我们可以回顾一下为什么同为神经网络,CNN在图像,甚至语音等领域全方面碾压那种“简单”的密连接网络(参数少,训练快,得分高,易迁移)?

(CNN示意图,来自Wikipedia)


显然CNN有一个很强的先验关系:局部性。它非常在意局部的关系,以及从局部到整体的过渡。

(AlphaGo中使用CNN提取围棋的特征,

取自 DeepMind 关于 AlphaGo的论文 )


这在围棋中也非常明显,使用CNN的AlphaGo能够“看清”局部的关系,同时能够有很好的大局观。


而换一个领域,Kaggle 比如上面表格数据的学习,CNN就差多了,这时候胜出往往是各种集成方法,比如 Gradient Boosting 和 Random Forest。因为这些数据很少有局部关联。


无监督领域比较成熟的算法大多是聚类算法,比如 k-Means 等等。


这些算法聚类显著的特点是强调空间相关的先验,认为比较靠近的是一类。

(图为两个不同的聚类算法的效果,

取自Wikipedia k-Means页面)


然而即使如此,两个聚类算法的不同的先验知识仍然导致不同的结果。上面图中,k-Means的先验更强调cluster的大小均匀性(损失是聚类中心到类成员的距离平方),因此有大而平均的聚类簇;而高斯EM聚类则更强调密集性(损失是中心到成员的距离的指数),因此有大小不一但是密集的聚类簇。(大多数人更加偏向EM的结果,这大多是因为我们对米老鼠的,或者对动物头部的先验知识,希望能够分出“耳朵”和“脸”)


人的先验知识是我们最关心的,这可能是AI的核心。比如下面的 "tufa" 问题。我们随便指出一个人们从来没有看过的图案 “tufa”,然后让人们指出剩下哪些图案是 "tufa"。人们成功率会很高。而这个问题(one-shot learning)对机器却很难。

(图片来源:University of Oxford,

Lecture1 Introduction, Nando de Freitas)


这似乎是一种天然的能力。很难相信没有先验知识的机器能做到这件事。


另外,人和动物的视觉系统有着异常复杂的,现今仍然没有完全搞清楚的内部结构,这种特异化的结构同样是先验知识的有力证据:

(猴子的视觉系统各个部分的关联,

Felleman & Van Essen 1991)


近期有不少RL(强化学习)方面的论文试图探究和模仿人的先验知识。比如下面的这篇论文试图建模关于“好奇心”的先验知识,鼓励模型自己探究特殊之处,还是有一些奇效的。

(图片取自论文 Curiosity-driven Exploration by Self-supervised Prediction)


后面我们会看到 Hinton 通过认知科学和图形学总结出来的一些先验知识,以及他如何将这些先验知识加入到模型中去。


反向传播,它就是有效


不过不久,人们发现,使用ReLU以及合适的初始化方法,用上CNN,搭配上强劲的GPU之后,发现原来的深度神经网络可以照常训练,根本不用RBM预训练。RBM虽然数学上很漂亮,但是受结构限制严重,而且在supervised learning方面往往搞不过直接暴力反向传播。前几年Andrew Y. Ng在Google让神经网络自动检测视频中的猫的时候,Google内部的深度学习框架几乎就是用来支持RBM等的训练的。而现在Google开源的TensorFlow等主流框架中都没有RBM的影子。很多从TensorFlow入手的新人估计也没有听过RBM。


好了,现在除了各种小修小改(残差网络,Adam优化器,ReLU,Batchnorm,Dropout,GRU,和稍微创意点的GAN),神经网络训练主流算法又回到了30年前(那个时候CNN,LSTM已经有了)的反向传播了。


目前来看,很多对 NN 的贡献(特别是核心的贡献),都在于NN的梯度流上,比如

  • sigmoid会饱和,造成梯度消失。于是有了ReLU。

  • ReLU负半轴是死区,造成梯度变0。于是有了LeakyReLU,PReLU。

  • 强调梯度和权值分布的稳定性,由此有了ELU,以及较新的SELU。

  • 太深了,梯度传不下去,于是有了highway。

  • 干脆连highway的参数都不要,直接变残差,于是有了ResNet。

  • 强行稳定参数的均值和方差,于是有了BatchNorm。

  • 在梯度流中增加噪声,于是有了 Dropout。

  • RNN梯度不稳定,于是加几个通路和门控,于是有了LSTM。

  • LSTM简化一下,有了GRU。

  • GAN的JS散度有问题,会导致梯度消失或无效,于是有了WGAN。

  • WGAN对梯度的clip有问题,于是有了WGAN-GP。

但是为什么当前这种方式实际效果很好?我想主要有:

  • 全参数优化,end-to-end。反向传播(下面用BP代替)可以同时优化所有的参数,而不像一些逐层优化的算法,下层的优化不依赖上层,为了充分利用所有权值,所以最终还是要用BP来fine-tuning;也不像随机森林等集成算法,有相对分立的参数。很多论文都显示end-to-end的系统效果会更好。

  • 形状灵活。几乎什么形状的NN都可以用BP训练,可以搞CNN,可以搞LSTM,可以变成双向的 Bi-LSTM,可以加Attention,可以加残差,可以做成DCGAN那种金字塔形的,或者搞出Inception那种复杂的结构。如果某个结构对NN很有利,那么就可以随便加进去;将训练好的部分加入到另一个NN中也是非常方便的事情。这样随着时间推进,NN结构会被人工优化得越来越好。BP的要求非常低:只要连续,就可以像一根导线一样传递梯度;即使不连续,大部分也可以归结为离散的强化学习问题来提供Loss。这也导致了大量NN框架的诞生,因为框架制作者知道,这些框架可以用于所有需要计算图的问题(就像万能引擎),应用非常广泛,大部分问题都可以在框架内部解决,所以有必要制作。

  • 计算高效。BP要求的计算绝大多数都是张量操作,GPU跑起来贼快,并且NN的计算图的形式天生适合分布式计算;而且有大量的开源框架以及大公司的支持。

  • 神经解剖学

  • 认知神经科学

  • 计算机图形学


1.这是生物基础导致的妥协,是进化的累赘。由于细胞构成的生物系统难以完成某些特定任务,而以实质上非常低效的方式勉强实现。这时候不模仿人脑是正确的。典型的例子是算术计算以及数据存储。生物结构很难进化出精确的运算元件,以及大容量的存储元件,并且让它们能以GHz量级的频率持续工作。我们只能用高层的、抽象的方式进行不保证精准的运算、记忆,这大大慢于当代的计算机,也没有计算机准确。比如知乎上这个问题 比特币挖矿一定要用计算机吗?用纸笔来计算可行吗?,有很多折叠的回答是“这孩子能用来做显卡”。虽然这些回答有侵犯性,但是确实足以说明这些方面生物结构的显著弱势。


2.这是演化中的中性功能。进化只要求“够用”,而不是“最好”。有些人脑的结构和功能也许可以被完全不同的实现方式替代。这里的一个例子是 AlphaGo 下围棋。围棋高手能够把围棋下的很好,但是普通人不能。下围棋确乎关系到人的直觉,但是这种直觉不是强制的,也不是先天的:不会下围棋不意味着会在进化中淘汰,人脑中也没有专用的“围棋模块”。这个时候,我们可以设计一个和人脑机制差异很大的系统,比如AlphaGo,它可以下得比人还要好。


3.这是演化中的重大突破,这些功能造就了我们“人”的存在。比如人的各类感知系统,人的因果分析系统,学习系统,规划系统,运动控制系统。这些是人工智能尚且欠缺的。

(将人脑视觉通路分层和DNN分层的类比,

Image (c) Jonas Kubilias)


Hinton 注意到的一个有趣的事实是,目前大多数神经解剖学研究都支持(大部分哺乳类,特别是灵长类)大脑皮层中大量存在称为 Cortical minicolumn 的柱状结构(皮层微柱),其内部含有上百个神经元,并存在内部分层。这意味着人脑中的一层并不是类似现在NN的一层,而是有复杂的内部结构。

(mini-column 图片,引自 minicolumn hypothesis in neuroscience | Brain | Oxford Academic)


为什么大脑皮层中普遍存在 mini-column?这显然是一个重要的统计学证据,让 Hinton 愿意相信 mini-column 肯定起了什么作用。于是 Hinton 也提出了一个对应的结构,称为 capsule (胶囊,和微柱对应)。这就是 capsule 的由来。

但是 capsule 做了什么?之前的CNN又有什么问题?统计学证据不能给出这些的答案。Hinton的这部分答案来自认知神经科学。


认知神经科学和“没有免费的午餐”


这个可以通过科幻小说《三体》里面的提到一个例子来理解:


“农场主假说”则有一层令人不安的恐怖色彩:一个农场里有一群火鸡,农场主每天中午十一点来给它们喂食。火鸡中的一名科学家观察这个现象,一直观察了近一年都没有例外,于是它也发现了自己宇宙中的伟大定律:“每天上午十一点,就有食物降临。”它在感恩节早晨向火鸡们公布了这个定律,但这天上午十一点食物没有降临,农场主进来把它们都捉去杀了。


在这个例子中,问题是,火鸡愚蠢吗?


  • 观点1:火鸡很聪明。它能够发现和总结规律。只不过它在农场很不走运。

  • 观点2:火鸡很愚蠢。无论如何,它没有能够让自己逃脱死亡的命运。而且正是它自己得到的“规律”将它们送上死亡之路。


观点2就是“没有免费的午餐”。这是在“数学现实”中成立的,在“数学现实”中,一切可能性都存在,感恩节那天,火鸡有可能被杀,也有可能被农场主的孩子当成宠物,也有可能农场主决定把一部分鸡再养一年然后杀掉。鸡无论做出怎样的猜想都可能落空。可以证明,无论我们学习到了什么东西,或者掌握到了什么规律,我们总是可以(在数学上)构造一个反例(比如,让太阳从西边升起,让黄金变成泥土),与我们的判断不一致。这不管对于机器,而是对于人,都是一样的。也就是在“一般“的意义上,或者数学的意义上,没有哪个生物,或者哪个算法,在预测能力上比瞎猜更好。


而看似矛盾的观点1,却在物理现实中得以成立。可以说,物理定律是一部分不能用数学证明的真理。我们相信这些定律,一是因为我们尚且没有发现违背的情况,二是某种直觉告诉我们它很可能是对的。为什么我们能总结出这些定律,这是一个让人困惑的问题,因为看起来人并不是先天就能总结出各种定律。但是可以确定的是,我们本身就是定律约束下进化的产物,虽然对物理定律的理解不是我们的本能,但是很多“准定律”已然成为我们的本能,它们塑造了我们本能的思考问题的方式,对对称性的理解,等等等等。


现实中的情况介于观点1和观点2之间。很多东西既不是完全没有规律,也不是一种物理定律,但是对我们的进化和存活意义重大(也就是上面说的“准定律”),它们是一种非常强的“先验分布”,或者说,是我们的常识,而且我们通常情况下意识不到这种常识。


既然不是物理定律,那么按照观点2,我们就能够找到一些反例。这些反例对我们来说是某种“错误”,这种错误正是非常非常强的证据。理由是,我们很少出错(指认知和脑功能上的出错)。人脑是个黑盒,在绝大多数时候都工作正常,我们从中获得的信息量很小。但是一旦出错,就能给予我们很大的信息量,因为我们得以有机会观察到一些奇特的现象,好似百年一遇的日全食一般。很多神经科学上面的发现都建立在错误之上(比如脑损伤导致了语言区的发现,以及左右脑功能的确认等等)。它揭示了一些我们的本能,或者我们习得的先验知识。


根据上文所述,这种先验知识,对于机器学习,尤其是无监督学习,是极度重要的。


而认知神经科学就可以通过一些实验揭示出这些错误。下面给出一些例子:


第一个例子是下面的人脸:

这个人是什么样的表情?倒过来再看看?


这个例子说明了人对倒过来的人脸的表情的识别能力很差。长期的进化过程中,我们对正着的人脸造成了“过拟合”,“正着”的信息变得不是很重要。上面的图出现错觉的原因是,虽然人脸是倒着的,我们却用“正着”的思路观察图片中眼睛,而眼睛的线条走向给了我们表情信息:

(甚至一些简单的线条,都会让我们觉得是人脸,并且得出它的表情。其中眼睛和嘴的线条在我们表情识别中起了重要作用)


这启示我们,人类识别脸,其实就是通过几个关键的结构(眼睛,眉毛,嘴,鼻子)完成的。当今很多算法都模仿这一点,标注出人脸的关键结构,成功率很高。

另外人对脸的形状过拟合,也让我们看二次元中动画人物的脸时觉得很正常,实际上这和真实的脸差异很大,但是我们大脑不这么认为,因为这种识别机制已经成为了我们的本能。

第二个例子是这个错觉图

(图片取自 Wikipedia)

很难想象,A和B的颜色居然是一样的。

造成这个错觉的原因是,对了对应自然界中阴影对颜色识别的副作用,我们大脑擅自“减去”了阴影对颜色的影响。在进化中,我们正如火鸡一样,觉得“每天上午十一点,就有食物降临”;同样的,我们觉得“把阴影对颜色的干扰消除掉,就能识别得更好”,这成为了我们的“准定律”。然而,上面的错觉图中,要求我们比较A和B的颜色,就好似感恩节对火鸡一样,我们大脑仍然不听话地擅自改变颜色,导致我们在这个极其特殊的问题上判断失误。只不过这个失误不导致什么后果罢了,当然如果外星人打算利用这个失误作为我们的弱点来对付我们,那就是另外一种剧情。


下面这个图片是更加极端的情况

中间的条带其实没有渐变

第三个错觉是关于线条的:

人类会不由自主的觉得中间似乎有个白色三角形,因为我们大脑“骗”我们,让我们觉得似乎有一些“看不见的边”。

把效果变得更夸张一点:

按照一定距离观察这幅图,会让我们觉得产生了“缠绕”或者“扭曲”。实际上这些就是一个个同心圆。产生错觉的原因是,大脑给我们“脑补”了很多倾斜边(这些方块是倾斜的,并且采用了不同的颜色加强边的效果),这些边的形状不同于它们的排列方向,因此会觉得“缠绕”。如果我们到了这样的图案居多的世界中,我们的现在视觉系统将难以正常工作。


我们生活中的绝大多数物体,都有着明确的边界。这不是一个物理定律,但是就其普遍性而言,足够成为一个“准定律”。以至于人和动物的大脑视觉皮层拥有专门识别边的结构:

CNN 被认为在生物学上收到支持的原因之一,在于能够通过学习自动得到边缘等

特征的filter(非常像所谓的 Gabor filter):

CNN成功之处在于能够非常成功的抽取到图像的特征。这在 Neural Style 项目的风格迁移(原图+风格->带风格的原图)中表现得非常好:

人类的这些错觉同时也暗示了人类和算法模型一样受“没有免费午餐定理”的限制,人的认知并没有特别异于算法的地方,或许是可以被算法复现的。


Hinton 从认知神经科学中得到的反对CNN的理由

说 Hinton 是一个认知神经科学家并没有问题。Hinton做过不少认知实验,也在认知科学领域发过不少论文。

Hinton自己也承认,CNN做的非常好。但是当Hinton做了一系列认知神经科学的试验后,HInton 觉得有些动摇,直至他现在反对CNN。


今天的介绍就到这里,明天同一时间继续解读Hinton,解读他的四面体,希望能给您带来帮助!







雷课:

       让教育更有质量,

       让教育更有想象!





点“阅读原文”,查看最新课程安排

Copyright © 重庆新能源汽车社区@2017