Happy · 2021年11月24日

Transformer的终章还是新起点?颜水成团队新作:MetaFormer才是你真正需要的!

Transformer在CV领域的成功到底是什么呢?最近一年来各种Transformer与MLP架构设计意义真的有那么大呢?CV老将“水哥”颜水成团队最新提出的MetaFormer可能提供了一个非常有价值的参考。这会不会意味着Transformer的终章呢?

要知道,水哥团队曾终结PASCAL VOC,同时也是ImageNet的“终结者”。也许,MetaFormer的出现也将意味着Transformer的落幕;当然,也许会是Transformer的新起点...

image.png

本文是颜水成团队在Transformer架构方面的思考,提出了一种更广义的MetaFormer。基于近来层出不穷Transformer与MLP等架构的分析,认为:Transformer的成功源自其广义架构,而非自注意力或者SpatialMLP并通过PoolFormer验证了猜想的正确性。

Abstract

Transformer在CV任务中表现出了极大的潜力。在初期,一般会认为自注意力机制对于其性能起关键性作用。然而,近期的一些研究表明:Transformer中的自注意力模块替换为SpatialMLP表现仍然非常好。

基于该发现,我们假设:Transformer的广义架构(而非特定的token混合模块)对其性能起关键作用 。为进行验证,我们采用简单的空域池化替代自注意力模块以执行token混合。令人惊讶的是,我们发现所得模型PoolFormer在多个CV任务上均取得了极具竞争力的结果。比如,PoolFormer在ImageNet上取得了82.1%的top1精度,超过了精心设计的DeiT-B、ResMLP-B24,同时具有更少的参数量(分别少35%、52%)和MACs(分别少48%、60%)。

PoolFormer的有效性验证了我们的假设,促使我们提出了MetaFormer:一种由Transformer抽象出来未制定token混合操作的架构。充分的实验表明,MetaFormer是Transformer与MLP等架构取得超高性能的关键

我们呼吁更多的研究对MetaFormer进行改进而非聚焦于token 混合模块。此外,所提PoolFormer可作为未来MetaFormer架构研究的起始基线。

Method

image.png
image.png

PoolFormer

已有的Transformer架构大多聚焦于自注意力的改进,而对其广义架构的重要性较少关注。

我们认为:MetaFormer这种广义架构对于Transformer与MLP架构的成功起关键性作用 。为进行验证,我们采用了简单的pooling进行token mixer。该操作没有可学习参数,仅通过平均聚合近邻token。
image.png
众所周知,自注意力与SpatialMLP的计算复杂度与token数量成二次关系。更严重的是,当处理长序列时,SpatialMLP会带来大量的参数。这就导致了自注意力与SpatialMLP仅能处理”百“这个量级的token;相反,pooling的计算复杂度与token数量成线性关系且无可学习参数。因此,我们类似CNN采用分层架构充分利用Pooling的优势。

image.png

上图给出了PoolFormer的整体架构示意图,下表给出了不同PoolFormer架构的参数配置信息。

image.png

Experiments

ImageNet Classification

image.png
上表给出了ImageNet分类任务上的性能对比,从中可以看到:

  • 相比CNN、Transformer以及MLP等架构,PoolFormer取得了极具竞争力的结果;
  • PoolFormer-S24仅需21M参数+3.6GMACs即可取得超80%的top1精度;而ResMLP-S24需要30M参数量+6.0GMACs也只能达到79.4%精度。
  • PVT-M需要44M参数量+6.7GMAC取得81.2%,而PoolFormer-S35仅需31M+5.2GMACs即可取得81.5%精度;
  • 相比RegNet,在相同参数量下,RegNetY-4GF以4.0GMACs取得了80.0%精度,而PoolFormer仅需3.6GMACs取得了80.3%精度。

image.png

上图给出了不同模型的MAC、参数量与精度的关系图,很明显:PoolFormer以更少的MACs和参数量超越了其他模型 。进一步说明,广义架构MetaFormer是我们设计CV模型时所真正需要的

Object Detection and instance Segmentation

image.png

上表给出了COCO检测任务的性能对比,可以看到:

  • 基于RetinaNet框架,PoolFormer取得了比ResNet更佳的性能;
  • PoolFormer-S12取得比了ResNet-18更高的性能:36.2vs31.8,性能提升高达4.4。

image.png

上表给出了COCO分割任务上的性能对比,可以看到:

  • 基于Mask R-CNN框架,PoolFormer取得了比ResNet更佳的性能;
  • PoolFormer-S12取得了大幅超越ResNet-18的性能,box与mask指标分别提升2.7与3.4.
  • 总而言之,PoolFormer在COCO检测与分割任务上取得了一致性能提升,超越了基线ResNet。

Semantic Segmentation

image.png

上表给出了ADE20K分割任务上的性能对比,可以看到:PoolFormer取得了比ResNet、ResNeXt以及PVT更优秀的性能 。比如,PoolFormer-S12取得了37.2mIoU,以4.3优于ResNet-18,以1.5优于PVT-Tiny。

Ablation Studies

相比Transformer,PoolFormer的主要改变在于:采用Pooling替换自注意力进行token mixer。我们首先对此进行了消融分析,见下表。

image.png

从上表可以看到:

  • 将Pooling替换为Identity后,所提模型仍可取得74.3%top1精度,进一步支持本文的声明:MetaFormer是我们实际所需的确保合理性能的架构;
  • 不同的池化尺寸(3、5、7)对于性能的影响非常小,当尺寸提升到9后看到了性能下降,故我们采用池化尺寸3;
  • 相比BN与LN,GN更适合PoolFormer,性能提升分别为0.8%和0.7%,因此,我们默认选择GN;
  • 在激活函数方面,GELU与SiLU性能相当,而ReLU会造成性能下降;
  • 在混合配置方面,Pool+Pool+Attention+Attention的组合具有最佳性能81%;其他配置同样非常好的性能。这说明,对于MetaFormer来说,组合Pooling与其他token mixer技术可能是一个提升模型性能的有价值的研究方向。

参考实现
image.png
image.png

首发:AIWalker
作者:happyaiwalker

推荐阅读

本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通
推荐阅读
关注数
6193
内容数
190
夯实深度学习知识基础, 涵盖动态滤波,超分辨,轻量级框架等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息