爱人民币(iRMB)就不会 EMO 了?| ICCV-2023: 结合 CNN 和 Transformer 的倒残差移动模块设计

Title :Rethinking Mobile Block for Efficient Attention-based Models
Paperarxiv.org/abs/2301.01...
Codegithub.com/zhangzjn/EM...

1. 导读

本文致力于轻量级的高效模型结构设计研究,同时考虑模型参数量#Params)、计算量FLOPs)和精度Accuracy)之间的权衡。基于 CNNs 的模型有 IRB, Inverted Residual Block,倒残差模块)[1]作为基础结构,而基于注意力机制的研究尚缺乏类似基础结构。

基于此,本文重新思考了MobileNetv2[1]中的IRB以及Transformer[2]中的MHSA, Multi-Head Self-Attention,多头自注意力)和FFN, Feed-Forward Network,前向模型),从统一角度抽象了只包含single skipMeta Mobile Block, MMB。遵循简单有效的设计原则,作者进一步实例化了一个面向移动端应用的iRMB基础模块(Inverted Residual Mobile Block,倒残差移动模块),其同时具备CNN的静态短程建模能力和Transformer的动态长程特征交互能力,并进一步设计了仅由iRMB构成的EMO, Efficient MOdel轻量化主干模型。

广泛的实验证明了提出方法的有效性,比如:

  • 1M/2M/5M 尺度下的 EMO 模型在 ImageNet-1K 的分类数据集上分别获得了 71.5/75.1/78.4 Top-1精度,超过了当前 SoTA 基于 CNN/Transformer 的轻量化模型;
  • 基于 SSDLite 框架仅使用 0.6G/0.9G/1.8G FLOPs 获得了 22.0/25.2/27.9 mAP
  • 基于 DeepLabv3框架仅使用 2.4G/3.5G/5.8G FLOPs 获得了 33.5/35.3/37.8 mIoU,取了较好的 mobile 条件下的效果。

2.方法及贡献

动机

基于Depth-Wise Convolution的IRB成为轻量化卷积模型的基础构成模块,相关的高效模型(如MobileNetv2[1]、EfficientNe[3]、ShuffleNet[4]等)具有很高的移动端速度,但受限于静态CNN归纳偏置影响,这些模型的效果(尤其是下游检测、分割等任务)仍有待进一步提高。另一方面,得益于Transformer的动态建模能力,基于ViT[5](Vison Transformer)的许多工作(如DeiT[6]、PVT[7]、SwinTransformer[8]等)较CNN模型取得了明显的效果提升。然而,受限于MHSA(Multi-Head Self-Attention)的二次方计算量需求,Transformer很少应用于移动端场景。

因此一些研究人员尝试设计融合上述两者的混合模型,但一般会引入复杂的结构[9,10,11]或多个混合模块[10,12],这对于应用改进和优化是非常不友好的,这促使我们思考能否结合CNN/Transformer结构的优点来构建类似IRB的轻量级基础模块。基于此,本文首先抽象了MMB(Meta Mobile Block)用来对IRB和Transformer中的MHSA/FFN进行归纳,其次实例化了高效的iRMB(Inverted Residual Mobile Block),最后仅使用该模块构建了高效的EMO(Efficient MOdel)轻量化主干模型。

元移动模块

如上图左侧所示,通过对 MobileNetv2 中的 IRB 以及 Transformer 中的核心 MHSA 和 FFN 模块进行抽象,作者提出了统一的 MMB 对上述几个结构进行归纳表示,即采用扩张率 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ \lambda </math>λ 和高效算子 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F 来实例化不同的模块。

倒残差移动模块

不同模型的效果主要来源于高效算子 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F 的具体形式,考虑到轻量化和易用性,作者将 MMB 中的 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F 建模为Expanded Window MHSA(EW-MHSA)和Depth-Wise Convolution(DW-Conv)的级联,兼顾动态全局建模和静态局部信息融合的优势,同时能够有效地增加模型的感受野,提升对于下游任务的能力。

进一步,作者将 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F 设置为 4 并替换 DeiT 和 PVT 中标准 Transformer 结构以评估 iRMB 性能,如下述表格所述,可以发现iRMB可以在相同的训练设置下以更少的参数和计算获得更高的性能。

轻量化高效模型

为了更好的衡量移动端轻量化模型的性能,作者定义了以下4个评判标准:

  1. 可用性:不使用复杂算子的简单实现,易于针对应用侧进行优化。
  2. 简约性:使用尽可能少的核心模块以降低模型复杂度。
  3. 有效性:良好的分类和下游任务性能。
  4. 高效性:参数、计算量、精度之间得到很好的权衡。

下面的表格总结了本文方法与其它几个主流的轻量化模型之间的区别:

基于上述标准,我们设计了高效的EMO模型:

  1. 宏观框架层面,EMO仅由iRMB组成而没有多样化的模块,这与当前轻量化模型的设计理念有所不同,可称得上大道至简。
  2. 微观模块层面,iRMB仅由卷积和多头自注意力机制组成而没有其他复杂的结构。此外,得益DW-Conv,iRMB可以通过步幅适应下采样操作,并且不需要任何位置嵌入来为MHSA引入归纳偏置。
  3. 模型变体层面,作者采用简单的扩张率和通道数逐stage递增的简单方式,详细配置如下表所示:
  1. 训练策略层面,EMO并没有使用Strong Data Augmentation和Tricks,这也充分体现了其模块设计的有效性。

3. 实验

ImageNet-1K 分类

目标检测

语义分割

定性结果

此外,作者做了大量的定性/定量实验以说明提出方法的有效性,可移步原文进一步了解。

总结

从技术上看,本文工作重新思考了 ViTCNN 的轻量级的一些较为关键的设计,类似于先前的 Meta-Former,由于有 mobile 场景的限制,本文提出了一个简单有效的模块,即倒残差移动模块,并在不使用很强的数据增强情况下,在 mobile setting 下多个数据集上取得了领先结果,整体属于简单有效,代码和模型已经开源,欢迎大家使用!

参考文献

[1] Sandler, Mark, et al. "Mobilenetv2: Inverted residuals and linear bottlenecks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

[2] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).

[3] Tan, Mingxing, and Quoc Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." International conference on machine learning. PMLR, 2019.

[4] Zhang, Xiangyu, et al. "Shufflenet: An extremely efficient convolutional neural network for mobile devices." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018. 2018.

[5] Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).

[6] Touvron, Hugo, et al. "Training data-efficient image transformers & distillation through attention." International conference on machine learning. PMLR, 2021. [7] Wang, Wenhai, et al. "Pyramid vision transformer: A versatile backbone for dense prediction without convolutions." Proceedings of the IEEE/CVF international conference on computer vision. 2021.

[8] Liu, Ze, et al. "Swin transformer: Hierarchical vision transformer using shifted windows." Proceedings of the IEEE/CVF international conference on computer vision. 2021.

[9] Chen, Yinpeng, et al. "Mobile-former: Bridging mobilenet and transformer." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

[10] Maaz, Muhammad, et al. "Edgenext: efficiently amalgamated cnn-transformer architecture for mobile vision applications." European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022.

[11] Mehta, Sachin, and Mohammad Rastegari. "Mobilevit: light-weight, general-purpose, and mobile-friendly vision transformer." ICLR. 2022.

[12] Pan, Junting, et al. "Edgevits: Competing light-weight cnns on mobile devices with vision transformers." European Conference on Computer Vision. Cham: Springer Nature Switzerland, 2022.

相关推荐
蹉跎x9 分钟前
力扣1358. 包含所有三种字符的子字符串数目
数据结构·算法·leetcode·职场和发展
巫师不要去魔法部乱说1 小时前
PyCharm专项训练4 最小生成树算法
算法·pycharm
IT猿手2 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解GLSMOP1-GLSMOP9及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·算法·机器学习·matlab·强化学习
阿七想学习2 小时前
数据结构《排序》
java·数据结构·学习·算法·排序算法
王老师青少年编程2 小时前
gesp(二级)(12)洛谷:B3955:[GESP202403 二级] 小杨的日字矩阵
c++·算法·矩阵·gesp·csp·信奥赛
Kenneth風车2 小时前
【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111
算法·机器学习·分类
eternal__day2 小时前
数据结构(哈希表(中)纯概念版)
java·数据结构·算法·哈希算法·推荐算法
APP 肖提莫3 小时前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
java·前端·算法
OTWOL3 小时前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
qq_433554543 小时前
C++ 面向对象编程:递增重载
开发语言·c++·算法