赞
踩
Vision Transformer是当前最先进的图像分类模型,但普通ViT在应用于一般计算机视觉任务(如目标检测和语义分割)时面临困难。故后来的分层Vision Transformer(如Swin Transformer)通过引入了几种卷积网络先验,使Transformer作为通用视觉骨干实际上可行,并在各种视觉任务上表现出卓越的性能。 然而,这种混合方法的有效性在很大程度上仍然归功于Transformer的内在优越性,而不是卷积的内在归纳偏差。
本文重新审视了设计空间,并测试了纯卷积网络所能达到的极限,通过研究ConvNets和Transformer的架构区别,来找到卷积网络和ViT性能差异的关键变量。旨在弥合ConvNets和vit之间的差距,并测试纯ConvNet可以实现的极限。具体有:
上图为ConvNeXts与ViT等在ImageNet-1K分类任务的性能对比,气泡大小正比于模型的GFLOPs。
本节提供从ResNet转为ConvNeXt的轨迹,考虑两种模型大小的GFLOPs,一种是ResNet-50/Swin-T,GFLOPs约为 4.5 × 1 0 9 4.5×10^9 4.5×109,另一种是ResNet-200/Swin-B模型,GFLOPs约为 15.0 × 1 0 9 15.0×10^9 15.0×109。
从一个ResNet-50模型,首先用用于训练ViT的类似训练技术来训练它,在获得了比原始ResNet-50有很大改善的结果后,以此为基线。然后研究了一系列设计策略,包括:macro design、ResNeXt、inverted bottleneck、large kernel size、various layer-wise micro designs。
上图为从ResNet到ConvNeXt每一步所能实现的过程和结果。由于网络复杂度与最终性能密切相关,在探索过程中,GFLOPs大致被控制。所有模型都在ImageNet-1K上进行训练和评估。
本文使用了类似DeiT和Swin Transformer的训练方法训练ResNets。故ResNets的训练从最初的90个epoch扩展到300个epoch。以及使用AdamW优化器,数据增强技术,如Mixup、Cutmix、RandAugment、Random Erasing和正则化方案,包括Stochastic Depth和Label Smoothing。
这种增强的训练方法将ResNet-50的性能从76.1% 提高到78.8%(+2.7%),意味着传统卷积网络和Vision Transformer之间的性能差异很大一部分可能是由于训练方法。
在之后的所有改进中,将基于此固定训练方法。报告的所有ResNet-50的精度都为由三个不同的随机种子训练的模型的精度的平均值。
Swin Transformer遵循ConvNets使用多阶段结构,其中每个阶段具有不同的Feature Map分辨率。故考虑两个设计因素:每个阶段的计算占比(Stage Ratio)和Patchify Stem结构。
Swin-Transformer的骨干网络被分成了4个不同的Stage,每个Stage又是由若干个Block组成,Swin-T的Block的比例是(1,1,3,1),而对于更大的模型来说,这个比例是(1,1,9,1)。本文将ResNet-50的每个阶段的Block数从(3,4,6,3)调整到(3,3,9,3),以对齐Swin-T的GFLOPs。基于此,模型精度从78.8%提高到79.4%。
后续的改进也将基于这个stage compute ratio。
由于自然图像中固有的信息冗余,卷积网络和Vision Transformer都会对输入图像进行降采样。标准ResNet中使用一个步幅为2的7 × 7卷积层及max池化的stem cell,对输入图像的4×下采样。Vision Transformer中则使用patchify策略,对应较大核尺寸的(14或16)非重叠卷积。Swin Transformer使用类似的patchify层,但其patch大小为4,以适应架构的多阶段设计。
为了对齐Vision Transformer,本文将resnet的stem cell替换为由卷积核尺寸4 × 4,stride为4卷积层实现的patchify层。基于此,准确率从79.4%提高到79.5%。
后续改进也将基于这个4×4卷积的patchify stem。
ResNeXt因为使用了分组卷积(卷积滤波器被分成不同的组),因而比普通ResNet具有更好的GFLOPs/accuracy权衡。由于bottleneck block中的3 ×3卷积层全部采用分组卷积,显著减少了GFLOPs,因此可以通过扩展网络宽度来补偿容量损失。
故本文的bottleneck block使用分组卷积的特殊情况深度卷积(组的数量等于通道的数量),其先将3 ×3卷积以通道为单位进行运算(深度卷积),然后再通过1×1卷积进行通道融合(点卷积)。3 ×3的深度卷积和1×1的点卷积导致了分离的空间混合和通道混合,这对齐了Vision Transformer的特性。
基于此,ConvNeXt的GFLOPs从4.4降到了2.4,但其准确率从79.5%降到了78.3%。故根据ResNeXt中提出的策略,本文将网络宽度增加到与Swin-T相同的信道数量(从64增加到96),对应GFLOPs增加到5.3,网络性能达到80.5%。
后续改进也将基于ResNeXt-ify。
Transformer的一个重要设计是其为中间维度小,两头维度大逆瓶颈层的架构(上图(b)),Self-Attention的维度是512,而MLP的维度是2048。逆瓶颈层由MobileNetv2普及,并在后续的卷积改进模型中相继被证明有效。
本文的ConvNeXt也使用了逆瓶颈层的结构,虽然这导致深度卷积层的GFLOPs增加,但由于下采样残差块的1×1卷积层的GFLOPs显著减少,整个网络GFLOPs减少到4.6,而性能从80.5%提高到80.6%。
后续改进也将基于逆瓶颈层。
Vision Transformer最独特的特性为其具有全局感受野,故本文重新审视卷积网络中大核卷积的使用。
要探索大型内核,首先对齐Transformer。因为Transformer的MSA块放置在MLP层之前,故本文将深度卷积层的位置进行了上移,如上图(b)到(c)。这一中间步骤将GFLOPs减少到4.1,导致性能暂时下降到79.9%。
基于上述,本文实验了几种内核大小,包括3、5、7、9和11。对应的网络性能也从79.9%(3× 3)提高至80.6%(7×7),GFLOPs增加至4.2。
此外,大核卷积的尺寸在7×7处达到饱和点,故ConvNeXt将使用核尺寸为7×7的深度卷积(上图右)。
本节在微观尺度上进一步研究其它的架构差异,重点为激活函数和规一化层的选择。
在原始的Transformer中,ReLU也被用作激活函数。而在后续的改进工作如BERT、GPT2中采用GELU作激活函数。为了对齐上述改进,本文也用GELU代替原始ResNet的ReLU,尽管使用GELU后的精度依旧为80.6%。
一个Transformer块中,只有MLP块中使用了一个激活函数,而ResNet块的每个卷积层都会加一个激活函数。故本文也采用相同策略,只在ConvNeXt块的两个1×1卷积中间加一个GELU(上图右)。该方法将结果提升了0.7%至81.3%,与Swin-T的性能相当。
后续改进的每个ConvNeXt块中都使用单个GELU激活。
Transformer块通常也具有较少的规一化,故本文删除了原始ResNet块的两个BatchNorm(BN)层,只在conv 1×1层之前留下一个BN层(上图右)。这进一步将性能提高到81.4%,超过了Swin-T的结果。
BatchNorm是ConvNets中的一个重要组件,因为其提高了收敛性并减少了过拟合。然而,BN可能会对模型的性能产生不利影响。而Transformer中使用了更简单的层归一化(LN),从而在不同的应用场景中具有良好的性能。 故本文在原始ResNet中用LN代替BN(上图右),这将性能提高至81.5%。
后续改进将在每个残差块中使用一个LayerNorm作为规一化选择。
在残差网络中,通常使用的是步长为2的3×3卷积或1×1卷积来进行下采样。而Swin Transformer将下采样层从其它运算中剥离开来,即使用一个步长为2的2×2卷积插入到不同的Stage之间。ConvNeXt也是采用了这个策略,并在下采样层前后各加入了一个LN,以及在最终的全局均值池化之后也加入了一个LN,这些归一化可以保持模型训练的稳定性。这将模型的准确率提升至82.0%,明显超越了过Swin-T的81.3%。
基于上述一系列改进,最终得到了一个纯卷积网络的ConvNeXt系列模型。
本文构造了ConvNeXt几种不同变体ConvNeXt-T/S/B/L,其复杂性与Swin-T/S/B/L相似,以及一个更大的一个更大的ConvNeXt-XL。变体仅在每个阶段的通道数量C和块数量B上有所不同。如下配置:
实验报告了在ImageNet-1K训练和在ImageNet- 22K预训练并在ImageNet-1K微调两种策略,并报告了在ImageNet-1K验证集上的top-1精度。
ImageNet-1K上ConvNeXts训练配置:使用AdamW 以 4 e − 3 4e^{-3} 4e−3的学习率训练300个epoch,前20个epoch使用linear warmup,并用cosine decaying schedule,batch-size为4096,weight decay系数为0.05。数据增强采用Mixup、Cutmix、RandAugment和Random Erasing。正则化使用Stochastic Depth和Label Smoothing。还使用初始值 1 e − 6 1e^{-6} 1e−6的Layer Scale,以及指数移动平均(EMA),这可以减轻了较大模型的过拟合。
ImageNet- 22K上ConvNeXts预训练配置:总共进行了90个epoch的预训练,并warmup了5个epoch,不使用EMA。其他设置遵循ImageNet-1K训练配置。
在ImageNet-1K上对ImageNet-22K预训练模型微调配置:使用AdamW 以 5 e − 5 5e^{-5} 5e−5的学习率进行了30个epoch的微调,并采用了cosine decaying schedule,layer-wise learning rate decay,无warmup,batch-size为512,weight decay系数为 1 e − 8 1e^{-8} 1e−8。默认的预训练、微调和测试分辨率是 22 4 2 224^2 2242,此外,还对ImageNet-22K和ImageNet-1K预训练模型进行了更大的分辨率为 38 4 2 384^2 3842的微调。
上表(上)显示了与DeiT和Swin Transformer以及RegNets、EfficientNets 和EfficientNetsV2的比较结果。观察到,ConvNeXts在精度/计算权衡以及推理吞吐量方面与RegNet和EfficientNet相当。ConvNeXts全面优于类似计算复杂度的Swin Transformer,在没有特殊模块(如移动窗口或相对位置偏差)的情况下,ConvNeXts与Swin Transformer相比具有更高的吞吐量。
38 4 2 384^2 3842 分辨率的ConvNeXt-B比Swin-B提高了0.6%(85.1%vs. 84.5%),但推理吞吐量提高了12.5%(95.7 vs. 85.1)。当进一步扩展到ConvNeXt-L时,观察到85.5%的改进结果。
上表(下)显示了从ImageNet- 22K预训练中微调的模型的结果。观察到,当用大型数据集进行预训练时,正确设计的卷积网络并不逊色于Vision Transformer,ConvNeXts的性能仍然与类似大小的Swin Transformer相当或更好,且吞吐量略高。
此外,ConvNeXt-XL模型在 38 4 2 384^2 3842分辨率时达到了87.8%的准确率,比ConvNeXt-L有了更大的改进,表明ConvNeXts是可扩展的架构。
在ImageNet-1K上,配备了高级模块(如Squeeze-and-Excitation)和渐进式训练程序的搜索架构(EfficientNetV2-L)取得了最佳性能。然而,通过ImageNet- 22K预训练,ConvNeXt能够超过EfficientNetV2,进一步证明了大规模训练的重要性。
本实验检查了ConvNeXt的块设计是否可泛化为vit风格的各向同性架构(没有下采样层,所有深度保持相同的特征分辨率)。故使用与ViT-S/B/L相同的特征维度(384/768/1024)构建了各向同性ConvNeXt-S/B/L,相应深度设置为18/18/36,以匹配参数和GFLOPs的数量,块结构保持不变。并使用了DeiT的ViT-S/B和MAE的ViT-L作为对比结果。ConvNeXt模型使用与之前相同的设置进行训练,但具有更长的warmup。
结果如上图,观察到ConvNeXt的表现通常与ViT相当,表明ConvNeXt模块设计在非层次模型中使用时是有竞争力的。
本实验使用ConvNeXt作为backbone在COCO数据集上微调Mask R-CNN和Cascade Mask R-CNN。
结果如上表,比较Swin Transformer、ConvNeXt和传统卷积网络(如ResNeXt)的目标检测和实例分割结果。观察到,在不同的模型复杂性中,ConvNeXt实现了与Swin Transformer相当或更好的性能。当扩展到在ImageNet-22K上预训练的更大的模型(ConvNeXt-B/L/XL)时,ConvNeXt在box和mask AP方面明显优于Swin Transformer (+1.0 AP)。
上表为用UperNet 在ADE20K语义分割任务上的评估结果,所有模型变体都进行了160K的epoch训练,batch-size为16,并报告了使用多尺度测试的mIoU。观察到,ConvNeXt实现有竞争力的性能,进一步验证了该架构的有效性。
上表为ConvNeXts的ImageNet-1K训练和ImageNet-22K预训练详细设置,除了随机深度率,所有ConvNeXt变体都使用相同的设置。
各向同性ConvNeXts同样采用上表中ImageNet-1K的设置,但warmup扩展到50个epoch,各向同性ConvNeXt-S/B禁用了layer scale,各向同性ConvNeXt-S/B/L的随机深度比为0.1/0.2/0.5。
上表列出了在ImageNet-1K数据集上进行微调的设置。除ConvNeXt-L外,微调都从预训练中获得的最终模型权重开始。ConvNeXt-L使用在预训练期间其最佳的EMA模型作为微调的起点。
对于ADE20K和COCO实验,本文遵循BEiT和Swin中使用的训练设置,还使用了MMDetection和MMSegmentation工具箱。下游任务使用了ImageNet预训练的最终模型权重(而不是EMA权重)作为网络初始化。
对于COCO目标检测实验,超参数扫描包括学习率 { 1 e − 4 , 2 e − 4 } \{1e^{-4},2e ^{-4}\} {1e−4,2e−4},layer-wise learning rate decay { 0.7 , 0.8 , 0.9 , 0.95 } \{0.7, 0.8, 0.9, 0.95\} {0.7,0.8,0.9,0.95},和stochastic depth rate { 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 } \{0.3,0.4,0.5,0.6,0.7,0.8\} {0.3,0.4,0.5,0.6,0.7,0.8}。对ImageNet-22K预训练Swin-B/L也是用相同配置进行微调,并使用了官方代码和预训练的模型权重。
对于ADE20K目标分割实验,超参数扫描包括学习率 { 8 e − 5 , 1 e − 4 } \{8e^{- 5},1e^{-4} \} {8e−5,1e−4}、layer-wise learning rate decay { 0.8 , 0.9 } \{0.8,0.9\} {0.8,0.9}和stochastic depth rate { 0.3 , 0.4 , 0.5 } \{0.3,0.4,0.5\} {0.3,0.4,0.5}。报告了使用多尺度测试的mIoU结果,其他单尺度测试结果见上表。
上表为ConvNeXts和其他模型的鲁棒性评估结果。本实验在几个鲁棒性基准数据集(ImageNet-A、ImageNet-R、 ImageNet-Sketch和ImageNet-C/ ¯C数据集)上测试了ImageNet-1K训练/微调的分类模型,并报告了ImageNet-C的平均损坏误差(mCE),ImageNet- ¯C的损坏误差,以及所有其他数据集的top-1精度。
观察到,ConvNeXts(特别是大规模模型变体)表现出很好的鲁棒性,在几个基准上超过了最先进的鲁棒Transformer模型。通过额外的ImageNet-22K数据预训练,ConvNeXt-XL展示了强大的域泛化能力(分别在ImageNet-A/R/Sketch基准上实现了69.3%/68.2%/55.0%的精度)。
上述两表为在ResNet-50/Swin-T和ResNet-200/Swin-B逐步改进到ConvNeXt-T/B的过程中,每个步骤的ImageNet-1K top-1精度和GFLOPs。ResNet-50模型使用3个随机种子进行实验。
ResNet-200每个阶段的初始块数是(3,24,36,3),在改变阶段比例后,其各阶段块数更改为Swin-B的(3,3,27,3)。这大大减少了计算量,因此同时将其宽度从64增加到84,以保持计算量保持在一个相似的水平。在采用深度卷积的步骤之后,其宽度进一步增加到128(与Swin-B相同)。
观察到,ResNet-200模式下的结果与ResNet-50模式下的结果基本一致。在ResNet-200中,inverting dimensions带来的改进比在ResNet-50中更大(+0.79%vs. +0.14%)。增加核大小所获得的性能在核大小为5而不是7时达到饱和。 与ResNet-50模式相比,使用更少的规一化层也有更大的增益(+0.46%vs. +0.14%)。
上表为ResNet-50、ConvNeXt-T和Swin-T之间的详细架构比较。
使用V100 GPU在ImageNet上进行推理吞吐量基准测试时, ConvNeXts在推理方面比具有相似参数数量的Swin Transformer略快。本节在更先进的A100 GPU上重复该基准测试。
结果如上表。Swin Transformer和ConvNeXts都实现了比在V100 GPU上更快的推理吞吐量,但ConvNeXts的优势明显更大,有时快49%。
Liu, Z. , Mao, H. , Wu, C. Y. , Feichtenhofer, C. , Darrell, T. , & Xie, S. . (2022). A convnet for the 2020s. arXiv e-prints.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。