Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet

本文提出一种新的Tokens到Token 视觉Transformer(T2T-ViT)!性能更快更强,将原始ViT的参数和MAC减少200%,性能优于ViT、ResNet等网络,代码刚刚开源!

昨天才推了一个CNN+Transformer的新backbone:CNN+Transformer!谷歌提出BoTNet:新主干网络!在ImageNet上达84.7%,今天又来了一个新工作,CV圈太内卷了!

不过这篇论文中并没有在目标检测、实例分割等下游任务上的充足实验数据,如果加上相关分析就更好了,毕竟现在"backbone"可不好被review
注1:文末附【Transformer】流群

注2:整理不易,欢迎点赞,支持分享!

Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第1张图片

Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet
Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第2张图片

  • 作者单位:新加坡国立大学, 依图科技
  • 代码:https://github.com/yitu-opensource/T2T-ViT
  • 论文:https://arxiv.org/abs/2101.11986

最近,人们探索了在语言建模中很流行的transformer,以解决视觉任务,例如,用于图像分类的视觉Transformer(ViT)。ViT模型将每个图像分成固定长度的tokens序列,然后应用多个Transformer层对它们的全局关系进行建模以进行分类。但是,在中型数据集(例如ImageNet)上从头开始训练时,ViT与CNN相比性能较差。我们发现这是因为:

1)输入图像的简单标记化无法对相邻像素之间的重要局部结构(例如,边缘,线条)建模,从而导致其训练样本效率低;

2)ViT的冗余注意力骨干网设计导致固定计算预算中有限的功能丰富性和有限的训练样本。

T2T-ViT

为了克服这些限制,我们提出了一种新的Tokens到Token视觉Transformer(T2T-ViT),该方法引入了

1)逐层tokens到token(T2T)转换,以通过递归聚集相邻对象逐步将图像结构化为Tokens变成一个token,这样就可以对周围token表示的局部结构进行建模,并可以减少token长度;

2)经过广泛研究后,由CNN架构设计推动的具有深窄结构的高效主干用于视觉转换器。

Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第3张图片

注:关于网络细节和公式,推荐看原文消化

实验结果

值得注意的是,当在ImageNet上从头开始训练时,T2T-ViT可以将原始ViT的参数计数和MAC减少200%,而实现的改进超过2.5%。
Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第4张图片

当直接在ImageNet上进行训练时,它也优于ResNets并获得与MobileNets相当的性能。例如,具有ResNet50相当大小的T2T-ViT在ImageNet上可以达到80.7%的top-1精度。
Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第5张图片

CVer-Transformer交流群

建了CVer-Transformer交流群!想要进Transformer学习交流群的同学,可以直接加微信号:CVer6666。加的时候备注一下:Transformer+学校+昵称,即可。然后就可以拉你进群了。

强烈推荐大家关注CVer知乎账号和CVer微信公众号,可以快速了解到最新优质的CV论文。

Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet_第6张图片
▲长按关注CVer公众号

你可能感兴趣的:(backbone,Transformer,计算机视觉论文速递,机器学习,人工智能,深度学习,算法,计算机视觉)