论文阅读<3> Matrix Capsule with EM Routing

Abstract

A capsule is a group of neurons whose outputs represent different properties of the same entity. Each layer in a capsule network contains many capsules. We de- scribe a version of capsules in which each capsule has a logistic unit to represent the presence of an entity and a 4x4 matrix which could learn to represent the rela- tionship between that entity and the viewer (the pose). A capsule in one layer votes for the pose matrix of many different capsules in the layer above by multiplying its own pose matrix by trainable viewpoint-invariant transformation matrices that could learn to represent part-whole relationships. Each of these votes is weighted by an assignment coefficient. These coefficients are iteratively updated for each image using the Expectation-Maximization algorithm such that the output of each capsule is routed to a capsule in the layer above that receives a cluster of similar votes. The transformation matrices are trained discriminatively by backpropagat- ing through the unrolled iterations of EM between each pair of adjacent capsule layers. On the smallNORB benchmark, capsules reduce the number of test errors by 45% compared to the state-of-the-art. Capsules also show far more resistance to white box adversarial attacks than our baseline convolutional neural network.

capsule 是一组神经元,其输出可表征同一个实体的不同性质。我们描述了一种 capsule 版本,其中每个 capsule 都有一个 logistic 单元(用来表示一个实体的存在)和一个 4×4 的姿态矩阵(pose matrix)(可以学习表征该实体与观看者之间的关系)。某一层的 capsule 会为上一层中许多不同 capsule 构成的姿态矩阵投票(vote),这是通过将它自己的姿态矩阵与视角不变的变换矩阵(viewpoint-invariant transformation matrix)相乘而实现的,可以学习表征「部分-整体」关系。这些投票中的每一个都会根据分配的系数加权。这些系数使用 EM 算法迭代式地更新,这样每一个 capsule 的输出都会被路由到上一层的一个 capsule,它会收到一组相似投票的集群。这整个系统是通过每个相邻层对之间的 EM 的展开的 3 次迭代而鉴别式地训练的。在 smallNORB 基准上,相比于当前最佳的方法,capsule 将测试错误的数量降低了 45%。比起我们的基准卷积神经网络,capsule 也表现得更能抵抗白盒对抗攻击(white box adversarial attack)。

1 INTRODUCTION

Convolutional capsules extend the sharing of knowledge across locations to include knowledge about the part-whole relationships that characterize a familiar shape. Viewpoint changes have complicated effects on pixel intensities but simple, linear effects on the pose matrix that represents the relationship between an object or object-part and the viewer. The aim of capsules is to make good use of this underlying linearity, both for dealing with viewpoint variations and for improving segmentation decisions.

卷积神经网络基于一个简单的事实,即视觉系统需要在图像中的所有位置使用相同的知识。这是通过绑定特征检测器的权重来实现的,以便在一个位置学习的特征在其他位置可用。 卷积胶囊扩展了跨地点的知识共享,包括关于以一个熟悉的形状为特征的部分-整体关系的知识。视点变化对像素强度具有复杂的影响,但对pose矩阵的简单线性效应表示一个对象或者对象的部分与观察者之间的关系。胶囊的目的是充分利用这种潜在的线性,既可以处理视点变化,也可以改善分割决策。

Capsules use high-dimensional coincidence filtering: a familiar object can be detected by looking for agreement between votes for its pose matrix. These votes come from parts that have already been detected. A part produces a vote by multiplying its own pose matrix by a learned transformation matrix that represents the viewpoint invariant relationship between the part and the whole. As the viewpoint changes, the pose matrices of the parts and the whole will change in a coordinated way so that any agreement between votes from different parts will persist.

胶囊使用高维重合过滤:可以通过寻找其pose矩阵的投票之间的一致性来检测熟悉的对象。 这些投票来自已经检测到的部分。一部分通过将其自己的pose矩阵乘以学习的变换矩阵来产生投票,该变换矩阵表示部分和整体之间的视点不变关系。 随着观点的变化,部分和整体的pose矩阵将以协调的方式改变,以便来自不同部分的投票之间的任何协议将持续存在。

To solve this challenge, we use a fast iterative process called “routing- by-agreement” that updates the probability with which a part is assigned to a whole based on the proximity of the vote coming from that part to the votes coming from other parts that are assigned to that whole.An important difference between capsules and standard neural nets is that the activation of a capsule is based on a comparison between multiple incoming pose predictions whereas in a standard neural net it is based on a comparison between a single incoming activity vector and a learned weight vector.

寻找在无关投票的迷雾中达成一致的高维度投票的紧密集群是解决将部分分配给整体的问题的一种方法。这是非平凡的,因为我们不能以低维平移空间被网格化以促进卷积的方式对高维姿势空间进行网格化。为了解决这一挑战,我们使用称为“路由协议”的快速迭代过程,根据来自该部分的投票与来自分配给该整体的其他部分的投票的接近程度,更新部分分配给整体的概率。这是一个强大的分割原则,它允许熟悉的形状知识导出分割,而不是仅使用低级别的线索,如颜色或速度的接近度或一致。胶囊和标准神经网络之间的重要区别在于胶囊的激活基于多个输入pose预测之间的比较,而在标准神经网络中,它基于单个输入活动矢量和学习重量矢量之间的比较。

2 HOW CAPSULES WORK

Capsules use a much more complicated non-linearity that converts the whole set of activation probabilities and poses of the capsules in one layer into the activation probabilities and poses of capsules in the next layer.
神经网络通常使用简单的非线性,其中非线性函数应用于线性滤波器的标量输出。 它们还可以使用softmax非线性,将整个logits向量转换为概率向量。 胶囊使用更复杂的非线性,其将一层胶囊的整组激活概率和pose转换成下一层中的胶囊的激活概率和pose。

In between each capsule i in layer L and each capsule j in layer L + 1 is a 4x4 trainable transformation matrix, Wij. These Wijs (and two learned biases per capsule) are the only stored parameters and they are learned discriminatively.

胶囊网络由多层胶囊组成。 层L中的胶囊组表示为ΩL.每个胶囊具有4×4 pose矩阵M和激活概率a。这些就像标准神经网络中的活动:它们依赖于当前输入而不是存储。在层L中的每个胶囊i和层L+1中的每个胶囊j之间是4×4可训练变换矩阵Wij。这些WijS(以及每个胶囊的两个学习偏差)是唯一存储的参数,并且它们是有区别地学习的。 胶囊i的pose矩阵由Wij变换以对胶囊j的pose矩阵投票Vij = MiWij。 层L+1中所有胶囊的pose和激活是通过使用非线性路由过程计算的,该过程得到所有i∈ΩL,j∈ΩL+1的输入Vij和ai。

非线性过程是期望最大化过程的一个版本。它迭代地调整层L+1中胶囊的平均值,方差和激活概率以及所有i∈ΩL,j∈ΩL+1(L层胶囊和L+1层胶囊)之间的分配概率。 在附录1中,我们给出了routing-by-agreement的温和直观的介绍,并详细描述了它如何与EM算法相结合以拟合高斯混合。

3 USING EM FOR ROUTING-BY-AGREEMENT

使用上面选择1的有效近似,通过使用具有轴对齐协方差矩阵的活跃胶囊j来解释整个数据点i的增量成本,仅仅是解释每个维度的成本的所有维度的总和,投票Vij的h。 这只是-ln(Phi|j),其中Phi|j是矢量化投票Vij的第h个分量的概率密度,在j的高斯模型下,维度h具有方差(σhj)2和平均值μhj其中μj是j的pose的矢量化版本矩阵Mj。
在这里插入图片描述
对于j的单个维度h的所有较低级别的胶囊求和,我们得到:
在这里插入图片描述
其中Σirij是分配给j的数据量,Vhij是Vij的维度h上的值。启用胶囊j增加了指定为j的低水平胶囊的装置的描述长度,从每个较低级别胶囊的-βu到-βa加上所有维度的成本之和,因此我们将胶囊j的激活函数定义为:
在这里插入图片描述
其中βa对于所有胶囊都是一样的,λ是一个逆温度参数。我们区分地学习βa和βu,并为λ设置一个固定的时间表(schedule)作为超参数。

步骤1路由算法是根据给定的L层中胶囊的激活值和投票返回层L + 1中胶囊的激活值和pose参数。 Vhij是L层中激活值为ai的胶囊i对L+1层中的胶囊j的投票的第h个维度。βa、βu是有区别地学习的,在每次迭代时,在一个固定的schedule下,反向温度λ增加。

在这里插入图片描述

4 THE CAPSULES ARCHITECTURE

在这里插入图片描述

在这里插入图片描述

4.1 SPREAD LOSS

为了使训练对模型的初始化和超参数不那么敏感,我们使用“传播损失”来直接最大化目标类(at)的激活和其他类的激活之间的差距。如果错误的等级ai的激活比边距m更接近at那么它将被边距的平方距离处罚:

在这里插入图片描述通过从0.2的小范围开始并在训练期间将其线性增加到0.9,我们避免在早期层中使用死胶囊。 传播损失相当于平方Hinge损失,m = 1.

5 EXPERIMENTS

smallNORB数据集(LeCun等人(2004))具有5类玩具的灰度立体图像:飞机,汽车,卡车,人类和动物。 每个类有10个物理实例,涂成亚光绿色。 为训练数据选择5个物理实例,为测试数据选择其他5个物理实例。 每个玩具都在18个不同的方位角(0-340),9个高度和6个光照条件下进行描绘,因此训练和测试集各包含24,300对立体对96x96图像。 我们选择smallNORB作为开发胶囊系统的基准,因为它经过精心设计,是一种纯粹的形状识别任务,不会受到背景和颜色的影响,但它比MNIST更接近自然图像。
在这里插入图片描述
图2显示了EM路由如何调整投票分配,胶囊意味着如何在投票中找到紧密集群。 直方图显示在路由迭代期间投票距离与每个类别包的平均值(pose)的分布。 在第一次迭代中,投票在5个最终层胶囊之间平均分配。 因此,所有胶囊接收的投票均接近其计算平均值0.05。 在第二次迭代中,同意投票的分配概率增加。 因此,大多数投票被分配给检测到的集群,中间行中的动物和人类和其他胶囊只能获得分散的票数,这些票数与计算出的平均值相差超过0.05。 附录中图2的缩小版本显示了每次路由迭代时投票距离的完整分布。
在这里插入图片描述

我们的路由算法可以看作是一种注意机制。在这种观点中,它与Gregor等人(2015)的工作有关。他们通过使用高斯kernels来处理编码器生成的特征映射的不同部分,从而提高了生成模型中的解码器性能。 Vaswani等人(2017)使用softmax注意机制在为查询生成编码时,将查询序列的部分与翻译任务的输入序列的部分匹配。它们显示了根据使用循环架构的先前翻译工作的改进。我们的算法在相反的方向上有所关注。竞争不是在较低级别的胶囊之间,因为一个较高级别的胶囊可能参加。它位于较高级别的胶囊之间,较低级别的胶囊可能会投票给它。

6 PREVIOUS WORK ON CAPSULES

Hinton等人(2011)在一个变换自编码器中使用了一个变换矩阵,它可以将立体图像对变换成来自稍微不同视角的立体对。但是,这种系统需要由外部提供变换矩阵。最近,按一致性路由(routing-by-agreement)在分割高度重叠的数字上得到了非常好的效果(Sabouret al. (2017)),但这个系统还有一些不足之处,而我们的研究成果已经解决了这些问题:

1、它使用了姿态向量(pose vector)的长度来表示由一个 capsule所表示的实体存在的概率。为了让该长度小于 1,需要一种无原则的非线性(unprincipled non-linearity),这可以防止其成为任何可感知的目标函数,它由迭代式的路由过程(routingprocedure)最小化。

2、它使用了两个姿态向量之间的角的余弦来测量它们之间的一致性。和高斯聚类的对数方差不一样,余弦并不非常适用于区分相当好的一致性与非常好的一致性。

3、它使用了长度为 n 的向量,而不是有 n 个元素的矩阵来表示一个姿态,所以其变换矩阵具有 n2个参数,而不只是 n 个。

7 Conclusion

基于Sabour等人(2017)的工作,我们提出了一种新型的胶囊系统,其中每个胶囊都有一个逻辑单元来表示实体的存在,以及一个表示该实体pose的4x4 pose矩阵。我们还介绍了一种新的基于EM算法的胶囊层之间的迭代路由程序,该程序允许将每个较低级别胶囊的输出路由到上面层的胶囊中,以这样的方式使活性胶囊获得一组类似的pose投票。与最先进的CNN相比,这个新系统在smallNORB数据集上的准确度显著提高,减少了45%的错误。我们也已经证明,它比CNN的基线在白盒对抗攻击中显著更健壮。

SmallNORB是开发新形状识别模型的理想数据集,因为它缺乏许多在自然环境下的图像的附加特性。现在我们的胶囊模型在NORB上运行良好,我们计划实现一个高效版本,以在更大的数据集(如ImageNet)上测试更大的模型。

Reference

[1]: 原文:Matrix Capsule with EM Routing
[2]: Blog翻译: Matrix Capsule with EM Routing
[3]: 关于矩阵胶囊与EM路由的理解(基于Hinton的胶囊网络)
[4]: “Understanding Matrix capsules with EM Routing (Based on Hinton’s Capsule Networks)”

Code

[1]:www0wwwjs1/Matrix-Capsules-EM-Tensorflow

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值