Vision Transformer

2023-11-04

A N I MAGE IS W ORTH 16 X 16 W ORDS :TRANSFORMERS FOR I MAGE R ECOGNITION AT S CALE

原文链接地址:https://arxiv.org/abs/2010.11929

1.摘要

虽然 Transformer 架构已成为自然语言处理任务的事实上的标准,但其在计算机视觉中的应用仍然有限。 在视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。 我们表明,这种对 CNN 的依赖是不必要的,直接应用于图像块序列的纯变换器可以在图像分类任务上表现得非常好。 当在大量数据上进行预训练并转移到多个中小型图像识别基准(ImageNet、CIFAR-100、VTAB 等)时,视觉变换器 (ViT) 与最先进的相比获得了出色的结果- 艺术卷积网络,同时需要更少的计算资源来训练。

2.引言

基于自我注意的架构,尤其是 Transformer(Vaswani 等,2017),已成为自然语言处理 (NLP) 的首选模型。 主要方法是在大型文本语料库上进行预训练,然后在较小的特定任务数据集上进行微调(Devlin 等,2019)。 由于 Transformers 的计算效率和可扩展性,训练具有超过 100B 个参数的前所未有的模型成为可能(Brown 等人,2020 年;Lepikhin 等人,2020 年)。 随着模型和数据集的增长,仍然没有表现出饱和的迹象。
然而,在计算机视觉中,卷积架构仍然占主导地位(LeCun 等人,1989 年;Krizhevsky 等人,2012 年;He 等人,2016 年)。 受 NLP 成功的启发,多项工作尝试将类 CNN 架构与自注意力相结合(Wang 等人,2018 年;Carion 等人,2020 年),一些工作完全取代了卷积(Ramachandran 等人,2019 年;Wang 等人,2020 年)。 , 2020a)。 后一种模型虽然理论上有效,但由于使用了专门的注意力模式,还没有在现代硬件加速器上有效地扩展。 因此,在大规模图像识别中,经典的 ResNetlike 架构仍然是最先进的(Mahajan 等,2018;Xie 等,2020;Kolesnikov 等,2020)。
受 NLP 中 Transformer 缩放成功的启发,我们尝试将标准 Transformer 直接应用于图像,并进行尽可能少的修改。 为此,我们将图像拆分为补丁,并提供这些补丁的线性嵌入序列作为 Transformer 的输入。 在 NLP 应用程序中,图像补丁的处理方式与标记(单词)相同。 我们以监督方式训练图像分类模型。
当在没有强正则化的中型数据集(如 ImageNet)上进行训练时,这些模型产生的准确率比同等大小的 ResNet 低几个百分点。 这种看似令人沮丧的结果可能是意料之中的:Transformers 缺乏 CNN 固有的一些归纳偏差,例如平移等方差和局部性,因此当在数据量不足的情况下训练时不能很好地泛化。
但是,如果模型在更大的数据集(14M-300M 图像)上训练,图片会发生变化。 我们发现大规模训练胜过归纳偏差。 我们的 Vision Transformer (ViT) 在经过足够规模的预训练并转移到具有较少数据点的任务时获得了出色的结果。 当在公共 ImageNet-21k 数据集或内部 JFT-300M 数据集上进行预训练时,ViT 在多个图像识别基准上接近或击败了最先进的技术。 特别是,最佳模型在 ImageNet 上的准确率达到 88.55%,在 ImageNet-RealL 上达到 90.72%,在 CIFAR-100 上达到 94.55%,在 19 个任务的 VTAB 套件上达到 77.63%。

3.相关工作

Transformer是由 Vaswani 等人提出的。 (2017) 用于机器翻译,并已成为许多 NLP 任务中最先进的方法。 基于大型 Transformer 的模型通常在大型语料库上进行预训练,然后针对手头的任务进行微调:BERT (Devlin et al., 2019) 使用去噪自监督预训练任务,而 GPT 工作线 使用语言建模作为其预训练任务(Radford 等人,2018 年;2019 年;Brown 等人,2020 年)。
对图像的自注意力的幼稚应用将要求每个像素关注每个其他像素。 由于像素数量的二次成本,这不能扩展到实际的输入大小。 因此,为了在图像处理的上下文中应用 Transformer,过去已经尝试了几种近似方法。 帕尔马等人。 (2018) 仅在每个查询像素的局部邻域而不是全局应用自注意力。 这种局部多头点积自注意力块可以完全替代卷积(Hu et al., 2019; Ramachandran et al., 2019; Zhao et al., 2020)。 在另一条工作线中,Sparse Transformers(Child 等人,2019 年)对全局自注意力采用可扩展的近似,以便适用于图像。 缩放注意力的另一种方法是将其应用于不同大小的块 (Weissenborn et al., 2019),在极端情况下仅沿单个轴 (Ho et al., 2019; Wang et al., 2020a)。 许多这些专门的注意力架构在计算机视觉任务上表现出有希望的结果,但需要在硬件加速器上有效地实施复杂的工程。
与我们最相关的是 Cordonnier 等人的模型。 (2020),它从输入图像中提取大小为 2 × 2 的块,并在顶部应用完全自注意力。 该模型与 ViT 非常相似,但我们的工作进一步证明,大规模预训练使 vanilla Transformer 与最先进的 CNN 竞争(甚至更好)。 此外,Cordonnier 等人。 (2020) 使用 2 × 2 像素的小块大小,这使得模型仅适用于小分辨率图像,而我们也处理中等分辨率图像。
人们对将卷积神经网络 (CNN) 与自我注意形式相结合也很感兴趣,例如 通过增强用于图像分类的特征图(Bello 等人,2019 年)或通过使用自我注意进一步处理 CNN 的输出,例如 用于物体检测(Hu et al., 2018; Carion et al., 2020)、视频处理(Wang et al., 2018; Sun et al., 2019)、图像分类(Wu et al., 2020)、无监督物体 发现(Locatello 等人,2020)或统一文本视觉任务(Chen 等人,2020c;Lu 等人,2019;Li 等人,2019)。
最近的另一个相关模型是图像 GPT(iGPT)(Chen 等人,2020a),它在降低图像分辨率和色彩空间后将 Transformer 应用于图像像素。 该模型以无监督的方式作为生成模型进行训练,然后可以对生成的表示进行微调或线性探测以提高分类性能,在 ImageNet 上实现 72% 的最大准确率。
我们的工作增加了越来越多的论文集,这些论文以比标准 ImageNet 数据集更大的尺度探索图像识别。 使用额外的数据源可以在标准基准上获得最先进的结果(Mahajan 等人,2018 年;Touvron 等人,2019 年;Xie 等人,2020 年)。
此外,Sun 等人。 (2017) 研究了 CNN 性能如何随数据集大小而变化,Kolesnikov 等人。 (2020); 乔隆加等人。 (2020) 从 ImageNet-21k 和 JFT-300M 等大规模数据集对 CNN 迁移学习进行实证探索。 我们也关注后两个数据集,但训练 Transformers 而不是之前工作中使用的基于 ResNet 的模型。
在这里插入图片描述
上图 1:模型概述。 我们将图像分割成固定大小的块,线性嵌入每个块,添加位置嵌入,并将结果向量序列提供给标准的 Transformer 编码器。 为了执行分类,我们使用向序列添加额外的可学习“分类标记”的标准方法。 Transformer 编码器的插图受到 Vaswani 等人的启发。 (2017)。

4.方法

在模型设计中,我们尽可能地遵循原始 Transformer(Vaswani 等,2017)。
这种有意简单设置的优势在于,可扩展的 NLP Transformer 架构及其高效实现几乎可以开箱即用。

4.1 Vit

该模型的概述如图 1 所示。标准 Transformer 接收一维标记嵌入序列作为输入。 为了处理 2D 图像,我们将图像 x ∈ \in R H × W × C R^{H×W ×C} RH×W×C 重塑为 2 个展平的 2D 块序列 x p x_p xp ∈ \in R N × ( P 2 ⋅ C ) R^{N ×(P^2 ·C)} RN×(P2C) ,其中 (H, W ) 是原始图像的分辨率,C 是 通道数,(P, P ) 是每个图像块的分辨率,N = HW/ P 2 P^2 P2 是生成的块数,它也用作 Transformer 的有效输入序列长度。 Transformer 在其所有层中使用恒定的潜在向量大小 D,因此我们将补丁展平并使用可训练的线性投影映射到 D 维(方程 1)。 我们将此投影的输出称为补丁嵌入。
与 BERT 的 [class] 标记类似,我们在嵌入补丁序列 ( z 0 0 = X c l a s s z^{0}_0 = X_{class} z00=Xclass ) 中添加了一个可学习的嵌入,其在 Transformer 编码器 ( z L 0 z^{0}_L zL0 ) 的输出端的状态用作图像表示 y (Eq. 4)。 在预训练和微调期间,分类头都连接到 z L 0 z^{0}_L zL0 。 分类头在预训练时由带有一个隐藏层的 MLP 实现,在微调时由单个线性层实现。
位置嵌入被添加到补丁嵌入中以保留位置信息。 我们使用标准的可学习一维位置嵌入,因为我们没有观察到使用更高级的二维感知位置嵌入(附录 D.4)带来的显着性能提升。 得到的嵌入向量序列作为编码器的输入。
Transformer 编码器(Vaswani 等人,2017 年)由多头自注意力(MSA,参见附录 A)和 MLP 块(等式 2、3)的交替层组成。 在每个块之前应用层范数 (LN(LayerNorm)),在每个块之后应用残差连接(Wang 等人,2019 年;Baevski 和 Auli,2019 年)。
MLP 包含两个具有 GELU 非线性的层。
在这里插入图片描述
Inductive bias。 我们注意到 Vision Transformer 的图像特定归纳偏差比 CNN 少得多。 在 CNN 中,局部性、二维邻域结构和平移等效性被烘焙到整个模型的每一层中。 在 ViT 中,只有 MLP 层是局部和平移等变的,而自注意力层是全局的。 二维邻域结构的使用非常谨慎:在模型开始时通过将图像切割成块,并在微调时调整不同分辨率图像的位置嵌入(如下所述)。 除此之外,初始化时的位置嵌入不携带有关补丁的 2D 位置的信息,补丁之间的所有空间关系都必须从头开始学习。
Hybrid Architecture。 作为原始图像块的替代方案,输入序列可以由 CNN 的特征图形成(LeCun 等人,1989)。 在这个混合模型中,补丁嵌入投影 E(方程 1)应用于从 CNN 特征图中提取的补丁。 作为一种特殊情况,patch 的空间大小可以为 1x1,这意味着输入序列是通过简单地将特征图的空间维度展平并投影到 Transformer 维度来获得的。
如上所述添加了分类输入嵌入和位置嵌入。

4.2 F INE - TUNING AND H IGHER R ESOLUTION

通常,我们在大型数据集上预训练 ViT,并对(较小的)下游任务进行微调。 为此,我们移除了预训练的预测头并附加了一个零初始化的 D × K 前馈层,其中 K 是下游类的数量。 以比预训练更高的分辨率进行微调通常是有益的(Touvron 等人,2019 年;Kolesnikov 等人,2020 年)。 当提供更高分辨率的图像时,我们保持补丁大小相同,这会导致更大的有效序列长度。 Vision Transformer 可以处理任意序列长度(最多内存限制),但是,预训练的位置嵌入可能不再有意义。 因此,我们根据它们在原始图像中的位置对预训练的位置嵌入执行 2D 插值。 请注意,此分辨率调整和补丁提取是将有关图像 2D 结构的归纳偏差手动注入 Vision Transformer 的唯一点。

5.EXPERIMENTS

我们评估了 ResNet、Vision Transformer (ViT) 和混合模型的表征学习能力。 为了了解每个模型的数据要求,我们对不同大小的数据集进行了预训练,并评估了许多基准任务。 在考虑预训练模型的计算成本时,ViT 表现非常出色,以较低的预训练成本在大多数识别基准上达到了最先进的水平。 最后,我们使用自我监督进行了一个小实验,并表明自我监督的 ViT 对未来充满希望。

5.1 SETUP

Datasets。 为了探索模型的可扩展性,我们使用了 ILSVRC-2012 ImageNet 数据集,包含 1k 类和 1.3M 图像(我们在下文中将其称为 ImageNet),其超集 ImageNet-21k 具有 21k 类和 14M 图像(Deng et al., 2009 ) 和 JFT (Sun et al., 2017) 具有 18k 类和 303M 高分辨率图像。 我们去重预训练数据集 w.r.t. 遵循 Kolesnikov 等人的下游任务的测试集。 (2020)。 我们将在这些数据集上训练的模型转移到几个基准任务:原始验证标签上的 ImageNet 和清理过的 RealL 标签(Beyer 等人,2020 年)、CIFAR-10/100(Krizhevsky,2009 年)、Oxford-IIIT Pets (Parkhi 等,2012)和 Oxford Flowers-102(Nilsback & Zisserman,2008)。 对于这些数据集,预处理遵循 Kolesnikov 等人。 (2020)。
在这里插入图片描述
我们还评估了 19 任务 VTAB 分类套件(Zhai 等人,2019b)。 VTAB 评估到不同任务的低数据传输,每个任务使用 1000 个训练示例。 任务分为三组:自然 - 像上述任务、宠物、CIFAR 等。专业 - 医学和卫星图像,以及结构化 - 需要几何理解(如定位)的任务。
Model Variants。 我们将 ViT 配置基于用于 BERT 的配置(Devlin 等人,2019 年),如表 1 所示。“Base”和“Large”模型直接从 BERT 中采用,我们添加了更大的“Huge”模型。 在下文中,我们使用简短的符号来表示模型大小和输入补丁大小:例如,ViT-L/16 表示具有 16 × 16 输入补丁大小的“大”变体。
请注意,Transformer 的序列长度与补丁大小的平方成反比,因此补丁大小较小的模型在计算上更昂贵。
对于基线 CNN,我们使用 ResNet(He 等人,2016 年),但将批标准化层(Ioffe & Szegedy,2015 年)替换为组标准化(Wu 和 He,2018 年),并使用标准化卷积(Qiao 等人,2016 年)。 , 2019)。 这些修改改进了传输(Kolesnikov 等人,2020 年),我们将修改后的模型表示为“ResNet (BiT)”。 对于混合体,我们将中间特征图输入到 ViT 中,块大小为一个“像素”。 为了试验不同的序列长度,我们要么(i)获取常规 ResNet50 的第 4 阶段的输出,要么(ii)移除第 4 阶段,在第 3 阶段放置相同数量的层(保持总层数),然后取 这个扩展阶段的输出 3. 选项 (ii) 导致序列长度延长 4 倍,以及更昂贵的 ViT 模型。
Training & Fine-tuning. 我们使用 Adam (Kingma & Ba, 2015) 训练所有模型,包括 ResNets,β 1 = 0.9,β 2 = 0.999,批量大小为 4096,并应用 0.1 的高权重衰减,我们发现这对转移很有用 在所有模型中(附录 D.1 表明,与常见做法相比,在我们的设置中,Adam 在 ResNets 上的表现略好于 SGD)。 我们使用线性学习率预热和衰减,详见附录 B.1。 对于微调,我们使用具有动量的 SGD,批量大小为 512,对于所有模型,请参见附录 B.1.1。 对于表 2 中的 ImageNet 结果,我们在更高分辨率下进行了微调:ViT-L/16 为 512,ViT-H/14 为 518,并且还使用了 Polyak & Juditsky (1992) 平均,因子为 0.9999 (Ramachandran et al ., 2019; Wang 等人, 2020b)。
Metrics. 我们通过小样本或微调精度报告下游数据集的结果。微调精度捕获每个模型在各自数据集上微调后的性能。 通过解决正则化最小二乘回归问题,将训练图像子集的(冻结)表示映射到 {−1, 1} K 个目标向量,可以获得少样本精度。 该公式使我们能够以封闭形式恢复精确解。 尽管我们主要关注微调性能,但有时我们会使用线性小样本精度进行快速的动态评估,而微调的成本太高。

5.2 COMPARISON TO STATE OF THE ART

我们首先将我们最大的模型——ViT-H/14 和 ViT-L/16——与文献中最先进的 CNN 进行比较。 第一个比较点是 Big Transfer (BiT) (Kolesnikov et al., 2020),它使用大型 ResNet 执行有监督的迁移学习。 第二个是 Noisy Student (Xie et al., 2020),它是一个大型 EfficientNet,在 ImageNet 和 JFT300M 上使用半监督学习训练,去除了标签。 目前,Noisy Student 在 ImageNet 和 BiT-L 上在此处报告的其他数据集上是最先进的。 所有模型都在 TPUv3 硬件上训练,我们报告了预训练每个模型所需的 TPUv3-core-days 数,即用于训练的 TPU v3 核数(每个芯片 2 个)乘以训练时间 在几天。
结果如表2所示。 在 JFT-300M 上预训练的较小 ViT-L/16 模型在所有任务上都优于 BiT-L(在同一数据集上预训练),同时训练所需的计算资源要少得多。 更大的模型 ViT-H/14 进一步提高了性能,尤其是在更具挑战性的数据集——ImageNet、CIFAR-100 和 VTAB 套件上。
在这里插入图片描述
有趣的是,这与现有技术相比,模型的预训练计算量仍然要少得多。 然而,我们注意到预训练效率可能不仅受架构选择的影响,还受其他参数的影响,例如训练计划、优化器、权重衰减等。我们提供了不同架构的性能与计算的受控研究 第 4.4 节。 最后,在公共 ImageNet-21k 数据集上预训练的 ViT-L/16 模型在大多数数据集上也表现良好,同时预训练所需的资源更少:它可以使用标准云 TPUv3 进行训练,大约 30 天。
图 2 将 VTAB 任务分解为各自的组,并在此基准测试中与之前的 SOTA 方法进行比较:BiT、VIVI——在 ImageNet 和 Youtube 上联合训练的 ResNet(Tschannen 等人,2020)和 S4L——监督加半 ImageNet 上的监督学习(Zhai 等人,2019a)。
ViT-H/14 在自然和结构化任务上优于 BiT-R152x4 和其他方法。 在 Specialized 上,前两个模型的性能相似。

5.2 PRE - TRAINING DATA REQUIREMENTS

Vision Transformer 在大型 JFT-300M 数据集上进行预训练时表现良好。 视觉的归纳偏差比 ResNet 少,数据集大小有多重要? 我们进行了两个系列的实验。
首先,我们在越来越大的数据集上预训练 ViT 模型:ImageNet、ImageNet-21k 和 JFT300M。 为了提高较小数据集的性能,我们优化了三个基本的正则化参数——权重衰减、dropout 和标签平滑。 图 3 显示了微调到 ImageNet 后的结果(其他数据集的结果见表 5) 2 。 当在最小的数据集 ImageNet 上进行预训练时,尽管(中等)正则化,ViT-Large 模型与 ViT-Base 模型相比表现不佳。 使用 ImageNet-21k 预训练,它们的表现相似。 只有使用 JFT-300M,我们才能看到更大型号的全部优势。
在这里插入图片描述
在这里插入图片描述
图 3 还显示了性能由不同大小的 BiT 模型跨越的区域。 BiT CNN 在 ImageNet 上的表现优于 ViT,但在更大的数据集上,ViT 超过了。
其次,我们在 9M、30M 和 90M 的随机子集以及完整的 JFT300M 数据集上训练我们的模型。 我们不对较小的子集执行额外的正则化,并为所有设置使用相同的超参数。 这样,我们评估内在模型属性,而不是正则化的效果。 但是,我们确实使用了提前停止,并报告了在训练期间实现的最佳验证准确度。 为了节省计算,我们报告了几次线性精度而不是完整的微调精度。 图 4 包含结果。 Vision Transformers 在较小的数据集上比 ResNets 过拟合更多,具有可比的计算成本。 例如,ViT-B/32 比 ResNet50 稍快; 它在 9M 子集上表现更差,但在 90M+ 子集上表现更好。 ResNet152x2 和 ViT-L/16 也是如此。 这一结果强化了这种直觉,即卷积归纳偏差对较小的数据集很有用,但对于较大的数据集,直接从数据中学习相关模式就足够了,甚至是有益的。
总体而言,ImageNet 上的少量结果(图 4)以及 VTAB 上的低数据结果(表 2)对于极低数据传输似乎很有希望。 进一步分析 ViT 的少样本特性是未来工作的一个令人兴奋的方向。

5.3 SCALING STUDY

我们通过评估 JFT-300M 的传输性能,对不同模型进行了受控缩放研究。 在这种情况下,数据大小不会成为模型性能的瓶颈,我们会评估每个模型的性能与预训练成本。 模型集包括:7个ResNets,R50x1、R50x2、R101x1、R152x1、R152x2,预训练了7个epochs,加上预训练了14个epochs的R152x2和R200x3; 6个Vision Transformers,ViT-B/32、B/16、L/32、L/16,预训练7个epochs,加上L/16和H/14预训练14个epochs; 和 5 个混合动力车,R50+ViT-B/32、B/16、L/32、L/16 预训练了 7 个 epoch,加上 R50+ViT-L/16 预训练了 14 个 epochs(对于混合动力车, 模型名称的末尾不代表补丁大小,而是代表 ResNet 主干中的总向下采样率)。
图 5 包含传输性能与总预训练计算(有关计算成本的详细信息,请参见附录 D.5)。 附录中的表 6 中提供了每个模型的详细结果。 可以观察到一些模式。 首先,视觉转换器在性能/计算权衡方面主导了 ResNet。 ViT 使用大约 2 - 4 倍的计算来获得相同的性能(5 个数据集的平均值)。 其次,混合模型在较小的计算预算下略胜于 ViT,但对于较大的模型,这种差异消失了。 这个结果有些出人意料,因为人们可能期望卷积局部特征处理可以帮助任何规模的 ViT。 第三,Vision Transformers 似乎不会在尝试的范围内饱和,从而推动未来的扩展工作。

5.4 INSPECTING VISION TRANSFORMER

为了开始理解 Vision Transformer 如何处理图像数据,我们分析了它的内部表示。 Vision Transformer 的第一层将扁平化的补丁线性投影到低维空间中(等式 1)。 图 7(左)显示了学习嵌入滤波器的顶部主成分。 这些组件类似于每个补丁内精细结构的低维表示的似是而非的基函数。
输入注意 在投影之后,将学习到的位置嵌入添加到补丁表示中。 图 7(中心)显示该模型学习在位置嵌入的相似性中对图像内的距离进行编码,即更近的补丁往往具有更相似的位置嵌入。 进一步,出现了行列结构; 同一行/列中的补丁具有相似的嵌入。 最后,对于较大的网格,正弦结构有时很明显(附录 D)。 位置嵌入学习表示 2D 图像拓扑解释了为什么手工制作的 2D 感知嵌入变体不会产生改进(附录 D.4)。
在这里插入图片描述
Self-attention 允许 ViT 整合整个图像的信息,即使是在最低层。 我们调查了网络在多大程度上利用了这种能力。 具体来说,我们根据注意力权重计算图像空间中信息整合的平均距离(图 7,右)。 这种“注意力距离”类似于 CNN 中的感受野大小。我们发现一些头部已经关注了最低层中的大部分图像,这表明模型确实使用了全局整合信息的能力。 其他注意力头在低层中始终具有较小的注意力距离。 在 Transformer 之前应用 ResNet 的混合模型中,这种高度局部化的注意力不太明显(图 7,右),这表明它可能与 CNN 中的早期卷积层具有类似的功能。 此外,注意力距离随着网络深度的增加而增加。 在全球范围内,我们发现该模型关注与分类语义相关的图像区域(图 6)。

5.5 SELF - SUPERVISION

Transformers 在 NLP 任务上表现出令人印象深刻的性能。 然而,他们的大部分成功不仅源于其出色的可扩展性,还源于大规模的自我监督预训练(Devlin等,2019 年; Radford 等人,2018 年)。 我们还对自我监督的掩码补丁预测进行了初步探索,模仿了 BERT 中使用的掩码语言建模任务。 通过自监督预训练,我们较小的 ViT-B/16 模型在 ImageNet 上实现了 79.9% 的准确率,比从头开始训练显着提高了 2%,但仍比监督预训练落后 4%。
附录 B.1.2 包含更多详细信息。 我们将对对比预训练(Chen 等人,2020b;He 等人,2020 年;Bachman 等人,2019 年;Hénaff 等人,2020 年)的探索留给未来的工作。
在这里插入图片描述

6 CONCLUSION

我们已经探索了 Transformers 在图像识别中的直接应用。 与在计算机视觉中使用自注意力的先前工作不同,除了初始补丁提取步骤之外,我们不会将特定于图像的归纳偏差引入架构。 相反,我们将图像解释为一系列补丁,并通过 NLP 中使用的标准 Transformer 编码器对其进行处理。 这种简单但可扩展的策略与大型数据集的预训练结合使用时效果出奇地好。
因此,Vision Transformer 在许多图像分类数据集上匹配或超过了现有技术,同时预训练相对便宜。
虽然这些初步结果令人鼓舞,但仍然存在许多挑战。 一种是将 ViT 应用于其他计算机视觉任务,例如检测和分割。 我们的结果,加上 Carion 等人的结果。 (2020),表明这种方法的前景。 另一个挑战是继续探索自我监督的预训练方法。 我们最初的实验表明自监督预训练有所改进,但自监督和大规模监督预训练之间仍然存在很大差距。 最后,进一步扩展 ViT 可能会提高性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vision Transformer 的相关文章

随机推荐

  • Vue知识系列(4)每天10个小知识点

    目录 系列文章目录 Vue知识系列 1 每天10个小知识点 Vue知识系列 2 每天10个小知识点 Vue知识系列 3 每天10个小知识点 知识点 31 Vuex 四种属性的概念 作用 使用示例 32 Vuex 和单纯的全局对象 的概念 作
  • Linux磁盘分区和文件系统的关系

    一 Linux磁盘相关命令及作用 1 df命令 用于显示文件系统的磁盘空间使用情况 2 du命令 用于查看文件或目录的磁盘使用情况 3 fdisk命令 用于磁盘分区表的创建和管理 4 mkfs命令 用于创建文件系统 5 mount命令 用于
  • 华北电力计算机专业排名,华电考研计算机专业排名

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1354计算机软件与理论359 1355计算机软件与理论340 1356计算机软件与理论334 1357计算机软件与理论329 1358计算机软件与理论326 1359计算机软件与理论324 1
  • C++/C++11中引用的使用

    引用 reference 是一种复合类型 compound type 引用为对象起了另外一个名字 引用类型引用 refer to 另外一种类型 通过将声明符写成 d的形式来定义引用类型 其中d是声明的变量名 一 一般引用 一般在初始化变量时
  • Cocos2dx on Qt

    讨论贴在这里 http www cocos2d x org boards 6 topics 8043 page 1 准备 glew 库 bin glew32 dll gt windows system32 include GL gt VC
  • STM32F103时钟配置流程

    知识点 系统复位后 HSI振荡器被选为系统时钟 当时钟源被直接或通过PLL间接作为系统时钟时 它将不能被停止 STM32F103的三个可以作为系统时钟的时钟源 分别是HSI HSE PLL 而PLL的时钟源是HSI 2 内部RC振荡器二分频
  • 华硕计算机cpu怎么超频怎么设置,内存和CPU超频操作_华硕 ROG Rampage VI Apex_主板评测-中关村在线...

    进阶操作 进BIOS可能很多人都是为了去给CPU和内存进行超频 首先按F7进入到高级模式 华硕的主板选择Extreme Tweaker选项卡 有的主板是AI Tweaker或者超频设置等名字 Extreme Tweaker选项卡 内存超频
  • 如何使用postman做接口测试

    常用的接口测试工具主要有以下几种 Postman 简单方便的接口调试工具 便于分享和协作 具有接口调试 接口集管理 环境配置 参数化 断言 批量执行 录制接口 Mock Server 接口文档 接口监控等功能 JMeter 开源接口测试及压
  • Python中is和==(is not和!=)的区别

    Python中有很多种运算符 本文主要记录一下is和 这两种运算符的区别 id 函数是查看该对象所在内存地址 每个对象都有对应的内存地址 如 is 用于判断两个变量引用对象是否为同一个 用于判断引用变量的值是否相等 类似于Java中的equ
  • 华为OD机试 - 按单词下标区间翻转文章内容(Java)

    题目描述 给定一段英文文章片段 由若干单词组成 单词间以空格间隔 单词下标从0开始 请翻转片段中指定区间的单词顺序并返回翻转后的内容 例如给定的英文文章片段为 I am a developer 翻转区间为 0 3 则输出 developer
  • HJ26 字符串排序

    Powered by NEFU AB IN Link 文章目录 HJ26 字符串排序 题意 思路 代码 HJ26 字符串排序 题意 编写一个程序 将输入字符串中的字符按如下规则排序 规则 1 英文字母从 A 到 Z 排列 不区分大小写 如
  • PCL 计算点云法向量并显示

    目录 一 算法原理 1 法向量估计 2 法向量定向 3 表面曲率 4 参考文献 5 法向量定向的理解 6 CloudCompare 二 pcl Normal的定义 三 pcl Normal的几种输出方式 四 计算法线并显示 1 计算输入点云
  • 单点登录(简单的实现)

    假设现在有两个域名 分别为 分别记为client1 client2 client1 com client2 com 一个认证服务器 域名 ssoserver com client1 client2都需要登陆后才能访问到数据 现在想要实现cl
  • 76-C语言-输入班级学生的姓名和三科成绩,按总分排名

    问题 输入50分学生的姓名和三科成绩 按降序输出名字和总分 成绩相同的并列排名 思路 因为要学生排名 且一个学生有姓名 成绩 以及总分 所以弄一个学生的结构体 有多少学生 就输入该结构体的数组 一个for循环 给每个学生赋值 排序 降序 用
  • 【c++中的细节问题】关于typedef的详细用法

    请见 C C typedef用法详解 真的很详细 superhoy的专栏 CSDN博客 c typedef
  • 3.Linux文件管理和 I/O 重定向

    Linux文件管理和 I O 重定向 Linux文件系统目录结构 常见目录说明 根目录 一般根目录下只存放目录 在Linux下有且只有一个根目录 所有的东西都是从这里开始 当你在终端里输入 home 你其实是在告诉电脑 先从 根目录 开始
  • 利用多线程批Put方式压测HBase

    利用多线程批Put方式压测HBase 背景 在正式上生产之前 一定要对集群的组件做稳定性和性能压测 这是常识 这种压测当然不能指望那些只会鼠标点几下网页并经常指责前端页面样式有bug的测试去做 这种稍微有点技术含量的事情 她们其实有心无力
  • Mybatis中的#号与$符号的区别

    1 变量名 可以进行预编译 类型匹配等操作 2 变量名 会转化为jdbc的类型 3 变量名 不进行数据类型匹配 直接替换 4 方式能够很大程度防止sql注入 5 方式无法方式sql注入 6 方式一般用于传入数据库对象 例如传入表名 7 尽量
  • List取交集、并集、差集

    突然被面试官问到这样一个问题 List怎么取交集 我想了一会后说道双重循环 自己都觉得面试官想要的答案应该不是这个 效率太低了 后面问面试官答案 面试官告诉我可以将其中一个llist转成一个map或set 再遍历第二个list的时候判断 m
  • Vision Transformer

    A N I MAGE IS W ORTH 16 X 16 W ORDS TRANSFORMERS FOR I MAGE R ECOGNITION AT S CALE 原文链接地址 https arxiv org abs 2010 11929