美文网首页
关于ViT,人人都该知道的三件事

关于ViT,人人都该知道的三件事

作者: Valar_Morghulis | 来源:发表于2022-04-25 11:55 被阅读0次

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

    从作者实验可以看出,这种并行化设计,可能只对很深的ViT有效。当ViT只有12层时,这种设计可能对性能有害。


    Three things everyone should know about Vision Transformers

    https://arxiv.org/abs/2203.09795

    摘要:Transformer架构在自然语言处理方面取得初步成功后,在计算机视觉领域迅速获得了发展,为图像分类、检测、分割和视频分析等任务提供了最先进的结果。我们提供了三个基于简单且易于实现的视觉Transformer变体的见解。(1)视觉Transforme 通常按顺序处理的残差层,在一定程度上可以并行高效处理,而不会显著影响精度。(2) 微调注意层的权重足以使视觉Transformer适应更高的分辨率和其他分类任务。这节省了计算量,减少了微调时的峰值内存消耗,并允许跨任务共享大部分权重。(3) 添加基于MLP的图块预处理层改进了基于图块屏蔽的类Bert自监督训练。我们使用ImageNet-1k数据集评估这些设计选择的影响,并在ImageNet-v2测试集上确认我们的发现。迁移性能是通过六个较小的数据集来衡量的。

    1 导言

    自从引入Transformer架构[66]以来,它已经成为自然语言处理任务中的主导架构,取代了以前流行的循环架构。视觉Transformer[16](ViT)是一种简单的Transformer,适用于计算机视觉任务,如图像分类:输入图像被划分为非重叠的图块,在线性图块投影层之后,这些图块被馈送到普通的Transformer结构。与从卷积层构建的网络不同,Transformer在一层中提供并行处理和完整的视野。与其他基于注意力的架构(参见[4,7])一样,Transformer最近对计算机视觉架构的设计产生了重大影响。计算机视觉中的许多现代架构直接继承了这项工作中的部分设计,或者至少受到了Transformer最近发现的启发[7,16,62]。因此,从目标检测和分割[18]和视频分析[1,19]到图像生成[9,31],不同的计算机视觉任务都有了显著的改进。

    虽然视觉Transformer已经取得了相当大的进步,但对其设计和训练程序的优化只进行了有限的探索。在这篇论文中,我们提供了三个关于训练视觉Transformer的见解。

    (1)并行视觉Transformer。

    有几部著作[20,75]提倡人们对浅层网络感兴趣,其原因从较低的延迟到更容易的优化。我们提出了一个非常简单的方法来实现这一点。让我们用MHSA表示多头自注意残差块,用FFN表示残差前馈网络。从下面描述的顺序体系结构开始,我们通过成对地重新组织相同的块来并行化该体系结构,这可以针对任何不同数量的并行块进行(which can be done for any different numbers of parallel blocks)。这产生了一个具有相同数量的参数和计算的体系结构,同时更宽、更浅。这种设计允许更多的并行处理,简化优化,并根据实现减少延迟。

    在第3节中,我们通过实验分析了这种并行结构的性能,尤其是与顺序基线相比,它如何影响精度。如果足够深,并行版本将成为一个引人注目的选择。在某些情况下,我们观察到由于更简单的优化,精度有所提高。关于GPU上的延迟,我们观察到小批量情况下的延迟减少。(注释1:我们在文献中没有发现任何分析ViT宽度与深度对常见GPU和CPU影响的论文。)

    (2)微调注意力是你所需要的。

    通常的做法是在对网络进行微调之前对其进行预训练。这是支持迁移学习的标准方法,当目标任务的图像数量有限[50,73]时,可以利用像ImageNet[56]这样的大型通用数据集。另一个背景是改变分辨率。通常情况下,训练的分辨率低于推理时使用的分辨率。这节省了资源,但另外,它还减少了数据增加导致的训练图像和测试图像之间的尺度差异[65]。在第4节中,我们展示了在ViT的情况下,仅微调多头注意层和冻结前馈网络(FFN)层基本上就足够了。这节省了计算量,并减少了训练期间的内存峰值。重要的是,这允许控制参数数量的相同FFN权重用于多个任务。当对不同的图像分辨率进行微调时,对精度的影响在统计学上并不显著。对于大型模型,在考虑迁移到其他分类任务时,对精度的影响是有限的。

    (3)基于屏蔽自监督学习的图块预处理。

    Transformer的第一层有一个相对局部的跨度[11],这表明它们主要表现为卷积。最近的一些混合结构[18,21,23]使用卷积干对输入图像进行预处理,以提高准确性和训练稳定性[71]。然而,使用卷积对图像进行预处理与最近成功的基于屏蔽的自监督学习方法(如BeiT[3]或MAE[24])在先验上是不兼容的。卷积会将信息传播到各个图块上,从而妨碍了屏蔽预测任务。

    在第5节中,我们提出了一种简单的方法,通过在图块预处理后应用屏蔽,使基于屏蔽的自监督训练方法适应图块预处理。然而,我们的分析表明,现有的卷积柄与BeiT结合时并不有效。为了解决这个问题,我们引入了一个分层MLP(hMLP)系统,它将MLP层和图块聚合操作交织在一起,并禁止图块之间的任何通信。我们的实验表明,这种选择是有效的,能够利用BeiT自监督预训练和图块预处理的优点。此外,我们的HMLP柄也是有效的VIT在监督的情况下:它是与我们的比较最好的卷积柄。

    2 背景

    在本节中,我们将讨论相关工作的共同点和我们的不同贡献。我们还介绍了本研究中考虑的基线ViT模型,以及它们是如何训练的。在接下来的部分中,我们将讨论与我们的三个具体贡献中的每一个更具体的相关工作。

    2.1 相关工作

    基于注意力的模型,尤其是Transformer[66],已被迅速应用于处理文本[6,12,40,52,66]、语音[33,44]的神经网络,甚至用于更复杂的任务,如函数积分或求解微分方程[37]。在计算机视觉领域,DeTR[7]和视觉Transformer[16](ViT)在短时间内对架构设计产生了深远的影响。自ViT以来引入的大多数架构可被视为Transformer与卷积神经网络的某种形式的杂交,如分层Transformer[19,21,41,67]所示,或相反,由卷积神经网络与受ViT启发的设计元素[42,63]所示,甚至多层感知器采用的设计灵感来自Transformer[14,39,47,60,61]。

    在我们的案例中,我们基于Dosovitskiy的基本ViT设计。它的设计由一个小的超参数空间控制,因此不像最近的一些后续架构那样精心设计。通过适当的训练程序[58,62,69],它实现了有趣的性能/复杂性权衡。它也是多功能的:它可以有效地与分层检测或分割框架相结合[18]。重要的是,尽管内置的先验知识有限,但当与自监督学习相结合时,无论是对比方法[8,10],还是基于重建的技术,如BeiT[3]或其他形式的屏蔽自动编码器[15,17,24,68,72,76]都显示出巨大的潜力。

    2.2 实验设置

    ViT模型。

    我们考虑最初由DooVoviksii等人提出的vanilla ViT,以及Touvon等人提出的较小的VIT模型〔62〕。因此,我们使用基于所谓的类令牌的初始池化方法(Therefore we use the initial pooling method that is based on a so-called class token.)。我们只考虑Transformer运行在16×16块。减小此图块大小可以改善结果,但会显著增加模型的复杂性。

    训练程序。

    为了防止过度适配,我们采用了现有的训练设置,即Wightman等人[69]的A2程序。它使用了二进制交叉熵损失,并修复了大多数超参数的设置。Wightman等人的A2程序最初是为训练ResNet-50模型而设计的,在将其用于VIT时需要进行一些修改,以获得强大的性能并确保足够的稳定性:

    • 与ResNet-50相比,学习率应该降低。我们将其设置为lr=4.10−3适用于ViT Ti和ViT-S,至lr=3.10−3适用于ViT-B和ViT L。

    • 随机深度下降率sd:根据Touvron等人[64]的研究,我们根据模型对其进行了调整。它不用于ViT Ti。我们将Vit-S的sd=0.05,Vit-B的sd=0.1,Vit-L的sd=0.4

    我们观察到,在训练大型模型时,LayerScale[64]显著提高了性能,在这种情况下,更长时间的训练也是有益的。因此,除了我们的主要基线(训练300个epoch,不使用LayerScale),在DeiT训练和Wightman的A2程序上(69),我们考虑另一个训练400个epoch 与LayerScale(LS)。

    评价

    除非另有规定,我们在ImageNet-1k数据集[56]上训练我们的模型,并在其验证集上评估top-1精度。所有实验均以种子0进行。由于我们已经调整了少量的超参数,并且除了随机深度之外,我们在不同的模型中共享这些参数,所以我们不希望出现太多的过度拟合。尽管如此,我们还是在ImageNet-V2[55](匹配频率)上使用相同的度量来评估我们的模型,它提供了一个单独的测试集,以提供对结果的补充视图。

    2.3 基线

    我们在表1中报告了基线结果。我们做了很少的修改,我们的训练程序优于现有的监督模型的训练,我们认为,见附录A(表8)。请注意,我们所有的模型都使用16×16的图块大小,如Dosovitskiy等人[16]所述。除非另有说明,我们的实验是用224×224的图像进行的。

    编者注:这个基线应该不包含3件事中的任何一件

    3    深度与宽度:平行ViT

    神经结构设计中经常出现的争论是如何平衡宽度和深度。Imagenet[35,57]上第一个成功的神经网络不是很深,例如,在2014年的标准中,22层GoogleNet[59]被认为是很深的。这一点在resnet[25,26]中发生了改变,对于resnet[25,26],由于存在残余连接,因此越深,对优化的阻碍就越小。引入后,一些研究人员研究了深度与宽度交易的替代选择[13,30,75],比如宽残差网络[75]。

    最近,人们对更广泛的体系结构重新产生了兴趣,引起了人们的关注[20,38]。例如,非深度网络[20]提出了一种具有多个并行分支的架构,其设计更为复杂。在我们的工作中,我们的目标是提出一种更简单、更灵活的替代方案,以更直接的方式建立在常规ViT的基础上。

    3.1 初步讨论ViT的宽度与深度

    Dosovitskiy等人[16]的ViT架构由三个数量参数化:宽度(即工作维度d)、深度和头部数量。我们不讨论后者。增加深度或宽度会增加模型的容量,通常还会提高其精度。对于我们在表1[16,62]中报告的最常见的ViT模型,宽度和高度一起缩放。下面,我们将讨论宽度与深度的不同利弊。

    参数化和优化。

    网络越深,层的组成性(compositionality)越好。一旦通过残差连接解决了优化问题,这就是ResNet的决定性优势之一。然而,太多的深度阻碍了优化,即使存在残差连接。针对ViTs[64]提出了一些解决方案,表明当使用改进的优化程序进行训练时,Transformer受益于深度。

    可分性。

    在图像分类中,空间特征最终被投影[35]或汇集[25]到高维潜在向量中,该向量随后被馈送到线性分类器。这个向量的维数应该足够高,以便这些类是线性可分的。因此,对于涉及多个类的任务,它通常更大。例如,在ResNet-50中,当应用于CIFAR时,它的维度为512,但对于ImageNet,它的维度为2048。在ViT中,宽度与每个图块的工作尺寸相同,通常比ResNet小,可能会限制分离能力。此外,潜在向量的维数越大,越倾向于过度拟合。在这方面,容量和过度拟合之间的折衷是微妙的,取决于训练集的大小[58]。

    复杂性

    在ViT中,不同的复杂性度量受宽度和深度的影响不同。忽略图块预处理和最终分类层,它们对复杂性的影响可以忽略不计,那么我们有:

    参数量与深度成线性正比,是宽度的二次函数。

    计算量(由FLOPs确定)与深度成近似线性正比,与宽度的平方成正比。

    • 当宽度固定、深度增加时,推理时的峰值内存是恒定的,但它是宽度的二次函数。

    • 宽结构的延迟在理论上更好,因为它们更并行,但实际的加速取决于实现和硬件。

    3.2 并联ViT

    我们根据引言中提出的方案,通过分组来提出并分析平坦视觉Transformer。让我们考虑由函数\text{mhsa}_l (\cdot)\text{ffn}_l(\cdot)\text{mhsa}_{l+1}(\cdot)\text{ffn}_{l+1}(\cdot)定义的Transformer块序列。而不是像通常的实现那样,按四个步骤依次处理输入x

    x’_{l+1}  = x_l + \text{mhsa}_l(x_l)x_{l+1}  =  x’_{l+1} + \text{ffn}_l(x’_{l+1})

    x’_{l+2}  = x_{l+1} + \text{mhsa}_{l+1}(x_{l+1})x_{l+2}  =  x’_{l+2} + \text{ffn}_{l+1}(x’_{l+2})    (1)

    我们用两个并行操作来代替这个组合:

    x_{l+1}  = x_l+ \text{mhsa}_{l,1}(x_l) + \text{mhsa}_{l,2}(x_l)

    x_{l+2}  =x_{l+1} + \text{ffn}_{l,1}(x_{l+1})  + \text{ffn}_{l,2}(x_{l+1})    (2)

    对于给定数量的MHSA和FFN块,这将层数减半。相反,并行处理的数量是两倍。这种并行化背后的直觉如下:随着网络的深入,任何残差块r(\cdot)的贡献,无论是\text{mhsa}(\cdot)还是\text{ffn}(\cdot),相对于整体功能而言都变得越来越小。因此,近似值\forall r,r变得越来越令人满意,并且很容易检查,如果这个近似是真的,等式(1)和(2)是等价的。

    我们的策略不同于采用更大工作维度的Transformer,这会导致精度、参数、内存和触发器之间的不同权衡,正如我们在实验中讨论的那样。与增加工作维度(如上所述,它以二次方式增加复杂性)不同,我们的修改在参数和计算方面是中性(neutral)的。

    根据我们是否有效地并行处理,推理时的峰值内存使用量和延迟会被修改。请注意,我们可以选择并行处理任意数量的块,而不仅仅是两个;如果我们在每一层中处理一个块,我们就会回到顺序设计。

    3.3实验

    符号

    我们采用之前工作[16,62]的标准命名约定,使用后缀Ti/S/B/L来识别模型的工作维度,即表1中的“宽度”列。我们附加深度N以指示层对数的变化(MHSA,FFN)[64]。例如,ViT-B24的宽度与ViT-B12相同,但深度是后者的两倍,即24对MHSA和FFN层,而不是12对。对于我们的并行模型,我们指定了并行分支的深度和数量:ViT-B12×2的残差模块数量是ViT-B12的两倍。共包括12×2=24对MHSA和FFN层。因此,其复杂性与ViT-B24模型(又称ViT-B24×1)相同。

    顺序和并行VIT的比较。

    在图1中,我们比较了具有固定复杂度的顺序和并行模型的性能。我们固定的块的总数,即对MHSA和FFN层,这决定了数量的参数和FLOPs器,我们考虑不同的分支可能导致相同的总数块。例如,36可以作为顺序ViT 36×1或并行ViT 18×2、12×3或9×4获得。

    我们观察到,在并行和顺序模型中,对于所有测试的模型容量,两个并行分支的性能最好。对于ViT-S60,S20×3和S30×2的性能相当,但通常使用两个以上的并行分支在准确性方面并不有利,我们不再进一步讨论它们。请注意,图1将ViT模型与相对较多的块(36和60)进行了比较。这种情况下,序列模型由于其深度而相对难以优化。具有两个分支的并行模型更容易训练,同时足够深,可以受益于层的组成性。

    在图2中,我们考虑只有24对(MHSA,FFN)和不同宽度的模型。在这里,我们观察到最小的模型ViT-Ti和ViT-S在其顺序版本中更好。这是因为可以轻松优化多达24层。B24×1和B12×2的性能相当。相比之下,ViT-L12×2比其顺序对应物更强,这更难优化,即使我们对这种尺寸使用LS;在没有LS的情况下,它在300个epoch 的表现为83%。

    在图3中,我们将顺序和并行的性能作为ViT-S和ViT-B的块数的函数进行了比较。我们的观察结果与我们之前的发现一致:并行版本对更难优化的更深层次和更高容量的模型更有帮助;我们的并行化方案缓解了这个问题。

    优化的影响。

    在表2中,我们提供了LayerScale[64]的结果,这有助于优化最大的模型。它改善了顺序和并行模型的性能,其结果基本上接近于标准。因此,对于足够大且经过适当优化的模型,顺序和并行VIT大致相当。

    增加模块数量或工作维度?

    表3提供了不同ViT架构之间的比较:顺序架构、并行架构和工作维度更大的架构。我们大致调整了参数和触发器方面的复杂性,但这意味着工作维度更大的ViT模型在典型实现中具有更高的峰值内存使用率。在这两种测试设置中,顺序和并行模型比工作维度更大的模型产生更高的精度。序列和并行模型与36个区块具有可比性。由于顺序模型的深度增加,在48个区块的情况下,并行模型更好。

    延迟在商品V100 GPU上,我们观察到每个样本处理的速度显著加快,对于小批量和相对较小的型号,也有一些收益,见表4。这种比较基于我们的并行体系结构的一个简单实现,由于缺乏特定的CUDA内核,这是次优的。总体而言,我们的测量结果表明,需要特定的硬件或内核才能在吞吐量方面获得令人信服的好处。

    4 微调注意力是您所需要的

    在本节中,我们将重点介绍微调ViT模型,以使模型适应更大的图像分辨率,或解决不同的下游分类任务。特别是,我们考虑一种方法,我们只微调对应于MHSA层的权重,见图4。我们从预测精度和处理复杂度、峰值内存使用和参数计数方面分析了影响。正如我们将看到的,我们的选择明显优于其他选择,例如微调参数重FFN层。

    通常以较低的分辨率训练网络,并以较高的目标分辨率对其进行微调。这在训练时节省了大量计算,并且通常还提高了网络在目标分辨率下的精度[65]。这是因为它减少了在火车上看到的图像和在测试时看到的图像之间的差异,这是由常见的数据增加引起的。微调也是一般基础模型和迁移学习本身的范例(22, 50, 73)。最近的一项工作探索了使用各种类型的适配器模块和少量特定于任务的参数来适应预先训练的模型[5,29,45,46,51,54]。相反,在我们的工作中,我们专注于微调香草ViT 。

    在不同分辨率下进行微调。

    在表5中,我们报告了预训练为224×224的模型在384×384分辨率下微调ViT-S、ViT-B和ViT-L的结果。仅微调MHSA权重可提供与ImageNet val和ImageNet-V2上的完全微调相比在标准偏差(±0.1)范围内的结果。当微调FFN层时,情况并非如此,而这些层包含的参数数量是MHSA的两倍。注意,我们预先训练的模型已经训练了足够长的时间(400个epoch ),以确保收敛。

    当以更高的分辨率进行微调而不是进行完全微调时,使用这种方法只有好处,因为我们可以在参数、延迟和峰值内存使用方面免费获得大量节约,见图4(右面板)。首先,微调阶段需要在GPU上减少10%的内存,这在高分辨率微调环境下尤其有趣,因为更高的图像需要更多内存。训练速度也提高了10%,因为计算的梯度更少。最后,注意力权重大约相当于权重的三分之一。因此,如果一个人想要使用多个为不同的输入分辨率进行微调的模型,我们可以为每个额外的模型节省66%的存储空间。

    对不同的数据集进行微调。

    现在,我们通过微调将在ImageNet上预先训练的VIT迁移到不同的下游分类任务时,评估我们的方法。我们考虑公共基准,其特征和参考文献在附录B中给出。

    在表6中,我们报告了不同微调策略的性能。在这里,我们进行不同的观察。首先,对于最小的数据集,即CARS和Flower,只微调MHSA层是一个很好的策略。它甚至比完全调谐更好。我们的解释是,限制权重的数量具有规则化效果。结论与最大的数据集更为复杂,尤其是iNaturalist,我们观察到完全微调与我们针对ViT-S的解决方案之间存在显著差距。这是可以预料的:在这种情况下,有更多的图像可供学习,还有在微调阶段之前未见过的新类。将微调限制在MHSA层只允许修改相对较少的参数。FFN层的权重增加了两倍,因此效果更好。这种限制往往会随着更大的ViT-L模型而消失,对于这些模型,MHSA的容量要大得多,因此足够了。因此,我们的策略在基础模型的典型用例中是有趣的,它是对各种下游任务进行精细调整的非常大的模型。

    5 Bert自监督学习的图块预处理

    最初的ViT论文[16]认为在网络设计中包含卷积而不是图块投影。最近的几篇论文[21,23,67,70,71,74]提倡这种选择,在体系结构中包括一个小型预处理网络,而不是一个简单的图块投影。大多数被考虑的预处理子网都是基于卷积的,通常被称为“卷积干”。还考虑了小型Transformer[74]。

    虽然开发这些图块预处理设计是为了提高准确性和/或稳定性,但它们的设计和灵活性仍存在一些问题。首先,目前尚不清楚哪一种与普通Transformer结合使用时最有效。第二,据我们所知,没有任何工作能够解决它们与基于图块屏蔽的自监督方法的兼容性问题,尤其是在类似于BERT的自动编码器(如BeiT[3])上。在本节中,我们将尝试回答这些问题。我们在准确性方面比较了几种现有的预处理设计,并使用BeiT作者发布的代码库,结合BeiT对其进行计算和评估。我们所做的唯一改变是在ImageNet-1k上训练标记器,而不是使用BeiT中使用的DALL-E[53]中的标记器,该标记器在由2.5亿张图像组成的专有数据集上训练。通过这种方式,预训练仅基于ImageNet-1k。这允许重复性实验和公平比较,并给出同等结果[49]。由于现有的卷积设计与屏蔽相结合并不令人满意,我们首先介绍我们自己的设计。

    我们的分层MLP(hMLP)系统如图5所示。所有图块都独立处理,线性层与非线性和重整化交错。其设计以我们的动机为指导,即在预处理阶段消除不同16×16图块之间的任何相互作用。即使我们屏蔽了一个图块,它也不会像现有设计那样,产生任何因与其他图块重叠的卷积而产生的瑕疵。因此,通过我们的hMLP解决方案,我们可以在图块处理阶段之前或之后等效地屏蔽图块。请注意,虽然图块是独立处理的,但我们的hMLP stem相当于卷积stem,其中卷积内核的大小及其步长是匹配的,在实践中,我们使用卷积层实现它,请参见附录C中的代码。

    简而言之,我们从小的2×2图块开始,逐渐增加它们的大小,直到它们达到16×16。在图5中,图块大小的每一次增加都用“patchify”来表示,这符合像Swin Transformers这样的分层Transformer设计的精神[41]。在我们应用GELU非线性之前,用线性投影对图块进行投影并进行归一化[27]。对于标准化,我们考虑和评估两种选择:要么使用批处理归一化(32)(BN)或层归一化(LN)[2 ]。虽然BN提供了更好的折衷方案,但LN在用于小批量时很有意义:它甚至可以很好地用于每个批次的单个图像,就像在目标检测中经常使用的那样。

    与文献中已有的STEM相比,我们的hMLP设计并没有显著增加计算需求。例如,我们设计的ViT-B需要17.73 GFLOPS。与使用通常的线性投影杆相比,这增加了不到1%的计算量。

    监督学习中的Stem比较。

    在表7中,我们对不同的阀杆设计进行了比较。我们从网上提供的文献中选择了几个原型设计。除了我们的hMLP stem,我们还考虑了标准线性投影的一些变化,以评估非线性和归一化的影响。对于标准的线性阀杆,我们还考虑了VIT-B13,包括额外的对(MHSA,FFN),以允许与其他具有更多触发器的杆的更直接的比较。在这种比较中,最有效的现有设计是LeViT[21]的设计。考虑到标准偏差,相对于线性基线的改善是显著的,即使考虑到额外的ViT-B13层,以与类似数量的失败进行比较。我们的hMLP stem获得了相当的性能,但复杂度较低,并且16×16图块之间没有任何交互作用。

    BeiT训练的结果。

    我们在表7最右边的一栏中报告了在ImageNetval上微调的BeiT结果。我们将BeiT[3]的代码与他们的训练过程结合使用,其中包括分层和相对详细的微调过程。可以看出,与线性基线相比,现有的柄并没有提供任何改进,同时增加了计算。相比之下,我们的设计是有效的,与基线相比,top1精度提高了+0.3/+0.4,考虑到测量不确定性,这一点非常重要。图6清楚地显示了hMLP在屏蔽自监督学习环境中的兴趣,其中我们绘制了在有监督情况下与BeiT情况下,我们的方法在5个种子上的平均性能。

    6结论

    在本文中,我们研究了三个与视觉Transformer相关的不同主题。首先,我们研究了一种简单但有效的并行方法,展示了一种在不显著增加工作维度的情况下增加容量的可行替代方法。这个简单的并行设计原理是否可以应用于其他体系结构是一个有待于未来工作的探索。其次,我们考虑了不同的微调策略,并证明在分辨率微调的情况下,微调自注意层是足够的。这在迁移到其他下游分类任务时也很有趣,尤其是在微调大型模型或/或迁移到具有少量训练图像的数据集时。最后,我们介绍了一个简单的图块预处理stem,它跨多个线性层独立处理图块,这些线性层与非线性和图块聚合交织在一起。当与基于掩码的自监督学习(如BeiT)相结合时,它尤其有用。确认我们感谢Francisco Massa就优化块并行化实现进行的宝贵讨论和见解

    相关文章

      网友评论

          本文标题:关于ViT,人人都该知道的三件事

          本文链接:https://www.haomeiwen.com/subject/dpifertx.html