深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现
Rethinking Mobile Block for Efficient Attention-based Models
PDF: https://arxiv.org/pdf/2301.01146.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
EMO是高效、轻量级的模型,以在参数、FLOPs和性能之间实现平衡,适用于密集预测任务。文章从倒立残差块(IRB)和Transformer的有效组件的统一角度出发,将基于CNN的IRB扩展到基于注意力的模型,并抽象出一个用于轻量级模型设计的单残留元移动块(MMB)。
EMO为轻量级模型设计提供了一个新的思路,通过将CNN和Transformer的有效组件统一起来,实现了高效的模型性能。大量实验验证了所提出的方法的有效性和优越性。
2 ResNetlike Efficient MOdel (EMO)
2-1 Criteria for General Efficient Model
在为移动应用设计高效的视觉模型时,提出以下四个标准,即,一个高效的模型应尽可能满足:
- ➀Usability 可用性。简单的实现不使用复杂的运算符,并且易于为应用程序进行优化。
- ➁Uniformity 统一性。尽可能少的核心模块以减少模型复杂性并加快部署速度。
- ➂Effectiveness有效性。对于分类和密集预测具有良好的性能。
- ➃Efficiency 效率。参数和计算量较少,但需要在准确性上进行权衡。
2-2 Meta Mobile Block
通过对 MobileNetv2 中的 Inverted Residual Block 以及 Transformer 中的核心 MHSA 和 FFN 模块进行抽象,提出了一种统一的 Meta Mobile (M2) Block 对上述结构进行统一的表示,通过采用参数扩展率 λ 和高效算子 F 来实例化不同的模块。
以图像输入 X ( ∈ R C × H × W ) X(∈ R^{C×H×W}) X(∈RC×H×W)为例,MMB首先使用扩展的 M L P e MLP_{e} MLPe来扩展通道维度,输出/输入比例为λ:
然后,中间操作符F进一步增强图像特征,例如恒等操作符、静态卷积、动态MHSA等。考虑到MMB适用于高效的网络设计,我们将F作为高效操作符的概念,表示为:
最后,使用反转的输入/输出比例为λ的收缩 M L P s MLP_{s} MLPs来收缩通道维度:
其中,使用残差连接来获得最终的输出 Y = X + X s ( ∈ R C × H × W ) Y = X + X_{s}(∈ R^{C×H×W}) Y=X+Xs(∈RC×H×W)。
2-3 Micro Design: Inverted Residual Mobile Block
基于Meta Mobile Block,设计了一个反向残差移动块 (iRMB),它吸收了 CNN 架构的效率来建模局部特征和 Transformer 架构动态建模的能力来学习长距离交互。结构如下:
具体实现中,iRMB 中的 F 被建模为级联的 EW-MHSA 和DW-Conv卷积。
2-4 Macro Design of EMO for Dense Prediction
基于上述标准,作者设计了一个由多个 iRMB 模块堆叠而成的类似于 ResNet 的高效模型------EMO,主要体现在以下几个优势:
1)对于整体框架,EMO 仅由 iRMB 组成,没有多样化的模块,这在设计思想上可称得上大道至简;
2)对于特定模块,iRMB 仅由标准卷积和多头自注意力组成,没有其他复杂的运算符。此外,受益于 DW-Conv,iRMB 还可以通过步长适应下采样操作,并且不需要任何位置嵌入来向 MHSA 引入位置偏差;
3)对于网络的变体设置,作者采用逐渐增加的扩展率和通道数,详细配置如下表所示。
3 Experiments