TITLE
AN IMAGE IS WORTH 16*16 WORDS:
TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
1616:把一个图片看成由很多个1616大小的patch组成。
TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE:transformer去做大规模的图像识别
ABSTRACT
虽然transformer已经成为nlp领域的一个标准,但用transformer做cv方面的任务还是很有限的。在视觉中,注意力机制要么是和cnn结合一起用,要么是保持整体结构不变的情况下替换一些cnn组件。本文证明了对cnn的依赖是没有必要的,在一个图像分类任务中,将一个单纯的transformer直接应用在图像块中也是可以表现的非常好。尤其是在大规模数据上作预训练后迁移到中小型数据集上时,ViT能获得与SOTA CNN相媲美的结果。
INTRODUCTION
**(提出问题)**自注意力机制结构,尤其是transformer,已经成为nlp领域必选模型。目前的主流方式是现在大数据集上做预训练,然后在特定的小数据集上微调。多亏了transformer的高效性和可扩展性,现在已经可以训练超过1000亿参数的模型。随着模型和数据集的增长,还未出现性能饱和的现象。
**(前人工作以及和自己工作的区别)**然而,在cv方面,cnn仍然占主导地位。受到transformer在nlp领域的成功应用的启发,一些工作尝试将cnn和自注意力结合起来,一些工作使用自注意力将cnn全部取代。后一种模型虽然理论上有效,但由于使用了专门的注意力模式,尚未在现代硬件加速器上有效扩展。因此,在大规模图像识别上,传统的残差网络还是效果最好的(SOTA)。
(讲本文工作)受到transformer在nlp领域可扩展性的启发,我们直接将标准的transformer应用在图像中,尽量做少的修改。为此,我们将图像拆分为patch,并提供这些patch的线性嵌入序列作为transformer的输入。图像patch的处理方式与 NLP 应用中的tokens(单词)相同。我们用有监督的方式训练图像分类模型。
(讲本文结果)
当在中型大小的数据集上(ImageNet)去训练时,如果不加比较强的约束,ViT模型精度相较于同等大小下的ResNets模型低几个点。这个看起来不太好的结果其实是可以预期的:因为transformer缺少一些cnn有的归纳偏置,例如locality和translation equivariance,因此当训练数据量不足的时候,不能狠到的泛化。
但是,如果在较大的数据集(14M-300M图像)上训练模型,则情况会发生变化。我们发现大规模训练胜过归纳偏置。我们的ViT在以足够规模进行预训练并转移到数据点较少的任务时,可以获得出色的结果。当在公共 ImageNet-21k 数据集或内部 JFT-300M 数据集上进行预训练时,ViT 在多个图像识别基准测试上接近或击败了SOTA。特别是,最佳模型在ImageNet上达到88.55%,在ImageNet-ReaL上达到90.72%,在CIFAR-100上达到94.55%,在VTAB套件上达到77.63%的19个任务。
CONCLUSION
我们探索了Transformer在图像识别中的直接应用。与之前在计算机视觉中使用自我注意的工作不同,除了最初的patch提取步骤外,没有在架构中引入特定于图像的归纳偏置。相反,我们将图像解释为一系列patch,并通过NLP中使用的标准Transformer encoder对其进行处理。这种简单但可扩展的策略在与大型数据集的预训练结合使用时效果出奇地好。因此,Vision Transformer在许多图像分类数据集上匹配或超过最先进的技术,同时预训练相对便宜。
虽然这些初步结果令人鼓舞,但仍然存在许多挑战。一种是将ViT应用于其他计算机视觉任务,例如检测和分割。我们的结果,加上Carion等人(2020)的结果,表明了这种方法的前景。另一个挑战是继续探索自监督的预训练方法。我们最初的实验表明,自监督预训练有所改善,但自监督和大规模监督预训练之间仍然存在很大差距。最后,ViT 的进一步扩展可能会提高性能。
RELATED WORK
(transformer在nlp里的应用) transformer由Vaswani等人(2017)提出用于机器翻译,此后已成为许多NLP任务中最先进的方法。基于大型transformer的模型通常在大型语料库上进行预训练,然后针对手头的任务进行微调:BERT(Devlin等人,2019)使用去噪自监督预训练任务,而GPT工作线使用语言建模作为其预训练任务(Radford等人,2018; 2019;布朗等人,2020 年)。
(自注意力在视觉中的应用) 将自注意力简单地应用于图像需要每个像素都关注其他所有像素。由于像素数量的平方损失,这无法扩展到实际的输入大小。因此,为了在图像处理的上下文中应用transformer,过去已经尝试了几种近似方法。Parmar等 (2018) 仅在每个查询像素的局部邻域而不是全局应用自注意力。这种局部多头点积自注意力块可以完全取代卷积(Hu et al., 2019; Ramachandran et al., 2019; Zhao et al., 2020)。在另一项工作中,Sparse Transformers(Child 等人,2019 年)采用可扩展的全局自注意力近似值以适用于图像。另一种扩展注意力的方法是将其应用于不同大小的块(Weissenborn 等人,2019 年),在极端情况下,仅沿单个轴(Ho 等人,2019 年;Wang 等人,2020a)。许多这些专门的注意力架构在计算机视觉任务上展示了有希望的结果,但需要复杂的工程才能在硬件加速器上有效地实现。
(本文相似工作) 与我们的最相关的是Cordonnier等人(2020)的模型,该模型从输入图像中提取大小为2×2的patch,并在顶部应用完全的自我注意。这个模型与ViT非常相似,但我们的工作进一步证明,大规模的预训练使原版transformer与最先进的CNN竞争(甚至更好)。此外,Cordonnier等人(2020)使用2×2像素的小patch大小,这使得该模型仅适用于小分辨率图像,而我们也处理中分辨率图像。
将卷积神经网络 (CNN) 与自我注意形式相结合也引起了很大的注意,例如通过增强用于图像分类的特征图(Bello 等人,2019 年)或使用自我注意进一步处理 CNN 的输出,例如用于目标检测(Hu 等人,2018 年;Carion 等人,2020 年)、视频处理(Wang 等人,2018 年;Sun 等人,2019 年)、图像分类(Wu 等人,2020 年)、无监督对象发现(Locatello 等人,2020 年)或统一文本视觉任务(Chen 等人,2020 年c;卢等, 2019;李等人,2019)。
(另一与本文相似工作) 另一个最近的相关模型是图像 GPT (iGPT)(Chen 等人,2020a),它在降低图像分辨率和色彩空间后将transformer应用于图像像素。该模型以无监督的方式作为生成模型进行训练,然后可以对生成的表示进行微调或线性探测以保证分类性能,从而在 ImageNet 上实现 72% 的最大准确率。