EFFICIENT MODULATION FOR VISION NETWORKS
ABSTRACT
- 在本研究中,我们提出了一种高效调制,一种用于高效视觉网络的新型设计。我们重新审视了调制机制,该机制通过卷积上下文建模和特征投影层来操作输入,并通过逐元素乘法和 MLP 块融合特征。我们证明了调制机制特别适合高效网络,并通过提出高效调制 (EfficientMod) 块进一步定制调制设计,该块被认为是我们网络的基本构建块。得益于调制机制的卓越表征能力和所提出的高效设计,我们的网络可以在准确性和效率之间实现更好的权衡,并在高效网络领域树立新的最先进性能。当将 EfficientMod 与 vanilla 自注意力块相结合时,我们获得了混合架构,这进一步提高了性能而不会降低效率。我们进行了全面的实验来验证 EfficientMod 的性能。由于参数较少,我们的 EfficientMod-s 的 top-1 准确率比 EfficientFormerV2-s2 高 0.6,在 GPU 上快 25%,在相同的 GPU 延迟下比 MobileViTv2-1.0 高 2.9。此外,我们的方法在下游任务中表现出显着的改进,在 ADE20K 基准上比 EfficientFormerV2-s 高 3.6 mIoU。代码和检查点可在 https://github.com/ma-xu/EfficientMod 上找到。
- 论文地址:[2403.19963] Efficient Modulation for Vision Networks (arxiv.org)
- https://www.secret-flow.com/bootcamp/9teqxigspfue9ce/enroll?inviter=rijlcehwl8ksmzx,记得加入学习
INTRODUCTION
-
视觉Transformer (ViT) 在广泛的视觉任务上取得了令人瞩目的成就,并为视觉网络设计贡献了创新思想。得益于自注意力机制,ViT 与传统卷积网络的区别在于其动态特性和远程上下文建模能力。然而,由于视觉标记数量的二次复杂度,自注意力既不具有参数效率,也不具有计算效率。这阻碍了 ViT 部署在边缘或移动设备和其他实时应用场景上。为此,人们尝试在局部区域内使用自注意力或选择性地计算信息标记以减少计算。 同时,一些努力尝试将卷积和自注意力结合起来,以实现理想的有效性-效率权衡。
-
最近,一些研究表明,与自注意力相比,纯卷积网络也可以获得令人满意的结果。 其中,计算效率高且易于实现的FocalNet和VAN表现出尖端性能,明显优于ViT同类产品。通常,这两种方法都考虑使用大核卷积块进行上下文建模,并使用逐元素乘法(后跟MLP块)调制投影的输入特征,如下图b所示。在不失一般性的前提下,我们将这种设计称为调制机制,它表现出良好的性能,并受益于卷积的有效性和自注意力的动态性。虽然调制机制提供了令人满意的性能,并且理论上是有效的(就参数和 FLOP 而言),但当计算资源有限时,它的推理速度令人不满意。原因有两个:i)冗余和同功能操作,例如连续的深度卷积和冗余的线性投影占用了大部分操作时间;ii)上下文建模分支中的零碎操作大大增加了延迟,违反了 ShuffleNetv2 中的指导原则 G3。
-
-
Transformer、抽象调制设计和我们的 EfficientMod 模块的比较。⊙ 表示元素乘法,⊗ 表示矩阵乘法。与 Transformer 和抽象调制相比,我们的统一模块通过简单的上下文建模设计 (CTX) 有效地调制投影值 (V)。© 中标明了维度数以帮助理解。
-
-
在本研究中,我们 提出了高效调制,这是一种简单而有效的设计,可以作为高效模型的基本构建块(见上图 c ) \textcolor{red}{提出了高效调制,这是一种简单而有效的设计,可以作为高效模型的基本构建块(见上图 c)} 提出了高效调制,这是一种简单而有效的设计,可以作为高效模型的基本构建块(见上图c)。与 FocalNet和 VAN背后的调制块相比,高效调制块更简单,并继承了所有优点(见图 b 和图 c)。与 Transformer 块相比,我们的 EfficientMod 的计算复杂度与图像大小呈线性相关,我们强调大但局部的交互,而 Transformer 与 token 数量呈立方相关,并直接计算全局交互。与仍然是许多有效网络事实上的基本构建块的倒置残差(MBConv)块不同,我们的解决方案使用更少的通道进行深度卷积并结合了动态(参见表 6 进行比较)。通过分析我们与这些设计之间的联系和差异,我们可以深入了解我们的有效性和效率从何而来。通过研究相似之处和区别,我们可以深入了解我们的方法的效率。
-
借助我们的高效调制模块,我们引入了一种称为 EfficientMod 网络的高效网络新架构。EfficientMod 是一个纯卷积网络,表现出色。同时,我们提出的模块与传统的自注意力模块正交,并且与其他设计具有出色的兼容性。通过将注意力模块与我们的 EfficientMod 集成,我们得到了一个混合架构,可以产生更好的结果。在不使用神经网络搜索 (NAS) 的情况下,我们的 EfficientMod 在一系列任务中提供了令人鼓舞的性能。与之前最先进的方法 EfficientFormerV2 相比,EfficientMod-s 的 top-1 准确率比 EfficientFormerV2-S2 高出 0.3,在 GPU 上快 25%。此外,我们的方法在下游任务上大大超越了 EfficientFormerV2,在具有可比模型复杂度的 ADE20K 语义分割基准上比它高出 3.6 mIoU。 大量实验的结果表明,所提出的 EfficientMod 是有效且高效的。
RELATED WORK
-
高效的卷积网络设计。最有效的网络之一是 MobileNet,它将传统卷积分解为逐点卷积和深度卷积。通过这样做,参数数量和 FLOP 大大减少,推理速度大大提高。随后,MobileNetV2通过引入倒置瓶颈块(也称为 MBConv 块)进一步推动了该领域的发展,这现在是大多数高效网络的事实上的基本构建块。
-
此外,其他一些贡献也值得注意。网络架构搜索 (NAS) 可以提供更好的网络设计,例如 MobileNetv3 、EfficientNet 和 FBNet 等。ShuffleNet利用组操作和通道改组来节省计算量。ShuffleNetv2、FasterNet 和 GhostNet 强调特征重用的有效性。关于高效设计,我们的模型类似于 MBConv 块,但其背后的内部操作和机制不同。在设计理念方面,我们的模型与 FocalNet 和 VAN 相似,但效率更高、更优雅。我们在第 3.5 节和表 6 中讨论了联系和差异。
-
高效网络中的 Transformer。Transformer 引起了视觉社区的极大兴趣,这无疑包括高效网络。一些方法,例如 MobileFormer,考虑将自注意力添加到 ConvNets 中,以同时捕获局部和全局交互。然而,由于视觉标记数量的二次复杂度,自注意力需要承受高计算成本。为了避免过高的计算量,EfficientFormerV2 和 EdgeNeXt在早期阶段考虑 MBConv 块,并在标记数量(或特征分辨率)较少的后期阶段使用自注意力。 与早期将自注意力和 MBConv 块结合起来以实现效率和有效性之间权衡的努力相比,我们提炼了自注意力、动态和大感受野的固有属性,并将这些属性引入了我们的 EfficientMod。我们还探索了集成自我注意力和 EfficientMod 的混合架构以获得更好的性能。
-
高效网络讨论。尽管参数数量和 FLOP 是广泛使用的评估模型理论复杂度的指标,但它们并不反映网络的实时成本,正如 ShuffleNetv2 中所认可的那样。高效网络设计的实用指南至关重要,例如更少的网络片段和一致的特征维度等。FasterNet还表明,由于每秒浮点运算效率低,低 FLOP 并不一定会导致低延迟。在这项工作中,我们提出了 EfficientMod,并将先前的观察结果纳入我们的设计中,以实现实际效果。
METHOD
REVISIT MODULATION DESIGN
-
我们首先从 VAN 和 FocalNet 中推导出调制机制的一般概念。视觉注意力网络。VAN考虑了一种卷积注意力设计,它简单而有效。具体来说,给定输入特征 x ∈ R c × h × w x ∈ \R^{c×h×w} x∈Rc×h×w,我们首先使用全连接(FC)层(具有激活函数)f(⋅)将 x 投影到新的特征空间,然后将其输入到两个分支中。第一个分支 ctx(⋅) 提取上下文信息,第二个分支是相同的映射。我们使用元素乘法融合两个分支的特征,然后添加新的线性投影 p (⋅)。具体来说,VAN 块可以写成:
-
O u t p u t = p ( c t x ( f ( x ) ) ⊙ f ( x ) ) , c t x ( x ) = g ( D W C o n v 7 , 3 ( D W C o n v 5 , 1 ( x ) ) ) , ( 2 ) Output = p (ctx(f (x)) ⊙ f (x)) ,\\ ctx(x) = g (DWConv_{7,3} (DWConv_{5,1} (x))) , (2) Output=p(ctx(f(x))⊙f(x)),ctx(x)=g(DWConv7,3(DWConv5,1(x))),(2)
-
其中 ⊙ 是元素乘法, D W C o n v k , d DWConv_{k,d} DW
-