BUILDING DEEP EQUIVARIANT CAPSULE NETWORKS
仿照了这个博主的方法,读每一篇文献的时候都要问自己
一、四个问题
1、要解决什么问题?
- 目前的胶囊网络模型不能很好的扩展到深层架构
- 缺乏等变性的理论保证
2、用了什么方法解决?
- 学习对每一层的每个胶囊类型的描述进行投射编码
- 在预测阶段使用组等变卷积(GCNN)
- 基于度中心性的等变路由机制
3、效果如何?
- 在目前的胶囊网络架构中取得了最好的效果
4、还存在什么问题?
-
了解路由算法在胶囊分解图的最优性中的作用,以及基于它的各种其他感兴趣的性质
二、论文概述
2.1简介
胶囊网络的限制:
- 参数昂贵
- 缺乏可证明的“等变”保证(预测网络的选择和路由机制对“等变”非常重要)
- 学习连续层之间的“部分-整体”关系是低效的
因此我们提出了胶囊网络的替代框架——变化空间(SOV):
-
学习为每一层的每一种胶囊类型投射编码多种姿态变化(通过在群变换网格上定义的可训练的等变函数来完成的);
-
路由的预测阶段包括使用相应的函数投影到一个更深的胶囊的SOV中(使用较浅胶囊的同质群等变性网络)<——还可增加参数共享;
-
提出基于度中心性的等变路由机制(证明了该模型是等变的,在变化下保留了输入的复合表示)
文章介绍的第一段描述的有些生涩难懂,实际上就是在描述胶囊网络中的部件-整体学习的关系,为了让部件组合成一个整体,我们需要关注其空间、位置的结构关系、潜在组合和聚合关系。
胶囊网络的每一层都以特定的语义分辨率表示和检测一组组件(视觉场景)的实例,并且通过向量的激活值来表示其出现的概率。每个胶囊被解释为一个视觉对象的一组广义姿态坐标的代表,每一层由几种类型的胶囊组成,这些胶囊可以根据图像的性质在所有空间位置实例化。(这一步就是相当于标准胶囊网络进行路由之前乘上一个W的过程)。
给定一个图像,胶囊网络在不同的语义层次上提供对其组件的描述。为了让这种跨层的分布式表示成为视觉场景的准确组件解析,并捕捉有意义的内在空间关系,使用一种结合基于反向传播的学习和基于共识的启发式的机制,从较浅的胶囊构建较深的胶囊。
【这里又是一段很长的描述,无非就是胶囊的原理,上面都已经说过了,另外提了一嘴几种不同的路由】
- dynamic routing(动态路由)
- EM routing (EM路由)
- SVD-based routing (基于SVD的路由)
- routing based on a clustering-like objective function(基于类聚类目标函数的路由)
接下来又讲了一下为啥我们选胶囊网络而不是CNN
-
基于cnn的模型并没有内在的机制来明确地学习或使用视觉场景中的空间关系
-
强制局部转换不变性的层的普遍使用,如池化(让严格的空间关系得到放松进一步限制了他们精确检测成分结构的能力)
胶囊网络需要克服的两个问题:
- 目前形式的胶囊网络模型不能很好的扩展到深层架构(两层胶囊之间的所有成对关系都是由一个独特的神经网络明确建模的)
- 对于卷积胶囊层,可训练的神经网络的数量取决于开窗的空间范围(这个不知道是啥意思)和每两层的胶囊类型的乘积;
- 设计昂贵且效率低下:并不是所有的胶囊类型对都有关系(比如上一层限制了此处是是水生动物,下一层有马、鲸鱼、鲨鱼,明显马不是水生动物,但是这里还是设置了胶囊类型对,这是浪费参数的行为)
- 理论性的问题:缺乏对等变性的理论保证。(简言之就是给出个能证明等变性的东西来)
我们要咋解决这俩问题呢:
- 不再学习胶囊之间的配对关系,而是学习对每一层的每个胶囊类型的描述进行投射编码——>变异空间(SOVNET)
-
通过将每个胶囊类型与一个由可训练的神经网络给出的向量值函数相关联来实现的
-
该网络承担着胶囊网络预测机制的作用
-
为其相关的胶囊类型编码多种合法的姿态变化
-
当输入到相应的网络中时,与特定类型的胶囊没有关系的浅层胶囊将自己投射到低激活向量(如:双范数)
-
一个给定层的可训练网络的数量取决于该层的胶囊类型的数量(少了窗子)
-
-
为保证等变性,在预测阶段使用组等变卷积(GCNN)
-
固定类型的较浅的胶囊被输入到与较深的胶囊类型相关联的GCNN中,以获得对其的预测
-
除了确保转换的等价性外,gcnn还允许更大的参数共享(跨一组转换),从而提高对局部对象结构的认识
-
(与卷积胶囊层所做的孤立预测相比,这可能会提高预测的质量)(这句我本来都不想放上来的)
-
-
基于度中心性的等变路由机制
-
将每个胶囊的预测视为图的一个顶点,其加权边由预测本身的相似性度量给出
-
使用这个图的亲和矩阵的度得分的softmax值作为一组加权来进行聚合预测(拗口)
-
根据协议路由原则,与同一胶囊的大多数其他预测一致的预测将获得更大的权重
-
该路由方法是启发式的、被证明等变的、并保留了输入的胶囊分解
-
2.2贡献
- 一个可扩展的胶囊网络模型的一般框架;
- 这个模型的一个特殊实例:使用了等变卷积、以及一个等变的、基于度中心性的路由算法;
- 一个研究胶囊网络的基于图的框架,以及在输入的变换下保持该表示的等变性的充分性证明;
-
MNIST、FASHIONMNIST和CIFAR10仿射变换变体的概念证明和评估实验,展示了SOVNET架构对训练和测试数据几何扰动的优越适应性,以及它们的一般性能。
三、SOVNET, EQUIVARIANCE, AND COMPOSITIONALITY
3.1SOVNET
我们将SOVNET的第l层描述为函数元组的集合:
- Nl表示第l层胶囊类型的个数;
- 表示第i个胶囊类型示例的d^l维度的姿态向量的功能性描述
- 表示相应激活的功能性描述
我们将每一组胶囊类型建模为一组变换上的函数,从而允许对变换等变性的形式保证;将图像也建模为从一组到一个表示空间的函数。(假设:变换群是所讨论的群中的一个子群。)我们希望每种胶囊类型的姿势和激活都能显示出等变性。
- 群:(G,◦),向量空间:V,W,
- T 和 T' 是在V和W上G的元素的表示
- Φ: V → W分别对T和T'来说是等变的
这个定义转化为对输入空间到输出空间的转换的保留——在组合结构中不允许丢失信息。
3.2SOVNET 层
路由:较浅胶囊对较深胶囊进行预测,对这些预测的重要性进行评分,最后用这些来构建较深的胶囊
对某种类型的特定胶囊的预测的一致程度决定了它的激活。有一些路由算法不使用加权和,如:spectral-routing(频谱路由)。(真的是提了好多路由方法,但是没怎么具体讲)(上述算法实例化为一个具体的模型即为3.3中的算法2)
介绍:
- :群等变卷积的过滤器;
- ·:对应群等变运算符★;
- :对同一深度胶囊的预测的亲和度的softmax分数;
- 胶囊的激活是由它的两个常模(文中写的two-norm,不清楚到底是啥意思)决定的,范围是[0,1],用squashing函数来保证范围;
- 表示维度向量的第p个元素;
- 优点:不存在超参数,像动态路由和EM路由中的迭代次数。
3.3EQUIVARIANCE、COMPOSITIONALITY、SOVNET
该算法中的SOVNET层对于Lg来说是等变的,其中g∈G定义了群卷积的变换集。
-
⊗是用预测网络来预测度路由过程的算子
-
第l+1层上的第j个胶囊类型在功能上被描述为,这里
等变性被认为是一种理想的诱导偏差,具体体现在:
- 等变性体现了变换下的自然标号不变性;
- 使网络在输入转换下的输出具有可预测性;
- 在处理数据转换时具有更强的健壮性;
-
均衡性保证了检测到的组合的保留来增加这个列表;
胶囊分解图:
- 由一个SOVNET的激活和路由权值形成;
-
给定一个SOVNET模型的输入,每种类型的每个胶囊都是这个图中的一个顶点
-
我们在胶囊之间构建一个边缘,通过路由连接,从较浅的胶囊到较深的胶囊的方向。每条边都被相应的路由系数加权。不通过路由相互关联的封装不通过边缘连接。
-
一个特定输入(及其转换的变体)的胶囊分解图彼此同构
正式的胶囊图描述:
- 给定一个l层SOVNET模型,其路由过程属于算法1给出的方法族;
- 给定固定输入
- ,V(X),E(X)分别表示顶点集和边集;
- ,
- Pool(g2)表示通往g2的网格位置池,这个定义使用每个胶囊的位置和类型信息来唯一地标识它
实现的这一块的确写的太过简洁,看的人云里雾里,但论文里也就这么写东西了,之后理解完了再来补充。