Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部报道

Hinton的胶囊网络不太行?CVPR Oral论文:不比卷积网络更「强」

在一篇 CVPR 2021 Oral 论文中,来自慕尼黑大学、微软亚研的研究者对胶囊网络和卷积网络进行了全面的对比。一系列实验表明,一些被认为对胶囊网络(CapsNet)至关重要的设计组件实际上会损害它的鲁棒性,而另一些设计则有利于 CapsNet 的鲁棒性。

卷积神经网络取得了很大的成功,也很受欢迎。但是它也并不适合所有的任务。架构上的一些缺陷导致它并不能很好地完成一些任务。

图片


因此,Hinton 和他的同事们提出了胶囊网络 (CapsNet) 作为 CNN 模型的替代。胶囊具有等变性并且输入输出都是向量形式的神经元而不是 CNN 模型中的标量值。胶囊的这种特征表示形式可以允许它识别变化和不同视角。在胶囊网络中,每一个胶囊都由若干神经元组成,而这每个神经元的输出又代表着同一物体的不同属性。这就为识别物体提供了一个巨大的优势,即能通过识别一个物体的部分属性来识别整体。

一直以来,人们普遍认为 CapsNet 比卷积网络更鲁棒。然而,还没有研究对这两个网络进行全面的比较,也不知道 CapsNet 中的哪些组件影响其鲁棒性。

在本文中,来自慕尼黑大学、微软亚研的研究者首先仔细研究了 CapsNet 中不同于图像分类的 ConvNet 网络的特殊设计,揭示了 CapsNet 中五个主要的组成部分:变换过程、动态路由层、挤压函数、除交叉熵损失之外的边际损失以及用于正则化的附加类条件重构损失。除了这些主要差异之外,研究者还对三种鲁棒性进行了全面的消融实验,包括仿射变换的鲁棒性、识别重叠数字的能力和语义表征的紧凑性。

图片


论文地址:http://128.84.4.27/pdf/2103.15459

该研究表明,一些被认为对 CapsNet 至关重要的设计,即动态路由层和变换过程,实际上会损害它的鲁棒性,而另一些设计则有利于 CapsNet 的鲁棒性。基于这些发现,他们通过引入 CapsNet 成功背后的关键组件来增强 ConvNet。与 CapsNet 相比,本文提出的简单 ConvNet 具有更好的鲁棒性。

鲁棒性比较:胶囊网络 VS 卷积网络

在这一部分中,研究者对 CapsNet 的鲁棒性进行了实证研究。在深入研究之前,他们首先介绍了 CapsNet 和 ConvNet 的体系架构。CapsNet 是一种具有动态路由的胶囊网络 [24]。由于对 CapsNet 的研究仍处于初级阶段,将 CapsNetLeNet 类型的 ConvNet——ConvNet-FC 进行了比较。ConvNet-FC 和 CapsNet 如下图 1 所示,输入是 28×28 MNIST 数据集图像。

图片

  • ConvNet-FC:ConvNet 基准是 Conv(256, 5, 1) + Conv(256, 5, 1) + Conv(128, 5, 1) + FC(328) + FC(192) + Softmax(10) );

  •  CapsNetCapsNet 带有动态路由,是 Conv(256, 9, 1) + Conv(256, 9, 2) + 动态路由,后面是一个重构子网络,FC(512) + FC(1024) + FC (28×28)。特征映射是通过两个标准卷积层计算的。


输入仿射变换的鲁棒性

为了检查两种模型的变换鲁棒性,研究者使用流行的基准 [24, 3],其中模型在 MNIST 上训练并在 AffNIST 上测试。数据集示例如下图 2 所示。除了 ConvNet-FC 和 CapsNet 之外,实验中还包括了基准上的 SOTA 模型,即 Aff-CapsNet。它通过消除动态路由和在转换过程中共享转换矩阵来简化 CapsNet

图片



结果如下表 1 所示,由结果可以得出,在 ConvNet-FC 和 CapsNet 之间存在差距。如文献 [24,3] 所述,CapsNet 优于 ConvNet-FC,Aff-CapsNet 优于 CapsNet

图片



研究者以 Aff-CapsNet(一个简化的 CapsNet)为基准,对下表 2 中 CapsNet 的组成部分进行了进一步的消融研究。其中,动态路由不利于变换的鲁棒性,这一结果在表 1 中也体现出来。此外,当不使用挤压函数时,CapsNet 必须将胶囊长度回归到极限值(例如 0 或 1),这是一项艰巨的任务,会导致性能不佳。边际损失(margin loss)会略微削弱 CapsNet 的变换鲁棒性,而重构对其没有影响。而非条件重构方法在每次训练迭代中更新所有的胶囊,因此性能略有提高。

图片



基于上述发现,研究者提出了一个新的简单的 ConvNet 基准——ConvNet-Avg。以两个卷积层开始,并以全局平均池化和输出层结束,这也是图像分类中常用的体系架构。利用交叉熵损失对模型进行训练,当模型达到测试性能(99.22%)时停止训练。如表 1 所示,该研究提出的简单的 ConvNet-Avg 在参数较少的情况下取得了略好的性能。

由输入仿射变换的鲁棒性实验可得:

  • 与 ConvNet-FC 相比,CapsNet 在 AffNIST 上以较少的参数获得了更好的测试性能,研究者将差距归因于内核(kernel)大小;

  • 动态路由会损害 CapsNet 的转换鲁棒性。当路由被移除时,统一的平均投票(NoR)能更好地汇集全局信息;

  • 基准 ConvNet-Avg 显著优于 CapsNet



识别重叠数字

文献 [24] 表明 CapsNet 通过分段能够识别重叠数字。为了检查这个属性,研究者使用 MultiMNIST 数据集进行测试,该数据集是通过将来自不同类的一个数字叠加在另一个数字之上生成的。具体来说,带有数字的 28×28 MNIST 图像,首先在每个方向上移动最多 4 个像素,从而得到 36×36 图像。生成的图像叠加到来自不同类别但相同集(训练数据集或测试数据集)的另一幅图像,具体示例如图 2c 所示。

下表 4 为识别重叠数字的性能结果,其中对 CapsNet 单个组件进行了消融实验。由结果可得,重构子网络有助于提高识别性能。然而,它不一定是类条件的。重构损失使训练过程规范化,使得关于两个数字的信息被编码在特征和高级胶囊中。边际损失可以直接应用于多目标分类任务,其性能优于标准的二值交叉熵损失。重构和边际损失都可以用于增强 ConvNet。

图片


由识别重叠数字实验可以得到:

  • 所有组件有助于 CapsNet 识别重叠数字;

  • 非共享变换矩阵的变换过程和权重投票动态路由带来了较高的建模能力,这本质上有助于 CapsNet 在该任务上取得高性能;

  • 在这个基准测试中,具有相似参数的简单 ConvNetFC(LK)的性能优于 CapsNet,说明 CapsNet 在识别重叠数字方面并不比 ConvNet 更具有鲁棒性。


语义胶囊表征

CapsNet 中,当胶囊中的单个元素受到扰动时,重构的图像在视觉上发生相应的变化[24],见下图 4d。视觉上的变化往往对应于人类可以理解的语义对象的变化。在本实验中,研究者探索了哪个组件支持语义表征。由于这一特性主要通过重构子网络来实现,实验中介绍了 3 个模型:ConvNet-CR 、 ConvNet-R 和 ConvNet-CR-SF 。

训练之后,研究者在 160 种激活函数上执行了胶囊扰动实验。在 CapsNet 中,他们通过 0.05 的间隔(范围为[-0.2, 0.2])轻微调整了胶囊表征的一个维度。重建图像如图 4d 所示,可以观察到图像的语义变化,如旋转和笔画粗细。

研究者发现,当在相同的范围内扰动相应函数时,ConvNets 中的重建图像在视觉上几乎保持不变,这可能是单位激活函数的扰动范围太小导致的。所以,他们逐步地扩大范围,直到重建图像无法被识别,这时范围为[-8, 8]。重建图像如图 4a、4b 和 4c 所示。

图片



在下图 5 中,研究者使用具有一个 2D 输入空间和 3 个输出类的示例来说明这些函数的特征。ConvNet-R 从稍微纠缠的特征中重建了输入,在 ConvNet-CR 中,不同类的特征由于自身的类条件性实现了完美的分割。ConvNet-CR-CF 通过进一步挤压向量对特征空间进行限制,这样向量可以留在流形中。

图片


下表 5 展示了各个模型的紧密度得分。研究者推测,正是这些限制提升了表征的紧密度。具体来讲,类条件重建和挤压函数帮助 CapsNet 学习有意义的语义表征,而动态路由甚至造成了损害。这两个组件都可以集成到 ConvNets 中,其中相较于 CapsNets,ConvNet-CR-SF 学习到了更好的语义紧密表征。

图片


由语义胶囊表征实验可得:

类条件重构和挤压函数都有助于 CapsNet 学习有意义的语义表征,而动态路由则会起到相反的效果。这两个组件可以集成到 ConvNet,其中 ConvNet-CR-SF 比 CapsNet 学习到更好的语义紧凑表征。
理论CVPR胶囊网络
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

LeNet技术

LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展。自从 1988 年开始,在许多次成功的迭代后,这项由 Yann LeCun 完成的开拓性成果被命名为 LeNet5。LeNet5 的架构基于这样的观点:(尤其是)图像的特征分布在整张图像上,以及带有可学习参数的卷积是一种用少量参数在多个位置上提取相似特征的有效方式。在那时候,没有 GPU 帮助训练,甚至 CPU 的速度也很慢。因此,能够保存参数以及计算过程是一个关键进展。这和将每个像素用作一个大型多层神经网络的单独输入相反。LeNet5 阐述了那些像素不应该被使用在第一层,因为图像具有很强的空间相关性,而使用图像中独立的像素作为不同的输入特征则利用不到这些相关性。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

CapsNet技术

Hinton 等人实现了一个简单的 CapsNet 架构,该架构由两个卷积层和一个全连接层组成,其中第一个为一般的卷积层,第二个卷积相当于为 Capsule 层做准备,并且该层的输出为向量,所以它的维度要比一般的卷积层再高一个维度。最后就是通过向量的输入与 Routing 过程等构建出 10 个 v_j 向量,每一个向量的长度都直接表示某个类别的概率。

仿射变换技术

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。 一个对向量平移,与旋转放大缩小的仿射映射为 上式在齐次坐标上,等价于下面的式子 在分形的研究里,收缩平移仿射映射可以制造制具有自相似性的分形

胶囊网络技术

简而言之,一个胶囊网络是由胶囊而不是由神经元构成。一个胶囊是一小群神经元,它们可以学习在一个图片的一定区域内检查一个特定的对象(比如,一个矩形)。它的输出是一个向量(例如,一个8维的向量)。每个向量的长度代表了物体是否存在的估计概率[1],它的方向(例如在8维空间里)记录了物体的姿态参数(比如,精确的位置、旋转等)。如果物体有稍微的变化(比如,移动、旋转、尺寸变化等),胶囊将也会输出一个长度相同但是方向稍微变化的向量。因此胶囊是等变的。

推荐文章
暂无评论
暂无评论~