终于盼来了Hinton的Capsule新论文,它能开启深度神经网络的新时代吗?

AI 科技评论按:眼见“深度学习教父”Geoffrey Hinton在许多场合谈到过自己正在攻关的“Capsule”之后,现在我们终于等到了这篇论文,得以具体感受Capsule的特性。AI 科技评论把这篇论文主要成果介绍如下。

背景

目前的神经网络中,每一层的神经元都做的是类似的事情,比如一个卷积层内的每个神经元都做的是一样的卷积操作。而Hinton坚信,不同的神经元完全可以关注不同的实体或者属性,比如在一开始就有不同的神经元关注不同的类别(而不是到最后才有归一化分类)。具体来说,有的神经元关注位置、有的关注尺寸、有的关注方向。这类似人类大脑中语言、视觉都有分别的区域负责,而不是分散在整个大脑中。

为了避免网络结构的杂乱无章,Hinton提出把关注同一个类别或者同一个属性的神经元打包集合在一起,好像胶囊一样。在神经网络工作时,这些胶囊间的通路形成稀疏激活的树状结构(整个树中只有部分路径上的胶囊被激活),从而形成了他的Capsule理论。Capsule也就具有更好的解释性。值得一提的是,同在谷歌大脑(但不在同一个办公室)的Jeff Dean也认为稀疏激活的神经网络是未来的重要发展方向,不知道他能不能也提出一些不同的实现方法来。

Capsule这样的网络结构在符合人们“一次认知多个属性”的直观感受的同时,也会带来另一个直观的问题,那就是不同的胶囊应该如何训练、又如何让网络自己决定胶囊间的激活关系。Hinton这篇论文解决的重点问题就是不同胶囊间连接权重(路由)的学习。

解决路由问题

首先,每个层中的神经元分组形成不同的胶囊,每个胶囊有一个“活动向量”activity vector,它是这个胶囊对于它关注的类别或者属性的表征。树结构中的每个节点就对应着一个活动的胶囊。通过一个迭代路由的过程,每个活动的胶囊都会从高一层网络中的胶囊中选择一个,让它成为自己的母节点。对于高阶的视觉系统来说,这样的迭代过程就很有潜力解决一个物体的部分如何层层组合成整体的问题。

对于实体在网络中的表征,众多属性中有一个属性比较特殊,那就是它出现的概率(网络检测到某一类物体出现的置信度)。一般典型的方式是用一个单独的、输出0到1之间的回归单元来表示,0就是没出现,1就是出现了。在这篇论文中,Hinton想用活动向量同时表示一个实体是否出现以及这个实体的属性。他的做法是用向量不同维度上的值分别表示不同的属性,然后用整个向量的模表示这个实体出现的概率。为了保证向量的长度,也就是实体出现的概率不超过1,向量会通过一个非线性计算进行标准化,这样实体的不同属性也就实际上体现为了这个向量在高维空间中的方向。

采用这样的活动向量有一个很大的好处,就是可以帮助低层级的胶囊选择自己连接到哪个高层级的胶囊。具体做法是,一开始低层级的胶囊会给所有高层级的胶囊提供输入;然后这个低层级的胶囊会把自己的输出和一个权重矩阵相乘,得到一个预测向量。如果预测向量和某个高层级胶囊的输出向量的标量积更大,就可以形成从上而下的反馈,提高这两个胶囊间的耦合系数,降低低层级胶囊和其它高层级胶囊间的耦合系数。进行几次迭代后,贡献更大的低层级胶囊和接收它的贡献的高层级胶囊之间的连接就会占越来越重要的位置。

在论文作者们看来,这种“一致性路由”(routing-by-agreement)的方法要比之前最大池化之类只保留了唯一一个最活跃的特征的路由方法有效得多。

网络构建

作者们构建了一个简单的CapsNet。除最后一层外,网络的各层都是卷积层,但它们现在都是“胶囊”的层,其中用向量输出代替了CNN的标量特征输出、用一致性路由代替了最大池化。与CNN类似,更高层的网络观察了图像中更大的范围,不过由于不再是最大池化,所以位置信息一直都得到了保留。对于较低的层,空间位置的判断也只需要看是哪些胶囊被激活了。

这个网络中最底层的多维度胶囊结构就展现出了不同的特性,它们起到的作用就像传统计算机图形渲染中的不同元素一样,每一个胶囊关注自己的一部分特征。这和目前的计算机视觉任务中,把图像中不同空间位置的元素组合起来形成整体理解(或者说图像中的每个区域都会首先激活整个网络然后再进行组合)具有截然不同的计算特性。在底层的胶囊之后连接了PrimaryCaps层和DigitCaps层。

实验结果

由于胶囊具有新的特性,所以文中的实验结果也并不只是跑跑Benchmark而已,还有很多对胶囊带来的新特性的分析。

数字识别

首先在MNIST数据集上,经过三次路由迭代学习、层数也不算多的CapsNet就得到了优秀的错误率。

同时,作者们依据CapsNet中的表征对“网络认为自己识别到”的图像进行重构,表明在正确识别的样本中(竖线左侧),CapsNet可以正确识别到图像中的细节,同时降低噪声。

健壮性

由于网络结构中DigitCaps部分能够分别学到书写中旋转、粗细、风格等变化,所以对小变化的健壮性更好。在用一个随机抹黑过数字的MNIST数据集训练CapsNet后,作者们用它来识别affNIST数据集。这个数据集中的样本都是经过小幅度变化后的MNIST样本,变化后的样本如下图。这个CapsNet直接拿来识别affNIST的正确率有79%;同步训练的、参数数目类似的CNN只有66%。

分割高度重合的数字

作者们把MNIST数据集中的数字两两叠在一起建立了MultiMNIST数据集,两个数字的边框范围平均有80%是重合的。CapsNet的识别结果高于CNN基准自不必提,但作者们接下来做的图形分析中清晰地展现出了胶囊的妙处。

如图,作者们把两个激活程度最高的胶囊对应的数字作为识别结果,据此对识别到的图像元素进行了重构。对于下图中识别正确的样本(L指真实标签,R指激活程度最高的两个胶囊对应的标签),可以看到由于不同的胶囊各自工作,在一个识别结果中用到的特征并不会影响到另一个识别结果,不受重叠的影响(或者说重叠部分的特征可以复用)。

另一方面,每个胶囊还是需要足够多的周边信息支持,而不是一味地认为重叠部分的特征就需要复用。下图左图是选了一个高激活程度的胶囊和一个低激活程度胶囊的结果(*R表示其中一个数字既不是真实标签也不是识别结果,L仍然为真实标签)。可以看到,在(5,0)图中,关注“7”的胶囊并没有找到足够多的“7”的特征,所以激活很弱;(1,8)图中也是因为没有“0”的支持特征,所以重叠的部分也没有在“0”的胶囊中用第二次。

胶囊效果的讨论

在论文最后,作者们对胶囊的表现进行了讨论。他们认为,由于胶囊具有分别处理不同属性的能力,相比于CNN可以提高对图像变换的健壮性,在图像分割中也会有出色的表现。胶囊基于的“图像中同一位置至多只有某个类别的一个实体”的假设也使得胶囊得以使用活动向量这样的分离式表征方式来记录某个类别实例的各方面属性,还可以通过矩阵乘法建模的方式更好地利用空间信息。不过胶囊的研究也才刚刚开始,他们觉得现在的胶囊至于图像识别,就像二十一世纪初的RNN之于语音识别 —— 研究现在只是刚刚起步,日后定会大放异彩。

论文全文参见:https://arxiv.org/pdf/1710.09829.pdf

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-10-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏目标检测和深度学习

目标检测入门(四):特征复用、实时性

文章结构 本文的第一部分关注检测模型的头部部分。对与每张图片,深度网络其实是通过级联的映射获得了在某一流形上的一个表征,这个表征相比原图片更有计算机视角下的语义...

3247
来自专栏计算机视觉战队

前景目标检测的无监督学习

无监督学习是当今计算机视觉领域最困难的挑战之一。这项任务在人工智能和新兴技术中有着巨大的实用价值,因为可以用相对较低的成本收集大量未标注的视频。

792
来自专栏新智元

DeepMind提出关系RNN:构建关系推理模块,强化学习利器

1133
来自专栏锦小年的博客

Nilearn学习笔记2-从FMRI数据到时间序列

通过前面的学习了解,我们知道最原始的Fmri数据是4维的,包含三围的空间信息和一维的时间。在实际应用中,我们更多的是利用大脑图像时间序列做研究分析,因为无法直接...

2197
来自专栏机器之心

教程 | TF官方博客:基于TensorFlow.js框架的浏览器实时姿态估计

2016
来自专栏机器之心

学界 | 微软基于短语的神经机器翻译方法NPMT:不使用任何注意机制

选自arXiv 作者:Po-Sen Huang等 机器之编译 参与:李亚洲 谷歌前不久在 arXiv 上发表论文《Attention Is All You N...

2777
来自专栏小小挖掘机

深度强化学习-Policy Gradient基本实现

在之前的几篇文章中,我们介绍了基于价值Value的强化学习算法Deep Q Network。有关DQN算法以及各种改进算法的原理和实现,可以参考之前的文章: 实...

4566
来自专栏AI科技评论

深度 | 用于大规模行人重识别的行人对齐网络

1.Motivation 近年来,对行人重识别(person re-ID)问题的研究也越来越多了。类比于自然语言处理(nlp)的话,大家或者集中于语义层面的设计...

3518
来自专栏CSDN技术头条

推荐系统中基于深度学习的混合协同过滤模型

近些年,深度学习在语音识别、图像处理、自然语言处理等领域都取得了很大的突破与成就。相对来说,深度学习在推荐系统领域的研究与应用还处于早期阶段。 携程在深度学习与...

23810
来自专栏机器之心

可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法

选自Medium 作者:Leon Fedden 机器之心编译 参与:Nurhachu Null、刘晓坤 这篇文章基于 GitHub 中探索音频数据集的项目。本文...

42813

扫码关注云+社区