EMO:重新思考高效的基于注意力的移动块模型

文章目录

  • 摘要
  • 1、介绍
  • 2、方法论:归纳法和演绎法
    • 2.1、通用效率模型标准
    • 2.2、元移动块
    • 2.3、微设计:倒置残余移动块
    • 2.4、面向密集预测的EMO宏观设计
  • 3、实验
    • 3.1、图像分类
    • 3.2、下游任务
    • 3.3、额外的消融和解释分析
  • 4、相关工作
  • 5、结束语及未来工作

摘要

论文链接:https://arxiv.org/pdf/2301.01146.pdf
本文的重点是在权衡参数、FLOPs和性能的同时,为密集预测开发现代、高效、轻量级的模型。倒立残差块(IRB)是轻量级CNN的基础结构,但在基于注意力的研究中还没有相应的基础结构。本文从高效IRB和Transformer的有效组件的统一角度重新思考轻量级基础架构,将基于CNN的IRB扩展到基于注意力的模型,并抽象出一个用于轻量级模型设计的单残留元移动块(MMB)。根据简单而有效的设计准则,我们推导出了一种现代的反向残差移动块(iRMB),并构建了一个只有iRMB的类resnet高效模型(EMO)用于下游任务。在ImageNet-1K, COCO2017和ADE20K基准测试上的大量实验证明了我们的EMO优于最先进的方法,例如,EMO- 1m /2M/5M达到71.5,75.1和78.4 Top-1,超过了等阶CNN /基于注意力的模型,同时很好地权衡了参数,效率和精度:运行速度比iPhone14上的EdgeNeXt快2.8-4.0倍。代码是可用的。

在这里插入图片描述

1、介绍

随着近年来存储/计算受限应用需求的增加,具有更少参数和低FLOPs的移动模型引起了开发人员和研究人员的极大关注。设计高效模型的最早尝试可以追溯到Inceptionv3[55]时代,它使用非对称卷积来取代标准卷积。然后,MobileNet[20]提出了深度可分离卷积,以显著减少计算量和参数,这被视为后续工作中基于CNN的基本组成部分[81,43,48,15]。值得注意的是,MobileNetv2[51]提出了一种基于深度卷积(deep - wise Convolution, DW-Conv)的高效倒残差块(Inverted Residual Block, IRB)算法,该算法至今被认为是高效模型的基础架构[58]。不可避免的是,受静态CNN自然归纳偏差的限制,CNNpure模型的精度仍然保持在较低的精度水平,需要进一步提高。总之,一个极端的核心是推进一个更强大的基本块,超越IRB。

另一方面,从视觉tansformer(vision transformer, ViTs)[13]开始,许多后续研究[61,65,66,38,37,79,78]都取得了较CNN的显著改进。这是由于它能够动态建模并从广泛的数据集中学习,如何将这种能力迁移到轻量级CNN是值得我们探索的。然而,受多头自注意(Multi-Head Self-Attention, MHSA)计算量为二次元的限制,基于注意的模型需要大量的资源消耗,特别是当特征图的通道和分辨率较大时。一些研究试图通过设计具有线性复杂性的变量[29,7]、降低特征的空间分辨率[69,65,31]、重新排列通道[45]、使用局部窗口注意力[38]等方法来解决上述问题。但是,这些方法仍然不能在设备上部署。

近年来,研究人员致力于设计轻量级CNN的高效混合模型,并在精度、参数和FLOPs方面取得了比基于CNN的模型更好的性能。然而,目前的方法引入了复杂的结构[46,47,64,6,44]或多个混合模块[44,49],这对应用优化是非常不利的。到目前为止,很少有研究像IRB那样基于注意力的对应物的工作,这激发了我们的思考:我们可以为基于基本操作符的基于注意力的模型构建一个轻量级的类似IRB的基础设施吗?

在这里插入图片描述

基于上述动机,我们从统一的角度重新思考MobileNetv2[51]中的高效倒立剩余块和Transformer[63]中的有效MHSA/FFN模块,期望在基础设施设计层面整合两者的优势。如图2-左所示,在努力将具有归纳偏置的单残差IRB引入注意模型时,我们观察到双残差Transformer中的两个底层子模块(即FFN和MHSA)与IRB具有相似的结构。因此,我们归纳地抽象了一个单残差元移动块(MMB, c.f,第2.2节),它采用参数参数扩展比λ和有效算子F来实例化不同的模块,即IRB, MHSA和FFN。我们认为MMB可以体现上述三个模块的一致本质表达,可以看作是Transformer的改进轻量化浓缩集合体。此外,我们推导了一个简单而有效的反向残差移动块(iRMB),它只包含基本的深度智能卷积和我们改进的ewmhsa (c.f,第2.3节),并且我们只使用iRMB (c.f,第2.4节)构建了一个类似resnet的4相高效模型(EMO)。令人惊讶的是,即使没有复杂的结构,我们的方法也比SoTA轻量级的基于注意力的模型表现更好,如图1所示。总之,这项工作遵循简单的设计标准,同时逐渐产生一个高效的基于注意力的轻量级模型。

我们的贡献有四个方面:1)我们将基于CNN的IRB扩展到双残差Transformer,并抽象了一个单残差元移动块(MMB)用于轻量化模型设计。该元范式可以描述现有的高效模块,对构建新型高效模块具有指导意义。2)在归纳式MMB的基础上,推导出一种简单而有效的现代倒转残差移动块(iRMB),并构建了一种仅含iRMB的类似resnet的高效模型(EMO),用于下游应用。具体来说,iRMB仅由朴素的DW-Conv和改进的EW-MHSA组成,分别用于模拟短/长依赖关系。3)我们对我们的方法进行了详细的研究,并给出了一些基于注意力的轻量化模型的实验结果,希望我们的研究能够启发研究界设计出强大而高效的模型。4)即使不引入复杂的结构,我们的方法在几个基准测试上仍然比基于并行注意力的方法取得了非常有竞争力的结果,例如,我们的EMO-1M/2M/5M比目前基于SoTA CNN / transformer的模型达到了71.5,75.1和78.4 Top-1。此外,EMO-1M/2M/5M武装SSDLite仅以2.3M/3.3M/6.0M参数和0.6 g /0.9G/1.8G FLOPs获得22.0/25.2/27.9 mAP,比最近的MobileViTv2[47]提高了+0.8↑/+0.6↑/+0.1↑,FLOPs降低了-33%↓/-50%↓/-62%↓;EMO-1M/2M/5M武装DeepLabv3仅以5.6M/6.9M/ 103m参数和2.4G/3.5G/5.8G FLOPs获得33.5/35.3/37.98 mIoU,超过MobileViTv2 +1.6↑/+0.6↑/+0.8↑,FLOPs更低。

2、方法论:归纳法和演绎法

2.1、通用效率模型标准

在为移动应用程序设计高效的可视化模型时,我们在主观上和经验上都主张一个高效的模型应该尽可能满足以下标准:①可用性。简单的实现,不使用复杂的操作符,易于针对应用程序进行优化。➁一致性。尽可能少的核心模块,以减少模型复杂性和加速部署。➂有效性。具有良好的分类和密集预测性能。➃效率。参数少,计算量少,精度折衷。我们在表1中总结了目前的高效模型:1)MobileNet系列[20,51,64]的性能现在看起来略低,其参数略高于同类产品。2)最近的MobileViT系列[46,47,64]取得了显著的性能,但它们的FLOPs更高,模块略复杂。3) EdgeNeXt[44]和EdgeViT[49]得到了漂亮的结果,但它们的基本模块也由复杂的模块组成。相比之下,我们的EMO的设计原则遵循上述标准,没有引入复杂的操作(参见第2.4节),但它仍然在多个视觉任务上获得了令人印象深刻的结果(参见第3节)。
在这里插入图片描述

2.2、元移动块

动机。1)最近基于transformer的工作[73,38,12,53,35,59,60]致力于在MetaFormer[74]下改善高性能网络的空间令牌混合。基于CNN的倒残差块[51] (IRB)被认为是高效模型的基础设施[51,58],但很少有研究探索基于注意力的基础设施。这启发我们为基于注意力的模型构建一个轻量级的类似irb的基础结构。2)在努力将具有归纳偏差的单残差IRB引入注意模型时,我们偶然发现了双残差Transformer中的两个底层子模块(即FFN和MHSA),它们恰好与IRB具有相似的结构。

归纳。我们用Transformer[63]中的核心MHSA和FFN模块重新思考MobileNetv2[51]中的倒残块,并在图2中归纳抽象了一个通用的Meta Mobile Block (MMB),它采用参数参数扩展比λ和有效算子F来实例化不同的模块。我们认为MMB可以体现上述三个模块的一致性本质表达,可以将MMB视为Transformer的改进轻量化浓缩集合体。这也是我们设计简洁易用的EMO的基本动机,它只包含一个推导出的iRMB吸收轻量级CNN和Transformer的优点。以图像输入 X ( ∈ R λ C × H × W ) \boldsymbol{X}\left(\in \mathbb{R}^{\lambda C \times H \times W}\right) X(RλC×H×W)为例,MMB首先使用输出/输入比为λ的扩展MLPe扩展通道维数:
X e = MLP ⁡ e ( X ) ( ∈ R λ C × H × W ) (1) \boldsymbol{X}_{e}=\operatorname{MLP}_{e}(\boldsymbol{X})\left(\in \mathbb{R}^{\lambda C \times H \times W}\right) \tag{1} Xe=MLPe(X)(RλC×H×W)(1)
然后,中间算子F进一步增强图像特征,如恒等算子、静态卷积、动态MHSA等。考虑到MMB适合于高效网络设计,我们将F作为高效运算符的概念,表示为:
X f = F ( X e ) ( ∈ R λ C × H × W ) (2) \boldsymbol{X}_{f}=\mathcal{F}\left(\boldsymbol{X}_{e}\right)\left(\in \mathbb{R}^{\lambda C \times H \times W}\right) \tag{2} Xf=F(Xe)(RλC×H×W)(2)
最后,一个反向输入/输出比等于λ的收缩mlp来收缩通道尺寸:
X s = MLP ⁡ s ( X f ) ( ∈ R C × H × W ) (3) \boldsymbol{X}_{s}=\operatorname{MLP}_{s}\left(\boldsymbol{X}_{f}\right)\left(\in \mathbb{R}^{C \times H \times W}\right) \tag{3} Xs=MLPs(Xf)(RC×H×W)(3)
其中残余连接用于获得最终输出 Y = X + X s ( ∈ R C × H × W ) \boldsymbol{Y}=\boldsymbol{X}+\boldsymbol{X}_{s}\left(\in \mathbb{R}^{C \times H \times W}\right) Y=X+Xs(RC×H×W)。注意,为了清晰起见,省略了正则化和激活函数。

与MetaFormer的关系。我们在图3中讨论了Meta Mobile Block和MetaFormer[74]之间的差异。1)从结构上看,双残差MetaFormer包含两个具有两个跳过连接的子模块,而我们的Meta Mobile Block只包含一个覆盖轻量级CNN领域的单残差IRB的子模块。此外,较浅的深度需要较少的内存访问并节省成本[43],这是更通用和硬件友好的。2)从动机来看,MetaFormer是对高性能Transformer/ mlp类模型的归纳,而我们的Meta Mobile Block是对MobileNetv2中高效IRB[51]和Transformer中有效MHSA/FFN[66,13]的归纳,用于设计高效的基础设施。3)在一定程度上,感应式单残差Meta Mobile Block可以看作是双残差MetaFormer在轻量级领域的概念扩展。我们希望我们的工作能够激发更多的未来研究,致力于基于注意力的轻量化模型设计领域。

在这里插入图片描述

2.3、微设计:倒置残余移动块

基于归纳Meta移动块,我们从微观角度实例化了一个有效而高效的现代倒立残余移动块(iRMB),如图4所示。
在这里插入图片描述

设计原则。根据2.1节的标准,iRMB中的F被建模为级联MHSA和卷积操作,公式为F(·)= Conv(MHSA(·))。该设计吸收了类似CNN的局部特征建模效率和类似transformer的动态建模能力来学习远距离交互。然而,天真的实现可能会导致无法承受的费用,主要有两个原因:

  1. λ通常大于1,中间维度将是输入维度的倍数,导致参数和计算量的二次λ增加。因此,F的分量应该是独立的或线性依赖于通道的数量。

  2. MHSA的FLOPs与总图像像素的二次方成正比,所以一个简单的Transformer的成本是无法承受的。具体影响见表2。
    在这里插入图片描述

演绎。我们采用了高效的Window-MHSA (WMHSA)和深度卷积(DW-Conv),并采用跳跃连接来权衡模型成本和精度。

改进EW-MHSA。W-MHSA中获取Q、K的参数和FLOPs是通道的二次元,因此我们采用未展开的X更有效地计算注意力矩阵,即 Q = K = X ( ∈ R C × H × W ) Q=K=\boldsymbol{X}\left(\in \mathbb{R}^{C \times H \times W}\right) Q=K=X(RC×H×W),而展开的值 X e X_e Xe V ( ∈ R λ C × H × W ) V\left(\in \mathbb{R}^{\lambda C \times H \times W}\right) V(RλC×H×W)。这种改进被称为更适用的扩展窗口MHSA (EW-MHSA),表述如下:
F ( ⋅ ) = (  DW-Conv, Skip  ) (  EW-MHSA  ( ⋅ ) ) (4) \mathcal{F}(\cdot)=(\text { DW-Conv, Skip })(\text { EW-MHSA }(\cdot)) \tag{4} F()=( DW-Conv, Skip )( EW-MHSA ())(4)

此外,这种级联方式可以增加感受野的扩展速度,并将模型的最大路径长度降低到 O ( 2 W / ( k − 1 + 2 w ) ) O(2 W /(k-1+2 w)) O(2W/(k1+2w)),这已经在第3.3节中得到了一致性的实验验证。

灵活性。根据经验,目前基于Transformer的方法[44,32,72]达成了共识,即在浅层中归纳CNN,而在深层中全局Transformer的组合可以提高性能。与最近的EdgeNeXt为不同的深度使用不同的块不同,我们的iRMB满足上述设计原则,仅使用两个开关来控制是否使用两个模块(代码级别在#Supp中也简洁)。

高效的等价实现。MHSA通常用于通道一致投影(λ=1),这意味着乘以 X e ( λ > 1 ) \boldsymbol{X}_{e}(\lambda>1) Xe(λ>1)的注意力矩阵的计算量将增加λ - 1。幸运的是,从X到扩展 V ( X e ) V\left(\boldsymbol{X}_{e}\right) V(Xe)的信息流只涉及线性运算,即 MLP ⁡ e ( ⋅ ) \operatorname{MLP}_{e}(\cdot) MLPe(),因此我们可以推导出一个等价命题:“当MLPe的组数等于W-MHSA的头数时,交换顺序的乘法结果保持不变。”为了减少计算量,默认使用 M L P e MLP_e MLPe之前的矩阵乘法。

选择高效的操作符。我们还将F的分量替换为组卷积、非对称[55]卷积和performer[7],但它们没有进一步改进我们的方法,并使用更高的参数和相同量级的flop。
在这里插入图片描述

提升Naive Transformer。为了评估iRMB的性能,我们将λ设置为4,并在柱状DeiT[61]和金字塔状PVT[65]中替换标准Transformer结构。如表3所示,我们惊奇地发现,在相同的训练设置下,iRMB可以用更少的参数和计算量来提高性能,特别是对于柱状ViT。这证明了在轻量化模型中,单残差iRMB相对于双残差Transformer具有明显的优势。

F的并行设计。我们还实现了DW-Conv和EW-MHSA的并行结构,每个组件的通道数量减半,并自适应修改了一些配置细节以确保相同的幅度。相比之下,该并行模型在ImageNet-1k数据集上以5.1M参数和964M FLOPs(比EMO-5M +63M↑)获得78.1(-0.3↓)Top-1,但其吞吐量将下降约-7%↓。这一现象在“网络碎片化降低了并行度”的著作[43]中也有讨论。

2.4、面向密集预测的EMO宏观设计

基于上述标准,我们基于一系列irmb为密集应用设计了一个类似resnet的4相高效模型(EMO),如图2-右所示。

  1. 整体框架而言,EMO仅由irmb组成,没有多样化的模块,这在设计思想上偏离了最近的高效方法[44,44]。
  2. 对于特定模块,iRMB仅由标准卷积和多头自关注组成,没有其他复杂算子。此外,得益于DW-Conv, iRMB可以通过跨步适应下采样操作,并且不需要任何位置嵌入来引入MHSA的感应偏置。
  3. 对于不同的设置,我们采用逐步增加的扩展速率和通道数,详细配置如表4所示。第3节中基本分类和多个下游任务的结果表明,我们的EMO在1M、2M和5M量级上优于SoTA轻量级方法。
    在这里插入图片描述

细节。由于MHSA更适合为更深层的语义特征建模,我们只在之前的工作[44,32,72]的阶段3/4打开它。注意,这并不违反均匀性标准,因为MHSA的关闭是iRMB结构的特殊情况。为了进一步提高EMO的稳定性,BN [26]+SiLU[18]与DWConv结合,LN [2]+GeLU[18]与EW-MHSA结合。此外,iRMB还能胜任降采样操作。

与MetaFormer的关系。1)从结构上看,MetaFormer扩展密集预测模型采用了额外的补丁嵌入层进行下采样,而我们的EMO仅由iRMB组成。2)从结果来看,我们实例化的EMO-5M (w/ 5.1M #Params和903M FLOPs)比实例化的PoolFormer-S12 (w/ 11.9M #Params和1823 m FLOPs)高出+1.2↑,说明更强的高效算子具有优势。3)我们进一步用iRMB中的F替换MetaFormer中的Token Mixer,并与我们的EMO-5M构建5.3M模型。它在ImageNet-1k上仅达到77.5 Top-1,即比我们的模型低-0.9↓,这意味着我们提出的Meta Mobile Block在构建轻量级模型方面比双残差MetaFormer有更好的优势.
在这里插入图片描述

实例化的高效操作符的重要性。我们定义的有效算子F包含EW-MHSA和DWConv两个核心模块。在表5中,我们进行了烧蚀实验来研究两个模块的影响。第一行表示既不使用EW-MHSA,也不使用DW-Conv,即模型几乎是由多个DW-Conv进行下采样的MLP层组成,F退化为恒等运算。令人惊讶的是,这个模型仍然产生了一个可观的结果,即73.5 Top-1。相比之下,第二行和第三行结果表明,每个成分都对性能有贡献,例如,添加DW-Conv和EW-MHSA时,分别为+3.1↑和+4.1↑。我们的模型在同时使用两个分量的情况下得到了最好的结果,即78.4 Top-1。此外,本实验还说明了iRMB的具体实例化对模型性能的影响。

算子的顺序。基于EMO-5M,我们调换了DW-Conv/EW-MHSA的顺序,发现性能略有下降(-0.6↓),因此EW-MHSA默认先执行。

3、实验

3.1、图像分类

设置。由于SoTA方法的各种训练配方[19、13、61、46、47、42、44]可能导致潜在的不公平比较(总结于表6),我们在#Supp中采用较弱的训练配方来增加模型说服力,并开放源代码以进行后续的公平比较。所有实验均在ImageNet-1K数据集[11]上进行,没有额外的数据集和预训练模型。每个模型在224×224上从头开始训练300个标准epoch,使用AdamW[41]优化器,贝塔系数为(0.9,0.999),权重衰减5e−2,学习率6e−3,批大小为2048。在训练过程中,我们使用了余弦调度器[40]、20个预热时段、标签平滑0.1[56]、随机深度[22]和随机增强[10],而LayerScale[62]、Dropout[54]、MixUp[77]、CutMix[76]、随机擦除[83]、位置嵌入[13]、令牌标记[28]和多尺度训练[46]被禁用。EMO由PyTorch[50]实现,基于TIMM[67],并使用8×V100 gpu进行训练。
在这里插入图片描述

结果。在三个小尺度上用SoTAs评价EMO,定量结果见表7。令人惊讶的是,我们的方法在没有使用复杂模块和类似mobilevitv2的强训练配方的情况下获得了目前最好的结果。例如,最小的EMO-1M获得SoTA 71.5 Top1,以接近一半的参数超过基于CNN的MobileNetv3-L-0.50[19] +2.7↑,以仅56%的FLOPs超过基于transformer的MobileViTv2-0.5[47] +1.3↑。更大的EMO-2M仅以439M FLOPs达到SoTA 75.1 Top-1,接近MobileVit-XS的一半[46]。相比之下,最新的EdgeViT-XXX[49]获得了较差的74.4 Top-1,需要+78%的↑参数和+27%的↑FLOPs。EMO-5M始终如一地在#Params (5.1M) / #FLOPs (903M)和精度(78.4)之间取得了卓越的平衡,比当代同类产品更高效。令人惊讶的是,在将EMO-5M的第四级通道从288通道增加到320通道后,新的EMO-6M仅以961M的FLOPs达到了79.0的Top-1。
在这里插入图片描述

训练食谱很重要。我们用不同的训练方法来评估EMO:
在这里插入图片描述

我们发现,对于我们的轻量级EMO,简单的训练配方(我们的)足以获得良好的结果,而现有的更强的配方(特别是在EdgeNeXt[44]中)不会进一步改进模型。NaN表明模型没有很好地训练可能未适应的超参数。

3.2、下游任务

对象检测。将ImageNet-1K预训练EMO与轻量级SSDLite[19]集成,以320×320分辨率评估其在MS-COCO 2017[34]数据集上的性能。考虑到比较的公平性和社区的友好性,我们使用标准的MMDetection库[4]进行实验,并将优化器替换为AdamW[41],不调整其他参数。
在这里插入图片描述

与SoTA方法的对比结果如表8所示,我们的EMO明显优于同类方法。例如,搭载EMO-1M的SSDLite仅以0.6G FLOPs和2.3M参数实现22.0 mAP,与仅66% FLOPs的SoTA MobileViT[46]相比,提升了+2.1↑。一致地,我们的EMO-5M以更少的FLOPs获得了迄今为止最高的27.9 mAP,例如,MobileViT-S [46] (3.4G)的53% (1.8G),比EdgeNeXt-S (2.1G)少0.3G。

语义分割。ImageNet-1K预训练的EMO与DeepLabv3[5]和PSPNet[82]集成,以充分评估其在512×512分辨率下挑战ADE20K[84]数据集上的性能。此外,我们使用标准的MMSegmentation库[9]进行实验,并将优化器替换为AdamW[41],而不调整其他参数。详细信息可以在代码中查看。
在这里插入图片描述
与SoTA方法的对比结果如表9所示,结合分割框架,我们的EMO在各个尺度上都明显优于基于SoTA transformer的MobileViTv2[47]。例如,EMO-1M/2M/5M武装DeepLabv3获得33.5/35.3/37.8 mIoU,比MobileViTv2的同类产品多+1.6↑/+0.6↑/+0.6↑,同时拥有更少的参数和FLOPs,受益于高效的iRMB。将EMO作为PSPNet的骨干网也得到了一致的结论。更多定性结果见#Supp。

3.3、额外的消融和解释分析

吞吐量的比较。在表10中,我们给出了与SoTA EdgeNeXt相比的吞吐量评估结果[44]。测试平台为AMD EPYC 7K62 CPU和V100 GPU,分辨率为224×224,批处理大小为256。结果表明,尽管两种方法的flop相似,但我们的EMO在两种平台上的速度都更快。例如,与EdgeNeXt-XXS相比,在相同的FLOPs下,EMO-1M可以实现GPU +20%的速度提升,CPU +116%的速度提升。这一差距在移动设备(iPhone14)上进一步扩大,即比SoAT EdgeNeXt快2.8×↑、3.9×↑和4.80×↑[44]。这源于我们简单且设备友好的iRMB,没有其他复杂的结构,例如Res2Net模块[14],转置频道注意力[1]等。
在这里插入图片描述

深度配置。我们在表11中评估了另外三种不同深度的模型,其深度在5M量级。所选深度配置产生相对较好的性能。
在这里插入图片描述

不同阶段的规范化类型。相同维数的BN和LN具有相同的参数和相似的FLOPs,但LN受到底层GPU结构优化的限制,对视觉模型的速度产生了巨大的负面影响。图5A为LN层应用于不同阶段时EMO-5M的吞吐量,LN默认用于stage-3/4 (S-34)。随着越来越多的阶段用LN(即S-1234)取代BN,吞吐量显著下降(1693→952),而收益有限(+0.2↑)。我们发现,当不使用LN时,模型容易产生不稳定的纳米网络;因此,我们认为LN是必要的,但在几个阶段使用对于基于注意的EMO就足够了。

不同阶段的MHSA。图5B显示了基于EMO-5M将MHSA应用于不同阶段时模型精度的变化。结果表明,无论插入何种阶段,MHSA都对模型精度有正向影响。我们的高效模型在每个阶段都应用MHSA时获得了最佳结果,但这将额外增加10% ^ ^的FLOPs,即从903M到992M。因此,默认情况下只在最后两个阶段使用MHSA,这将牺牲模型的准确性和效率。

Drop Path的影响。图5C探讨了跌落路径速率对训练EMO-5M的影响。结果表明,本文提出的模型在[0,0.1]范围内对该训练参数具有较强的鲁棒性,准确度在0.2以内波动,而在0.05以内可以获得稍好的结果。

批量大小的影响。图5D探讨了批量大小对训练EMO的影响。小批量(≤512)会带来性能下降,而大批量则会受到性能饱和的影响,并且对硬件的要求也会更高。因此,1 024人或2 048人就足以满足培训要求。
在这里插入图片描述

#Params和FLOPs的分布。iRMB主要由DW-Conv和EW-MHSA模块组成,图6进一步显示了#Params和FLOPs的分布。总的来说,DW-Conv和MHSA在#Params和FLOPs中所占的比例较低,分别为4.6%/4.1%和13.8%/14.6%。此外,我们发现#Params与我们的方法中FLOPs的比例一致,这意味着EMO是一个相对平衡的模型。
在这里插入图片描述

注意可视化由Grad-CAM。为了更好地说明我们方法的有效性,我们使用Grad-CAM[52]来突出不同模型的相关区域。如图7所示,基于CNN的ResNet倾向于关注特定对象,而基于transformer的MPViT则更关注全局特征。相比之下,我们的EMO可以更准确地聚焦在显著目标上,同时保持对全局区域的感知能力。这可能解释了为什么EMO在各种任务中获得更好的结果。
在这里插入图片描述

特征相似性可视化。如2.3节所述,级联卷积和MHSA操作可以提高感受野的扩展速度。为了验证该设计的有效性,我们可视化了Stage-3中不同组成的对角线像素的相似性,即只有DW-Conv,只有EW-MHSA,以及两个模块。如图8所示,结果表明,仅使用DW-Conv时,特征往往具有短距离相关性,而使用EW-MHSA时,特征具有更多的远距离相关性。相比之下,iRMB利用了两个模块更大的接受场,即距离较远的位置具有较高的相似性。

4、相关工作

高效的CNN模型。随着神经网络在移动视觉应用中的需求不断增加,高效的模型设计近年来引起了研究者的广泛关注。SqueezeNet[24]将3x3滤波器替换为1x1滤波器,并减少通道数以减少模型参数,而Inceptionv3[55]将标准卷积分解为非对称卷积。后来的MobileNet[20]引入了深度可分离卷积来减轻大量的计算和参数,随后的轻量级模型也采用了这种方法[21,51,81,43,48,15]。除了上述手工方法外,研究人员还在预定义的搜索空间中进行自动架构设计[19,58,57,36,3]。

拥抱视觉Transformer与CNN。自ViT[13]首次将Transformer结构[63]引入可视化任务以来,已经成功地开发了大量改进。DeiT[61]为高效的Transformer训练提供了基准,后续作品[65,66,38]采用类似resnet[17]的金字塔结构,形成纯基于Transformer的模型,用于密集预测任务。然而,缺乏二维卷积可能会因为缺乏局部归纳偏置而增加优化难度,损害模型精度,因此研究人员[16,27]将重点放在如何更好地将卷积整合到Transformer中,以获得更强的混合模型。例如,work[75]将卷积设计纳入FFN, works[8,32,71]将卷积作为增强模型归纳偏置的位置嵌入,以及works[70, 69]分别用于注意力和QKV计算。与上述改进朴素Transformer以获得高性能的方法不同,我们研究如何基于改进的单残余注意力块构建一个简单但有效的轻量级模型。

有效的Transformer改进。最近,研究人员开始减轻基于Transformer的低计算能力模型。Tao等人[23]引入了额外的可学习令牌来有效地捕获全局依赖关系,Chen等人[23]设计了MobileNet和Transformer的并行结构,中间有一个双向桥。Works[80,49]通过借用卷积运算提高了Transformer块的效率,而EdgeNeXt[44]吸收了有效的Res2Net[14]和转置通道注意力[1]。最近流行的MobileVit系列[46,47,64]将改进的MobileVit块与Mobile块[51]融合在一起,在几个视觉任务上比MobileNet[20,51,19]取得了显著的改进。然而,目前大多数方法建立在Transformer结构上,需要复杂的模块,这限制了模型的移动性和可用性。综上所述,如何在设计一个易于使用的移动模型的同时平衡参数、计算和精度,还需要进一步的研究。

5、结束语及未来工作

本工作从高效IRB和Transformer的有效组件的统一角度重新思考轻量级基础设施,并提出了用于设计高效模型的Meta Mobile Block的概念。详细地说,我们推导了一个现代的基础iRMB,并构建了一个轻量级的基于注意力的EMO,只有iRMB用于下游任务。在多个数据集上进行的大量实验证明了我们方法的优越性。此外,我们还对我们的方法进行了详细的研究,并给出了一些基于注意力的轻量级模型的实验结果。希望我们的研究能启发研究者设计出更节能的模型,并做出有趣的应用。

更复杂的算子可能会潜在地提高模型的有效性,如转位通道注意[1]、多尺度Res2Net[14]、高效的Performer[7]等,这些算子需要进一步进行深入的尝试和实验,以探索有效模型结构的上限。此外,更高分辨率的输入,结合神经结构搜索(NAS),从重模型中提取,在更大的ImageNet-21K数据集上训练,以及更强的训练增强/策略[46,44,28],将进一步提高模型的性能。由于目前的计算能力所限,我们将把以上的尝试留在以后的工作中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/50329.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu更改虚拟机网段(改成桥接模式无法连接网络)

因为工作需要,一开始在安装vmware和虚拟机时,是用的Nat网络。 现在需要修改虚拟机网段,把ip设置成和Windows端同一网段,我们就要去使用桥接模式。 环境: Windows10、Ubuntu20.04虚拟机编辑里打开虚拟网络编辑器&#…

在Mac上搭建Gradle环境

在Mac上搭建Gradle环境: 步骤1:下载并安装Java开发工具包(JDK) Gradle运行需要Java开发工具包(JDK)。您可以从Oracle官网下载适合您的操作系统版本的JDK。请按照以下步骤进行操作: 打开浏览器…

520 · 一致性哈希 II

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; 题解&#xff1a; class Solution{private:int n;const int mVirtualNodeCount;map<int, int> mVirtualNodeToMachineIdMap;set<int> mVirtualNodeSet;public:Solution(int n…

SpringBoot房屋租赁系统【附ppt|万字文档(LW)和搭建文档】

主要功能 前台登录&#xff1a; ①首页&#xff1a;公告信息、房屋信息展示、查看更多等 ②房屋信息、房屋类型、我要当房主、公告信息、留言反馈等 ③个人中心&#xff1a;可以查看自己的信息、更新图片、更新信息、退出登录、我的收藏 后台登录&#xff1a; ①首页、个人中心…

软件测试-基础阶段学习

目录 一、测试介绍 二、测试常用分类 三、模型 四、测试流程 五、测试用例 六、用例设计方法 七、缺陷 八、html 资料获取方法 阶段目标 能独立针对web项目实施功能测试 一、测试介绍 什么是软件测试 使用技术手段验证软件是否满足需求 测试主流技能 功能测试自…

golang,gin框架的请求参数(一)--推荐

golang&#xff0c;gin框架的请求参数&#xff08;一&#xff09; gin框架的重要性不过多的强调&#xff0c;重点就gin使用中的参数传递&#xff0c;获取进行梳理文件&#xff0c;满足使用需求。 获取前端请求参数的几种方法&#xff1a; 一、获取参数【浏览器地址获取参数】…

【业务功能篇58】Springboot + Spring Security 权限管理 【中篇】

4.2.3 认证 4.2.3.1 什么是认证&#xff08;Authentication&#xff09; 通俗地讲就是验证当前用户的身份&#xff0c;证明“你是你自己”&#xff08;比如&#xff1a;你每天上下班打卡&#xff0c;都需要通过指纹打卡&#xff0c;当你的指纹和系统里录入的指纹相匹配时&…

图注意力网络论文详解和PyTorch实现

图神经网络(gnn)是一类功能强大的神经网络&#xff0c;它对图结构数据进行操作。它们通过从节点的局部邻域聚合信息来学习节点表示(嵌入)。这个概念在图表示学习文献中被称为“消息传递”。 消息(嵌入)通过多个GNN层在图中的节点之间传递。每个节点聚合来自其邻居的消息以更新其…

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

文章目录 前言运行结果部分图片1. 引入所需库2. 发送请求获取网页内容3. 解析网页内容并提取图片地址和名称4. 下载并保存图片完整代码关键代码讲解 结束语 前言 爬取网络上的图片是一种常见的需求&#xff0c;它可以帮助我们批量下载大量图片并进行后续处理。本文将介绍如何使…

django学习笔记(1)

django创建项目 先创建一个文件夹用来放django的项目&#xff0c;我这里是My_Django_it 之后打开到该文件下&#xff0c;并用下面的指令来创建myDjango1项目 D:\>cd My_Django_itD:\My_Django_it>"D:\zzu_it\Django_learn\Scripts\django-admin.exe" startpr…

echarts遇到的问题

文章目录 折线图-区域面积图 areaStyley轴只有整数y轴不从0开始y轴数值不确定&#xff0c;有大有小&#xff0c;需要动态处理折线-显示label标线legend的格式化和默认选中状态x轴的lable超长处理x轴的相关设置 echarts各个场景遇到的问题 折线图-区域面积图 areaStyle areaStyl…

分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(二)

说明&#xff1a;如果实现了docker部署mysql并完成主从复制的话再继续&#xff0c;本篇文章主要说明springboot配置实现Shardingjdbc进行读写分离操作。 如果没实现docker部署mysql实现主从架构的话点击我 Shardingjdbc配置介绍&#xff08;版本&#xff1a;5.3.2&#xff09;…

STM32 Flash学习(一)

STM32 FLASH简介 不同型号的STM32&#xff0c;其Flash容量也不同。 MiniSTM32开发板选择的STM32F103RCT6的FLASH容量为256K字节&#xff0c;属于大容量产品。 STM32的闪存模块由&#xff1a;主存储器、信息块和闪存存储器接口寄存器等3部分组成。 主存储器&#xff0c;该部分…

linux 指令 第3期

cat cat 指令&#xff1a; 首先我们知道一个文件内容属性 我们对文件操作就有两个方面&#xff1a;对文件内容和属性的操作 扩展&#xff1a;echo 指令 直接打印echo后面跟的字符串 看&#xff1a; 这其实是把它打印到了显示器上&#xff0c;我们也可以改变一下它的打印位置…

工业边缘计算为什么?

在工厂环境中使用边缘计算并不新鲜。可编程逻辑控制器&#xff08;PLC&#xff09;、微控制器、服务器和PC进行本地数据处理&#xff0c;甚至是微型数据中心都是边缘技术&#xff0c;已经在工厂系统中存在了几十年。在车间里看到的看板系统&#xff0c;打卡系统&#xff0c;历史…

加解密相关工具网站总结

加解密相关工具&网站总结 文章目录 加解密相关工具&网站总结CMD5&#xff0c;解密&#xff0c;反向查询JSFuck&#xff08;JavaScriptAAEncode加密/解密&#xff08;Javascript在线CTF编码工具开源加解密工具大佬文章&#xff1a;1.30余种加密编码类型的密文特征分析2.…

手把手一起上传本地项目至Gitee仓库

1、Gitee新建仓库 创建自己的Gitee账号&#xff0c;新建仓库&#xff0c;如图所示&#xff1a; 根据自己的项目情况&#xff0c;填写仓库信息&#xff0c;如图所示&#xff1a; 仓库创建完成&#xff0c;如图所示&#xff1a; 2、下载Git 下载地址可用链接: https://registry…

陕西师范大学大学:融合传统与创新的学府之旅

前言 > &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 > &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 > &#x1f4d…

Knowledge-QA-LLM: 基于本地知识库+LLM的开源问答系统

⚠️注意&#xff1a;后续更新&#xff0c;请移步README Knowledge QA LLM 基于本地知识库LLM的问答系统。该项目的思路是由langchain-ChatGLM启发而来。缘由&#xff1a; 之前使用过这个项目&#xff0c;感觉不是太灵活&#xff0c;部署不太友好。借鉴如何用大语言模型构建一…

2023年深圳杯数学建模D题基于机理的致伤工具推断

2023年深圳杯数学建模 D题 基于机理的致伤工具推断 原题再现&#xff1a; 致伤工具的推断一直是法医工作中的热点和难点。由于作用位置、作用方式的不同&#xff0c;相同的致伤工具在人体组织上会形成不同的损伤形态&#xff0c;不同的致伤工具也可能形成相同的损伤形态。致伤…