深度学习论文: MOAT: Alternating Mobile Convolution and Attention Brings Strong Vision Models及其PyTorch实现
MOAT: Alternating Mobile Convolution and Attention Brings Strong Vision Models
PDF: https://arxiv.org/pdf/2210.01820.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
MOAT 分析了MBConv和Transformer Block 的优缺点,将二者有效地合并到MOAT Block中。此外,通过简单地将全局注意力转换为窗口注意力,MOAT可以无缝应用于需要大分辨率输入的下游任务。由于 Mobile Convolution 可以有效地在像素之间交换局部信息(从而跨窗口),MOAT不需要额外的窗口移动机制。
2 MOAT
Mobile Convolution vs. Transformer Block vs. MBConv block
MBConv block 可以表示为
Transformer block可以表示为
对比 MBConv block 与 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在自注意力之前采用平均池化操作。
融合MBConv block和Transformer block, MOAT block可以表示为
MOAT variants
3 Experiment
ImageNet Image Classification
COCO Detection
ADE20K Semantic Segmentation