CAPSNET:具有自我注意路由的胶囊网络
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
项目代码:https://github.com/EscVM/Efficient-CapsNet
深度卷积神经网络在架构设计策略的协助下,广泛使用数据增强技术和具有大量特征映射的层来嵌入对象转换。这是非常低效的,并且对于大型数据集意味着大量冗余的特征检测器。尽管胶囊网络仍处于起步阶段,但它们构成了一种很有前景的解决方案,可以扩展当前的卷积网络,并赋予人工视觉感知一种更有效地编码所有特征仿射变换的过程。事实上,一个正常工作的胶囊网络理论上应该用相当少的参数计数来获得更高的结果,这是由于其内在的能力来概括新观点。然而,很少有人注意到这一有关方面。在本文中,我们调查的效率胶囊网络,把他们的能力的限制与一个极端架构几乎160 k参数,我们证明建议的体系结构仍能实现三种不同的数据集先进的结果只有2%的原始CapsNet参数。此外,我们用一种新的非迭代的、高度并行的路由算法来代替动态路由,这种算法可以轻松地处理较少的封装。与其他胶囊实现的广泛实验证明了我们的方法的有效性和胶囊网络有效嵌入更易于泛化的视觉表示的能力。
然而,很少有人关注胶囊网络的效率方面和其内在的能力来更好地表示知识对象的转换。的确,到目前为止,所有的模型解决方案都包含了大量的参数,这些参数不可避免地隐藏了capsule应该提供的内在泛化能力。在本文中,我们提出了Efficient-CapsNet,这是一种极端的架构,只有16万参数,在原始CapsNet模型上有85%的TOPs改进,能够在三个不同的数据集上获得最先进的结果,保持胶囊网络的所有重要方面。通过对传统cnn和其他胶囊实现的广泛实验,我们证明了我们的方法的有效性和胶囊在网络中的重要贡献。此外,我们提出了一种新的非迭代路由算法,利用自我注意机制可以很容易地处理减少的胶囊数量。事实上,注意力和最大池层一样,可以被视为在网络内路由信息的一种方式。我们提出的解决方案利用低级封装之间的相似性进行集群,并将它们路由到更有希望的高级封装。
总的来说,我们工作的主要贡献在于:
深入研究了基于胶囊的网络泛化能力,与以往的文献研究相比,大大减少了可训练参数的数量。
基于胶囊的高效、高度可复制的深度学习神经网络的概念和开发,能够在三个不同的数据集上获得最先进的结果。
引入一种新颖的非迭代、高度并行的路由算法,利用自我注意机制有效地路由较少的封装。
一个简单的CNN的压缩表示,使用最大池化层进行空间缩减,通过简单的空间平移得到两个输入对象。对最大池操作进行了图示化,使它们的基本路由角色都为这两位数字突出显示。在网络的早期阶段检测到的低级特征将逐步路由到公共的高级特征。因此,该模型是翻译不变的,但逐渐丢失了相关的目标定位信息。
Efficient-CapsNet的总体架构示意图。主胶囊利用深度可分卷积来创建它们所代表的特征的向量表示。另一方面,卷积层的第一个堆栈将输入张量映射到一个高维空间,促进了胶囊的创建。
网络的第一部分可以被建模为单功能HConv,将输入图像映射到一个高维空间。然后,通过深度可分卷积得到主胶囊层Sl,大大减少了生成胶囊所需的参数数量。
误分类数字的例子。绿色条代表正确的标签,它们的高代表相应的胶囊长度。这些尚存疑问的例子的模糊性反映在网络预测的不确定性上。
不同测试方法对输出胶囊值添加扰动对数字重建的影响。所有的网络都可以嵌入输入数字的形状、位置和方向信息,除了经典的带有softmax输出的CNN。这表明,输出的胶囊结构(其中每个类都有其特征向量)是获得可解释输出嵌入的基础。
在本文中,我们提出了Efficient-CapsNet,这是一种基于胶囊的新型网络,它比传统的CNN突出了胶囊的泛化能力,在训练后显示出更强的知识表示。事实上,我们的实现,即使使用非常有限的参数,仍然能够在三个不同的数据集上获得最先进的结果,在所需的操作方面大大超过以前的实现。此外,我们还引入了一种非迭代路由算法,利用自我注意机制来有效地路由后续层之间较少的封装。进一步的工作将旨在设计一个合成数据集来扩展网络,并分析深入的观点泛化和网络内部特征表示。
论文链接:https://arxiv.org/pdf/2101.12491.pdf
每日坚持论文分享不易,如果喜欢我们的内容,希望可以推荐或者转发给周围的同学。
- END -
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~