MetaFormer Is Actually What You Need for Vision(2022.7.4-v3)
链接: paper
code
一、Introduction
Transformer在CV任务中表现卓越1。
Transformer encoder由两个组件组成:一个在tokens间混合信息的注意力模块token mixer;另一个包含剩余模块,例如通道MLPs和残差连接。通过将注意力模块视为特殊的token mixer,将Transformer抽象为一个通用架构MetaFormer,如下图所示。
Transformer的成功一直归功于基于token mixer的注意力2,已有许多关于注意力模块变体3的工作。用空间MLP完全取代了注意力模块4,并发现导出的类MLP模型可以在图像分类基准上获得有竞争力的性能。后续工作5通过数据高效训练和特定的MLP模块设计,进一步缩小了与ViT的性能差距。又探索MetaFormer架构中其他类型的token mixers6,如用傅里叶变换代替注意力7。
使用non-parametric的pooling,只进行基本的token mixing。PoolFormer优于经调整的Transformer和MLP-like模型,包括DeiT[53]和ResMLP8,如下图所示。PoolFormer-M36在ImageNet-1K上top-1 acc达82.1%。证明MetaFormer架构是核心。
二、 Method
Pool Former总框架:
不同PoolFormer模型配置:
三、Experiments
1.Image classification
Settings:
- 常规ImageNet-1K训练,主要遵循9。epochs(300),batch size(4096),learning rate( 4 e − 3 4e^{−3} 4e−3;峰值 1 e − 3 ⋅ b a t c h s i z e 1024 \frac{1e^{−3}·batchsize}{1024} 10241e−3⋅batchsize),weight decay(0.05),optimizer(AdamW),scheduler(cosine decay),warm up(5)。数据增强:MixUp10、CutMix11、CutOut12和RandAugment13。Label Smoothing14设0.1。Stochastic depth15和LayerScale16取代Dropout进行模型训练。修改了层归一化17,计算沿token和通道维度的平均值和方差,而在普通层归一化中仅计算通道维度。通过将PyTorch中GroupNorm API的group指定为1,即修改后的层归一化(Modified Layer Normalization,MLN)。PoolFormeras首选MLN(见消融实验)。代码实现基于Timm代码库18,在TPU上进行实验。(更多超参数信息见附录)
RSB-ResNet表示结果来自“ResNet Strikes Back”19,ResNet20通过改进的训练程序训练300 epochs。*表示用21中的额外正则化训练的ViT的结果。PoolFormer的MACs(计算量)由fvcore22库统计。
2.Object detection and instance segmentation
Settings:
- 在RetinaNet23和Mask R-CNN24上替换backbone进行实验。epochs(1×training schedule23 24,即12),batch size(16),learning rate( 1 × 1 0 − 4 1×10^{−4} 1×10−4),optimizer(AdamW)。ImageNet预训练的权重初始化主干,Xavier25初始化添加的层。输入resize,短边800像素、长边不超过1333像素。测试中图像的短边也resize为800像素。实现基于mdetection26代码库,在8个NVIDIA A100 GPU上实验。
3.Semantic segmentation
Settings:
- 在Semantic FPN27上替换backbone进行实验。ImageNet预训练的权重初始化主干,Xavier25初始化添加的层。常规28以batch size为16训练80K iterations。为加快训练速度,实验在batch size为32下进行40K iterations。optimizer(AdamW),learning rate( 2 × 1 0 − 4 2×10^{−4} 2×10−4),scheduler(polynomial decay(0.9))。图像经resize、cropp成512×512,并在测试中将短边resize为512。实现基于mmsegmentation29代码库,在8个NVIDIA A100 GPU上实验。
4.Ablation studies on ImageNet-1K(消融实验)
- Token mixers:可针对性设计。深度卷积30优于池化,其有可学习的空间模型参数,即具更好的局部空间建模能力。
- Other components:残差连接31和通道MLP32是必要的。
- Hybrid stages:可混合使用提高精度。在基于池化、注意力和空间MLP的token mixers中,基于池化的token mixer可以处理更长的输入序列,而注意力和空间MLP擅长捕捉全局信息。故将具有注意力或空间FC的token mixer pooling重新置于PoolFormer的前一两个阶段中,即在底部阶段堆叠具有池化的MetaFormer来处理长序列,在顶部阶段使用基于注意力或空间MLP的mixer。
注:FC,将Transformers中的注意力抽象为一个token mixer,根据8,只使用一个空间全连接层作为token mixer。
注:*为token mixer使用全局随机矩阵(参数在随机初始化后冻结)。†为MLN。MACs由fvcore22库计算。
ps:下为论文内文献索引,供拓展使用。
paper[36, 53, 63] ↩︎
paper[56] ↩︎
paper[13,22,57,68] ↩︎
paper[51] ↩︎
paper[26,35,52] ↩︎
paper[32,39,40,45] ↩︎
paper[32] ↩︎
paper[53,54] ↩︎
paper[65] ↩︎
paper[64] ↩︎
paper[66] ↩︎
paper[11] ↩︎
paper[50] ↩︎
paper[27] ↩︎
paper[54] ↩︎
paper[1] ↩︎
paper[58] ↩︎
paper[59] ↩︎
paper[24] ↩︎
Mlp-mixer: An all-mlp architecture for vision.arXivpreprint arXiv:2105.01601, 2021. ↩︎
paperavier Glorot and Yoshua Bengio. Understanding the diffi-culty of training deep feedforward neural networks. InPro-ceedings of the thirteenth international conference on artifi-cial intelligence and statistics, pages 249–256. JMLR Work-shop and Conference Proceedings, 2010 ↩︎ ↩︎
paper[4] ↩︎
paper[30] ↩︎
paper[5,30] ↩︎
paper[10] ↩︎
paper[9,38] ↩︎
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.Deep residual learning for image recognition. InProceed-ings of the IEEE conference on computer vision and patternrecognition, pages 770–778, 2016 ↩︎
paper[46,47] ↩︎