胶囊网络:将CNN推下神坛的“天命之子”
图片来源于《狮子王》
文|脑极体
前不久,图灵奖得主Geoffrey Hinton的第一篇论文被扒了出来,在推特上引发了不少关注。
当然,让大家激动的并不是源自对"大神"科研处女作的好奇,也不是提出的算法有多么颠覆,而是Hinton 这位AI界的人形自走教科书,早在40年前这篇论文中,就提出了"让AI具备空间感"的松弛算法,解题思路与2017年其提出的"胶囊网络"不谋而合。
要知道,"胶囊网络"早已是公认将成为下一代深度学习基石、CNN"接班人"的神经网络。
经历了长达四十年的思考,"胶囊网络"将会怎样大显神威,技术背后代表的未来能量才是让网友们"鹅妹子嘤"的地方啊~
如果你还不太了解"胶囊网络",或是对其最新进展不甚了了,那么,不妨跟随这篇文章,来系统性地了解一下这个人工智能未来的"种子选手"。
神经网络 "宫心计":胶囊是如何"争宠"的?
对AI发展略有了解的同学们可能都知道,Hinton被人所熟知,并获得图灵奖,主要归功于其在深度神经网络上的贡献。
1986年,Hinton发表了《Learning representations by back-propagation errors》(通过反向传播误差来学习表征),作为这位图灵奖得主的代表作之一,标志着反向传播算法正式被引进深度学习,这对人工智能的应用有着重大的意义。
反向传播出现之前,多层神经网络的训练主要是通过前向传递来输入信号,直至产生误差,再进行优化。以梯度下降(Gradient Descent)为例,输入数据每向前走一步,都沿着最陡峭的地方下脚,就这样一步步走到山底(梯度的反方向)。因此,该算法可以直接将每层的误差反馈给系统,并进行参数优化。
但这种方式在应对具有多个隐层的神经网络时,就有些力不从心了。在下降时隐层中的误差无法被直接反馈出来,因此其权重参数也就不能直接被优化,这就给神经网络的性能表现带来了极大的不稳定性。
怎样才能将隐层的误差表示出来呢?反向传播算法的出现是一场"及时雨"。
它的原理简单来说,就是一旦下降时(即前向传播)输出层没有得到适当而明确的误差参数,那么反向传播就会借助转置权重矩阵,让误差可以被隐藏层感知到,进而产生"间接误差"。而隐藏层的权重矩阵就可以借助间接误差进行更新。这样反复迭代,就能将包含隐藏层的多层神经网络误差降到最小。
正是在此基础上,卷积神经网络展现出了前所未有的性能。
输入数据的特征经过归一化处理后,就会进入隐含层中,完成卷积计算、池化、调参等一系列模拟神经元的操作,再输出成不同的识别效果。
这种分层认知特征的学习能力,和人类大脑的思维方式高度相似。这也是为什么,卷积神经网络在机器视觉及很多问题上都取得了当时最好的性能,成为应用最广泛的深度神经网络结构。
但是,受限于反向传播的天然缺陷,卷积神经网络并不完美,黑箱性、高消耗、迁移能力差等诸多问题,一直为学界和产业界所诟病。这也是为什么,Hinton一直在寻找着CNN的替代者。
2011年,Hinton认为目前的图像识别方法在智力上表现不够好,提出了"胶囊"的概念。数年之后,2017年10月,则在机器学习的顶级会议"神经信息处理系统大会(NIPS)"上发表了题为《胶囊之间的动态路由》的论文,提出了全新的深度学习方法 ----胶囊网络(CapsNet)。
"胶囊"代表图像中特定实体的各种特征,比如位置、大小、方向、速度、色调、纹理等等,作为一个单独的逻辑单元存在。然后,使用一个协议路由算法,当胶囊将自己学习并预测到的数据传递给更高层次的胶囊时,如果预测一致,更高级别的胶囊变得活跃,这个过程就被称作动态路由。
随着路由机制的不断迭代,就能够将各种胶囊训练成学习不同思维的单元。例如,让神经网络识别面部,就将面孔的不同部分分别"路由"到能够理解眼睛、鼻子、嘴、耳朵的胶囊里去。
换句话说,神经胶囊就是一组被打包好的神经元,它们在内部进行大量运算,然后仅向上输出一个结果----高维向量。
那么,胶囊网络,比常规的卷积神经网络好在什么地方?大约可以总结为三点:
首先,卷积神经网络的输出结果是标量,而胶囊网络是带有方向的向量。而向量存在的意义是,胶囊网络不仅可以根据统计信息进行特征检测,比如根据眼睛鼻子嘴等五官识别出一张"脸",还可以对特征进行理解,如果五官不在其特定的区域了,比如嘴长到了额头、眼睛长到了耳朵上,胶囊网络却不会像CNN一样含糊放过。因为它能够检测不同方向的同一个物体类别(例如,顺时针旋转),从而学习到基本的思维,知道到底什么样子的五官才能被称作是"脸"。
第二,卷积神经网络的每一层都需要做同样的卷积运算,因此需要相当多的网络数据才能学习,否则就无法精准地调参,非常耗时、低效且昂贵。比如让它学会认脸技能,需要投喂大量不同的变体,MNIST数据集就包含55,000个训练数据,即每个数字单元都有5,500个样本。
胶囊网络则要求模型在胶囊中学习特征变量,最大化保留那些有价值的信息,因此它可以使用更少的训练数据就推断出可能的变量,达到CNN的预期效果。这就使得它在人脸识别、图像识别、字符识别等领域的落地更受欢迎了。
(MultiMNIST数据集中,胶囊网络输出性能远超CNN)
第三,卷积神经网络不能很好地处理模糊性,因为不断池化会丢失许多重要的特征信息,因此对微小的变化不甚敏感,在完成语义分割等复杂任务时,需要构建复杂的体系结构来解决信息丢失问题。也难怪Hinton会说出"CNN分类正确率很高,看似一个大好局面,实则是一场灾难"的话了。
但胶囊网络不同,由于每个胶囊都携带了大量的信息,目标位置、旋转、厚度、倾斜、大小等详细信息都被保存并平移给了上层胶囊,自然也就可以用简单一致的架构应对不同的视觉任务。
听起来是不是还蛮不错的,别激动,除此之外,胶囊网络还有一个比较"形而上"的优势,那就是它的传输和运算逻辑更符合人脑神经元的工作方式,不同的胶囊可以携带不同属性,就像人脑的不同区域负责不同的工作。因此,其智能化表现上更加优秀,能够举一反三。
比如下面这些自由女神像,各种角度都能认出来,对胶囊网罗来说非常简单。而CNN在模拟人类神经元这件事上,却只能"有多少人工(数据)就有多少智能",真是高下立见啊。
胶囊神经网络想要上位,差在哪些地方?
被AI教父亲口断定没有前途,一场神经网络界庶长子与嫡次子的夺位之战即将拉开序幕……
显然,又聪明又能干又会过日子的"胶囊网络"才是民心所向,2018年2月该论文第一作者刚刚在GitHub开源了胶囊网络的代码,就吸引来了数万人fork(复制源代码在其上开发)。
按理说,以AI算法的迭代速度,一年多时间怎么都够孵化出N个新模型了,比如AlphaGo开源并隐退后,很快又出现了强化版"师弟"AlphaGo Master,击败了世界排名第一的人类选手柯洁。五个月之后,更强的AlphaGo zero从零自学了40天,又打败了AlphaGo Master版本。
既然如此,怎么胶囊网络就是"雷声大雨点小"呢?
显然,不是"嫡次子"能力不行,也不是智囊团不给力,而是想要真的把"ANN长子"拉下马,势必会遭遇若干阻碍,比如说:
1.模型训练的周期局限。由于需要在每个胶囊单元中完成计算(协议路由算法),导致其训练模型的时间更慢。在不同硬件和云服务器上的50迭代训练时间说明,与CNN相比,胶囊网络模型需要更大的耐心。
2.学术起步阶段的研究局限。目前针对胶囊网络的研究大多集中在零样本和少样本任务中,而且,胶囊网络在CIFAR10数据集、ImageNet等大图像上的准确性并没有CNN的高。产业端自然不会在缺乏足够实验例证、投资回报不明晰的前提下,贸贸然就选择跟进了。
3.胶囊网络自身的性能局限。与CNN一样,胶囊网络也有其不完美之处,比如胶囊拥挤,即如果一个胶囊网络彼此之间太接近,就没有办法区分出同一类型的两个对象。因此在模型中,给定的位置上只能有一个给定类型的胶囊,这就大大局限了其现实中应用的条件。
从某种程度上来说,胶囊网络还是一个刚刚坠地的孩童,距离拿下CNN的位置还是非常遥远的。
但是也别急着失望,让CNN在现阶段发光发热,同时继续培养未来堪当大任的接班人,这样生生不息的AI未来也蛮值得期待的,"养成"也是一种乐趣嘛~
学而时习之:胶囊网络的新发现
虽然现在的胶囊网络还很弱小,但并不妨碍无数"最强大脑"拼命教它本领。那么近两年来,胶囊网络有哪些新的发现可以给大家汇报一下呢?
有几个重要的成就值得说说:
1.通过胶囊网络抵御对抗性攻击
还是熟悉的配方,还是熟悉的味道。在胶囊网络模型提出的一年之后,原作者团队(Sabour、Frosst 以及 Hinton)在2018年的机器学习安全研讨会中展示了自己的新成果----胶囊网络在抵御对抗性攻击上的能力。
对抗性攻击会对传统的CNN产生较大影响,比如不同方向的图片,CNN很容易辨认不清,如果一些特征被放置在了错误的地方,CNN也会被图片所欺骗。这会引发一系列安全问题,比如自动驾驶汽车搞混了真的人脸与打印的人脸。
对此,原团队提出了一种与攻击独立的检测技术---- DARCCC,它能够识别出真实图像和GAN生成的图像在距离上的分布误差,从而有效检测出"对抗"图像,防止系统被假图片欺骗而导致错误的分类。
(用真实数据和对抗样本分别训练出的胶囊网络,后者重构出的图像更像 "1")
2. 胶囊网络+图卷积GCN的图分类能力
图分类是一个应用非常广泛的技术,在分子表示、社会网络分析、金融等领域,都需要从图形中提取特征信息,并对其进行结构化的数据表示和分类。但是,已有的CNN分类算法在运行过程中,往往需要固定大小的矩阵,但图形节点和边的数量却可能存在很大的变化,给任务带来很大的困难。
而判断特征之间的相似性,正是胶囊网络所擅长的。因此,有研究团队将胶囊网络与图卷积GCN相结合,开发出了新的图分类模型。靠胶囊网络记住图结构中的丰富信息,以及图的节点和边等实体特征,将其转化成向量。再将CNN和胶囊层结合在一起,从而提高分类性能。
实验结果表明,在所有7个基准数据集上,胶囊网络的加入确实效果优于CNN分类器。不过,执行速度也比CNN慢上八倍,同志仍需努力呀。
3.胶囊网络+注意力机制=零样本意图识别
在少量样本或无样本情况下,对新的类别进行理解,是困扰学界和产业界的老大难问题。比如在智能问答和对话系统中,如何快速识别明明确新用户的对话和意图,对其进行正确分类和处理,就是提升智能对话、降低无效沟通的重要课题。
就在前不久,ACL 2018中就出现了相关研究,研究人员首先通过与训练方式提取文本信息,对其层次特征进行向量化处理。然后利用胶囊动态路由算法,将新的用户意图与已有用户意图之间的相似度进行对比,再将已有用户意图上的信息迁移至新的用户意图分类上,从而实现对新意图的预测。
在SNIPS-NLU和CVA两个语音助手数据集上,胶囊网络的加入都让语义理解能力有了一定的提升。
关于胶囊网络的相关学术论文还有不少,比如基于胶囊网络的手势识别,正确率达到94.2%,能够帮助听障人群进行更有效地沟通;以及在ICLR 2019上发表的图片分类新框架胶囊图神经网络(CapsGNN),也是将胶囊网络与图神经网络(GNN)结合的新模型。
如果说以卷积神经网络为尊,是现阶段AI产业的"原教旨主义",胶囊网络显然正在让这一信仰土崩瓦解。不过,从实验室到真实的应用体系中,想要真正取代CNN,还有千千万万特殊问题亟待处理。但如果把它当做一个思路,与现有的深度学习模型相结合,那么现在,胶囊网络就可以给予我们不少意外和惊喜。
这当然仅仅是个开始,正如不断手撕CNN的Hinton所总结的---- 科学是踩着葬礼前行的。站在前人的肩膀上前行,才能让人工智能始终作为一种"杀手锏"式技术,成为我们博弈未来的武器。
更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: