没有合适的资源?快使用搜索试试~ 我知道了~
32L深入了解Image TransformersHugoTouvron MatthieuCord Ale xandreSablayrolles GabrielSynnaev e Herve'Je'gou摘要Transformers最近被用于大规模图像分类,取得了高分,动摇了卷积神经网络的长期优势然而,目前对视觉变换器的优化研究很少。在这项工作中,我们建立和优化更深层次的跨-视觉转换器[19]实例化了一种特定形式的残余架构:在将输入图像转换为一组x0向量后,网络将自注意层(SA)与前馈网络(FFN)交替,如下所示x′=xl+ SA(η(xl))xl+ l=x’+FFN(η(x’))(2)L l前网络的图像分类。 我们尤其研究这种专用变压器的架构和优化的相互作用。我们做了两个架构的变化,显着提高深度变压器的准确性这使得我们生成的模型的性能不会随着深度的增加而提前饱和,例如,当在没有外部数据的情况下进行训练时,我们在Imagenet上获得了86.5%的top-1准确率,因此,我们通过更少的浮点运算和参数达到了当前的技术水平。我们的最佳模型在没有额外训练数据的情况下,通过重新评估标签和Imagenet-V2 /匹配频率,在Imagenet上建立了最新的技术水平。我们分享我们的代码和模型1.1. 介绍自ResNet出现以来,残差架构在计算机视觉中非常突出它们被定义为以下形式xl+ l=gl(xl)+Rl(xl),(1)其中函数gl和Rl定义网络如何更新层l处的输入xl。 函数gl通常是恒等的,而Rl是网络的主要构建块:文献中的许多变体在如何构造或参数化该残余分支R1方面本质上不同[51,63,73]。剩余体系结构突出了优化和体系结构设计之间的强大相互作用。正如Heet al所指出的那样。[27],残差网络不提供更好的表示能力。他们取得更好的表现,因为他们更容易训练:在他们的开创性工作之后不久,He等人讨论了[28]具有向前和向后的清晰路径的重要性,并主张将gl设置为恒等函数。1https://github.com/facebookresearch/deit其中η是LayerNorm算子[1]。该定义遵循Vaswani等人的原始架构。[67],除了LayerNorm在残差分支中的块(预范数)之前应用,如He等人所提倡的。[28]第10段。Child等人[13]采用LayerNorm的这种选择来训练用于各种介质的更深的变压器,包括用于图像生成,其中他们训练具有48层的变压器如何对残差架构的残差块进行归一化、加权或初始化,对于卷积神经网络[7,8,28,76]和应用于NLP或语音任务的变换器[2,34,76]都受到了极大的关注在第2节中,我们将重新讨论这个主题,用于解决图像分类问题的变压器架构。与我们的方法密切相关的例子包括Fixup [76],T-[34],ReZero [2]和SkipInit [16]。在我们分析了不同初始化、优化和架构设计之间的相互作用之后,我们提出了一种方法,与当前的图像转换器方法相比,该方法可以有效地提高更深层次架构的训练形式上,我们在每个残差块的输出上添加一个可学习的对角矩阵,初始化为接近(但不是)0。在每个残差块之后添加这个简单的层我们将这种方法称为LayerScale。第3节介绍了我们的第二个贡献,即类注意力层,我们在图2中呈现。它类似于编码器/解码 器 架 构 , 其 中 我 们 明 确 地 将 涉 及 自 注 意 力 的Transformer层从类别注意力层中分离出来,所述类别注意力层专门用于将处理后的补丁的内容提取到单个向量中,以便可以将其馈送到线性分类器。这种明确的分离避免了在处理类嵌入的同时引导注意力过程的矛盾目标我们将这种新架构称为CaiT(图像变换器中的类注意力)。33Ll我LLL11,1Ll,dl在实验部分4中,我们实证地展示了我们方法的有效性和互补性:• LayerScale显著促进了收敛,并提高了图像变换器在更大深度处的精度。它在训练时向网络添加了数 千个 参数 ( 相对 于权 重 的总 数可 以 忽略 不计)。• 我们的架构与特定的类的注意力提供了一个更有效的处理类嵌入。• 我 们 最 好 的 CaiT 模 型 在 Imagenet-Real [6] 和Imagenet V2匹配频率[53]上建立了最新的技术水平,无需额外的训练数据。在ImageNet 1 k-val [55]上,我们的模型与最先进的模型(86.5%)相当,同时需要更少的FLOP(329 B vs 377 B),并且具有比最佳竞争模型(356 M vs 438 M)更少的参数。• 我们在迁移学习方面也取得了有竞争力的成绩,请参阅补充材料中的C节。在第6节结束之前,我们将讨论本文和第5节中的相关工作2. 具有LayerScale的更深图像转换器我们的目标是增加优化的稳定性时,训练变压器的图像分类来自原始架构Vaswani等人。[67],尤其是当我们增加它们的深度时。我们认为更具体的视觉Transformer(ViT)架构提出的Dosovitskiy等人。[19]作为参考架构,并采用Touvron等人的数据高效图像Transformer(DeiT)优化过程。[64]第一章。在这两项工作中,没有证据表明仅在Imagenet上训练时深度可以带来任何好处:更深的ViT体系结构具有更低的性能,而DeiT仅考虑具有12个层块的变换器。第4节将确认DeiT不能有效地训练更深层次的模型。图1描述了我们比较以促进优化的主要变体。它们涵盖了文献中的最新选择:如在引言中所讨论的,该体系结构(a)ViT和DeiT的分解是预范数架构[19,64],其中层归一化η发生在残差分支的开始处。注意,Vaswani等人的原始架构。[67]在块之后应用归一化,但在我们的实验中,DeiT训练不会收敛(一)FFN或SAFFN或SA(b)第(1)款FFN或SA(c)第(1)款图1. Transformer块的标准化策略。(a)ViT图像分类器采用像Child等人的预归一化。[13]第10段。(b)ReZero/Skipinit和Fixup移除η归一化和预热(即,在早期训练阶段降低的学习率),并分别添加初始化为α=0和α=1的可学习标量。修正还引入了偏置和修改线性层的初始化。由于这些方法不收敛于深度视觉变换器,(c)我们通过重新引入预范数η和预热来调整它们。我们的主要建议(d)引入了每通道加权(即,与对角矩阵diag(λ1,λ 2)相乘)。. .,λ d),其中我们将每个权重初始化为小值λi= ε。ReZero简单地将该参数初始化为α=0。Fixup初始化该参数α=1并进行其他修改:它采用不同的策略用于块权重的初始化,并将几个权重添加到参数化。在我们的实验中,这些方法即使对超参数进行一些调整也不会收敛。我们的经验观察是,删除预热和层规范化是使训练在修复和T修复中不稳定的原因因此,我们重新引入这两个成分,以便Fixup和T-Fixup与DeiT模型收敛,见图1(c)。正如我们在实验部分看到的,这些修正的修正修正修正和T-Fixup有助于收敛。主要的影响因素是可学习的αl,当初始化为一个小值时,当我们增加深度时,它确实有助于收敛。我们的建议LayerScale是由每个残差块产生的向量的每通道乘法,而不是单个标量,参见图1(d)。我们的目标是将与相同输出通道相关联的权重的更新分组。形式上,LayerScale是在每个残差块的输出上乘以对角矩阵换句话说,我们修改Eqn。2作为x′= xl+ diag(λl,1,. . . ,λl,d)× SA(η(xl))后标准化。[76][77][78][79]xl+1=x′+ diag(λ′ ,的。. . ,λ′)× FFN(η(x′)),(4)能够对残差块的输出进行标量加权α1其中参数λl,i和λ′是可学习的权重。同时去除预归一化和预热,参见图1(b)。这相当于修改Eqn. 2作为x′=xl+αlSA(xl)xl+1= x′+ α′FFN(x′)。(三)FFN或SA(d)其他事项34对角线值都被初始化为一个固定的小值ε:我们将其设置为ε=0。1直到深度18,对于24,ε= 10−5,对于更深的网络,ε = 10−6。该公式类似于其他归一化策略ActNorm [37]或LayerNorm,但是在残差块的输出上执行。然而,我们寻求一个35SAFFNCLSFFNFFNFFNSAFFNCLS不不同的效果:ActNorm是一个数据依赖的初始化,它校 准 激 活 , 使 它 们 具 有 零 均 值 和 单 位 方 差 , 如batchnorm [35]。相比之下,我们用小的值初始化对角线,使得残余分支对由Transformer实现的函数的初始贡献很小。在这方面,我们的动机更接近ReZero [2],SkipNorm [16],Fixup [76]和TFixup [34]:我们开始训练更接近身份函数,并让网络在训练过程中逐步整合其他参数。然而,LayerScale在优化中提供了更多的多样性,而不是像ReZe- ro/SkipNorm,Fixup和T-Fixup中那样通过单个可学习标量调整整个层。正如我们将展示的经验,提供每个通道的自由是LayerScale相对于现有方法的决定性优势。类SAFFNSAFFNSAFFN类SAFFNSAFFNSAFFNSA类CAFFNCA形式上,添加这些权重不会改变架构的表达能力,因为它们可以集成到SA和FFN层的先前矩阵中。3. 专门化图层以吸引课堂注意力在本节中,我们将介绍CaiT架构,如图2(右)所示。该设计旨在规避ViT架构的问题之一:要求学习的权重优化两个矛盾的目标:(1) 引导块之间的自我注意,同时(2)总结对线性分类器有用的信息。我们的建议是明确区分这两个阶段。晚些时候的课。作为实现我们的建议的中间步骤,我们稍后在Transformer中插入所谓的类令牌(由CLS表示)。这种选择消除了Transformer的第一层上的差异,因此完全用于仅在贴片之间执行自注意。作为不受矛盾目标影响的基线,我们还考虑了变压器输出上所有补丁的平均池化,如卷积架构中通常采用的那样。架构我们的CaiT网络由两个不同的处理阶段组成,如图2所示:1. 自我注意阶段与ViT变换器相同,但没有类嵌入(CLS)。2. 类注意阶段是一组层,其将补丁嵌入的集合编译成随后被馈送到线性分类器的类嵌入CLS该类注意依次交替我们称为多头类注意(CA)的层和 FFN 层 。 在 这 个 阶 段 , 只 更 新 类 嵌 入 。 与Transformer输入端的ViT和DeiT中馈送的向量类似,它是一个可学习的向量。主要区别在于,在我们的图2.在ViT Transformer(左)中,类嵌入(CLS)与补丁嵌入一起插入。这种选择是有害的,因为相同的权重用于两种不同的目的:帮助注意过程,以及准备要馈送到分类器的向量。我们把这个问题的证据表明,插入CLS后,提高性能(中)。在CaiT架构(右)中,我们进一步提出在插入CLS时冻结补丁嵌入以节省计算,使得网络的最后部分(通常为2层)完全致力于总结要馈送到线性分类器的信息。在总结阶段的CA和FFN处理中,只有类嵌入被残差更新。多头班注意。CA层的作用是从经处理的补丁的集合中提取信息,其与SA层相同,除了其依赖于(i)嵌入X 类的类(在第一CA 中在CLS 处初始化)与(ii)其自身加上冻结补丁嵌入X 类 的 集 合 之 间 的 关注。考虑具有h个头部和p个贴片的网络,用d表示嵌入大小,用几个投影矩阵Wq,Wk,Wv,Wo∈Rd×d来参数化多头类注意,并给出了相应的偏差bq,bk,bv,bo∈Rd.有了这个符号,计算-CA残留块的去除如下进行我们首先将补丁嵌入(以矩阵形式)扩充为z=[xclas ,xpatches],这使得CA更接近SA层,因为我们保证至少存在对应于查询的密钥。然后我们进行预测:Q=WqX类+bq,(5)K=Wkz+bk,(6)V=Wvz + bv。(七)类注意力权重由下式给出体系结构,我们不从类emlog中复制信息在正向传递期间对贴片嵌入进行铺垫A=Softmax(Q.K/(d/h)CLSSA班级注意力self-attention36其中Q,KT∈Rh×1× p. 这个注意力涉及加权和A×V以产生残差输出向量out CA= W〇A V + b〇,(9),其又被添加到X类以用于后续处理。CA层从补丁嵌入到类嵌入。在初步实验中,我们凭经验观察到,第一CA和FFN给出了主要的提升,并且一组2个层块(2个CA和2个FFN)足以限制性能。在实验部分 中 , 我 们 用 12+2 表 示 由 12 块 SA+FFN 层 和 2 块CA+FFN层组成的复杂性层在类注意和自我注意阶段中包含相同数量的参数:CA在这方面与SA相同,并且我们对FFN使用相同的参数化。然而,这些层的处理要快得多:FFN仅处理矩阵-向量乘法。CA函数在存储器和计算方面也比SA更便宜,因为它计算类向量和补丁嵌入集合之间的注意力:Q∈Rd表示Q,KT∈Rh×1× p.相比之下,在“常规自我注意”层SA中,我们有Q ∈ Rp × d,因此Q. KT ∈ Rh × p × p。换句话说,补丁数量的初始二次复杂度在我们的额外CaiT层中变成线性的。4. 实验在本节中,我们报告与LayerScale和CaiT相关的实验结果请注意,我们在补充材料中提供了补充结果:在附录A中,我们提供了一些指导我们的体系结构设计和超参数优化的实验。迁移学习的实验在附录C中报告,我们在附录D中显示了其他可视化。实验设置。 我们的实现基于Timm库[69]。除非另有说明,否则对于此分析,与DeiT训练方案[64]相比,我们对超参数进行了最小的更改 我们所有的实验都是在ImageNet [55]上进行的,并且在它的两个变体上进行了评估:ImageNet-Real [6]纠正并提供更详细的注释,ImageNet-V2 [53](匹配频率)提供单独的测试集。4.1. 深入架构的初步分析我们首先对第2节中讨论的规范化方法进行实证研究在这个阶段,我们考虑表1. 改进ImageNet-1 k上的深度收敛。基线是DeiT-S。几种方法包括每层固定标量可学习权重α,如图1(c)所示。我们已经调整了Rezero,Fixup,T-Fixup,因为原始方法不收敛:我们已经重新引入了层归一化η和预热。我们已经针对所有方法,包括基线,调整了丢弃率dR(否则它不收敛)。列α=ε报告使用与LayerScale相同的值初始化标量时的性能深度基线标量α加权图层比例[dr]RezeroT型固定Fixupα=ε1279.9[0.05]78.379.480.780.480.51880.7[0.10]80.181.782.081.681.72481.0[0.20]80.881.582.381.182.43681.9[0.25]81.682.182.481.682.9Deit-Small模型在300个时期期间允许与Touvron等人报告的结果进行直接比较。[64]第一章。对于所有变体,我们将随机深度的下降率调整为网络的深度,参见附录A以获得更详细的讨论。这是在将深度增加到36层时实现收敛所必需的。我们测量Imagenet1k [17,55]分类数据集的性能作为深度的函数。4.1.1标准化策略的比较如第2节中所讨论的,当训练现成的DeiT时,Rezero、Fixup和T-Fixup不收敛。然而,如果我们重新引入LayerNorm2和预热,则Fixup和T-Fixup实现了一致性,甚至与基线DeiT相比改善了训练我们在表1中报告了Fixup和T-Fixup的这些“适应性”的结果改进后的方法能够收敛于更多的层而不会过早饱和。ReZero收敛,我们证明(列α=ε)最好将α初始化为一个小值而不是0,就像LayerScale中那样。Fixup和t-Fixup 在 相 对 较 低 数 量 的 块 ( 12 但 是 , 它 们 比LayerScale更复杂:它们根据层的类型采用不同的初始化规则,并且它们需要Transformer体系结构的更多改变。因此,我们在随后的实验中仅使用LayerScale,这要简单得多,因为它仅进行单次改变并且由单个超参数ε参数化。注意,所有方法对收敛都有有益的影响,并且它们倾向于减少对随机数的需求。因此,我们根据每个方法调整这些下降速率。图3提供了性能作为LayerScale的丢弃率dr的函数。 我们根据经验使用以下公式来设置2Bachlechner等。报告batchnorm是ReZero的补充,同时在变压器的情况下删除LayerNorm。3718阻挡24个分区36块48块块12120.5820.40.30.2800.10.0780.50.0 0.1 0.2 0.3 0.4随机深度系数0.40.3图3.我们使用DeiT-S和LayerScale测量了不同深度的随机深度对ImageNet的影响随机深度的丢弃率需要适应网络深度。0.20.10.00 10 20 300 10 20 30下降率。CaiT-S模型是从Deit-S:dr= min 0导出的。1×深度− 1,0。这种公式化的选择避免了交叉验证该参数和过拟合。我们将进一步提高(RESP。以一个更大的常数来减少它(分别地)。较小)工作尺寸d.4.1.2层次分析分支加权统计。 我们评估影响通过测量剩余激活的范数与主分支的动作的范数之间的比率 gl ( x)2/x2,计算了36层Transformer的Layerscale。结果如图4所示我们可以看到火车-使用Layerscale模型可以使该比率在各层之间更加均匀,并且似乎可以防止某些层对激活产生不成比例的影响。在将该经验观察转化为可证明的结论时,与先前的工作[2,76]类似,我们假设效益主要是对优化的影响,我们试图通过下面的对照实验来支持。再培训。LayerScale可以通过训练更深层次的模型来提高性能。在训练结束时,我们为每一层获得一组特定的缩放因子受彩票假设[23]的启发,出现的一个问题是重要的是拥有正确的缩放因子,还是在优化过程中包括这些可学习的权重换句话说,如果我们使用先前训练获得的缩放因子重新训练网络,下表根据经验回答了这个问题。深度→12182436图层比例80.581.782.482.9使用固定权重80.681.581.281.6在这个实验中,我们比较了ImageNet-1 k与DeiT-Sar的性能(前1验证准确率,%)。图4.残枝贡献分析(上:自注;底部:FFN),用于包括36层的网络,没有(红色)或具有(蓝色)Layerscale。针对Transformer的每一层和针对各种时期(较暗阴影对应于最后时期)示出残差的范数与主分支的范数之间的比率对于使用layerscale训练的模型,剩余分支的范数平均为主分支范数的20%。我们观察到,对于没有layerscale训练的模型,残差块的贡献波动更大,特别是对于一些较深的层,残差块的贡献更低。不同深度的建筑在其他方面都相同的情况下,在第一个实验中,我们使用LayerScale,即我们将可学习权重初始化为一个小值ε。在对照实验中,我们使用固定的缩放因子,初始化为LayerScale训练获得的值。我们可以看到,具有固定权重的控制训练也收敛,而不会遭受最深架构的不稳定性。然而,结果低于那些获得的可学习的加权因子。这表明,在训练期间参数的演变对最深的模型具有有益的影响。4.2. 类注意层在表2中,我们研究了与类嵌入相关的设计选择对性能的影响我们在图2中描述了其中的一些作为基线,使用香草DeiT-Small的补丁嵌入的平均池化实现了比使用类令牌更好的这种不使用任何类嵌入的选择在卷积网络中是典型的,但在转移到其他任务时可能会较弱[20]。插入较晚。 当我们稍后在Transformer中插入类嵌入时,性能会提高。它是最大化两层之前的输出。我们的解释是,注意力过程在第10层受到的干扰较小前1位准确度(%)38表2.具有Deit-Small(无LayerScale)的CLS的变体:我们改变插入类嵌入的层。在ViT和DeiT中,它与投影面片一起插入层0我们评估了类嵌入的后期插入,以及我们的设计选择,引入特定的类关注层。深度:SA+CA插入层顶部-1 acc.#params FLOPs Baselines:DeiT-S和平均合并然而,最好保持2层用于经由类注意将补丁嵌入编译到类嵌入中,否则处理更接近于加权平均。我们的类注意力层的设计假设,有没有在复制信息从类嵌入回补丁嵌入在前进的通行证的好处。表2支持该假设:如果我们比较固定为12的总层数的性能,则具有10个SA和2个CA层的CaiT的性能与平均池化相同,并且优于具有较低FLOP数量的DeiT-Small基线 如果我们在自我注意阶段设置12层,这主导了复杂度,我们通过添加两个CA+FFN块来显著提高性能。类注意力地图的可视化。在图5中,我们展示了与第一个类-注意力层相关的注意力地图。在CaiT中,第一类注意力层方便地集中了所有的空间类关系。第二个类注意力层似乎更关注上下文,参见附录D的补充可视化。4.3. 我们的CaiT模型我们的CaiT模型建立在ViT之上:唯一的区别是我们在每个残差块中结合了LayerScale(参见第2节)和第3节中描述的具有类注意力层的两阶段架构。表3描述了我们的不同模型。控制容量的设计参数是深度和工作尺寸d。在图5.用CaiT XXS-12模型获得的类注意力(第一CA层)的可视化。我们在附录中展示了每个头部的注意力地图。top:原始图像; middle:所有补丁和类标记之间的注意力;底部:阈值化图。我们的情况与头的数量h有关,因为d=48×h,因为我们将每个头的元件数量固定为48。此选项比DeiT中使用的值小一点。我们还采用了Wightman [69]针对DeiT优化的1.0作物比附录支持这些选择。我们将说话头注意力[56]纳入我们的模型。它将DeiT-Small在Imagenet上的性能从79.9%提高到80.3%。超参数与DeiT [64]中提供的那些相同,除非另有说明。主要参数如下:我们使用1024个样本的批量大小,并在400个时期期间进行训练,并重复增加[5,29]。AdamW优化器[44]的学习率设置为0.001,并与余弦训练计划、5个预热时期和0.05的权重衰减相关联。我们在表3中报告了我们根据模型复杂度修改的两个超参数,即与均匀随机深度相关联的丢弃率dr和与LayerScale相关联的初始化值ε在更高分辨率(↑)和蒸馏(Y)下进行微调。我们以224的分辨率训练所有模型,并可选地以更高的分辨率对其进行微调,以权衡性能与准确性[19,64,65]:我们将模型表示为↑384分辨率为384×384的模型。我们也训练Touvron等人建议的蒸馏(Y)模型12:12 + 0079.922M4.6B12:12 + 0n/a80.322M4.6B类嵌入12:12 + 0280.022M4.6B12:12 + 0480.022M4.6B12:12 + 0880.022M4.6B12:12 + 01080.522M4.6B12:12 + 01180.322M4.6BDeiT-S与类注意阶段(SA+FFN)十二: 九加三979.622M3.6B12:10 + 21080.322M4.0B12:11 + 11180.622M4.3B13:12 + 11280.824M4.7B14:12 + 21280.826M4.7B15:12 + 31280.627M4.8B39表3. CaiT型号:设计参数为深度和d。mem列对应于内存使用情况。速度是在一个GPU V100 32GB(PyTorch 1.8 [48],CUDA11)上以FP16精度批量处理128张图像的推理时间吞吐量。我们调整每个模型的唯一参数是随机深度的丢弃率dr和LayerScale初始化ε。 所有模型最初在400个时期期间以分辨率224进行训练,针对该分辨率报告复杂性度量(FLOP、速度和mem)。我们还在分辨率384(由↑384标识)处微调这些模型,或者用蒸馏(Y)训练它们。CAIT深度d #参数FLOPs(×109)速度(im/s)内存(MB)Imagenet 1 k-val模型上的hparams Top-1 acc.(%)↓(SA+CA)(×106)@224@384@224@384@224@384drε@224↑384@224 Y↑384Υ10−510−610−510−610−510−610−6M-24二十四加二768185.936.0116.1262.938.3216586340.210−583.484.584.785.8M-36冲锋枪36 + 2768270.953.7173.3176.825.6266191280.310−683.884.985.186.1表4.消融:我们提供了从DeiT-S到CaiT模型的消融路径我们强调我们的方法和优化的超参数的互补性:训练失败改进top-1 acc. #params FLOPsDeiT-S[d= 384,300个时期]79.922M4.6B+ 更多头数[8]80.022M4.6B+ Talk-heads80.522M4.6B+ 深度[36块]69.9†64M13.8B+层尺度[init ε= 10−6]80.564M13.8B+ 随机深度自适应[dr=0.2]83.064M13.8B+ CA [CaiT]83.268M13.9B+ 更长的训练时间[400 epochs]83.468M13.9B+ 更高分辨率的推理[256]83.868M18.6B+ 高分辨率的微调[384]84.868M48.0B+ 硬蒸馏[老师:RegNetY-16 GF]85.268M48.0B+ 调整裁切比[0.875→1.0]85.468M48.0Bal. [64]第一章。我们使用RegNet-16 GF [51]作为老师,并采用简单的4.4. 结果表3为我们的模型提供了不同的复杂性度量。作为一般观察,我们观察到宽度和深度之间的微妙的相互作用,两者都有助于Dosovitskiy等人报道的性能。[19]更长的训练时间表。但是如果一个参数太小,则通过增加另一个参数所带来的增益不值得增加额外的复杂性。微调到384(↑)系统地提供了一个大的性能提升,而不改变参数的数量。它也带来了更高的计算成本。相比之下,利用预先训练的convnet教师与硬蒸馏所建议的Touvron等人。[64]在不影响参数数量和速度的情况下提供了准确度的提高。与最新技术水平的比较。在表5中,我们将我们的一些模型与没有外部数据的Imagenet分类的最新技术进行了比较。我们专注于模型CaiT-S36和CaiT-M36,在不同的分辨率和有或没有蒸馏。在Imagenet-val上,我们实现了86.5%的top-1准确率,这比DeiT(85.2%)有了显著的提高。这是最先进的技术,除了最近的一项并行工作[8],也报告了86.5%的前1精度。 我们CaiT-M36↑384Υ模型在Imagenet-1 k-val上获得85.9%的top-1准确率:该网络比最佳网络更有效执行NFNet convnets w.r.t.浮点运算,甚至更多的吞吐量(每秒处理的图像在V100 GPU),这要归功于较低的内存使用。我们的方法与Imagenet上的最新技术水平相当,重新评估了标签,并且在Imagenet-V2上表现优于它,Imagenet-V2具有独特的验证集,这使得它更难过拟合。消融术在表4中,我们介绍了如何逐步将Deit-S [64]架构转换为CaiT-36,并在每个步骤中测量性能/复杂度的变化。可以看出,CaiT与LayerScale互补,并且在不显著增加FLOP的情况下提供改进。正如文献中已经报道的那样,分辨率是提高性能和微调的另一个重要步骤,而不是从头开始训练模型,在训练时节省了大量的计算。最后但同样重要的是,我们的模型受益于更长的训练时间表。5. 相关工作自AlexNet [40]以来,卷积神经网络(CNN)是图像分类的标准[27,63,65],更广泛地说是计算机视觉。虽然深度CNN理论上可以对跨许多层的像素之间的长程相互作用进行建模,但已经有研究表明XXS-24二十四加二19212.02.59.61012.8182.340321260.1XXS-3636 + 219217.33.714.3680.9122.043421560.1XS-24二十四加二28826.65.419.3737.6134.861431300.1XS-3636 + 228838.68.128.8496.790.268231980.2S-24二十四加二38446.99.432.2573.6104.186041650.177.680.478.480.979.181.879.782.281.883.882.084.182.684.382.984.882.784.383.585.183.385.084.085.483.585.183.985.340表5. Imagenet [55],Imagenet Real [6]和Imagenet V2匹配频率[53]的复杂性与准确性对于没有外部数据训练的模型。我们将CaiT与DeiT [64]、Vit-B[19]、TNT [26]、T2 T [75]和几种最先进的con-vnets进行比较:由Touvron等人改进的Regnet[51]。[64],Efficient- Net [14,63,72],Fix-EfficientNet [66]和NFNets [8]。大多数报告的结果来自相应的论文,因此不同的模型的训练过程不同。对于Imagenet V2匹配频率和Imagenet Real,我们报告了作者提供的结果。当不可用时(如NFNet),我们报告了Wigthman [69]使用转换模型测量的结果,这可能是次优的。RegNetY-16 GF是我们为蒸馏而训练的教师模型。我们以粗体报告最佳结果,并以下划线报告第二佳结果。网络参数的nbFLOP数量图像尺寸训练测试ImNettop-1真正的顶级-1V2top-1RegNetY-16GF84M16B22422482.988.172.4高效网络-B530M10B45645683.688.373.6efficientnet-B766M37B60060084.3EfficientNet-B5 RA30M10B45645683.7高效Net-B7 RA66M37B60060084.7Fix-EfficientNet-B887M90B67280085.790.075.9公司简介72M12B19225683.688.172.6NFNet-F1133M36B22432084.788.974.4NFNet-F2194M62B25635285.188.974.3NFNet-F3255M115B32041685.789.475.2NFNet-F4316M215B38451285.989.475.2NFNet-F5377M290B41654486.089.274.6NFNet-F6+SAM438M377B44857686.589.975.8变压器ViT-B/16ViT-L/1686M307M55B191B22422438438477.976.583.682.2T2T-ViT t-1421M5B22422480.7TNT-S24M5B22422481.3TNT-S + SE25M5B22422481.6TNT-B66M14B22422482.8DeiT-S22M5B22422479.885.768.5DeiT-B86M18B22422481.886.771.5DeiT-B↑38486M55B22438483.187.772.4DeiT-B↑384Υ87M56B22438485.289.375.2我们的深度变形金刚CaiT-S3668M14B22422483.388.072.5CaiT-S36↑38468M48B22438485.089.275.0CaiT-S48↑38489M64B22438485.189.575.5CaiT-S36Υ68M14B22422484.088.974.1CaiT-S36↑384Υ68M48B22438485.489.876.2CaiT-M36↑384Υ271M173B22438486.190.076.3CaiT-M36↑448Υ271M248B22444886.390.276.7CaiT-M48↑448Υ356M330B22444886.590.276.9在单个层内的相互作用的范围。一些方法动态地调整卷积的感受野[15,42]。在频谱的另一端,注意力可以被视为非局部均值的一般形式,其用于滤波(例如,滤波器)。[10],最近与卷积[68]结合。各种其他的注意力机制已经成功地用于结合(局部)卷积[4,52,12,77,79],大多数模仿挤压和激发[32]以利用全局特征。最后,LambdaNetworks [3]将注意力分解为近似的内容注意力和批量摊销的位置注意力分量。结合CNN和变压器块的混合架构也已用于ImageNet[58,70]和COCO [11]。最初,没有卷积的变换器直接应用于像素[47],甚至缩放到数百层[13],但没有在CNN 级 别 执 行 。 最 近 , 直 接 在 小 块 上 工 作 的Transformer架构已经在ImageNet上获得了最先进的结果[19]。然而,现有技术已经重新转向CNN [8,49]。虽然在Transformer架构上应用了一些小的改进,并取得了令人鼓舞的结果[75],但其性能低于DeiT [64],DeiT使用了vanilla ViT架构。编码器/解码器架构。Transformers最初是为机器翻译引入的[67],具有编码器-解码器模型,并作为掩码语言模型编码器(BERT)[18,43]而流行。他们取得了令人印象深刻的结果,作为按比例放大的语言模型,例如。GPT-2和3 [50,9]。它们也成为语音识别中的主食[45,36],无论是编码器和序列标准还是编码器-解码器seq 2seq [61]构象,并且直到今天[74,78]都保持着36块深的模型的最新技术请注意,仅转换CaiT中具有冻结主干嵌入的类令牌让人想起非自回归编码器-解码器[25,41],其中通过迭代细化一次产生整个序列(我们只有一个预测)。更深的架构通常会带来更好的性能[27,57,62],但这会使其训练过程复杂化[59,60]。必须调整架构和优化程序以正确地训练它们。一些方法关注初始化方案[24,27,71],其他方法关注多阶段训练[54,57],不同深度的多个损失[62],在架构中添加组件[2,76]或正则化[33]。正如我们的论文所指出的,在这方面 , 我 们 的 LayerScale 方 法 与 Rezero [2] 和 Skipinit[16],Fixup [76]和T-Fixup [34]更相关。6. 结论在本文中,我们展示了仅在Imagenet上训练时如何训练更深层次的基于变换的图像分类神经网络。我们还介绍了简单而有效的CaiT架构设计的编码器/解码器架构的精神。我们的工作进一步表明,在考虑准确性和复杂性之间的权衡时,Transformer模型为最佳卷积神经网络提供了一种有竞争力的替代方案。41引用[1] 吉米·雷·巴,杰米·瑞安·基罗斯,杰弗里·E·辛顿.层归一化。arXiv预印本arXiv:1607.06450,2016。[2] Thomas C. Bachlechner,Bodhisattwa Prasad Majumder,H. H.毛氏G. Cottrell和Julian McAuley。Rezero是你所需要的:大深度时收敛速度快。arXiv预印本arXiv:2003.04887,2020。[3] Irwan Bello Lambdanetworks:在没有注意的情况下模拟长距离的相互作用。2021年,在国际学术会议上发表[4] Irwan Bello ,Barret Zoph,Ashis
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功