专栏名称: AI科技评论
「AI科技评论」是国内顶尖人工智能媒体和产业服务平台,专注全球 AI 业界、学术和开发三大方向的深度报道。
目录
相关文章推荐
爱可可-爱生活  ·  //@爱可可-爱生活:欢迎参与!//@爱可可 ... ·  昨天  
爱可可-爱生活  ·  [LG]《All Roads Lead ... ·  昨天  
爱可可-爱生活  ·  【[476星]Volcengine ... ·  2 天前  
爱可可-爱生活  ·  【[29星]TokenOCR:一款面向文档理 ... ·  2 天前  
爱可可-爱生活  ·  自我改进型推理模型的关键认知行为:高效STa ... ·  3 天前  
51好读  ›  专栏  ›  AI科技评论

ICLR 2020 | 用群卷积建立深度、等变的胶囊网络

AI科技评论  · 公众号  · AI  · 2020-03-03 08:34

正文

作者 | Dyson
编辑 | 贾伟

ICLR 2020会议将于 4 月 26 日在非洲埃塞俄比亚(亚斯亚贝巴)举行。本届会议共有 2594篇投稿,其中 687篇论文被接收(48篇oral论文,107篇spotlight论文和531篇poster论文),接收率为26.5%。本文介绍发表在 ICLR 2020 上的一篇 Oral 论文《Building Deep Equivariant Capsule Networks》。


下载链接: https://openreview.net/forum?id=BJgNJgSFPS
论文实现代码地址: https://github.com/AnonymousCapsuleSOVNET/SOVNET


卷积神经网络在池化层中丢失了大量信息,降低了空间分辨率,很难发现特征之间的方位关系(orientation)和相对空间(relative spatial)关系,因此当输入发生微小的变化,输出基本不变。为了解决CNN不具备旋转等变性的问题,胶囊网络围绕CNN的体系结构,通过将详细的姿态信息保存在整个网络中来恢复一些丢失的信息。

为了解决胶囊网络在层上的计算量较大,也不能保证有可证明的等变性等相关问题,文章把胶囊网络的动态路由放到群论的框架里面来讨论,提出了可拓展、等变的深度胶囊网络(SOVNET)架构。结果是从理论的角度保证了网络的等变性,并降低了胶囊网络层间的计算成本。


符号和简要说明


由于文章涉及到群(group)表示等相关数学知识,我首先把相关符号及概念简要列举如下:

1. 文章称之为函数元组,



是向量和激活层的函数。考虑到胶囊网络的特征是vector in vector out, 可以认为 层上第 个胶囊类型(capsule-type)的实例对应的d维Pose向量的函数。对于“Pose向量”的理解,假设我们处理的是2维图片数据,此时每一个像素坐标 在群域 上,对应着函数 返回的特征图上一个第 层的Capsule的 维特征向量;

2. :表示对特征图进行 变换;

3. :卷积层的Filter,对输入的特征图 进行卷积或相关的操作;

4. :在Degree-routing中表示将特征图与预测网络(卷积核)进行操作(平移、旋转等)的算子。

一、动机


目前大部分的胶囊网络虽然能解决CNN “不具备等变性” 的问题,但都不能很好地扩展到深层架构。因为胶囊网络中层与层之间的所有成对(pair-wise)关系模型都用同一个神经网络来描述。因此在胶囊网络的卷积层中可训练的神经网络单元取决于卷积网络的空间范围(spatial extent)和层间胶囊网络类型的积。这不仅会使得计算复杂,而且所有的胶囊类型并不都具有显著的关系,因为每一个“对象-组件”的表示并不一定是属于同一个类别的,或者不可能组合起来(不兼容),需要提升胶囊网络的可扩展性。

是不是感觉有点绕?从个人理解的角度,这里的显著关系其实可以通俗的举一个例子描述它:我们知道胶囊网络能够将图片处理成向量的形式,然后在通过routing,得到分类正确的向量。那现在比如一张图片中有马、鲨鱼和轮船。我用 表示三种特征:水里游的、地上跑的、人造的三种特征;然后 表示特征对应的实体“鲨鱼、轮船和马”。于是单靠“水里游的”的特征,我们推导出它属于三种实体的概率分别为:

我们肯定知道,分类正确时, 肯定很大,因为他们是属于一个类别的,但是对于明显不属于一个类别的——就是上面的 的 “鲨骑马” 这种生物肯定不是一个类别,也即不具有显著关系的情况,也在网络中计算了一边,因此限制了网络的训练能力。

对于胶囊网络的第二个问题是理论上的问题。作者认为它尚且未能保证等变性(lack of guarantees on equivariance),大多数胶囊网络只是直观启发式的学习组件平移旋转时空间方位的变化,增强模型的鲁棒性,但这不是最理想的方式。

目前已存在的方法和可能的解决方案

群等变性网络(group-equivariant convolutions,GCNN)采用群卷积的方法对卷积神经网络进行扩展,并提出一个在特定的变换(旋转、平移等,也可表示为一个特殊的群)下具有等变性的网络。可以在理论上对胶囊网络中的预测和路由算法部分进行等变性的探索。

二、本篇文章的贡献


1、针对可扩展性问题(scalable),提出了一种扩展性的框架模型;

2、针对等变性,提出的模型具备等变卷积和等变路由算法(term: degree-centrality-based routing algorithm)

3、用基于图模型的框架研究胶囊网络的表示问题,证明了提出的模型对输入的特征图transformation后仍然“等变地”将其表示进行保留。

4、在概念验证时,将MNIST,FASHIONMNIST和CIFAR10等数据集进行仿射变换后进行相关实验,同时还在KMNIST和SVHN数据集进行实验,展示了SOVNET网络在特征图的几何变化(扰动)情况下仍能保持不错的performance.


三、方法


1、SOVNET, Equivariance, and Compositionality

对于群 ,群上的函数定义为:

描述了层内数据的维度变化和对应激活函数在0~1之间的取值。每一个胶囊类型用群转换的函数进行表征。对每一个胶囊类型,我们希望他的Pose矩阵和activation在群转换时是等变的。也就是将输入特征映射到输出特征时保留结构信息(structure preserving)。

解决上面的问题之前,我们先要弄清楚等变性。下面给出等变性的定义:

考虑 空间上,对于一个网络或者是网络的一层 具有等变性的定义为: 是群 上的两个向量空间,令 分别为 的群表示(group-representation)。记 满足等变性,当 时,有 成立。



根据上面的定义,我们规定算子 就代表它们具有等变性,那么我们就可以用数学来描述抽象的transformation:定义在特征图上的一种变换为 ,则:

其中 表示对特征图进行 变换。

可以仿照拉普拉斯变换的角度解读上面这个变换式,要得到进行 变换后特征图 的值,等于原特征图函数 的值。

那么现在我有了描述等变性的数学工具和特征图变换的定义,可是好像离我们需要的对胶囊网络的等变性还很远呐?

其实问题不大,因为我们现在得到的新特征图 在胶囊网络中将在路由中得到训练(根据胶囊网络的架构,每一次训练要经过一次卷积),那么证明我们设计的网络是等变的,不就转化成证明在路由机制中新特征图对其操作是满足上面等变性定义就可以了呀:


其中算子 就代表网络中的routing操作。

接下来作者先认为上述等变性是成立的,构造出了两个算法框架——路由算法框架和采用该路由算法的SOVNET网络的框架,证明等变性会在最后SOVNET网络的框架下证明,从而解决刚刚提及的ProblemB问题,使SOVNET网络保证等变性。

2、SOVNET layer

接下来作者给出了上述路由部分的算法:



结合胶囊网络的路由机制,其实很容易看出上述算法与路由算法的相似之处。

输入与输出是层间的传播,路由体现在训练过程中。传统胶囊网络的特点是vector in vector out,输入向量会与filter进行内积,而我们知道内积是度量“靠近”的工具,那么第一步可以理解为对输入batch个特征做相似性度量



第二步对度量加权,用来分辨不同的类;

第三步是为了第四步利用梯度下降优化 ,通过求导推导得到的近似表达式。结合网络相关资料与个人理解如下:

根据第二步,我们可以写出Loss表达式:


可以得到


无下界的函数我们不能用来做loss,因此需要先对目标进行归一化:


简单地取 ,作为Loss来优化最终路由的 。实现对于某种类型的胶囊(向量),它的激活 值取决于它的预测一致程度,提高了模型的可扩展性。
接下来作者将上述算法实例化在SOVNET模型中,此时胶囊的激活值通过Squash函数计算(实现Squash有很多方法,比如2范数 ),用softmax实现GetWeight,以及☆表示卷积相关的操作。此外,新定义了脚标 的表示意义,比如 表示向量 上的第p个元素。

值得注意的是作者提出的新路由算法没有超参数。在EM路由机制中,相似性度量写作


,则代入上述算法1中经过 次迭代后:


但是迭代次数 是一个超参数,太大容易过拟合,但若迭代次数不够 不能很好地近似到真实的 。所以用


上式后作者认为可以解决无穷次迭代后softmax非零即一的问题。

3、Equivariance, Compositionality and SOVNET

接下来作者将新的路由机制应用在提出的SOVNET框架中, 层的第 j 个胶囊类型描述为


是前一层所有函数的集合。把这层所有的胶囊类型作一个循环遍历,与 所有的预测网络 进行operation得到的 作为下一层的函数,实现了胶囊类型的更新传播。



上述SOVNET算法具有等变性,即



证明过程在附录中进行展示。

SOVNET算法的训练网络中, 层对应每个胶囊类型数据的卷积核,☆表示群的相关操作的等变算子。

4、Capsule-decomposition graph

文章在介绍完两个算法框架后开始对模型“等变性”的输入输出进行了部分讨论,由此引出了文章最后的工作——用基于图模型的框架研究胶囊网络的表示问题,并提出了“胶囊-分解图”(capsule-decomposition graph)模型。

对于一个有输入模型的SOVNET网络,其中每一个胶囊的所有类型就组成了胶囊-分解图的一个点(vertex).图的边则是通过SOVNET的路由连接而成,边的方向是从浅层胶囊向深层胶囊传递(有向图)。

那么,当上述的输入改变视点(change-of-viewpoint)后,上述图模型的理想状态是什么呢?虽然输入对象的姿态矩阵和组成元件transformations了,但是输入的相对几何是恒定的。所以特定输入(及其转换后的变体)的分解图应该是彼此同构(isomorphic)的。接下来作者给出了上述“胶囊-分解图”正式的描述:

考虑一个 L 层的SOVNET模型,其路由机制属于算法1框架下的方法族。考虑一个固定的输入 ,定义胶囊分解图:对于输入有 分别是图的点集和边集。满足



其中



这个定义使用每个胶囊的位置信息和类型信息来唯一地识别它。接着给出了这个图模型满足的一个定理2.2:

Theorem 2.2. 考虑一个L层SOVNET,其激活是通过算法1方法族下的路由给出的。假设这个路由对群G是等变的,则对于输入x, 互为同构。


下面对训练网络的算法及等变性证明过程进行解读:

证明上述算法2是等变的,我们需要证明每一步算法都是等变的。

根据



的结论以及事实关系



,第一步中预测 满足等变性,其中相关证明如下:
用卷积核对特征图做相关(correlate):


,忽略G的求和步骤,可以证明


,即相关对平移具有等变性。


接下来证明DegreeScore这一步是等变的:作者给出的证明方法如下:


结合相关资料及个人理解,其中高亮部分需要用到特征图的变换,因为


不难推出



再根据群论的结合律,最终证明了算法等变性,也即:



对定理2.2的证明部分解读如下:

对于固定的L层SOVNET模型,在群域G上具有等变性。对于输入 定义在群域上,每一个特征图均属于G,G(x)是输入对应的“胶囊-分解”图模型。那么 表示当输入特征图 x 进行 h 变换后( )对应在 上的值。

根据 ,可知在h变换下


也是同构的。






请到「今天看啥」查看全文