Skip to content

Conv2Former: A Simple Transformer-Style ConvNet for Visual Recognition

Updated: at 14:57

摘要: 本文并不试图设计一种在视觉识别方面表现最先进的方法,而是探讨一种更高效的方式来使用卷积以编码空间特征。通过比较最新卷积神经网络(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. Related Work

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

输入序列XRR×CX\in R^{R\times C}长度为NN,self attention通过linear得到Q,K,VRN×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=AV,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×1025\times10^{-2},与已有研究的建议一致。在ImageNet训练中,我们将图像随机裁剪至224×224224×224,并采用MixUp、CutMix等常见数据增强。我们也使用了随机深度(Stochastic Depth)、随机擦除(Random Erasing)、标签平滑(Label Smoothing)、RandAug以及初始值为1e61e-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?


Previous Post
初探AI Infra
Next Post
SpikeCV: Open a Continuous Computer Vision Era