仅需原始参数的2%,全新胶囊网络Efficient-CapsNet效果依然「强势」

简介: 来自意大利的科学家提出了一种新型的胶囊网络,相对传统的CNN,仅需要原始版本胶囊网络参数的2%,就可以在多个数据集上获得最先进的结果。此外,他们还引入了一种基于自注意机制的非迭代路由算法,可以有效应对后续层胶囊数量减少的问题。

微信图片_20220112134303.png



我们都知道深度卷积神经网络是依靠大量的数据和具有大量特征映射的层来完成学习和更新的,这个过程并不是非常高效,对于大型数据集来说,这意味着有大量冗余的特征检测器。

 

针对这一问题,胶囊网络是一个有发展潜力的解决方案——它可以扩展当前的卷积网络,并可以令人工视觉感知到高效编码所有特征仿射变换的过程。

 

由于内在具有更好的概括能力,一个胶囊网络理论上可以使用相当少的参数数量,并获得更好的结果

 

可惜的是,注意到这一点的人并不多。

 

不过,近日,来自意大利的研究者提出了一种高效的自注意路由胶囊网络(Capsule Network with Self-Attention Routing, Efficient-CapsNet):


微信图片_20220112134308.png


他们深入研究了胶囊网络的的效率,并在参数仅仅有16万的情况下,将网络的性能推到了极致。

 

在实验部分,研究者证明,他们提出的架构,在参数量降低为原始CAPSNET的2%的情况下,还可以在三个不同的数据集上实现最先进的结果。

 

此外,研究者用一个新颖的非迭代、高度并行的的路由算法替代了动态路由,利用自我注意机制,这种新颖的算法可以很容易地对小数量的胶囊进行处理。

 

最后,研究者还在其他胶囊上做了额外的实验,结果证明了Efficient-CapsNet的有效性,也证明了胶囊网络可以有效嵌入更为泛化的可视化表示这一特点。


微信图片_20220112134310.png


该论文的贡献主要在于:


  • 深入研究了基于胶囊的网络的泛化能力,与以前的文献研究相比,大大减少了可训练参数的数量


  • 概念化和开发了基于胶囊的高效、高度可复制的深度学习神经网络,并能够在三个不同的数据集上达到最先进的结果


  • 引入了一种新颖的非迭代、高度并行的路由算法,即使胶囊数量减少了,该算法也能利用自我注意机制来对其进行有效的路由


论文中的所有训练和测试代码都是开源的,可以公开使用,论文地址如下:https://arxiv.org/pdf/2101.12491.pdf


三层宝塔结构:两层不同卷积处理+自注意力机制


Efficient-CapsNet的总体架构如下图所示:


微信图片_20220112134312.png


图:Efficient-CapsNet的总体架构示意图


主胶囊利用深度可分卷积,来创建它们所代表的特征的向量表示。


另一方面,卷积层的第一个堆栈将输入张量映射到一个高维空间,从而促进了胶囊的创建。 


该网络可以被分为三个不同的部分,其中前两个主要实现了胶囊层和输入空间之间的交互。每个胶囊利用下面的卷积层过滤器,将像素强度转换为它所代表的特征的矢量表示。 


因此,在一个活跃胶囊内的神经元活动,体现了它在训练过程中学习到代表样本的各种属性。


这些属性可以包括许多不同类型的实例化参数,如姿态、纹理、变形,以及特征本身的存在。 


在这一部分的实现中,由胶囊表示的实体出现的概率用每个向量的长度来表示。这一点与下面的自我注意路由算法是兼容的。 网络的最后一部分在自我注意算法下运行,将低级胶囊路由到了它们所代表的整体。


微信图片_20220112134313.png


图:网络的第一部分,可以被建模为将输入图像映射到高维空间的单函数转换。然后,通过深度可分离卷积得到主胶囊层,这大大减少了制作胶囊所需的参数数量。


微信图片_20220112134315.png


图4:自注意力层,这一层的胶囊对它们所属的整体做出预测 


操作简单,参数量大幅降低,效果依然显著


在实验部分,可以看出,Efficient-CapsNet所包含的参数量非常少:


微信图片_20220112134317.png


图:计算成本和必要操作方面的比较。


Efficient-CapsNet除了拥有较少的可训练参数,在效率方面也更高 下面是在数字重构上的表现:


微信图片_20220112134319.png


图:即使有不同的架构策略和训练目标,所有的网络都能够嵌入输入数字的不同属性,并只保留重要的细节 


下面是在在MNIST分类任务上的测试错误率:


微信图片_20220112134321.png


这是Efficient-CapsNet与近十年最先进方法的效果对比:


微信图片_20220112134322.png


下面是在smallNORB分类任务上的测试错误率:


更多详细信息请参考链接:https://arxiv.org/pdf/2101.12491.pdf

相关文章
|
4月前
|
机器学习/深度学习 自然语言处理 计算机视觉
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaBlock降低YOLOV8参数
【YOLOv8改进 - Backbone主干】VanillaNet:极简的神经网络,利用VanillaBlock降低YOLOV8参数
|
3月前
|
监控 Linux 测试技术
什么是Linux系统的网络参数?
【8月更文挑战第10天】什么是Linux系统的网络参数?
55 5
|
4月前
|
Linux 开发工具
CPU-IO-网络-内核参数的调优
CPU-IO-网络-内核参数的调优
72 7
|
4月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
44 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
5月前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
5月前
|
存储 弹性计算 网络协议
阿里云服务器ECS计算型c7实例详解_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c7实例,基于三代神龙架构,采用Intel Ice Lake CPU,2.7 GHz基频,3.5 GHz全核睿频,提供高性能计算、存储和网络能力。支持vTPM和Enclave特性,适用于高网络负载、游戏、数据分析等场景。实例规格从2核4GB至128核256GB,最大网络收发包可达2400万PPS。详细规格及性能参数见官方页面。
110 1
|
5月前
|
计算机视觉
【YOLOv8改进 - 特征融合NECK】 HS-FPN :用于处理多尺度特征融合的网络结构,降低参数
MFDS-DETR是针对白细胞检测的创新方法,它通过HS-FPN和可变形自注意力解决规模差异和特征稀缺问题。HS-FPN利用通道注意力模块增强特征表达,改善多尺度挑战。代码和数据集可在给定链接获取。此方法在WBCDD、LISC和BCCD数据集上表现优越,证明了其有效性和通用性。YOLO系列文章提供了更多目标检测改进和实战案例。
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
|
4月前
|
网络协议 Linux 开发工具
计算机网络--TCP中的参数配置
计算机网络--TCP中的参数配置
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
神经网络参数初始化
**神经网络参数初始化**是深度学习的关键步骤。权重常通过**Xavier**或**He**初始化来打破对称性,适用于ReLU激活;而偏置通常初始化为0。初始化方法还包括**均匀分布**、**正态分布**、**全零**、**全一**和**固定值**。在PyTorch中,`torch.nn.init`模块提供了如`xavier_uniform_`和`kaiming_normal_`等初始化函数。预训练模型也可用于初始化,通过微调提升性能。