DeiT III

DeiT III:ViT的复仇

作者是Meta(原Facebook)、索邦大学的Hugo Touvron, Matthieu Cord, Hervé Jégou等人。他们也是DeiT、ResNet的反击的作者。

作者回应了,DeiT III会在五月的第一个星期开源:https://github.com/facebookresearch/deit/issues/159

视觉Transformer(ViT)是一种简单的神经结构,可用于多种计算机视觉任务。它具有有限的内置体系结构先验,这与较新的体系结构不同,后者包含关于输入数据或特定任务的先验。最近的研究表明,VIT受益于自监督的预训练,尤其是像BeiT这样的类似BerT的预训练。在本文中,我们回顾了VIT的监督训练。我们的程序基于并简化了训练ResNet-50的配方。它包括一个新的简单的数据扩充过程,只有3个扩充,更接近自监督学习的实践。我们对图像分类(ImageNet-1k,有无ImageNet-21k预训练)、迁移学习和语义分割的评估表明,我们的程序在很大程度上优于之前的ViT全监督训练方法。它还表明,我们在监督下训练的ViT的性能可与最近的体系结构相媲美。我们的结果可以作为最近在ViT上展示的自监督方法的更好基线。

1 引言

在NLP取得巨大成功后,Transformer模型[55]及其衍生产品在计算机视觉中越来越受欢迎。它们越来越多地用于图像分类[13]、检测与分割[3]、视频分析等领域。尤其是Dosovistky等人[13]的视觉Transformer(ViT)是卷积结构的合理替代品。这支持采用Transformer作为一种通用架构,能够通过注意过程学习卷积和远程操作[5,8]。相比之下,卷积网络[20,27,29,41]隐含地提供了内置的平移不变性。因此,他们的训练不必事先了解这一点。因此,包含卷积的混合体系结构比普通Transformer收敛得更快也就不足为奇了[18]。

因为Transformer只将像素在图块中的共定位作为先验,所以Transformer必须在优化模型的同时了解图像的结构,以便以解决给定任务为目标处理输入。这可以是在有监督的情况下复制标签,也可以是在自监督方法的情况下复制其他代理任务。尽管如此,尽管他们取得了巨大的成功,但在计算机视觉领域,研究如何有效地训练视觉Transformer的工作却寥寥无几,尤其是在像ImageNet1k这样的中型数据集上。由于Dosovistky等人[13]的工作,训练程序主要是Touvron等人[48]和Steiner等人[42]建议的变体。相比之下,多部作品通过引入池、更有效的注意力或混合架构(重新合并卷积和金字塔结构)提出了替代架构。这些新设计虽然对某些任务特别有效,但不那么通用。一个难以解决的问题是,性能的提高是由于特定的体系结构设计,还是因为它有助于优化,正如所建议的那样,与VIT的卷积是如此[60]。

Because they incorporate as priors only the co-localisation of pixels in patches, transformers have to learn about the structure of images while optimizing the model such that it processes the input with the objective of solving a given task. This can be either reproducing labels in the supervised case, or other proxy tasks in the case of self-supervised approaches. Nevertheless, despite their huge success, there has been only few works in computer vision studying how to efficiently train vision transformers, and in particular on a midsize dataset like ImageNet1k. Since the work of Dosovistky et al. [13], the training procedures are mostly variants from the proposal of Touvron et al. [48] and Steiner et al. [42]. In contrast, multiple works have proposed alternative architectures by introducing pooling, more efficient attention, or hybrid architectures re-incorporating convolutions and a pyramid structure. These new designs, while being particularly effective for some tasks, are less general. One difficult question to address is whether the improved performance is due to a specific architectural design, or because it facilitates the optimization as suggested it is the case for convolutions with ViTs [60].

最近,受流行的BERT预训练启发的自监督方法为计算机视觉中的BERT时刻带来了希望。NLP和计算机视觉领域之间有一些相似之处,首先是Transformer架构本身。然而,这些领域并非在所有方面都相同:所处理的模式具有不同的性质(连续与离散)。计算机视觉提供了像ImageNet[40]这样的大型带注释数据库,ImageNet上的完全监督预训练对于处理不同的下游任务(如迁移学习[37]或语义分割)是有效的。

如果不进一步研究ImageNet上的完全监督方法,就很难断定像BeiT[2]这样的自监督方法的有趣性能是由于训练,例如数据增强、正则化、优化,还是由于能够学习更一般的隐式表示的潜在机制。在本文中,我们不想假装回答这个难题,但我们希望通过更新vanilla ViT体系结构的训练程序来支持这场辩论。我们希望有助于更好地理解如何充分利用Transformer的潜力,以及类似BerT的预训练的重要性。我们的工作建立在完全监督和自监督方法的最新技术基础上,对数据扩充有了新的见解。我们为ImageNet-1k和ImageNet-21k上的视觉Transformer提出了新的训练方案。主要成分如下:

•    我们以为ResNet50引入的Wightman等人[57]的工作为基础。特别是,我们对仅Imagenet1k的训练采用了二进制交叉熵损失。我们采用了这种方法,包括显著改善大ViT训练[51],即随机深度[24]和分层尺度[51]。

•    3-Augment:是一种简单的数据扩充,其灵感来源于用于自监督学习的数据扩充。令人惊讶的是,使用ViT,我们观察到它比通常用于训练RandAugment等视觉Transformer的automatic/learned data-augmentation效果更好[6]。

•    在像ImageNet-21k这样的较大集合上进行预训练时,简单随机裁剪比随机调整裁剪更有效。

•    训练时分辨率较低。这一选择减少了训练测试差异[53],但ViT并没有得到太多利用。我们观察到,它还通过防止过度拟合,对最大的模型具有正则化效果。例如,对于224×224的目标分辨率,在ImageNet-1k上以126×126(81个令牌)的分辨率预训练的ViT-H比以224×224(256个令牌)的分辨率预训练时获得更好的性能。这样预训练的时间成本也更低,因为tokens减少了70%。从这个角度来看,它提供了与掩码自动编码器MAE[19]类似的扩展特性。

我们的“新”训练策略不会饱和于最大的模型,这是Touvron等人提出的数据高效图像Transformer(DeiT)之外的又一步。因此,即使与最近流行的体系结构(如SwinTransformers[31])或现代的convnet体系结构(如ConvNext[32])相比,我们在图像分类和分割方面也取得了具有竞争力的性能。下面我们指出几个有趣的结果。

•    即使在中型数据集上,我们也能利用容量更大的机型。例如,当仅在ImageNet1k上训练ViT-H时,我们的top-1精确度达到85.2%,这比文献中报道的在224×224分辨率下使用监督训练程序的最佳ViT-H提高了+5.1%。

•    我们针对ImageNet-1k的训练程序允许我们训练10亿个参数的ViT-H(52层),而无需任何超参数适应,只需使用与ViT-H相同的随机深度下降率。在224×224时,其达到84.9%,即比在相同设置下训练的相应ViT-H高+0.2%。

•    在不牺牲性能的情况下,我们将ViT-H所需的GPU数量和训练时间减少一半以上,从而可以在不减少资源的情况下有效地训练此类模型。这要归功于我们在较低分辨率下的预训练,这降低了峰值内存。

•    对于VIT-B和VIT-L模型,我们的监督训练方法与BERT类似的自监督方法(2, 19)相当,使用它们的默认设置,使用相当的标签和更少的epochs,对图像分类和语义分割的任务而言。

•    通过这种改进的训练程序,普通ViT弥补了与最新最先进架构的差距,通常提供更好的计算/性能权衡。我们的模型在附加测试集ImageNet-V2[39]上也相对更好,这表明我们训练的模型比大多数以前的工作更好地推广到另一个验证集。

•    对迁移学习分类任务中使用的裁剪尺度的影响进行了评估。我们观察到,它对性能有显著影响,但最佳值在很大程度上取决于目标数据集/任务。

2.    相关工作

视觉Transformer是由Dosovitskiy等人[13]提出的。这种架构源自Vaswani等人[55]的Transformer,现在在许多任务中用作ConvNet的替代品:图像分类[13,48]、检测[3,31]、语义分割[2,31]视频分析[17,35],仅举几例。这种更大的灵活性通常伴随着缺点,即他们需要更大的数据集,或者在数据较少时必须调整训练[14,48]。通过引入更高效的注意力[16,17,31]或池层[21,31,56],已经引入了许多变体来降低注意力成本。一些论文重新介绍了混合架构中卷积特有的空间偏置[18,58,60]。这些模型不像普通的Transformer那样通用,但通常在某些计算机视觉任务中表现良好,因为它们的体系结构优先性减少了从零开始学习任务偏差的需要。这对于较小的模型尤其重要,在较小的模型中,定制的模型不必投入一定的能力来重现已知的先验信息,例如平移不变性。这些模型在形式上不太灵活,但不需要复杂的训练程序。

训练程序:

ViT论文[13]中提出的第一个程序是在大型数据集上训练大型模型最为有效。当ViT在ImageNet上从头开始训练时,它与ConvNet没有竞争力。Touvron等人[48]表明,通过调整训练程序,可以实现与仅使用Imagenet训练的ConvNet相当的性能。在这个数据高效的图像变换程序(DeiT)之后,只有很少的修改被提出来改进训练视觉Transformer。Steiner等人[42]发表了一项完整的研究,通过对不同的训练成分进行彻底的消蚀,研究如何在不同的数据集上训练视觉Transformer。他们在ImageNet[40]上的结果稍逊于DeiT,但他们报告ImageNet-21k与Dosovitskiy等人[13]相比有所改善。被称为屏蔽自动编码器(MAE)[19]的自监督方法为更大的ViT模型提出了改进的监督基线。

BerT预训练:

在缺乏强大的全监督训练程序的情况下,类似BERT[10]的方法,即使用自监督代理目标训练ViT,然后对目标数据集进行完全微调,似乎是充分利用视觉Transformer潜力的最佳范例。事实上,BeiT[2]或MAE[19]明显优于完全监督方法,尤其是对于最大的模型。然而,到目前为止,这些方法主要表现在中等规模数据集的环境中。例如,MAE[19]报告了在ImageNet-1k上进行预训练并在ImageNet-1k上进行完全微调时最令人印象深刻的结果。当在ImageNet-21k上进行预训练并在ImageNet-1k上进行微调时,BeiT[2]需要在ImageNet-21k上进行90个epoch 的微调,然后在ImageNet-1k上进行另一次全面微调,以达到其最佳性能,这表明需要一个大型有标签的数据集,以便BeiT实现其最佳潜力。最近的一项研究表明,这种自动编码器在数据匮乏的情况下最有意思[15],但这对它们在实际可用的标记数据更多的情况下的优势提出了质疑。

数据增强:

对于监督训练,社区通常采用自动设计程序提供的数据扩充,如RandAugment[6]或Auto Augment[7]。这些数据增强似乎对训练视觉Transformer至关重要[48]。然而,像TrivialAugment[34]和Uniform Augment[30]这样的论文已经表明,在简化这些方法时,可以达到有趣的性能水平。然而,这些方法最初是为ConvNet优化的。在我们的工作中,我们建议朝着这个方向更进一步,并大幅限制和简化数据增强:我们引入了一种数据扩充策略,该策略只使用以均匀概率随机抽取的3种不同变换。就这样。

we introduce a data-augmentation policy that employs only 3 different transformations randomly drawn with uniform probability. That’s it.

3    视觉Transformer的训练和预训练

在本节中,我们将介绍视觉Transformer的训练程序,并将其与现有方法进行比较。我们在表1中详细介绍了不同的成分。在Wightman等人[57]和Touvron等人[48]的基础上,我们介绍了对最终模型精度有重大影响的几个变化。

3.1 正规化和损失

随机深度是一种正则化方法,特别适用于训练深度网络。我们在所有层中使用统一的 drop rate ,并根据模型尺寸进行调整[51]。表13(A)给出了每个模型的随机深度下降率。We use a uniform drop rate across all layers and adapt it according to the model size [51]

LayerScale。我们使用分层尺度[51]。引入这种方法是为了促进深度Transformer的收敛。在我们的训练过程中,我们没有收敛问题,但是我们观察到分层尺度允许我们的模型对最大的模型获得更高的精度。在原始文献[51]中,分层尺度的初始化是根据深度进行调整的。为了简化方法,我们使用相同的初始化(10e−4)适用于所有型号。

Binary Cross entropy。Wigthman等人[57]采用二进制交叉熵(BCE)损失代替更常见的交叉熵(CE)来训练ResNet-50。他们得出结论,与CE损失相比,增益是有限的,但当与Mixup[64]和CutMix[63]一起使用时,这种选择更方便。对于更大的VIT,以及我们在ImageNet-1k上的训练程序,BCE损失为我们提供了显著的性能改善,见表4中的消融。在Imagenet21k的探索阶段,我们没有取得令人信服的结果,因此在使用该数据集进行预训练以及随后的微调时,我们会保留CE。

优化器是 LAMB [61],其是AdamW的衍生物[33]。默认情况下,它在Apex的[1]实现中包括梯度剪裁

3.2 数据扩充

自从AlexNet问世以来,用于训练神经网络的数据增强程序已经有了重大修改。有趣的是,相同的数据扩充,例如RandAugment[6],也被广泛用于ViT,而他们的策略最初是为ConvNet学习的。考虑到这些体系结构中的体系结构先验和偏差非常不同,可能无法调整扩充策略,并且考虑到选择过程中涉及的大量选择,可能会过度拟合。因此,我们重新考虑这一优先选择。

3-Augment:

受自监督学习(SSL)的启发,我们提出了一种简单的数据扩充方法。我们考虑以下转换:

•    Grayscale:这有利于颜色不变性,并更加关注形状。

•    Solarization:这会在颜色上增加强烈的噪音,从而对颜色强度的变化更为稳健,因此更注重形状。

•    Gaussian Blur:为了稍微改变图像中的细节。

对于每一幅图像,我们只在3个数据增强中以相同的概率选择一个数据增强。除了这3种颜色选项外,我们还包括常见的颜色抖动和水平翻转。图2展示了我们的3-Augment方法中使用的不同增强。在表2中,我们对不同的数据增强组件进行了分析。

3.3 裁剪

Random Resized Crop (RRC)

GoogleNet[43]的论文中介绍了随机调整大小的裁剪(RRC)。它作为一种正则化来限制模型的过度拟合,同时支持模型所做的决策对某类变换是不变的。这种数据增强在Imagenet1k上被认为是重要的,以防止过度拟合,过度拟合在现代大型模型中会很快发生。

然而,这种裁剪策略在长宽比和物体的表观尺寸方面,在训练图像和测试图像之间引入了一些差异[53]。由于ImageNet-21k包含更多图像,因此不太容易过度拟合。因此,我们质疑,当在更大的数据集上训练时,强RRC正则化的好处是否弥补了它的缺点。

Simple Random Crop (SRC)

简单随机裁剪(SRC)是一种更简单的裁剪提取方法。它类似于AlexNet[27]中提出的原始裁剪选择:我们调整图像大小,使最小的边与训练分辨率匹配。然后我们在所有边上应用4个像素的反射填充,最后我们应用沿图像x轴随机选择的训练大小的方形裁剪。

We resize the image such that the smallest side matches the training resolution. Then we apply a reflect padding of 4 pixels on all sides, and finally we apply a square Crop of training size randomly selected along the x-axis of the image.

图3可视化了为RRC和SRC取样的裁剪框。RRC为裁剪提供了很多多样性和非常不同的大小。相比之下,SRC覆盖了更大尺度的整体图像,并保留了纵横比,但提供的多样性较少:裁剪明显重叠。因此,在ImageNet1k上进行训练时,使用常用RRC的性能更好。例如,ViT-S,如果我们不使用RRC,top-1精度降低0.9%。

然而,在ImageNet-21k(比ImageNet-1k大×10)的情况下,过拟合的风险较小,增加RRC提供的规则化和多样性则不那么重要。在这种情况下,SRC具有减少表观尺寸和纵横比差异的优势。更重要的是,它使图像的实际标签与裁剪的实际标签相匹配的可能性更高:RRC在裁剪方面相对激进,在许多情况下,标签对象甚至不存在于裁剪中,如图4所示,其中一些裁剪不包含标记对象。例如,在RRC中,左边的例子中没有斑马,中间的例子中有三种裁剪没有火车。SRC不太可能出现这种情况,因为SRC覆盖了更大尺度的图像像素。在表5中,我们提供了ImageNet-21k上随机调整大小的裁剪的烧蚀,我们看到这些观察结果转化为性能的显著提高。

图4:随机调整大小的裁剪(RRC)和简单随机裁剪(SRC)的图示。通常的RRC是一种比SRC更激进的数据增强:它具有更重的正则化效果,并通过赋予图像更多的可变性来避免过度拟合。同时引入了尺度和纵横比的差异。它还会导致标签错误,例如,当对象不在裁剪区域(例如火车或船)时。在Imagenet1k上,这种正则化总体上被认为是有益的。 然而,我们的实验表明,这对Imagenet21k是有害的,因为 Imagenet21k 不太容易过度拟合。

4    实验

本节包括图像分类方面的多个实验,特别强调Imagenet1k[9,39,40]。我们还报告了细粒度分类和分割中下游任务的结果。我们包括了大量的烧蚀,以更好地分析不同的影响,例如训练分辨率的重要性和更长的训练计划。我们在附录中提供了其他结果。

4.1    基线和默认设置

在本文中,我们考虑的主要任务是评估我们的训练过程是图像分类。我们在Imagenet1k train上进行训练,在Imagenet1k val上进行评估,并在ImageNet-V2上进行结果分析,以控制过度拟合。我们还考虑的情况下,我们可以预先训练ImageNet-21k,最后,我们报告迁移学习结果在6个不同的数据集/基准。

默认设置。

当仅在ImageNet-1k上进行训练时,默认情况下,我们按照之前的工作,在批量为2048的400个epoch 内进行训练[51,60]。除非另有规定,否则训练和评估均以224×224的分辨率进行(尽管我们建议在推理时以较低的分辨率进行训练,以224×224为目标)。

在ImageNet-21k上进行预训练时,我们默认以224×224的分辨率在90个epoch 内进行预训练,然后在ImageNet-1k上进行50个epoch 的微调。在这种情况下,我们考虑两个微调分辨率:224×224和384×384。

4.2    烧蚀

4.2.1    训练持续时间的影响

在图5中,我们提供了一个关于epoch 数的描述,这表明当我们将epoch 数增加到基线采用的400个epoch 以上时,ViT模型不会像DeiT训练程序[48]那样迅速饱和。对于ImageNet-21k预训练,我们使用90个epoch 进行预训练,就像在一些作品中一样[31,49]。我们在ImageNet-1k[49]上进行了50个epoch 的微调,并略微调整了随机深度参数。我们指出,这种选择主要是为了模型之间的一致性:我们观察到,训练30个阶段也能提供类似的结果。

4.2.2    数据增强

在表3中,我们比较了我们手工制作的数据增强3-Augment与现有的学习增强方法。在ViT体系结构中,我们的数据扩充是最有效的,同时比其他方法更简单。由于之前的增强是在ConvNet上引入的,我们还提供了ResNet-50的结果。在这种情况下,以前的增强策略在验证上具有类似的(随机增强、普通增强)或更好的结果(自动增强)

在独立集V2上进行评估时,情况已不再如此,对于独立集V2,自动增强的优势并不明显。

4.2.3 训练解决方案的影响

在表6中,我们根据训练分辨率报告了性能的演变。我们观察到,我们受益于 FixRes effect [53]。通过以192×192(或160×160)的分辨率进行训练,我们在224处经过轻微微调,获得了比在224×224处从头开始训练时更好的性能。

我们注意到,该决议具有正则化效果。虽然我们知道,最好在训练时使用较小的分辨率[53],但我们也在训练曲线中观察到,这表明减少了较大模型的过度拟合。我们的ViT-H和ViT-L结果表6也说明了这一点。这对于更长时间的训练尤其重要,因为模型过度拟合而没有更强的正则化。这种更小的分辨率意味着需要处理的图块更少,因此可以降低训练成本并提高性能。在这方面,它的效果与MAE相当[19]。我们还报告了具有1B参数的ViT-H 52层和ViT-H 26层平行[50]模型(编者注:3件事)的结果。由于分辨率较低,训练这些模型更容易。

4.2.4 与之前的ViT训练配方的比较

在图1中,我们比较了用于在ImageNet-1k和ImageNet-21k上预训练ViT体系结构的训练程序。我们的方法比现有的方法有很大的优势。例如,与最佳方法相比,使用ImageNet-21k预训练,我们使用ViT-L的成绩提高了+3.0%。类似地,当在ImageNet-1k上从头开始训练时,与之前的最佳方法相比,ViT-H的准确度提高了+2.1%,而不使用EMA的最佳方法的准确度提高了+4.3%。请参见附录中的详细结果。

4.3    图像分类

ImageNet-1k。

在表7中,我们将在ImageNet-1k上使用我们的训练食谱训练的ViT架构与其他架构进行了比较。我们将其与最近的SwinTransformers[31]和ConvNeXts[32]进行了比较。

表7:Imagenet1k培训的分类。我们比较了具有可比触发器和参数数量的体系结构。所有模型仅在ImageNet1k上进行训练,无需蒸馏或自我监督的预训练。我们报告了ImageNet1k和ImageNet V2验证集的最高精度,其复杂程度不同:吞吐量、触发器、参数数量和峰值内存使用率。吞吐量和峰值内存在单个V100-32GB GPU上测量,批量大小固定为256,精度混合。对于ResNet[20]和RegNet[38],我们报告了Wightman等人[57]的改进结果。请注意,不同的模型可能收到了不同的优化效果。↑R表示模型在分辨率R处微调,-R表示模型在分辨率R处训练。

过度拟合评估。

Imagenet val和-v2之间的比较是一种量化过度拟合的方法[54],或者至少是在不进行任何微调的情况下在附近环境中进行概括的更好能力(注释1)。在图7中,我们绘制了ImageNet val top-1精度与ImageNet-v2 top-1精度的对比图,以评估在验证时从未见过的测试集上评估模型时的性能。我们的模型比考虑的所有其他模型,尤其是在ImageNet-21k上,都明显过拟合。这是一个很好的行为,证明了我们在配方中对超参数和变量的有限选择不会导致(太多)过度拟合。

(注释1。警告:由于Imagenet-val的测试图像数量为10000而非50000,因此-V2的测量结果不太可靠。这意味着标准偏差更高(0.2%)。)

The comparison between Imagenet-val and -v2 is a way to quantify overfitting [54], or at least the better capability to generalize in a nearby setting without any fine-tuning1. In Figure 7 we plot ImageNet-val top-1 accuracy vs ImageNet-v2 top-1 accuracy in order to evaluate how the models performed when evaluated on a test set never seen at validation time. Our models overfit significantly than all other models considered, especially on ImageNet-21k. This is a good behaviour that validates the fact that our restricted choice of hyper�parameters and variants in our recipe does not lead to (too much) overfitting.

编者注:这个图是容易理解的,相同x坐标的点的y坐标越高越好

ImageNet-21k。

在表8中,我们比较了在ImageNet21k上预先训练的ViT体系结构与在ImageNet-1k上微调的训练配方。我们可以观察到,这些发现与我们仅在ImageNet-1k上获得的结果相似。

表8:使用Imagenet-21k培训进行分类。我们比较了具有可比触发器和参数数量的体系结构。所有模型均在ImageNet-21k上进行训练,无需蒸馏或自我监督的预训练。我们报告了ImageNet-1k和ImageNet V2验证集的最高精度,其复杂度有不同的度量:吞吐量、触发器、参数数量和峰值内存使用率。吞吐量和峰值内存在单个V100-32GB GPU上测量,批量大小固定为256,精度混合。对于Swin-L,我们将批处理大小减少到128,以避免内存不足错误,并重新估计内存消耗。↑R表示模型在分辨率R处进行了微调。

与BERT式的预训练对比。

在表9中,我们比较了用我们的训练配方训练的ViT模型和用不同的类BERT方法训练的ViT。我们观察到,对于相同数量的epoch,我们的方法在ImageNet-1k上的性能相当,在ImageNet-v2上的性能更好,在Ade上的分割性能也更好。对于类似于BerT的预训练,我们将我们的方法与MAE[19]和BeiT[2]进行比较,因为它们仍然是相对简单的方法,性能非常好。由于我们的方法不使用蒸馏或多种裁剪,我们没有与PeCo[12]等方法进行比较,PeCo[12]使用辅助模型作为心理视觉损失,iBoT[66]使用多种裁剪和模型的指数移动平均值。

4.4 下游任务和其他架构

4.4.1 迁移学习

为了评估通过训练程序学习的ViT模型的质量,我们使用迁移学习任务对其进行了评估。我们主要关注在表14所示的6个数据集上,在400个epoch 内,仅以224×224的分辨率在ImageNet-1k上预训练的ViT模型的性能。我们的结果如表10所示。在图6中,我们测量了推理时裁剪尺度对迁移学习结果的影响。我们观察到,在 iNaturalist中,该参数对性能有显著影响。正如论文《三件事[50]》中所建议的那样,我们只对Flowers上的迁移学习实验的注意层进行微调,这将使性能提高0.2%。

4.4.2    语义分割

我们通过在ADE20k数据集上进行语义分割实验来评估我们的ViT基线模型(ImageNet-1k模型的400个epoch 时间表和ImageNet-21k模型的90个epoch 时间表[65])。该数据集包括20k训练图像和5k验证图像,标签超过150个类别。对于训练,我们采用了与Swin相同的时间表:160k次迭代,使用SuperNet[59]。在测试时,我们使用单尺度和多尺度进行评估。我们的SuperNet实现基于XCiT[16]存储库。默认情况下,SuperNet头使用的嵌入维度为512。为了节省计算量,对于小型和微型模型,我们将其设置为其工作尺寸的大小,即小型为384,微型为192。默认情况下,我们保留512,就像其他型号的XCiT一样。我们的结果如表11所示。我们观察到,使用我们的训练配方训练的香草VIT比最近的架构(如XCiT或Swin)具有更好的FLOPs精度权衡。

4.4.3与其他架构的训练

在表12中,我们测量了ImageNet val、ImageNet real和ImageNet-v2上的顶级精度,使用不同的体系结构,仅在ImageNet-1k上以224×224的分辨率进行训练。我们可以观察到,对于PiT或CaiT等一些体系结构,我们的训练方法将提高性能。对于TNT这样的其他一些架构,我们的方法是中立的,而对于Swin这样的架构,它会降低性能。这与Wightman等人[57]的研究结果一致,并说明需要结合架构改进训练程序,以获得可靠的结论。实际上,在保持训练过程固定的同时调整这些体系结构可能与保持体系结构固定并调整训练过程具有相同的效果。这意味着,通过固定的训练程序,我们可以对给定训练程序的架构进行过度调整。为了考虑过拟合,我们在ImageNet val和ImageNet-v2上进行测量,以量化过拟合量。

Indeed, adjusting these architectures while keeping the training procedure fixed can probably have the same effect as keeping the architecture fixed and adjusting the training procedure. That means that with a fixed training procedure we can have an overfitting of an architecture for a given training procedure. In order to take overfitting into account we perform our measurements on the ImageNet val and ImageNet-v2 to quantify the amount of overfitting.

5 结论

本文做了一个简单的贡献:它提出了改进的视觉Transformer基线,以监督的方式进行训练,可以(1)作为新体系结构的比较基础;(2) 或其他训练方法,例如基于自监督学习的方法。我们希望这个更强的基线将服务于社区在学习能够为许多任务服务的基础模型方面取得进展。我们的实验还收集了一些关于如何在减少资源的情况下为更大的模型训练ViT而不影响准确性的见解,使我们能够训练一个具有4个节点(8 GPU)的10亿参数模型

实验细节

在更高分辨率下进行微调

当以224×224的分辨率在ImageNet-1k上进行预训练时,我们通过以更高分辨率进行微调来修正训练测试分辨率差异[53]。我们的微调程序受到DeiT的启发,只是我们根据模型大小调整了随机深度速率[51]。我们将学习reate修正为lr=1×10−5,在20个epoch 内,批量大小为512,重量衰减为0.1,无需重复增加。其他超参数与DeiT微调中使用的参数类似。

随机深度

我们根据模型大小调整随机深度下降率。我们在表13中报告了随机深度下降率值。

对于迁移学习实验,我们仅在6个迁移学习数据集上评估在ImageNet-1k上以224×224分辨率预先训练的模型。我们在下面的表14中给出了这些数据集的详细信息。

B额外的烧蚀

训练次数

在表15中,我们提供了ImageNet-1k上的训练次数。当训练次数增加时,我们并没有观察到饱和现象,就像用类似BERT的方法观察到的那样[2,19]。对于更长时间的训练,我们将体重衰减从0.02增加到0.05,并将随机深度下降率每200个阶段增加0.05,以防止过度拟合

你可能感兴趣的:(DeiT III)