Vison in Transformer
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
从2012年AlexNet提出以来,卷积神经网络在计算机视觉领域一直占据统治地位。而本篇论文的研究表明,拥有足够多数据进行预训练的情况下,Transformer网络架构也可以把计算机视觉问题解决的很好。更进一步来说,这篇论文的提出打破了cv和nlp之间的壁垒,在多模态领域也产生了很大影响
Intro
- 将每一张图片视作由许多16x16的patch组成,每个patch当作nlp领域中的单词,一张图片便可视作一个sequence
- CV领域不需要局限于CNNs的结构,纯Transformer在预训练集足够大时在图像分类任务达到了目前CNNs的SOTA,并且需要更少的计算资源
- 使用Transformer架构,到目前为止还未出现增加数据和模型复杂度导致性能饱和的现象
- CNNs具有人为规定的两个先验信息(局部性、平移不变性),而Transformer是缺少这样的信息的,所以在数据集不够的时候时VIT比CNNs的SOTA要差一点(因为VIT需要自己去学习两个先验信息),进一步扩大数据集后,效果达到SOTA
Problems and Purposes
- 受Transformer在nlp领域可扩展性的成功,本文想尽量少地修改Transformer架构,将这种可扩展性带到CV领域
- 如何把2d的图片变成1d的序列
- 输入transformer的长一般为512、1024这个量级,要考虑计算性能,序列过长复杂度无法接受
- 本文的解决方案:将原图划分为多个16x16地patch,再将patch组成sequence,大大减小了序列长度
Method
将原始图片划分出多个patches,patches经过线性投射层展平为一维向量,为每个向量加入位置编码后输入Transformer Encoder。另外引入了一个额外的token(第0位向量),并以该对应的Transformer Encoder输出作为分类的依据
Comment