• 深度学习论文: 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}) XRC×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+XsRC×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

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【python】如何注释
    Pycharm连接远程服务器
    FreeRTOS_低功耗Tickless模式
    华为云API自然语言处理的魅力—AI情感分析、文本分析
    Docker学习笔记
    数据库-事务篇
    Springboot中slf4j日志的简单应用
    在ts中val is Map是什么意思呢?
    OpenCV入门2——图像视频的加载与展示一些API
    Python语言学习:Python语言学习之列表/元祖/字典/集合的简介、案例应用之详细攻略
  • 原文地址:https://blog.csdn.net/shanglianlm/article/details/132736429