论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

ABSTRACT

        虽然Transformer 架构已经成为自然语言处理任务的实际标准,但它在计算机视觉中的应用仍然有限。在视觉中,注意力要么与卷积网络结合应用,要么用于替换卷积网络的某些组成部分,同时保持它们的整体结构。我们证明了这种对cnn的依赖是不必要的,而一个直接应用于图像补丁序列的纯Transformer 可以很好地执行图像分类任务。当对大量数据进行预训练,并转移到多个中型或小型图像识别基准数据集测试(ImageNet、CIFAR-100、VTAB等)时,与最先进的卷积网络相比,Vision Transformer(ViT)获得了良好的结果,同时需要更少的计算资源来训练。

1 INTRODUCTION         

        基于自我注意的架构,特别是Transformer (Vaswanietal.,2017),已经成为自然语言处理(NLP)的首选模型。主要的方法是在大型文本语料库上进行预训练,然后在较小的特定任务数据集上进行微调(Devlinetal.,2019)。由于变形金刚的计算效率和可伸缩性,训练具有超过100B参数的超大尺寸模型已经成为可能(Brown等人,2020年;Lepikhin等人,2020年)。随着模型和数据集的增长,仍然没有性能饱和的迹象。 

        然而,在计算机视觉中,卷积架构仍然占主导地位(LeCun等人,1989;克里日夫斯基等人,2012;he等人,2016)。受NLP成功的启发,多部作品尝试将类似cnn的架构与自我注意力结合起来(Wang等人,2018;Carion等人,2020年),一些完全取代卷积后一种模型虽然在理论上很有效,但由于使用了专门的注意模式,尚未在现代硬件加速器上有效地进行扩展。因此,在大规模图像识别中,经典的ResNet类架构仍然是最先进的技术。

        受NLP中Transformer 缩放成功的启发,我们实验将标准Transformer 直接应用于图像,以最少的修改。为此,我们将一个图像分割成一个patch,并提供这些patch的线性embeddings序列作为一个Transformer 的输入。图像patch的处理方式与NLP应用程序中的标记(单词)的处理方式相同。我们以有监督的方式训练该模型进行图像分类。

        当在中等大小的数据集,如ImageNet上进行训练,而没有强正则化,这些模型的精度比相当大小的ResNets低几个百分点。这种看似令人沮丧的结果是可以预料的:Transformer 缺乏一些cnn固有的归纳偏差,如翻译等方差和局部性,因此在数据量不足的训练下不能很好地泛化。

        然而,如果模型在更大的数据集(14M-3000M图像)上进行训练,图像就会发生变化。我们发现,大规模的训练胜过了归纳偏差。我们的Vision Transformer(ViT)在足够的规模的预训练和转移到数据点较少的任务时获得了优秀的结果。当在公共ImageNet-21k数据集或内部JFT-300M数据集上进行预训练时,ViT在多个图像识别基准上接近或击败了最新水平。特别是,最佳模型在ImageNet上准确率达到88.55%,在ImageNet-ReaL上准确率达到90.72%,在CIFAR-100上准确率达到94.55%,在VTAB的19个任务套件上准确率达到77.63%。 

2 RELATED WORK        

        Transformer是由Vaswani等人(2017)提出的用于机器翻译的方法,并已成为许多NLP任务中的最新方法。基于大型transformer的模型通常在大型语料库上进行预训练,然后对手头的任务进行微调:BERT(Devlin等人,2019)使用去噪自我监督的训练前任务,而GPT工作线使用语言建模作为其训练前任务(雷德福等人,2018;2019;布朗等人,2020)。 

        对图像的纯注意力机制将要求每个像素关注每个其他像素。由于像素数的二次代价,这不能扩展到实际的输入大小。因此,为了将Transformer应用于图像处理中,过去已经尝试过几种近似方法。Parmar等人(2018)只在每个查询像素的局部社区中应用自注意力,而不是全局应用。这种局部多头点积自我注意块可以完全取代卷积(Hu等人,2019;拉马钱德兰等人,2019;赵等人,2020)。在另一项工作中,稀疏Transformer(Childetal.,2019)采用了对全局自关注的可扩展近似,以便适用于图像。另一种衡量注意力的方法是将其应用于不同大小的块中(韦森伯恩等人,2019),在极端情况下仅沿着个别轴(Ho等人,2019;Wang等人,2020a)。许多这些专门的注意力架构在计算机视觉任务上显示出了有希望的结果,但需要复杂的工程才能在硬件加速器上有效地实现。

        与我们最相关的是科登尼尔等人(2020)的模型,该模型从输入图像中提取大小为2×2的补丁,并在顶部应用完全的自我关注。这个模型与ViT非常相似,但我们的工作进一步证明,大规模的预训练使普通Transformer能够与最先进的cnn竞争(甚至比之更好)。此外,Cordonnier等人(2020)使用了2×2像素的小补丁尺寸,这使得该模型仅适用于小分辨率图像,而我们也处理中等分辨率图像。

        此外,人们对将卷积神经网络(CNN)与自我注意的形式结合感兴趣,例如增强图像分类(贝罗等,2019)或进一步处理CNN输出,例如目标检测(胡等,2018;卡里恩等,2020)、视频处理(王等,2018;孙等,2019年)、图像分类(Wu等,2020)、无监督对象发现(Locatelo等,2020年)或统一文本视觉等任务(陈等人,2020c;陆等人,2019年;李等人,2019年)。

        另一个最近的相关模型是图像GPT(iGPT)(Chenetal.,2020a),它在降低图像分辨率和颜色空间后,将Transformer应用于图像像素。该模型以无监督的方式作为生成模型进行训练,然后可以对结果表示进行微调或线性探测,以获得分类性能,在ImageNet上达到72%的最大准确率。 

        我们的工作增加了越来越多的论文收集,探索图像识别的规模比标准的图像网数据集。使用额外的数据源可以在标准基准上实现最先进的结果(Mahajan等人,2018年;Touvron等人,2019年;谢等人,2020年)。此外,Sun等人(2017)研究了CNN的性能如何随着数据集的大小而变化,科列斯尼科夫等人(2020);龙等人(2020)从ImageNet-21k和JFT-300M等大规模数据集对CNN迁移学习进行了实证探索。我们也关注这两个数据集,但训练Transformer,而不是之前工作中使用的基于resnet的模型。 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第1张图片

3 METHOD  

        在模型设计中,我们尽可能遵循原始Transformer(Vaswanietal.,2017)。这种有意而简单的设置的一个优点是,可伸缩的NLP Transformer架构——及其高效的实现——几乎可以开箱即用地使用。 

3.1 VISION TRANSFORMER (VIT)         

        图1描述了该模型的概述。标准Transformer接收一个令牌embeddings的一维序列作为输入。处理二维图像,我们重塑图像成一系列扁平的2Dpatch,其中(H,W)是原始图像的分辨率,C是通道的数量,(P,P)是每个图像patch的分辨率,产生的补丁,这也是transformer的有效输入序列长度。Transformer在所有的层中使用恒定的潜在向量大小D,所以我们将patch变平,并通过可训练的线性投影映射到D维(Eq. 1).我们将这个投影的输出称为patch embeddings。 

        与BERT的[class]标记类似,我们在嵌入的补丁序列中准备了一个可学习的嵌入,其在Transformer编码器(z_{0}^{L})输出处的状态作为图像表示y(Eq. 4).在训练前和微调期间,一个分类头都被附加在z_{0}^{L}上。分类头由一个在训练前时间有一个隐藏层的MLP实现,在微调时由一个单一的线性层实现。

         位置embeddings被添加到patch embeddings中,以保留位置信息。我们使用标准的可学习的一维位置embeddings,因为我们没有观察到使用更先进的二维感知位置embeddings的显著性能提高(附录D.4)。所得到的embeddings向量序列作为编码器的输入。

        transformer编码器(Vaswanietal.,2017)由多层多头自注意(MSA,见附录A)和MLP块(Eq。2, 3).在每个块之前应用层范数(LN),在每个块之后应用残差连接(Wangetal.,2019;Baevski&Auli,2019)MLP包含两层具有GELU非线性的层

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第2张图片

Inductive bias.   我们注意到视觉Transformer比cnn具有更少的图像特异性感应偏差。在cnn中,局部性、二维邻域结构和平移等方差被嵌入到整个模型的每一层中。在ViT中,只有MLP层是局部的和平移等变的,而自注意层是全局的。二维邻域结构的使用非常谨慎:在模型的开始,通过将图像切割成补丁,并在微调时间内调整不同分辨率的图像的位置embeding(如下所述)。除此之外,初始化时的位置embeding不包含关于patch的二维位置的信息,patch之间的所有空间关系都必须从头开始学习。 

Hybrid Architecture. 作为原始图像patch的替代方案,输入序列可以由CNN的特征图形成(LeCunetal.,1989)。在这种混合模型中,patch embeding投影E(Eq。1)应用于从CNN特征图中提取的patch。作为一种特殊情况,patch的空间大小可以为1x1,这意味着输入序列是通过简单地将特征图的空间维变平并投影到transformer维来获得的。分类输入embeding和位置embeding。

 

 3.2 FINE-TUNING AND HIGHER RESOLUTION

        通常,我们会在大型数据集上对ViT进行预训练,并对(较小的)下游任务进行微调。为此,我们去掉了预先训练好的预测头,并附加了一个零初始化的D×K前馈层,其中K是下游类的数量。与训练前相比,以更高的分辨率进行微调往往有益的(Touvron等人,2019;科列斯尼科夫等人,2020年)。当输入更高分辨率的图像时,我们保持patch大小不变,这导致更大的有效序列长度。视觉转换器可以处理任意的序列长度(直到内存限制),然而,预先训练的位置embeding可能不再有意义。因此,我们根据预先训练好的位置embeding在原始图像中的位置,进行二维插值。请注意,这种分辨率调整和patch提取是将图像二维结构的感应偏差手动注入视觉transformer的唯一点。 

 4 EXPERIMENTS

        我们评估了ResNet、Vision Transformer(ViT)和hybrid的表示学习能力。为了理解每个模型的数据需求,我们对不同大小的数据集进行了预训练,并评估了许多基准测试任务。当考虑到预训练模型的计算成本时,ViT表现得非常好,以较低的训练前成本在大多数识别基准上达到了最先进的水平。最后,我们进行了一个使用自我监督的小实验,并证明了自我监督的ViT对未来很有前景。 

4.1 SETUP          

        Datasets. 探索模型的可伸缩性,我们使用ILSVRC-2012图像数据集1k类和1.3M图像(我们称之为“ImageNet如下),其超集ImageNet-21k 21k类和14M图像(邓等,2009),和JFT(sun等,2017)18k类和303高分辨率图像。我们将训练前的数据集w.r.t.在Kolesnikov等人(2020年)之后的下游任务的测试集。我们将在这些数据集上训练的模型转移到几个基准任务中:原始验证标签和清理后的ReaL标签(Beyer等人,2020年),CIFAR-10/100(克里热夫斯基,2009年),Oxford-IIIT Pets (Parkhi et al., 2012), and Oxford Flowers-102 (Nilsback & Zisserman, 2008)。对于这些数据集,预处理遵循Kolesnikov等人(2020年)。 

        论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第3张图片 

        我们还评估了包含19个任务的VTAB分类套件(Zhai等人,2019b)。VTAB为每个任务使用1 000 个训练示例。这些任务被分为三组:Natural – tasks ,如上述任务,宠物,CIFAR等。专业的医疗和卫星图像,以及结构化的任务,需要几何理解,如局部化。 

        Model Variants.  我们基于BERT中使用的ViT配置(Devlinetal.,2019),如表1所示。“base”和“Large”模型直接采用了BERT,我们添加了更大的“huge”模型。在接下来的内容中,我们使用简短的符号来表示模型大小和输入patch大小:例如,ViT-L/16表示具有16×16输入patch大小的“Large”变体。请注意,transformer的序列长度与patch大小的平方成反比,因此具有较小patch大小的模型的计算成本更高。

        对于基线cnn,我们使用ResNet(He等人,2016年),但将批处理归一化层(Wu&He)替换为组归一化(Ioffe&ϟ,2015年),并使用标准化卷积(Qiao等人,2019年)。这些修改改善了转移(科列斯nikov等人,2020年),我们将修改后的模型表示为“ResNet(BiT)”。对于混合体,我们将中间特征映射输入具有一个“像素”的patch大小的ViT。为了实验不同的序列长度,我们要么(i)取常规ResNet50的第4阶段的输出,或者(ii)删除第4阶段,在第3阶段中放置相同数量的层(保持层的总数),并取这个扩展阶段3的输出。选项(ii)导致一个4倍长的序列长度,和一个更昂贵的ViT模型。

Training & Fine-tuning.   我们使用Adam(Kingma&Ba,2015)和β1=0.9,β2=0.999,批处理大小为4096,并应用0.1的高weight decay,我们发现这对所有模型的转移都很有用(附录D.1表明,与常见的做法相比,Adam对resnet的设置效果比SGD稍好)。我们使用线性学习率预热和衰减,见附录B.1的细节。对于微调,我们使用具有动量的SGD,批处理大小为512,对于所有模型,请参见附录B.1.1。对于表2中的ImageNet结果,我们以更高的分辨率进行了微调:ViT-L/16为512,ViT-H/14为518,同时还使用了Polyak&朱迪茨基(1992),平均系数为0.9999(拉曼钱德兰等人,2019;Wang等人,2020b)。         

Metrics.  我们通过few-shot或微调精度来报告下游数据集的结果。微调精度可以在对各自的数据集进行微调后捕获每个模型的性能。few-shot精度是通过求解一个正则化最小二乘回归问题来获得的,该问题将训练图像子集的(冻结)表示映射到{−1,1}^K个目标矢量。这个公式使我们能够恢复封闭形式的精确解。虽然我们主要关注微调性能,但我们有时会使用线性的few-shot精度来进行快速的动态评估,因为微调成本太高

4.2 COMPARISON TO STATE OF THE ART

        我们首先将我们最大的模型-ViT-H/14和ViT-L/16与文献中最先进的cnn进行了比较。第一个比较点是Big Transfer(BiT)(Kolesnikovetal.,2020),它使用大型ResNets执行监督迁移学习。第二个是Noisy Student(Xieetal.,2020),这是一个大型的EffificientNet ,使用在ImageNet和JFT-300M上的半监督学习训练,去掉标签。目前,Noisy Student是最新的先进模型在ImageNet和BiT-L在其他数据集报告在这里。所有模型都在TPUv3硬件上进行训练,我们报告了对每个模型进行预训练所需的TPUv3核天数,即用于训练的TPU v3核数(每个芯片2个)乘以几天的训练时间。

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第4张图片         表2显示了结果。在JFT-300M上预训练的较小的ViT-L/16模型在所有任务上都优于BiT-L(在同一数据集上预训练),但训练所需的计算资源要少得多。更大的模型ViT-H/14进一步提高了性能,特别是在更具挑战性的数据集——ImageNet、CIFAR-100和VTAB套件上。有趣的是,这个模型仍然比之前的计算时间少得多。然而,我们注意到,训练前的效率不仅会受到架构选择的影响,还会受到其他参数的影响,如训练计划、优化器、权重衰减等。我们在第4.4节中提供了对不同架构的性能与计算的受控研究。最后,在公共ImageNet-21k数据集上预训练的ViT-L/16模型在大多数数据集上也表现良好,同时花费更少的资源:它可以在大约30天内使用8核的标准云TPUv3进行训练。

        图2将VTAB任务分解为各自的组,并与此基准上之前的SOTA方法进行比较:BiT,VIVI-在ImageNet和Youtube上共同训练的ResNet(沙宁等人,2020),以及在ImageNet上的监督加半监督学习(Zhai等人,2019a)。ViT-H/14在自然和结构化任务上优于BiT-R152x4和其他方法。在专业化方面,前两种模型的性能相似。

4.3 PRE-TRAINING DATA REQUIREMENTS

        Vision Transformer在一个大型的JFT-300M数据集上进行预训练时表现良好。比ResNets对视觉的归纳偏差更少,数据集的大小有多重要?我们进行了两个系列的实验。 

         首先,我们在规模不断增大的数据集上对ViT模型进行了预训练:ImageNet、ImageNet-21k和JFT-300M。为了提高在较小的数据集上的性能,我们优化了三个基本的正则化参数——权值衰减、dropout和标签平滑。图3显示了对ImageNet进行微调后的结果(在其他数据集上的结果如表5所示)。当在最小的数据集ImageNet上进行预训练时,ViT-lager模型的表现不如ViT-Base模型,尽管(中等)正则化。通过ImageNet-21k的预训练,他们的表现也很相似。只有使用JFT-300M,我们才能看到更大型号的全部好处。图3还显示了不同大小的BiT模型所跨越的性能区域。图3还显示了不同大小的BiT模型所跨越的性能区域。BiTcnn在ImageNet上的表现优于ViT,但随着更大的数据集,ViT超过了。

         论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第5张图片

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第6张图片

        其次,我们在9M、30M和90M的随机子集以及完整的JFT-300M数据集上训练我们的模型。我们不对较小的子集执行额外的正则化,而是对所有设置使用相同的超参数。这样,我们就可以评估模型的内在性质,而不是正则化的影响。然而,我们确实使用了early stoping,并报告了在训练期间获得的最佳验证准确性。为了节省计算量,我们报告了Few-shot的线性精度,而不是全微调精度。图4包含了这些结果。在较小的数据集上,Vision Transformer比ResNets过拟合更多。例如,ViT-B/32比ResNet50略快;它在9M子集上表现得更差,但在90M+子集上表现得更好。ResNet152x2和ViT-L/16也是如此。这一结果强化了一种直觉,即卷积归纳偏差对于较小的数据集是有用的,但对于较大的数据集,直接从数据中学习相关模式就足够了,甚至是有益的。 

        总的来说,ImageNet上的Few-shot结果(图4),以及VTAB上的低数据结果(表2)似乎很适合非常低的数据传输。进一步分析ViT的Few-shot特性是未来工作的一个令人兴奋的方向。 

4.4 SCALING STUDY 

        通过评估来自JFT-300M的传输性能,我们对不同的模型进行了控制尺度研究。在这种设置下,数据大小不会瓶颈模型的性能,我们评估每个模型的性能与训练前的成本。模型集包括:7个网网,R50x1,R50x2R101x1,R152x1,R152x2,预训练7个时代,加上R152x2和R200x3预训练14个epoch;6个 Vision Transformer、vit-B/32、B/16、L/32、L/16,加上L/16和H/14 14个epoch预训练;5个hybrids,R50+ViT-B/32、B/16、L/32、L/32、L/16预训练7个epoch,加上R50+ViT-L/16预训练14个epoch(对于hybrids,模型名称末端的数字不代表patch大小,而代表ResNet主干的总降采样比)。

         图5包含了传输性能与总训练前的计算相比(关于计算成本的详细信息见附录D.5)。每个模型的详细结果见附录中的表6。我们可以观察到一些模式。首先,Vision Transformer在性能/计算权衡上主导了ResNets。ViT使用大约2−4×更少的计算来获得相同的性能(平均超过5个数据集)。其次,混合模型在较小的计算预算下的性能略优于ViT,但在较大的模型中,差异消失了。这个结果有些令人惊讶,因为人们可能会期望使用卷积局部特征处理来帮助任何大小的ViT。第三,Vision Transformer似乎没有在试验范围内饱和,激励了未来的扩展努力。

4.5 INSPECTING VISION TRANSFORMER        

        为了开始理解视觉转换器如何处理图像数据,我们分析了它的内部表示。Vision Transformer的第一层线性地投射了扁平的patch到一个低维空间(Eq. 1).图7(左)显示了学习到的embeding过滤器的顶部主成分。这些组件类似于每个patch内精细结构的低维表示的可信基函数。 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第7张图片

        投影结束后,将学习到的位置embeding添加到patch表示中。从图7(中)可以看出,模型通过位置embeding的相似性来学习对图像内的距离进行编码,即越近的斑块往往具有更多相似的位置embeding。此外,还会出现行-列结构;同一行/列中的patch具有类似的embeding。最后,对于较大的网格,正弦结构有时是明显的(附录D)。位置embeding学习了表示二维图像拓扑,这解释了为什么手工制作的二维感知嵌入变体没有产生改进(附录D.4)。 

        自我注意允许ViT整合整个图像的信息,即使是在最低的层。我们将研究该网络在多大程度上利用了这种能力。具体来说,我们根据注意力权重计算信息在被整合过的图像空间中的平均距离(图7,右)。这种“注意距离”类似于cnn中的接受野大小。我们发现,一些头部关注了已经在最低层的大部分图像,这表明模型确实使用了全局集成信息的能力。其他的注意力头脑在低层的注意距离一直很小。这种高度局部化的注意在transformer之前应用ResNet的混合模型中不那么明显(图7,右),这表明它可能在cnn中具有与早期卷积层类似的功能。此外,注意距离随着网络深度的增加而增加。在全球范围内,我们发现该模型关注的是与分类有语义相关的图像区域(图6)。 

4.6 SELF-SUPERVISION          

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第8张图片

        transformer在NLP任务上的表现出了令人印象深刻的表现。然而,他们的成功不仅来自于他们优秀的可伸缩性,而且还来自于大规模的自我监督的预训练.我们还模拟了BERT中使用的掩码语言建模任务,对自我监督的掩码patch预测进行了初步的探索。通过自我监督预训练,我们较小的ViT-B/16模型在ImageNet上达到了79.9%的准确率,比从头开始训练显著提高了2%,但仍比监督预训练低4%。附录B.1.2包含了更多的细节。我们将对比预训练的探索(Chen等人,2020b;他等人,2020年;Bachman等人,2019年;H‘enaff等人,2020年)留给未来的工作。

5 CONCLUSION  

        我们探索了transformer在图像识别中的直接应用。与之前在计算机视觉中使用自注意的工作不同,除了最初的patch提取步骤外,我们没有在架构中引入特定于图像的归纳偏差。相反,我们将图像解释为一系列patch,并使用NLP中使用的标准变压器编码器对其进行处理。这种简单但可扩展的策略在结合大型数据集上的预训练时,工作得惊人地好。因此,Vision Transformer在许多图像分类数据集上匹配或超过了最先进的状态,而是相对便宜的预训练。 

        虽然这些初步结果令人鼓舞,但仍存在许多挑战。一是将ViT应用于其他计算机视觉任务,如检测和分割。我们的研究结果,加上Carion等人(2020年)的研究结果,表明了这种方法的前景。另一个挑战是继续探索自我监督的训练前方法。我们最初的实验表明,自我监督预训练有所改进,但自我监督预训练和大规模监督预训练之间仍存在很大的差距。最后,ViT的进一步扩展可能会导致性能的提高。 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第9张图片 APPENDIX

A MULTIHEAD SELF-ATTENTION 

        标准qkv自我注意力(SA,Vaswani et al.(2017))是一种流行的神经结构构建块。对于输入序列中的每个元素,我们计算序列中所有值v的加权和。注意权重A_{ij}是基于序列的两个元素之间的成对相似性和它们各自的查询q^{j}和键值k^{j}表示。 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第10张图片

        多头自注意力(MSA)是SA的一个扩展,我们在其中并行运行k个自注意操作,称为“heads”,并投影他们的串联输出。当改变k,D_{h}(Eq。5)通常设置为D/k。 

B EXPERIMENT DETAILS         

B.1 TRAINING          

        表3总结了我们针对不同模型的训练设置。我们发现,在ImageNet上从头开始训练模型时,强正则化是关键。当使用时,Dropout应用于除qkv投影之外的每一个dense层之后,并直接应用于添加位置到patch  embeddings之后。Hybrid模型的训练与精确的设置与他们的ViT对应。最后,所有的训练都是按照第224号决议进行的。 

 B.1.1 FINE-TUNING

        我们使用SGD对所有的ViT模型进行了微调,其动量为0.9。我们对学习速率运行了一个小的网格搜索,见表4中的学习速率范围。为此,我们使用训练集的子集分割(10% for Pets and Flowers, 2% for CIFAR, 1% ImageNet)作为开发集,并对剩余数据进行训练。对于最终的结果,我们对整个训练集进行训练,并对各自的测试数据进行评估。对于微调ResNets和hybrid模型,我们使用完全相同的设置,除了ImageNet,我们在学习速率sweep中添加另一个值0.06。此外,对于ResNets,我们还运行了科列斯尼科夫等人(2020年)的设置,并在这次运行和我们的sweep过程中选择了最佳的结果。最后,如果没有特别提及,所有的微调实验都在384分辨率下运行(在与训练不同的分辨率下运行微调是常见的做法(Kolesnikovetal.,2020))。 

        论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第11张图片 

        当将ViT模型转移到另一个数据集时,我们删除整个头部(两个线性层),替换为一个零初始化的线性层,输出目标数据集所需的类数量。我们发现这比简单地重新初始化最后一层更健壮一些。 

         对于VTAB,我们遵循科列斯尼科夫等人(2020年)中的协议,并对所有任务使用相同的超参数设置。我们使用0.01的学习率,并训练了2500步(Tab。 4).我们通过对两个学习率和两个时间表运行一个小的sweep,并在200个示例验证集上选择VTAB分数最高的设置。我们遵循Kolesnikov等人(2020年)中使用的预处理,除了我们不使用特定于任务的输入分辨率。相反,我们发现VIT从高分辨率(384384×384)的所有任务中获益最多。

B.1.2 SELF-SUPERVISION         

        我们采用masked patch预测目标进行了初步的自我监督实验。为了做到这一点,我们通过用一个可学习的[mask]embedding(80%)替换50%的patch embedding,用10个随机的其他patch embedding(10%)或仅仅保持它们不变(10%)来破坏50%的patch embedding。该设置与Devlin等人(2019年)使用的语言设置非常相似。最后,我们使用它们各自的patch表示来预测每个损坏的patch的3位平均颜色(即总共512种颜色)。 

        我们训练了我们的自我监督模型为1M步(ca。14个epoch),批大小为4096的JFT。我们使用Adam,其基本学习速率为2·10−4,预热速率为10k步,余弦学习速率衰减。作为预测目标预训练我们尝试以下设置:1)预测只意味着,3位颜色(即1预测512种颜色),2)预测4×4缩小版的16×16embeding3位颜色并行(即16预测512种颜色),3)回归整个patch使用L2(即256回归3RGB通道)。令人惊讶的是,我们发现一切都很好,尽管L2稍微差一些。我们只报告选项1)的最终结果,因为它显示了最好的few shot表现。我们还实验了Devlin等人(2019年)使用的15%的腐败率,但在我们的few shot指标上,结果也略差。 

        最后,我们想指出的是,我们的masked patch预测实例化不需要如此大量的预训练,也不需要像JFT这样的大型数据集,以便在ImageNet分类上获得类似的性能提高。也就是说,我们观察到在100k的预训练步骤后,下游性能的收益在下降,并且在ImageNet上进行预训练时也看到了类似的收益。 

C ADDITIONAL RESULTS

        我们报告了与本文中提出的数字对应的详细结果。表5与论文中的图3相对应,显示了不同ViT模型在规模不断增大的数据集上预训练的ImageNet、ImageNet-21k和JFT-300M的传输性能。表6对应于本文中的图5,显示了不同大小的ViT、ResNet和hybrid模型的传输性能,以及它们在训练前的估计计算成本。 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第12张图片 

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第13张图片 D ADDITIONAL ANALYSES

 D.1 SGD VS. ADAM FOR RESNETS         

        ResNets通常用SGD进行训练,我们使用Adam作为优化器是非常非常规的。这里我们展示了激发这种选择的实验。也就是说,我们比较了在JFT上预先训练的两个resnet-50x1和152x2-2与SGD和Adam的微调性能。对于SGD,我们使用Kolesnikov等人(2020)推荐的超参数。结果见表7。Adam预训练在大多数数据集上的平均表现都优于SGD预训练。这证明了选择Adam作为在JFT上预训练resnet的优化器。请注意的是,绝对数字低于科列斯尼科夫等人(2020年)的报告,因为我们只预训练了7个epoch,而不是30个epoch。 

         论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第14张图片

D.2 TRANSFORMER SHAPE  

        我们对Transformer架构的不同维度进行了扩展,以找出哪些最适合缩放到非常大的模型。图8显示了不同配置在ImageNet上的5个shot性能。所有配置都基于8层的ViT模型,D=1024,DMLP=2048和32的patch大小,所有线的交点。我们可以看到,缩放深度会产生最大的改进,在64层之前清晰可见。然而,在16层之后,收益已经开始下降。有趣的是,缩放网络的宽度似乎会导致最小的变化。在没有引入参数的情况下,减小patch大小从而增加有效序列长度显示出惊人的稳健改进。这些发现表明,计算可能比参数的数量更能更好地预测性能,如果有的话,比例应该强调深度而不是宽度。总的来说,我们发现按比例缩放所有维度会导致稳健的改进。 

D.3 HEAD TYPE AND C L A S S TOKEN         

        为了尽可能接近原始的Transformer模型,我们使用了一个额外的[class]标记,它作为图像表示。然后,该标记的输出通过一个小的多层感知器(MLP),以tanh作为单隐层的非线性,转换为class预测。 

         这个设计继承了文本的Transformer模型,我们在整个主论文中使用它。最初尝试只使用图像patch embedding,全局平均池(GAP),然后是一个线性分类器——就像ResNet的最终特征图一样——表现得非常差。然而,我们发现这既不是由于额外的令牌,也不是由于GAP操作。相反,性能上的差异可以完全用对不同的学习率的要求来解释,见图9。

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第15张图片 D.4 POSITIONAL EMBEDDING

        我们使用位置embeding对编码空间信息的不同方法进行了消融。我们尝试了以下案例: 

  •  不提供位置信息:将输入视为一组patch。
  • 一维位置嵌入:将输入视为栅格顺序的patch序列(在本文的所有其他实验中默认)。
  • 二维位置嵌入:将输入视为二维patch的网格。在这种情况下,学习两组嵌入,每组用于一个轴,x embeding和y embeding,每组大小为D/2。然后,根据输入路径上的坐标,我们将X和Y嵌入连接起来,得到该patch的最终位置embeding。
  • 相对位置embeding:考虑patch之间的相对距离来编码空间信息,而不是它们的绝对位置。为此,我们使用一维相对注意力,其中我们定义了所有可能的patch对的相对距离。因此,对于每一个给定的对(一个作为查询,另一个作为注意机制中的key/value),我们都有一个偏移量p_{q}-p_{k},其中每个偏移量都与一个embeding相关联。然后,我们只需简单地运行额外的关注,其中我们使用原始查询(查询的内容),但使用相对位置embeding作为键。然后,我们使用来自相对注意的对数作为偏差项,并在应用softmax之前将其添加到主注意(基于内容的注意)的对数中。

        除了不同的编码空间信息的方式外,我们还尝试了不同的方法将这些信息合并到我们的模型中。对于一维和二维位置embeding,我们尝试了三种不同的情况:(1)在输入模型之后,在输入输入到transformer编码器之前(本文中所有其他实验中默认);(2)在每一层的开始学习并添加位置embeding;(3)在每一层的开始添加一个学习到的位置embeding(层之间共享)。

        表8总结了对ViT-B/16模型的消融研究的结果。由此可见,虽然没有位置embeding的模型与有位置embeding的模型之间的性能差距很大,但不同的位置信息编码方式之间几乎没有差别。我们推测,由于我们的transformer编码器操作在embeding级的输入,而不是像素级,如何编码空间信息的差异是不那么重要的。更准确地说,在patch级输入中,空间维度比原始像素级输入要小得多,例如,14×14而不是224×224,对于这些不同的位置编码策略,学习在这个分辨率中表示空间关系同样容易。即便如此,网络学习到的位置embeding相似度的具体模式还是取决于训练的超参数(图10)。 

        论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第16张图片 

         论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第17张图片

  D.5 EMPIRICAL COMPUTATIONAL COSTS        

        我们还对硬件上架构的真实速度感兴趣,由于车道宽度和缓存大小等细节,理论flop并不总是能很好地预测这一点。为此,我们在TPUv3加速器上对感兴趣的主要模型执行推理速度计时;推理和反向支撑速度之间的差异是一个恒定的模型独立因素。

        图12(左)显示了一个核心在不同的输入大小下每秒可以处理多少张图像。每个单个点指的是在广泛的批量大小范围内测量的峰值性能。可以看出,在最大分辨率的模型中,具有图像大小的理论双二次缩放几乎没有开始发生。

        另一个感兴趣的数量是每个模型可以适合到一个核心的最大批大小,越大越适合扩展到大型数据集。图12(右)显示了同一组模型的这个数量。这表明,大型ViT模型在内存效率方面比ResNet模型具有明显的优势。

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第18张图片 D.6 AXIAL ATTENTION

        轴向注意力(Huang等人,2020;Ho等人,2019)是一种简单而有效的技术,可以在被组织为多维张量的大型输入上运行自我注意力。轴向注意的一般思想是执行多个注意操作,每个操作沿着输入张量的一个轴,而不是对输入的扁平版本应用一维注意。在轴向注意中,每个注意沿着一个特定的轴混合信息,同时保持沿着其他轴的信息独立。沿着这条线,Wang等人(2020b)提出了轴向ResNet模型,在该模型中,ResNet50中所有核大小为3×3的卷积都被轴向自注意取代,即行和列注意,并通过相对位置编码增强。我们已经实现了轴向ResNet作为一个基线模型。

        此外,我们修改改变处理输入的二维形状,而不是一个一维序列的patch,并将轴向transformer块,而不是一个MLP的自我关注,我们有一个行自我关注加上一个MLP其次是一个列自我关注加上一个MLP。 

        图13,显示了轴向ResNet、Axial ResNet, Axial-ViT-B/32 and Axial-ViT-B/16 on ImageNet 5在线性shot上的性能,当在JFT数据集上进行预训练时,与预训练前的计算相比,包括浮动数和推理时间(每秒示例)。正如我们所看到的,Axial-ViT-B/32 and Axial-ViT-B/16在性能方面都比ViT-B更好,但它以更多的计算为代价。这是因为在Axial-ViT模型,每个transformer块与全球自我关注被两个Axial transformer块,一个与行和一个列自关注,虽然自我关注的序列长度较小在轴向情况下,有一个额外的MLP每Axial-ViT块。对于Axixel ResNet,尽管它在准确性/计算权衡方面看起来是合理的(图13,左),但在tpu上,简单的实现非常慢(图13,右)。 

        论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第19张图片 

D.7 ATTENTION DISTANCE 

        为了理解ViT如何利用自我注意来整合整个图像中的信息,我们分析了在不同层次上的注意权重所跨越的平均距离(图11)。这种“注意距离”类似于cnn中的接受野大小。平均注意力距离在较低层次的头部中发生高度变化,一些头部关注大部分图像,而另一些则关注查询位置或附近的小区域。随着深度的增加,所有头部的注意力距离都会增加。在网络的后半部分,大多数headers参与tokens.。 

D.8 ATTENTION MAPS        

        为了计算从输出tokens到输入空间的注意力映射(图6和图14),我们使用了注意力推出(Abnar&Zuidema,2020)。简单地说,我们平均了所有头部的ViTL/16的注意权重,然后递归地乘以所有层的权重矩阵。这就解释了所有层的令牌的tokens。 

D.9 OBJECTNET RESULTS          

        我们还根据Kolesnikov等人(2020年)的评估设置,在ObjectNet基准上评估了我们的旗舰ViT-H/14模型,结果得到了82.1%的前5准确率和61.7%的前1准确率。

D.10 VTAB BREAKDOWN 

        表9显示了每个VTAB-1k任务的得分

论文精读:VIT - AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE_第20张图片 

 

 

         

 

 

你可能感兴趣的:(transformer,transformer,深度学习,人工智能,pytorch,计算机视觉)