本文介绍了
MOAT,
一个建立在Mobile Convolution
(即inverted residual blocks
)和注意力之上的神经网络家族。与当前将Mobile Convolution
和Transformer 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
在自然语言处理方面的成功推动了其视觉识别变体的创建。视觉 Transformer
(ViT
)具有很强的全局感受野表示能力。然而,它需要对大型专有数据集进行预处理。当用少量图像进行训练时,它的表现令人不满意,需要更好的训练配置或架构设计。
另一方面,自2012年AlexNet
问世以来,ConvNet
一直是主要的网络选择。视觉研究人员将多年的网络设计经验浓缩为多种原则,并开始将其纳入视觉 Transformer
。例如,有一些工作采用ConvNet
的层次结构来提取视觉 Transformer
的多尺度特征,还有一些工作建议将卷积的平移等方差集成到 Transformer
中。
在结合Transformers
和ConvNets
的最佳功能的同一方向上,CoAtNet
和MobileViT
通过叠加Mobile Convolution Block
(MBConv
)(即inverted residual blocks
)和 Transformer Block
(即自注意力层和多层感知器(MLP))展示了出色的性能。然而,这两项工作都侧重于宏观层面的网络设计。将MBConv
和Transformer block
视为单独的Block
,并系统地研究它们的堆叠效果,以便在MBConv
的显著效率和Transformor
的强大容量之间取得更好的平衡。
相反,在这项工作中,通过深入研究MBConv
和 Transformer Block
的组合来研究微观层次的构建块设计。在仔细检查这些区块后,进行了两项关键观察。
首先, Transformer Block
中的MLP
模块类似于MBConv
,因为两者都采用反向瓶颈设计。然而,MBConv
是一种更强大的操作,它使用了一个额外的3×3深度卷积(用于编码像素之间的局部交互),卷积之间使用了更多的激活和归一化。
其次,要使用 Transformer Block
提取多尺度特征,可以将平均池(stride
为2)应用于自注意力层之前的输入特征。然而,池化操作降低了自注意力的表示能力。
观察结果促使提出了一种新的带ATtention
的MObile卷积
(MOAT
)块,它有效地结合了MBConv
和 Transformer 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 Former
和MobileViT
。具体来说,在模型参数5M、10M和20M的情况下,tiny-MOAT
在ImageNet-1K
分类基准上的top-1
精确度分别比并发MobileViTv2
高1.1%、1.3%和2.0%。
总之,本文方法提倡简单的设计原则。在不发明额外复杂操作的情况下,提出的MOAT block
通过仔细的重新设计,有效地将Mobile Convolution Block
和自注意力的优势融合到一个Block
中。尽管概念简单,但在多个核心视觉识别任务上取得了令人印象深刻的结果。
2、本文方法
在此,在引入提议的MOAT block
之前,回顾一下 Mobile Convolution Block
和 Transformer Block
。然后作者提出了MOAT
,一个神经网络家族,针对准确性和模型复杂性之间的不同权衡。
2.1、Mobile Convolution和Transformer Block
1、MBConv block
Mobile Convolution
也称为inverted residual blocks
,Mobile Convolution
(MBConv
)块(图1(a))是一种有效的构建块,已广泛用于移动模型或高效模型中。与ResNet
中的bottleneck block
不同,MBConv block
采用了“inverted bottleneck”的设计,以及高效的深度卷积。
具体来说,首先应用1×1卷积将输入通道扩展4倍。然后,使用3×3深度卷积有效捕获像素之间的局部空间相互作用。最后,通过1×1卷积将特征投影回原始通道大小,从而实现残差连接。
在MobileNetV3
之后,还可以在深度卷积之后使用可选的SE
模块(使用全局信息重新加权通道激活)。请注意,可以调整通道扩展比和深度卷积kernel
大小以获得更好的性能。为了简单起见,在整个实验中都对它们进行了修正。
形式上,给定一个输入张量(H、W、C是它的高度、宽度和通道),MBConv block
表示如下:
其中,BN
、GeLU
、GAP
和MLP
分别表示批次归一化、高斯误差线性单位、全局平均池化和多层感知器。MBConv block
由4个主要函数组成:N1、D、S和N2,分别对应于用于通道扩展的1×1卷积(4×)、3×3深度卷积、SE(σ是sigmoid函数)和用于通道投影的1×1卷积(4×)。
2、Transformer Block
Transformer Block
(图1(b))是一个强大的构建块,它通过依赖数据的自注意力操作有效地捕获全局信息。
它由两个主要操作组成:自注意力和MLP。自注意力操作基于输入张量中每对像素之间的成对相似性计算注意图,从而使模型的感受野能够覆盖整个空间域。此外,注意力图动态地依赖于输入,扩大了模型的表示能力(不像卷积核,它与数据无关)。MLP操作包含2个1×1卷积,其中第1个卷积扩展通道(4×),第二个卷积缩小通道,并且在两者之间使用GeLU。
形式上,给定输入张量,Transformer Block
表示如下:
其中LN
和Attn
表示层规范化和自注意力。自注意力操作还包括一个残差连接,为了简单起见,该连接未在方程式中显示,而MLP
操作由2个函数M1和M2表示,分别对应于通道扩展的1×1卷积(4×)和通道投影的1×l卷积
2.2、Mobile Convolution with Attention (MOAT) Block
1、对比 MBConv block 与 Transformer Block
在进入MOAT block
的体系结构之前,有必要比较MBConv
和Transformer Block
,这有助于理解作者的设计动机。具体而言,提出以下关键意见。
- 首先,
MBConv
和Transformer 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
,有效地合并MBConv
和Transformer Block
中的最佳 Block
。从强大的Transformer Block
开始,并逐步完善它。
根据第一次观察,MBConv
和Transformer模块
均采用“inverted bottleneck”设计。由于深度卷积可以有效地编码像素之间的局部交互,这对于在ConvNets
中建模平移等方差至关重要,因此开始将深度卷积添加到Transformer
的MLP
模块。然而,在在卷积之间添加额外的规范化和激活之前,没有观察到任何性能改进。
对于第二个观察结果,只是没有将SE
模块添加到MBConv块
中。保持自注意力操作以捕获全局信息。作者发现第三个观察结果很关键。Transformer Block
中自注意力操作之前的降采样操作(平均池化)略微降低了其表示能力。另一方面,MBConv块
经过精心设计,可用于stride
深度卷积的下采样操作,有效学习每个输入通道的下采样卷积核。因此,在自注意力操作之前进一步对“inverted bottleneck”(包含深度卷积)重新排序,将下采样操作委托给深度卷积。
这样就不需要额外的下采样层,比如CoAtNet
中的平均池化,或者Swin
和ConvNeXt
中的Patch
嵌入层。
最后,它产生了 MObile
卷积与ATtention
(MOAT
)块,如图1(c)所示。
形式上,给定输入张量,MOAT block
表示如下:
其中,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
。
为了形成MOAT
模型族,在块数和通道数的维度上缩小或增大MOAT-1
,如表1所示。只在第3和第4阶段(5个阶段中)缩放块数。下采样操作在每个阶段的第1个块中执行。
请注意,基本模型MOAT-1
和CoAtNet-1
共享相同的层布局和通道大小。然而,作者采取了一种不同的缩放策略:MOAT
通过交替增加深度和扩展变体之间的宽度来放大(或缩小)