深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现

深度学习论文: 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


相关推荐
袁俪3 分钟前
数字孪生协同
人工智能
海拥✘8 分钟前
让 AI 修 AI 平台自己的 Bug:我用 SoduWork 给 SoduWork 提了一个 PR
人工智能·bug
挖掘狂人11 分钟前
AI 把代码写得飞快,然后呢?聊聊我验收生成代码的一套流程
人工智能·程序员·ai编程
汤姆宝库12 分钟前
推理服务器的调度器:连续批处理与请求生命周期
人工智能
Rocky Ding*38 分钟前
【三年面试五年模拟】2026-11-05_月之暗面大模型算法岗一面、二面面经全解析
论文阅读·人工智能·深度学习·机器学习·aigc·强化学习·ai-native
Mirawork43 分钟前
Mirawork v0.32.0 更新体验:会话引用、任务分享与音频转写怎么用
人工智能·音视频
lucas_AI1 小时前
模型一升级缓存全作废?DeepSeek 实测:KV Cache 跨版本直接复用,首 token 快 5 倍
人工智能
在所不辞兄1 小时前
【人工智能驱动的电催化研究-05】条件、循环与数据检查
人工智能·深度学习·神经网络·机器学习·有限元·电化学·电催化
IT_陈寒1 小时前
JavaScript项目实战经验分享:从内存泄漏到性能优化的血泪史
前端·人工智能·后端
小oo呆3 小时前
【自然语言处理与大模型】如何编写优质的Skill?
人工智能