1.abstract
虽然 Transformer 架构已成为自然语言处理任务的事实标准,但其在计算机视觉中的应用仍然有限。在视觉上,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。我们表明,这种对 CNN 的依赖是不必要的,直接应用于图像块序列的纯变换器可以在图像分类任务上表现得非常好。当对大量数据进行预训练并转移到多个中型或小型图像识别基准(ImageNet、CIFAR-100、VTAB 等)时,与 state-of-the- 相比,Vision Transformer (ViT) 获得了出色的结果艺术卷积网络,同时需要更少的计算资源来训练。
2.Version Transformers
2.1 大数据训练,小任务微调
基于自注意力机制的的 Transformers 由于其计算效率和可扩展性,训练具有超过 100B 参数的前所未有的模型成为可能。随着模型和数据集的增长,仍然没有饱和性能的迹象。
受 NLP 中 Transformer 缩放成功的启发,作者尝试将标准 Transformer 直接应用于图像,并尽可能减少修改。为此,作者将图像拆分为块,并提供这些块的线性嵌入序列作为 Transformer 的输入。图像块的处理方式与 NLP 应用程序中的标记(单词)相同。以监督方式训练模型进行图像分类。
由于翻译等效性和局部性,ViT在中型数据集上表现不佳。但是,如果模型在更大的数据集(14M-300M 图像)上训练,情况就会发生变化。我们发现大规模训练胜过归纳偏差。我们的 Vision Transformer (ViT) 在以足够的规模进行预训练并转移到数据点较少的任务时获得了出色的结果。当在公共 ImageNet-21k 数据集或内部 JFT-300M 数据集上进行预训练时,ViT 在多个图像识别基准上接近或超过了最先进的水平。特别是,最好的模型在 ImageNet 上达到 88.55%,在 ImageNet-ReaL 上达到 90.72%,在 CIFAR-100 上达到 94.55%,在 19 个任务的 VTAB 套件上达到 77.63%。
3.模型
模型概述。作者将图像分割成固定大小的块,线性嵌入每个块,添加位置嵌入,并将生成的向量序列馈送到标准的 Transformer 编码器。为了执行分类,我们使用向序列添加额外可学习的“分类标记”的标准方法。
感应偏置。我们注意到,与 CNN 相比,Vision Transformer 的图像特定归纳偏差要少得多。在 CNN 中,局部性、二维邻域结构和平移等效性被烘焙到整个模型的每一层中。在 ViT 中,只有 MLP 层是局部的和平移等变的,而自注意力层是全局的。二维邻域结构的使用非常谨慎:在模型开始时,通过将图像切割成块,并在微调时调整不同分辨率图像的位置嵌入(如下所述)。除此之外,初始化时的位置嵌入不携带有关补丁的 2D 位置的信息,并且必须从头开始学习补丁之间的所有空间关系。
混合架构。作为原始图像块的替代方案,输入序列可以由 CNN 的特征图形成(LeCun 等人,1989)。在这个混合模型中,补丁嵌入投影 E应用于从 CNN 特征图中提取的补丁。作为一种特殊情况,patch 可以具有 1x1 的空间大小,这意味着输入序列是通过简单地将特征图的空间维度展平并投影到 Transformer 维度来获得的。如上所述添加分类输入嵌入和位置嵌入。
attention maps