跳到主要内容
起居室老虎
返回

Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition

1,621 字约 6 分钟

原文:arXiv:2211.11943 · Hou et al., TPAMI 2024

摘要: 本文并不试图设计一种在视觉识别方面表现最先进的方法,而是探讨一种更高效的方式来使用卷积以编码空间特征。通过比较最新卷积神经网络(ConvNets)和视觉 Transformers 的设计原则,我们提出利用卷积调制操作来简化自注意力机制。我们证明,这样的简单方法可以更好地利用嵌入在卷积层中的大卷积核(≥7×7)。基于所提出的卷积调制,我们构建了一系列分层的 ConvNet,称为 Conv2Former。我们的网络简单易懂。实验结果表明,Conv2Former 在 ImageNet 分类、COCO 目标检测和 ADE20k 语义分割方面,都优于现有流行的 ConvNet 和视觉 Transformer,比如 Swin Transformer 和 ConvNeXt。

1. Intro

近期,有一项有趣的工作 ConvNeXt 显示,通过对标准 ResNet 进行现代化改造,并采用与 Transformer 类似的设计和训练策略,ConvNets 甚至可以比一些流行的 ViTs 表现更好。

image.png

self-Attention 是通过加权求和所有位置来计算每个像素的输出,本文尝试通过大卷积核的输出和 ”value representations” 做 Hadamard 逐元素乘积来模拟。本文将这种操作称为 ”Convolutional Modulation”。

主要还是想利用 Full Conv Net 来避免图片增大的时候,计算复杂度用 ViT 类模型会变成二次方。

2.1. Convolutional Neural Networks

更新的 ConvNet 工作开始关注大卷核来提升性能,比如 VAN 用 DS Conv + 空洞卷积分解大的 Kernel。

2.2. Vision Transformers

2.3. Other Models

基本就是混合 ViT + Conv 或者在 ConvNet 中间塞 Attention,如 MobileViT 等。

3. Model Design

image.png

3.1. Architecture

Overall architecture

类似 ConvNext/SwinFormer 的结构。

image.png

Stage configuration

1 : 1 : 3/9 : 1,但是可能有微调(见表 1)。文章观察到,小模型(<30M 参数)中深度更大的效果更好,如表 2.

3.2. Convolutional Modulation Block

也包括一个 Self-Attention + FNN 的组合。

Self-attention

输入序列X∈RR×CX\in R^{R\times C}长度为NN,self attention 通过 linear 得到Q,K,V∈RN×CQ, K, V\in R^{N\times C},其中N=H×WN=H\times W。输出是基于相似度得分AA(self attention 中就是softmax(QKTd)\text{softmax}(\frac{QK^T}{\sqrt{d}})) 对VV做加权求和得到的:

Attention(X)=AV\text{Attention}(X)=AV

Convolutional modulation

避免用上面的方式计算得分AA,而是使用一个k×kk\times k的深度可分离卷积、逐元素 Hadamard 乘积构造注意力:

Z=A⊙V,A=DConvk×k(W1X),V=W2X\begin{align*} Z&=A\odot V,\\ A&=\text{DConv}_{k\times k}(W_1X),\\ V&=W_2X \end{align*}

这个操作使得(h,w)(h, w)处的像素能和k×kk\times k周围的像素相关联,然后用 linear 层完成 channel 之间的信息交互。

Advantage

image.png

3.3. Micro Design

Larger kernel then 7×77\times7

ConvNext 中指出,大于7×77\times 7的卷积收益不大反而带来额外开销。但是本文认为,收益不大是因为 ConvNext 采用空间卷积的方法不好。本文使用更大的 kernel 可以21×2121\times 21也能获得收益。综合考虑模型效率,本文默认将卷积核大小设置为11×1111\times 11。

Weighting strategy

我们将深度可分离卷积输出的特征作为权重,去调制线性投影后的特征。值得注意的是,在 Hadamard 乘法之前,我们并未使用任何激活或归一化层(例如 Sigmoid 或 Lp 归一化)。这是获得良好性能的一个关键因素。例如,如果像 SENet 那样在乘法前加一个 Sigmoid,则会使性能下降超过 0.5%。

Normalization and activations

采用 LayerNorm + GELU 可以提点大概 0.1~0.2%。

4. Experiments

4.1. Experiment Setup

Datasets

ImageNet-1k, ImageNet 22k 预训练然后 Image 1k 上 finetune。

Training Settings

我们使用 PyTorch 实现模型训练,并采用 AdamW 优化器,线性缩放学习率:lr=LRbase×(batchsize/1024)\text{lr}=\text{LR}_{\text{base}}\times(\text{batchsize}/1024)。初始学习率LRbase=0.001\text{LR}_{\text{base}}=0.001,权重衰减为5×10−25\times10^{-2},与已有研究的建议一致。在 ImageNet 训练中,我们将图像随机裁剪至224×224224×224,并采用 MixUp、CutMix 等常见数据增强。我们也使用了随机深度(Stochastic Depth)、随机擦除(Random Erasing)、标签平滑(Label Smoothing)、RandAug 以及初始值为1e−61e-6的 Layer Scale。我们总共训练 300 个 epoch。对于 ImageNet-22k 实验,我们首先在此数据集上预训练 90 个 epoch,然后在 ImageNet-1k 上微调 30 个 epoch,策略与 ConvNeXt 相同。

4.2. Comparison with Other Methods

image.png

image.png

模型更小,精度更高。在 ImageNet-22k 上也有比较好的效果,证明 scale up 之后的大模型也有效。

Discussion

image.png

之前的工作用大 kernel 的时候会出现难以优化的问题,但是本文的框架似乎没有这样的问题,不采用重参数化、稀疏化也有比较好的效果。

4.3. Method Analysis

image.png

Kernel Size

fig4 (a),可以看到性能一直在增没有饱和,证明文章提出的这种结构就是能更好利用卷积的;

Harmard product is better than summation

fig4 (b),比 elementwise Sum 效果更好,不管模型的 size 如何;

Weighting strategy

比如在 A 后面加Sigmoid\text{Sigmoid}、做 L1 Norm 等、归一化到(0,1](0, 1]之间等,效果都不如现在这种做法。

image.png

这个结论和传统 Attention 中喜欢用 sigmoid 把权重变成正数的处理方法不一样。

4.4. Results on Isotropic Model to ViTs

image.png

改成 ViT 风格,只有一个 embedding 层然后多堆 Transformer 块。

对于约 22M 参数的小模型,Conv2Former-IS 比 DeiT-S 和 ConvNeXt-IS 高出约 1.5 个百分点;当模型规模增加到 80M + 时,我们的 Conv2Former-IB 取得 82.7% 的 Top-1 精度,相比 ConvNeXt-IB 和 DeiT-B 分别高出 0.7% 和 0.9%。此外,若在 patch embedding 中使用三层卷积,还能进一步提升效果。

4.5. Results on Downstream Tasks

image.png

image.png

COCO 和 ADE20k.

5. Conclusions and Discussions

本文提出了 Conv2Former,一种新的基于卷积的网络结构。其核心是卷积调制 操作,它通过简单的卷积和 Hadamard 乘积来简化自注意力机制。我们展示了,这种卷积调制操作在使用大卷积核(≥7×7\ge 7\times 7)时更为高效。我们在 ImageNet 分类、目标检测和语义分割等任务上的实验也证明,Conv2Former 优于现有的 CNN 模型以及大多数 Transformer 模型。

Discussion

最新的视觉识别模型通常在低层特征编码时强依赖卷积。我们相信,CNN 在视觉识别方面仍有很大的提升空间。例如,如何更高效地利用大卷积核(≥7×7\ge 7\times 7),如何在固定大小卷积核的前提下更有效地捕获大感受野,以及如何更好地将轻量级注意力机制引入 CNN,都值得深入研究。

Limitations

本文主要研究如何更好地利用大卷积核来构建 CNN,我们只关注了 CNN 模型的设计。如何将本文提出的卷积调制块与 Transformers 相结合,是未来值得探讨的方向。

又一篇用 DS Conv + 模块设计的文章,DS Convolution 可能是非 Softmax 的 SNN Attention 有力 candidate?