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 -
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
CAPSNET:具有自我注意路由的胶囊网络相关推荐
- 基于动态路由的胶囊网络在文本分类上的探索
摘要 简介 模型 2.1 N-gram 卷积层 2.2 初级胶囊层 2.2.1 孩子-父母(部分-整体)关系 2.3 动态路由 孤立类别 Leaky-Softmax 参数修正 实验 3.1 实验数据集 ...
- Hinton的胶囊网络不太行?CVPR Oral论文:不比卷积网络更「强」
来源:机器学习研究组订阅 在一篇 CVPR 2021 Oral 论文中,来自慕尼黑大学.微软亚研的研究者对胶囊网络和卷积网络进行了全面的对比.一系列实验表明,一些被认为对胶囊网络(CapsNet)至关 ...
- python实现胶囊网络_胶囊网络(Capsule Network)的TensorFlow实现
现在我们都知道Geoffrey Hinton的胶囊网络(Capsule Network)震动了整个人工智能领域,它将卷积神经网络(CNN)的极限推到一个新的水平. 网上已经有很多的帖子.文章和研究论文 ...
- 胶囊网络是什么及其应用
In 1998, Yann LeCun and Yoshua Bengio introduced what is now one of the most popular models in Deep ...
- 关于矩阵胶囊与EM路由的理解(基于Hinton的胶囊网络)
本文介绍了Hinton的第二篇胶囊网络论文"Matrix capsules with EM Routing",其作者分别为Geoffrey E Hinton.Sara Sabour ...
- CapsNet(Capsule Network)——胶囊网络原理
在讲胶囊网络之前,首先我们回顾一下我们熟悉的CNN. CNN做了什么事情呢? 假设这里有一个卷积核(左图),除了曲线轨迹上的值很大,其他的值都是零,所以这个卷积核对旁边这种曲线(右图)就有很高的输出, ...
- 论文阅读_胶囊网络CapsNet
介绍 英文题目:Dynamic Routing Between Capsules 中文题目:胶囊之间的动态路由 论文地址:https://papers.nips.cc/paper/2017/file/ ...
- 翻译:揭开胶囊网络CapsNet的神秘面纱
近年来,深度学习风靡全球.从自动驾驶汽车到预测性广告,它不可避免地成为我们日常生活的重要组成部分. 杰弗里·辛顿 (Geoffrey Hinton) 被认为是将深度学习带回主流并在很大程度上负责今天的 ...
- 关于胶囊之间的动态路由的理解(基于Hinton的胶囊网络)
原文章:https://blog.csdn.net/bhneo/article/details/79391469 本文介绍了由Sara Sabour,Nicholas Frosst和Geoffrey ...
最新文章
- UA MATH564 概率论 标准二元正态分布的性质
- 修改oracle数据库密码
- 44、Power Query-具体查看函数的方法
- 一文教你掌握 ZooKeeper 核心知识
- Linux ps aux查看进程
- 一个项目告一段落,终于可以回家过年了。
- python paas_Python paasword包_程序模块 - PyPI - Python中文网
- C# StringBuilder 和 String 的区别?(简单易懂不抽象)
- Hypermesh软件初学
- Arduino驱动的安装
- Android手柄数据全解析
- Django 中文文档解析
- vue优化技巧之Object.freeze()
- Kubernetes CKA认证运维工程师笔记-Kubernetes故障排查
- JetPack知识点实战系列十一:MotionLayout让动画如此简单
- html玫瑰花,HTML5 canvas绘制的玫瑰花效果
- shell——forwhileselect
- 你真的适合做前端开发吗?
- 计算机7层网络以及每层协议
- #VCS# 关于Verdi KDB 数据库
热门文章
- 60行代码爬取知乎“神回复”,句句戳中泪点
- 一文详解启发式对话中的知识管理 | 公开课笔记
- 【AI参赛经验】汉字书法识别比赛经验心得——by:microfat_htu
- 笔记 | 吴恩达Coursera Deep Learning学习笔记
- 程序员缺乏经验的 7 种表现
- Spring Boot 2.X整合Spring-cache,让你的网站速度飞起来
- 七个开源的 SpringBoot 前后端分离项目,Star过千,快去收藏夹吃灰吧!
- 为什么阿里巴巴禁止使用BigDecimal的equals方法做等值比较?
- 7个提升PyTorch性能的技巧
- 自动检索、修复Python代码bug,微软推出DeepDebug