查看原文
其他

胶囊网络全新升级!引入自注意力机制的Efficient-CapsNet

孙裕道 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者|孙裕道
学校|北京邮电大学博士生
研究方向|GAN图像生成、情绪对抗样本生成


论文链接:

https://arxiv.org/abs/2101.12491


论文代码:

https://github.com/EscVM/Efficient-CapsNet



Capsule介绍

深度学习之父 Hinton 针对卷积神经网络在特征提取的时候会忽略特征之间的关系的这个问题提出了 Capsule Network,卷积神经网络虽然能够通过卷积和池化能解决一定程度上平移不变性,旋转不变性以及放缩不变性,但是不能考虑到特征之间的相对位置关系。Capsule 是一个拥有多个神经元标量的组合体向量,它能够识别一个视觉实体,并输出关于该实体的方向,大小,物体与物体之间的相对位置关系等。 

考虑如下场景,如果你是一名空军指挥官,要执行一次无人机的精准轰炸任务,其中一次轰炸大任务分为扫描任务,定位任务和轰炸任务三个子任务,为了能够让敌军城市瘫痪,最佳的选择轰炸目标就是电力供应中枢核电站,如下图标注所示,CNN 其实只能执行第一类无人机的扫描任务,判别该城市中是否有主要的目标核电站的存在,Capsule Network 则可以执行第二类无人机的定位任务,因为其输出的实例化参数中有核电站的相对位置信息。


1.1 Capsule Network的解析
1.1.1 Capusle Network的算法框架
Capsule Network 最核心的算法就是动态路由算法,将论文中的算法简化成如下算法所示: 

为了能够能加清晰直观的阐述出 Capsule Network 动态路由算法的细节,根据如上算法框架做了如下两幅分别时动态路由迭代一次和动态路由迭代多次(3 次)的原理图。


▲图1.Capsule Network参数更新迭代一次原理图

▲图2.Capsule Network参数更新迭代一次原理图


1.1.2 仿射变换
在上面的算法流程图中仿射变换中, 表示将低一层的特征向量 通过仿射矩阵 映射成高一层特征向量 。如以下图的皮卡丘的分解图示为例:
  • 该图片示由皮卡丘和其背景构成

  • 皮卡丘整体是由脸颊和身体构成

  • 身体则是由小短腿和躯干构成 

  • 脸部又有嘴和眼睛构成


仿射矩阵可以看作是了局部和整体的一种相对关系,如上图所示每个部分对应的仿射矩阵在图中所标注,则有:
  • 皮卡丘的脸颊对该图像的仿射矩阵为
  • 皮卡丘的身体对该图像的仿射矩阵为
  • 皮卡丘的眼睛对该图像的仿射矩阵为
  • 皮卡丘的嘴巴对该图像的仿射矩阵为
  • 皮卡丘的腿部对该图像的仿射矩阵为
  • 皮卡丘的躯干对该图像的仿射矩阵为
假定   是皮卡丘眼睛的位置向量,  是皮卡丘嘴巴的位置向量。则我们可以求出皮卡丘脸颊的位置向量为


1.1.3 动态路由算法

耦合系数 系数的计算公式是 。耦合系数 是通过动态路的方法计算出来的。耦合系数的主要作用是最大池化的一个加强版。最大池化依靠提取特征的区域最大化,以此来提取到了这个区域里最显著的特征信息,但是它存在一个问题是它忽略了其他有用信息的信息。动态路由算法确定耦合系数目的也是提取特征信息,但是它并不会丢弃其它相关的信息。
动态路由算法中 是 Capsule Network 的非线性的激活函数。公式中的 是将向量的长度控制在范围 [0,1] 中,公式中 的作用是将特征向量正则化为单位向量。公式 则是用于动态路由更新参数。


Efficient-Capsnet


2.1 论文贡献


  • 论文中提出的 Efficient-Capsnet 方法大大减少了可训练参数的数量。
  • 论文中提出的 Efficient-Capsnet 方法在三个不同的数据集上获得最先进的结果。
  • 引入了一种新颖的非迭代、高度并行的路由算法,该算法利用 Self-ATTENTION 来有效地路由数量减少的 Capsnet。 


2.2 模型介绍

下图为 Efficient-Capsnet 整体架构示意图。该网络可以大致分为三个不同的部分,其中前两个部分是主 Capsnet 层与输入空间交互的主要工具。每个 Capsnet 利用下面的卷积层滤波器将像素强度转换成它所作用的特征的矢量表示。

Capsnet 内神经元的活动体现了它在训练过程中学会代表的实体的各种属性,其中这些属性可以包括许多不同类型的实例化参数,例如姿态、纹理、变形以及特征本身的存在。每个向量的长度用于表示胶囊所代表的实体存在的概率,不需要任何合理的目标函数最小化。网络的最后一部分在自我关注算法下运行,将低级胶囊路由到它们所代表的整体。


Efficient-Capsnet 利用了原始 Capsnet 中的激活函数的一个变体,挤压激活函数:

其中, 表示的是 capsule。非线性确保了短向量收缩到几乎为 0 的长度,而长向量收缩到略小于 1 的长度。

2.3 自注意力路由

下图展示了自注意力 机制的第 层的原理图,其中 表示的是第 层共有 个胶囊,其中每个胶囊的维度为
表示的是第 层共有 个胶囊,其中每个胶囊的维度为 表示的是权重矩阵,它包含了前后两层 capsule 的仿射变换, 表示的是先验矩阵, 是系数矩阵。

对于如上图 层的 capsule, 表示 层 capsule 的预测,对于每个 capsule 根据权重矩阵预测下一层 的 capsule 的属性。

层的 capsule 的计算公式如下所示,其中先验矩阵 包含所有权重的判别信息。自注意力算法生成耦合系数矩阵 。耦合系数由自注意力张量计算得来,具体公式如下所示:

每个 capsule 包含一个 矩阵,根号 是用来帮助稳定训练并且平衡耦合系数和先验。下公式是用来计算 层中 capsule 所需要的最终系数。

层和 层中的耦合系数的作用是去获得路由权重,其中计算公式如下所示:

Eifficent-Capsule 的输出层不再是个标量,而是个向量。每个 capsule 输出的向量不仅表示类的概率,也包含了各个属性的信息。其中目标函数为:

该目标函数的形式为 margin 损失, 是损失函数, 都是超参数。 

2.4 实验对比

下图比较了总结了各个方法的结果。对于 MNIST 数据集,经典的 CNN 网络和基于 Capsule 的网络之间的差距是显而易见的。该论文提出的方法与所有其他类似的方法具相比优势很明显,只有一半的参数。 



更多阅读




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存