5实验
5.1 消融实验
1、Pooling
与Transformer相比,PoolFormer
所做的主要改变是使用简单的pool操作作为token mixer
。首先通过直接用identity mapping
替换pool来对该操作符进行消融。令人惊讶的是,带有identity mapping
的MetaFormer
仍然可以达到74.3%的Top-1准确率,这支持了MetaFormer
实际上是保证合理性能的说法。
作者还测试了pooling size
对PoolFormer
的影响。当pooling size
分别为3、5和7时,可以观察到类似的性能。然而,当pooling size
增加到9时,性能明显下降了0.5%。因此,采用默认的pooling size
为3。
2、Normalization
PoolFormer
采用3种Normalization,分别是Group Normalization
、 Layer Normalization
和Batch Normalization
。
作者发现PoolFormer
更倾向于Group Normalization
,Group Normalization
分别比 Layer Normalization
和Batch Normalization
高0.7%或0.8%。因此,Group Normalization
被设置为PoolFormer
的默认Normalization。
3、Activation
作者将GELU
更改为ReLU
或SiLU
。当采用ReLU
进行激活时,其性能明显下降了0.8%。对于SiLU
,其性能几乎与GELU
相同。因此,仍然采用GELU
作为默认激活函数。
4、Hybrid stages
在基于池化、Attention和Spatial MLP的token mixer
中,基于池化的token mixer
可以处理更长的输入序列,而Attention和Spatial MLP则善于捕获全局信息。因此,考虑到序列已经被大部分缩短,在lower阶段使用池化来处理长序列,在higher阶段使用注意力或基于Spatial MLP的mixer是很直观的。因此,在PoolFormer
的前1个或1个阶段用自注意力
或Spatial FC
取代token mixer pool
。
从表6中可以看出,Hybrid模型表现得相当好。在最后2个阶段的集中和在前2个阶段的注意力提供了高度具有竞争力的性能。仅使用16.5M参数和2.7G mac,准确率达到81.0%。
5.2 分类实验
上表显示了PoolFormer
在ImageNet分类上的性能。令人惊讶的是,尽管使用了简单的pool token mixer
,但与CNN和其他MetaFormer-like
的模型相比,PoolFormer
仍然可以实现具有高度竞争力的性能。
例如,PoolForter-S24的最高精度超过80%,而只需要21M参数和3.6G mac。相比之下,ViT Baseline DeiT-S的准确率略差为79.8%,但需要增加28%的mac(4.6G)。为了获得类似的精度,MLP-Like模型ResMLP-S24需要增加43%的参数(30M)和67%的计算量(6.0G),而仅获得79.4%的精度。
即使与更多改进的ViT和MLP-like变体相比,PoolFormer
仍然表现出更好的性能。其中,PVT-Medium在44M参数和6.7GMAC下,精度达到81.2%,而Pool-s36的参数(31M)少30%(31M),MACs(5.2G)减少22%。
此外,与RSB-ResNet相比,ResNet在相同的300个Epoch中使用改进的训练程序进行训练,PoolFormer
训练者仍然是不败的。使用∼22M parameters/3.7GMACs,RSB-ResNet-34可以获得75.5%的精度,而PoolFormer-s24
可以获得80.3%的精度。
使用池化操作符,每个token平均聚合其附近token的特征。因此,它是最基本的token mixer
操作。然而,实验结果表明,即使使用这种极其简单的token mixer
,它仍然具有很高的竞争性能。图3清楚地显示,PoolFormer
优于其他具有较少mac和参数的模型。
5.3 目标检测实验
目标检测的架构是RetinaNet
,基于PoolFormer
模型始终优于其类似的ResNet模型,如表所示。PoolFrorer-S12达到36.2AP,大大超过ResNet-18(31.8AP)。
基于MaskR-CNN的模型在目标检测和实例分割方面也得到了类似的结果。例如,PoolFore-S12大大超过ResNet-18(AP37.3 vs 34.0,maskAP34.6 vs 31.2)。
总的来说,对于COCO目标检测和实例分割,PoolFormer
实现了具有竞争力的性能,始终优于ResNet。
5.4 语义分割实验
上表显示了使用FPN对不同Backbone的ADE20K语义分割性能。基于PoolFormer
的模型始终优于基于CNN的ResNet和ResNeXt以及PVT模型。例如,PoolFormer-S12
达到了37.1的mIoU,比PvT和ResNet18都高。
5.5 ResNet与PoolFormer的速度对比
实验参数:2070 Super 显卡, Pytorch fp32 推理,除
PoolFormer-m48
以外的模型推理Batch均为10,循环10000次得到的平均结果。
通过上图可以看到,选择PoolFormer-S12
或者PoolFormer-S24
作为Backbone是比较划算的,速度分别可以达到ResNet34
和ResNet50
,但是精度却分别达到了77.2%和80.3%。如果算力和显存允许PoolFormer-S36
也是不错的选择,速度与ResNet101
相当,但是精度却高出3.7%。
6参考
[1].MetaFormer is Actually What You Need for Vision
7推荐阅读
CVPR2022 | 在线Re-Param | OREPA让AI训练速度进一步加快,精度略胜RepVGG!