颜水成团队新作!证明Transformer的威力源自其整体架构!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

梦晨 发自 凹非寺
转载自:量子位(QbitAI)

Transformer做视觉取得巨大成功,各大变体频频刷榜,其中谁是最强?

早期人们认为是其中的注意力机制贡献最大,对注意力模块做了很多改进。

后续研究又发现不用注意力换成Spatial MLP效果也很好,甚至使用傅立叶变换模块也能保留97%的性能。

争议之下,颜水成团队的最新论文给出一个不同观点

其实这些具体模块并不重要,Transformer的成功来自其整体架构

b76991066ca0f1907f9d623057f59ace.png

MetaFormer is Actually What You Need for Vision

论文地址:
https://arxiv.org/abs/2111.11418

GitHub仓库:
https://github.com/sail-sg/poolformer

他们把Transformer中的注意力模块替换成了简单的空间池化算子,新模型命名为PoolFormer

这里原文的说法很有意思,“简单到让人尴尬”……

6473e7288182c230f1b5ac5d280025c5.png

测试结果上,PoolFormer在ImageNet-1K上获得了82.1%的top-1精度。

(PyTorch版代码已随论文一起发布在GitHub上,地址可在这篇推文末尾处获取。)

同等参数规模下,简单池化模型超过了一些经过调优的使用注意力(如DeiT)或MLP模块(如ResMLP)的模型。

5d33703f4de4a09ede23ce03f5635165.png

这个结果让一些围观的CVer直接惊掉下巴:

57bc642a63f2e0a3b838cf939881f19f.png

太好奇了,模型简单到什么样才能令人尴尬?

PoolFormer

整体结构与其他模型类似,PoolFormer只是把token mixer部分换了一下。

157a399c84b833c91ed8a752eb9fc8df.png

因为主要验证视觉任务,所以假设输入数据的格式为通道优先,池化算子描述如下:

e9110661e2ca3014d85a4645f7124530.png

PyTorch风格的伪代码大概是这样:

eda0feff4722629568e91742fc369065.png

池化算子的复杂度比自注意力和Spatial MLP要小,与要处理的序列长度呈线性关系。

其中也没有可学习的参数,所以可以采用类似传统CNN的分阶段方法来充分发挥性能,这次的模型分了4个阶段

假设总共有L个PoolFormer块,那么4个阶段分配成L/6、L/6、L/2、L/6个。

f03ea392286102ba348a889ebc0075c8.png

每个阶段的具体参数如下:

3ecc522659ae0efaf8b8f5d38f9b9005.png

PoolFormer基本情况介绍完毕,下面开始与其他模型做性能对比。

首先是图像分类任务,对比模型分为三类:

  • CNN模型ResNet和RegNetY

  • 使用注意力模块的ViT、DeiT和PVT

  • 使用Spatial MLP的MLP-Mixer、ResMLP、Swin-Mixer和gMLP

在ImageNet-1K上,无论是按累计乘加操作数(MACs)还是按参数规模为标准,PoolFormer性能都超过了同等规模的其他模型。

8a8fe3dafb5d6dca3fbff50004b928de.png

目标检测实例分割任务上用了COCO数据集,两项任务中PoolFormer都以更少的参数取得比ResNet更高的性能。

1d9d38d9a4b598b5857bac0c46388cac.png目标检测

83399067c914e1c1bee42e115f6c4b43.png实例分割

最后是ADE20K语义分割任务,PoolFormer的表现也超过了ResNet、ResNeXt和PVT。

d5f8f22dec482f2662025b6e61b09ac1.png

消融实验

上面可以看出,几大视觉任务上PoolFormer都取得了有竞争力的成绩。

不过这还不足以支撑这篇论文开头提出的那个观点。

到底是整体架构重要?还是说PoolFormer中的池化模块刚好是一种简单却有效的Token Mixer?

团队的验证方法是把池化模块直接替换成恒等映射(Identity Mapping)。

结果令人惊讶,替换后在ImageNet-1K上也保留了74.3%的Top-1精度。

在此基础上无论是改变池化核尺寸归一化方法激活函数影响都不大。

最重要的是,在4个阶段中把注意力和空间全连接层等机制混合起来用性能也不会下降。

其中特别观察到,前两阶段用池化后两阶段用注意力这种组合表现突出。

这样的配置下稍微增加一下规模精度就可达到81%,作为对比的ResMLP-B24模型达到相同性能需要7倍的参数规模和8.5倍的累计乘加操作。

e623bcb38c47f187f657f1dae1c54f45.png

最终,消融实验结果说明Transformer中具体到token mixer这个部分,具体用了哪种方法并不关键。

不增加模型规模的情况下,网络的整体结构才是对性能提升最重要的。

这样的整体结构被团队提炼出来,命名为MetaFormer

ba90e215c138e87d40b399119262bcfb.png

NLP上还会成立吗?

这项研究由颜水成领导的Sea AI Lab和来自新加坡国立大学的成员共同完成。

37b30247a8b4d8170595fdb5581ad12c.png
颜水成

论文的最后,团队表示下一步研究方向是在更多场景下继续验证,如自监督学习和迁移学习。

除了视觉任务,也要看看在NLP任务上结论是否也成立。

另外发这篇论文还有一个目的:

呼吁大家把研究的重点放在优化模型的基础结构,而不是在具体模块上花太多精力去打磨。

79a3ad66669a3f5986cca23c7d15b321.png

上面MetaFormer论文和代码下载

后台回复:MetaFormer,即可下载论文和代码

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

重磅!Transformer交流群成立

扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

c87018561b5beaa0d9538160ddbe6d0a.png

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看1eaaab80806a58cbbbc232bab0f6dbe4.gif


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部