AI学习者 · 2022年10月11日 · 广东

超简单高效方法 | 谷歌提出MOAT Backbone,base+tiny版本实现全方位超越

image.png

本文介绍了MOAT,一个建立在 Mobile Convolution(即inverted residual blocks)和注意力之上的神经网络家族。与当前将 Mobile ConvolutionTransformer Block 分开堆叠的工作不同,作者将二者有效地合并到MOAT Block中。

从一个标准的 Transformer Block 开始,用一个 Mobile Convolution Block 替换多层感知器,并在自注意力操作之前对其进行重新排序。Mobile Convolution Block 不仅增强了网络表示能力,还产生了更好的下采样特征。

概念上MOAT网络非常简单有效,通过ImageNet-22K预处理,在ImageNet-1K上达到89.1%的top-1精度。此外,通过简单地将全局注意力转换为窗口注意力,MOAT可以无缝应用于需要大分辨率输入的下游任务。由于 Mobile Convolution 可以有效地在像素之间交换局部信息(从而跨窗口),MOAT不需要额外的窗口移动机制。因此,在COCO目标检测中,MOAT使用227M模型参数(单尺度推理和硬NMS)获得59.2%的APbox,在ADE20K语义分割中,MOAT使用496M模型参数获得57.6%的 mIoU(单尺度推断)。最后,通过简单地减小通道大小而获得的tiny-MOAT系列也出人意料地优于ImageNet上的几个基于 Mobile 特定 Transformer 的模型。

1、简介

视觉社区见证了自注意力和 Transformer 的盛行。Transformer 在自然语言处理方面的成功推动了其视觉识别变体的创建。视觉 TransformerViT)具有很强的全局感受野表示能力。然而,它需要对大型专有数据集进行预处理。当用少量图像进行训练时,它的表现令人不满意,需要更好的训练配置或架构设计。

另一方面,自2012年AlexNet问世以来,ConvNet一直是主要的网络选择。视觉研究人员将多年的网络设计经验浓缩为多种原则,并开始将其纳入视觉 Transformer 。例如,有一些工作采用ConvNet的层次结构来提取视觉 Transformer 的多尺度特征,还有一些工作建议将卷积的平移等方差集成到 Transformer 中。

在结合TransformersConvNets的最佳功能的同一方向上,CoAtNetMobileViT通过叠加Mobile Convolution BlockMBConv)(即inverted residual blocks)和 Transformer Block (即自注意力层和多层感知器(MLP))展示了出色的性能。然而,这两项工作都侧重于宏观层面的网络设计。将MBConvTransformer block视为单独的Block,并系统地研究它们的堆叠效果,以便在MBConv的显著效率和Transformor的强大容量之间取得更好的平衡。

相反,在这项工作中,通过深入研究MBConvTransformer Block 的组合来研究微观层次的构建块设计。在仔细检查这些区块后,进行了两项关键观察。

首先, Transformer Block 中的MLP模块类似于MBConv,因为两者都采用反向瓶颈设计。然而,MBConv是一种更强大的操作,它使用了一个额外的3×3深度卷积(用于编码像素之间的局部交互),卷积之间使用了更多的激活和归一化。

其次,要使用 Transformer Block 提取多尺度特征,可以将平均池(stride为2)应用于自注意力层之前的输入特征。然而,池化操作降低了自注意力的表示能力。

观察结果促使提出了一种新的带ATtentionMObile卷积MOAT)块,它有效地结合了MBConvTransformer Block 。建议的MOAT块修改 Transformer Block ,首先用MBConv Block替换其MLP,然后颠倒自注意力和MBConv Block的顺序。用MBConv Block替换MLP为网络带来了更大的表示能力,颠倒顺序(MBConv Block在自注意力之前)将下采样职责委托给MBConv Block的stride深度卷积,从而学习更好的下采样。

通过堆叠和增加网络块的通道,进一步开发了一系列MOAT模型。令人惊讶的是,极其简单的设计产生了显著的影响。在具有挑战性的ImageNet-1K分类基准上,MOAT模型(190M参数)在没有额外数据的情况下达到了86.7%的top-1精度。当在ImageNet-22K上进行进一步预处理时,最佳模型(483M参数)达到89.1%的top-1精度,创造了新的一流水平。

此外,通过简单地将全局注意力转换为非重叠的局部窗口注意力,MOAT可以无缝部署到需要大分辨率输入的下游任务。由于MBConv可以有效地在像素之间交换局部信息(支持跨窗口传播),MOAT不需要额外的窗口移动机制。因此,在COCO目标检测和ADE20K语义分割方面,MOAT表现出了优异的性能。具体而言,在COCO目标检测方面,最佳模型(227M参数)通过单尺度推理和Hard-NMS实现了59.2%的,在使用casde mask R-CNN的模型大小200M的范围内创造了新的技术水平。在ADE20K语义分割方面,采用DeepLabv3+的最佳模型(496M参数)通过单尺度推理获得57.6%的mIoU,也在使用输入大小641×641的模型体系中创造了新的技术水平。

最后,为了探索MOAT模型的可扩展性只需通过减小通道大小(无任何其他变化)来缩小模型规模,从而形成了tiny-MOAT系列,其性能也出人意料地优于基于移动特定Transformer的模型,如mobile FormerMobileViT。具体来说,在模型参数5M、10M和20M的情况下,tiny-MOATImageNet-1K分类基准上的top-1精确度分别比并发MobileViTv2高1.1%、1.3%和2.0%。

总之,本文方法提倡简单的设计原则。在不发明额外复杂操作的情况下,提出的MOAT block通过仔细的重新设计,有效地将Mobile Convolution Block 和自注意力的优势融合到一个Block中。尽管概念简单,但在多个核心视觉识别任务上取得了令人印象深刻的结果。

2、本文方法

在此,在引入提议的MOAT block之前,回顾一下 Mobile Convolution BlockTransformer Block 。然后作者提出了MOAT,一个神经网络家族,针对准确性和模型复杂性之间的不同权衡。

2.1、Mobile Convolution和Transformer Block

image.png

1、MBConv block

Mobile Convolution 也称为inverted residual blocksMobile ConvolutionMBConv)块(图1(a))是一种有效的构建块,已广泛用于移动模型或高效模型中。与ResNet中的bottleneck block不同,MBConv block采用了“inverted bottleneck”的设计,以及高效的深度卷积。

image.png

具体来说,首先应用1×1卷积将输入通道扩展4倍。然后,使用3×3深度卷积有效捕获像素之间的局部空间相互作用。最后,通过1×1卷积将特征投影回原始通道大小,从而实现残差连接。

MobileNetV3之后,还可以在深度卷积之后使用可选的SE模块(使用全局信息重新加权通道激活)。请注意,可以调整通道扩展比和深度卷积kernel大小以获得更好的性能。为了简单起见,在整个实验中都对它们进行了修正。

image.png

2、Transformer Block

Transformer Block(图1(b))是一个强大的构建块,它通过依赖数据的自注意力操作有效地捕获全局信息。

image.png

它由两个主要操作组成:自注意力和MLP。自注意力操作基于输入张量中每对像素之间的成对相似性计算注意图,从而使模型的感受野能够覆盖整个空间域。此外,注意力图动态地依赖于输入,扩大了模型的表示能力(不像卷积核,它与数据无关)。MLP操作包含2个1×1卷积,其中第1个卷积扩展通道(4×),第二个卷积缩小通道,并且在两者之间使用GeLU。

image.png

其中LNAttn表示层规范化和自注意力。自注意力操作还包括一个残差连接,为了简单起见,该连接未在方程式中显示,而MLP操作由2个函数M1和M2表示,分别对应于通道扩展的1×1卷积(4×)和通道投影的1×l卷积

2.2、Mobile Convolution with Attention (MOAT) Block

1、对比 MBConv block 与 Transformer Block

在进入MOAT block的体系结构之前,有必要比较MBConvTransformer Block,这有助于理解作者的设计动机。具体而言,提出以下关键意见。

  • 首先,MBConvTransformer Block都支持“inverted bottleneck”设计,其中输入张量的通道被扩展,然后由1×1卷积投影。然而,MBConv在这两个1×1卷积之间额外使用了3×3深度卷积,卷积之间既有批量归一化,也有GeLU激活。
  • 其次,为了捕获全局信息,MBConv块可以使用 SE 模块,而Transformer Block则采用自注意力操作。请注意,SE 模块通过全局平均池化压缩空间信息,而自注意力模块保持张量的空间分辨率。
  • 第三,在块内的不同位置执行下采样操作。为了向下采样特征,标准MBConv块使用stride深度卷积,而部署在现代混合模型CoAtNet中的Transformer Block在自注意力之前采用平均池化操作。

2、MOAT block

鉴于上述观察结果作者设计一个 Block,有效地合并MBConvTransformer Block中的最佳 Block。从强大的Transformer Block开始,并逐步完善它。

根据第一次观察,MBConvTransformer模块均采用“inverted bottleneck”设计。由于深度卷积可以有效地编码像素之间的局部交互,这对于在ConvNets中建模平移等方差至关重要,因此开始将深度卷积添加到TransformerMLP模块。然而,在在卷积之间添加额外的规范化和激活之前,没有观察到任何性能改进。

对于第二个观察结果,只是没有将SE模块添加到MBConv块中。保持自注意力操作以捕获全局信息。作者发现第三个观察结果很关键。Transformer Block中自注意力操作之前的降采样操作(平均池化)略微降低了其表示能力。另一方面,MBConv块经过精心设计,可用于stride深度卷积的下采样操作,有效学习每个输入通道的下采样卷积核。因此,在自注意力操作之前进一步对“inverted bottleneck”(包含深度卷积)重新排序,将下采样操作委托给深度卷积。

这样就不需要额外的下采样层,比如CoAtNet中的平均池化,或者SwinConvNeXt中的Patch嵌入层。

image.png

最后,它产生了 MObile 卷积与ATtentionMOAT)块,如图1(c)所示。

image.png

其中,MBConv(w/o SE)包含函数N1、D和N2,Attn表示自注意力操作。然后,MOAT Block仅由MBConv(w/o SE)和自注意力操作组成,成功地将MBConv块和Transformer块中的最佳组合成一个)。

2.3、元体系结构

1、宏观网络设计

在开发MOAT Block之后,将研究如何有效地将它们堆叠起来,以形成基本模型。作者采用与现有工程相同的策略。具体来说,总结了这些工作中的几个关键发现,并将其用作元体系结构的设计原则。

  • 在早期阶段使用卷积可以提高Transformer模型的性能和训练收敛性。
  • MBConv 模块也是混合卷积Transformer模型中的有效构建模块。
  • 提取多尺度主干特征有利于下游任务,如检测和分割。

因此,元体系结构由卷积干、MBConv块和MOAT块组成。此外,通过附录中的消融研究发现CoAtNet-1提出的层布局有效。因此,遵循CoAtNet-1的层布局,从而得到了基本模型MOAT-1

image.png

为了形成MOAT模型族,在块数和通道数的维度上缩小或增大MOAT-1,如表1所示。只在第3和第4阶段(5个阶段中)缩放块数。下采样操作在每个阶段的第1个块中执行。

请注意,基本模型MOAT-1CoAtNet-1共享相同的层布局和通道大小。然而,作者采取了一种不同的缩放策略:MOAT通过交替增加深度和扩展变体之间的宽度来放大(或缩小)

3、实验

3.1、图像分类

image.png

3.2、目标检测

image.png

3.3、语义分割

image.png

3.4、轻量化模型对比

image.png

作者: ChaucerG
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注 嵌入式AI 专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
17816
内容数
1242
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息