AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(2021.6.3)
Abstract:将Transformer架构直接用于CV领域。应用方法参照NLP领域,即先在大数据集上预训练后在任务数据集上微调。
一. INTRODUCTION
ViT将图像分割成块,并提供这些图块的linear embeddings序列作为输入。图像块的处理方式与NLP中的tokens (words)相同。最后对模型进行监督的图像分类训练。
当在没有强正则化的中型数据集(如ImageNet)上训练时,精度比同等大小的ResNets低稍低。原因可能是Transformers缺乏CNNs固有的一些inductive biases(归纳偏向), translation equivariance(翻译等变性)、locality(局部性),因此不能很好地归纳。
然而,在较大的数据集(14M-300M图像)上训练模型,ViT性能较好。在预训练+微调的策略下,其acc在ImageNet上达88.55%、在ImageNet ReaL上达90.72%、在CIFAR-100上达94.55%。
二.RELATED WORK
Transformer的提出1。其通常在大型语料库上预训练,然后任务微调:BERT2使用去噪自监督预训练、GPT3 4 5。
将自注意力直接应用于图像需要每个像素关注其他像素。故有许多尝试:仅在查询像素的局部邻域中应用;局部多头点积自注意取代卷积;稀疏变换器对全局自注意采用了可扩展的近似值,以便适用于图像;将其应用于不同大小的区块,扩大注意力,在极端情况下,仅沿单个轴应用。
CNNs与各种形式的自注意相结合:增强用于图像分类的特征图;进一步处理CNN输出。
image GPT(iGPT),在降低图像分辨率和颜色空间后将Transformer应用于图像像素。经无监督训练成生成模型。
使用额外的数据源可以在标准ImageNet基准上实现更好的结果;CNN性能随数据集大小的变化;从ImageNet-21k和JFT-300M等大规模数据集对CNN迁移学习。
注:对应索引见论文
三.METHOD
将图像分割成固定大小的块,再线性加入,并加入position embeddings,最后将生成的向量序列输入Transformer。模型架构可扩展。
微调中对于大分辨率图像,根据在原图像中对应的位置,对预训练position embeddings进行2D插值。
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez,
Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In NIPS, 2017. ↩︎Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep
bidirectional transformers for language understanding. In NAACL, 2019. ↩︎Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding with unsupervised learning. Technical Report, 2018. ↩︎
Alec Radford, Jeff Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. Language
models are unsupervised multitask learners. Technical Report, 2019. ↩︎Tom B Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal,
Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are
few-shot learners. arXiv, 2020. ↩︎