没有合适的资源?快使用搜索试试~ 我知道了~
12GLiT:用于全局和局部图像Transformer的神经架构搜索BoyuChen1*,PeixiaLi1*,ChumingLi1,2,BaopuLi3,†LeiBai1,ChenLin4,Ming Sun2,Junjie Yan2,Wanli Ouyang1†1悉尼大学2商汤科技集团有限公司3百度美国有限责任公司、4牛津大学摘要我们介绍了第一个神经架构搜索(NAS)方法,以找到一个更好的Transformer架构的图像识别。最近,没有CNN为基础的骨干变压器被发现实现令人印象深刻的图像识别性能然而,该Transformer是为NLP任务设计的,因此当直接用于图像识别时可能是次优的。为了提高变压器的视觉表示能力,我们提出了一种新的搜索空间和搜索算法。具体来说,我们在-82GLiT-小型807876GLiT-Tiny7472DeiT-Tiny70Res1868DeiT-小号X50- 32 x4dRes50GLiT-BaseDeiT-BaseX101-64x4dVit-Base戴特GLiT引入局部模块,以更少的计算成本显式地模拟图像中的局部与局部性模块,我们的搜索空间被定义为让搜索算法自由权衡全球和本地信息,以及优化低层次的设计选择,在每个模块。为解决搜索空间过大的问题,提出了一种分层神经结构搜索方法,利用进化算法 分 别 从 两 个 层 次 搜 索 最 优 视 觉 Transformer 在ImageNet数据集上进行的大量实验表明,我们的方法可 以 找 到 比 ResNet 家 族 更 具 鉴 别 力 和 更 有 效 的ResNet101)和用于图像分类的基线ViT。源代码可在https://github.com/bychen515/GLiT获得。1. 介绍基于卷积神经网络(CNN)的架构(例如,ResNet[14])在过去几年中为深度学习在计算机视觉任务中的巨大成功做出了贡献[26,6,19]。通过堆叠一组CNN层,基于CNN的模型可以实现更大的接收域,并在效率降低的情况下感知更多的上下文信息由于Transformer [30]在自然语言处理(NLP)任务中的巨大成功,人们对它的兴趣*同等贡献†通讯作者0123四个五十十五十六十七18十九二十FLOPs(G)图1.ImageNet上不同主干的Top-1精度(y轴)和FLOP(x-aixs)GLiT是我们的方法。在计算机视觉社区中,基于可以直接操纵全局相关性的Transformer [11,28,4,37]开发更有效的架构在这些工作中,视觉Transformer(ViT)是一个代表性的[11],因为它不依赖于基于CNN的主干来提取特征,并且仅依赖于变换器中的自注意力模块来建立所有输入图像块之间的全局相关性。虽然ViT取得了令人印象深刻的性能,但如果不使用额外的训练数据,ViT的准确率仍然低于设计良好的CNN模型,如ResNet-101[14]。为了进一步利用变压器在图像识别任务中的潜力 , DeiT [28] 使 用 教 师 - 学 生 策 略 将 知 识 提 取 到Transformer 令 牌 。 这 两 种 方 法 依 赖 于 原 始 的Transformer架构,但忽略了架构中NLP任务和图像识别任务之间的潜在差距。在这项工作中,我们认为不同类型的数据模式之间存在不可忽视的差距(例如,图像和文本),导致不同任务之间的差异。因此,直接将普通Transformer架构应用于其他任务可能是次优的。存在用于图像识别的更好的Transformer架构是自然的。然而,手工设计这样的架构是耗时的,因为有太多的影响因素要考虑 。 一 方 面 , 神 经 结 构 搜 索 ( Neural ArchitectureSearch,NAS)在计算机视觉领域取得了长足的进步。ImageNettop-1准确率(%)13Sion tasks [13,22,2].它可以自动发现一个最佳的网络结构,而无需手动尝试和错误。另一方面,计算机视觉社区仍然没有研究用于变压器的NAS。基于以上观察,我们打算通过NAS发现用于特定任务的更好的Transformer架构,例如,在这项工作中的图像分类任务。在为视觉任务中的变换器设计NAS时,有两个关键因素,一个精心设计的包含具有良好性能的候选者的搜索空间和一个有效的搜索算法来探索搜索空间。一个简单的搜索空间只包含Transformer架构中的架构 参 数 , 例 如 查 询 和 值 的 特 征 维 度 、 多 头 注 意(MHA)机制中的注意头数量以及MHA块的数量然而,搜索空间不考虑两个因素。首先,Transformer中的自注意机制在推理阶段消耗二次存储器和计算负担(关于输入令牌的数量[37])第二,人类视觉系统中的局部复发[16,17]在像ViT和DeiT这样的变换器中没有实现。来自人类视觉系统中局部复发的灵感导致卷积层、用于计算机视觉任务的局部连接层的成功[18]。尽管理论上是可能的,但是难以通过vaninlla自注意机制(例如,固定大小的邻居令牌)。考虑到上述两个因素,我们通过在MHA中引入局部性模块来推导香草Transformer的搜索空间。局部性模块仅对附近的令牌进行操作,需要较少的参数和计算。局部性模块和自注意模块是交替的,由NAS搜索以决定使用哪一个我们将扩展的MHA块重命名为全局-局部块,因为它可以捕获输入令牌之间的全局和局部相关性根据我们的实验(表1),Transformer在捕获全局和局部信息方面的灵活性是最终性能的重要因素。引入全局-局部分块算法是有效的,但对搜索算法提出了挑战。我们的搜索空间的NAS算法应该1)发现局部模块和自注意模块在每个全局-局部块中的最佳分布这样的搜索空间是非常巨大的([13]中的可能选择的1018倍和[22]中的可能选择的1012倍),这使得现有的NAS方法如SPOS [13]在获得理想结果方面具有挑战性。为了解决上述问题,我们提出了一种分层神经结构搜索方法来寻找最优网络。具体来说,我们首先训练一个包含两个lo-分类模块和自注意模块,并利用进化算法确定高层的全局和局部子模块分布。然后,以类似的方式搜索每个模块内的详细与传统的搜索策略相比,层次搜索能稳定搜索过程,提高搜索性能。图1显示,与ImageNet上最先进的变换器主干DeiT相比,我们搜索的全局局部图像变换器(GLiT)实现了高达4%的绝对准确度概括起来,主要贡献如下:• 据我们所知,与[8]同时,我们是第一个通过NAS探索更好的图像分类Transformer架构我们的工作发现了一种新的转换器变体,它使用相同的训练设置,而无需对额外的数据进行预训练,就可以实现比ResNet101和ResNeXt101更好的性能。• 在视觉Transformer模型的搜索空间中引入局部性模块,不仅降低了计算量,而且可以显式地进行局部相关建模。• 本文提出了一种分层神经结构的搜索策略,该策略可以有效地处理视觉Transformer中巨大的搜索空间,提高搜索效果。2. 相关工作变形金刚在视觉上视觉社区对将变压器与CNN相结合的兴趣和关注度已经达到了顶峰,包括用于对象检测的DETR [4]和可变形DETR [37],用于图像分类的ViT[11]和DeiT [28]以及用于多个低级任务的IPT [7与DETR [4]和Deformable DETR [37]不同,我们的方法不依赖CNN进行特征提取。相反,整个模型完全基于Transformer器体系结构。可变形DETR [37]引入了局部机制,通过仅关注参考周围的一小组关键采样点来减少计算。新的本地机制在GPU上没有很好地优化,因此训练可变形DETR仍然需要二次存储器成本。不同的是,我们提出的局部性模块不仅有助于减少它比形变DETR中的局部注意更有效。NLP中的全局和局部注意力。在[30]中提出了基于自注意力技术的变换器,以取代RNN用于机器翻译的序列学习,并从那时起成为最先进的。我们受到[12,3]中NLP使用全局和局部注意力的启发。Long-former [3]将原始全局注意力与掩码全局注意力和掩码局部注意力分离,用于长序列学习。我们对局部注意力的介绍受到了Conformer [12]的启发,它结合了卷积14∈~M2K2K∈二、二用自注意力建立自动语音识别(ASR)模型中的全局和局部交互。然而,它是未知的,是否符合自然语言处理是有效的图像识别。与用于NLP任务的Conformer和Long-former不同此外,我们的探索搜索的全局和局部的子模块在网络中的NAS的分布没有调查[3,12]。全球和地方的视野。与NLP领域类似,全局和局部注意机制也被证明在计算机视觉任务中是有效的。SAN[34]提出了用于图像识别的成对和分片注意机制。[15,31]从全局和局部信息获得性能增益。SENet [15]在局部连接卷积网络中引入了通道注意力。[31]利用非局部块来捕获CNN中的长程依赖性。最近,BotNET[27]通过变换器块替换ResNet的最后残余块以提取全局信息。上述方法都是人工设计CNN的注意力机制,而我们的重点是将局部注意力引入到视觉变换器中,并自动搜索最优的全局-局部设置。神经架构搜索。最近,NAS方法在视觉任务上取得了很大进展[5,9,23,35,20,21]。早期的NAS方法应用RL [2,38]或EA [25]来训练多个模型并更新控制器以生成模型架构。为了减少搜索成本,权重共享的方法被提出。这些方法构造并训练包括所有架构候选者的超网。Darts [22]提出了一种可微分的方法来联合优化网络参数和架构参数。SPOS [13]提出了一种单路径单次方法,该方法在每次训练迭代中仅从超网中训练一个子网。在超网训练后,通过进化算法(EA)找到最佳的结构。然而,由于内存限制(Darts [22])或低相关性问题(SPOS [13]),这两种方法无法处理具有太多候选架构的搜索空间我们提出了层次神经结构搜索,以解决巨大的搜索空间所带来的问题。NAS已被用于搜索NLP模型的最佳架构。AutoTrans[36]为基于RL的NAS设计了一种特殊的参数共享机制,以降低搜索成本。[29]提出了一种基于采样的一次性架构搜索方法,以获得更快的模型。NAS-BERT[32]构建了一个包含多种架构的大超网,并在超网中找到具有不同大小的最优压缩模型。与上述方法不同的是,我们专注于NAS的图像分类,而不是NLP任务的变压器。与我们的工作同时,[8]提出了权重纠缠方法来搜索最佳架构原始ViT模型。与[8]不同,我们将局部性引入视觉Transformer模型,并提出分层神经架构搜索来处理巨大的搜索空间。3. 方法我们提出了全局-局部(GL)Transformer,并寻找其最佳结构。GLiT由多个全局-局部块组成(Sec.3.1),其通过将局部子模块引入到原始全局块来构造,如图所示。二、基于全局-局部块,我们为视觉Transformer设计了特定的搜索空间(Sec. 3.2),如表2中所述。因此,层次神经架构搜索方法(Sec.3.3)是为了更好的搜索结果而提出的,我们首先搜索高级全局-局部分布,然后详细描述所有模块的架构,如图4所示。与其他视觉变换器[11,28]类似,GLiT接收令牌嵌入的1D序列作为输入。为了处理2D图像,我们将每个图像分成几个补丁,并将每个补丁展平为1D令牌。图像的特征用FRw×h×c表示,其中c,w和h是图像的通道尺寸、宽度和高度。我们将图像特征F分成大小为m×m的块,并将每个块展平为1D变量。然后,F ∈ RW×h×c被整形为FRm2×cwh,它由m2个输入标记组成. 我们将m2个输入标记与一个可学习的类标记(在图中的“输入”处显示为绿色)相结合。2)和将所有m2+1个令牌发送到GLiT。最后,来自最后一个块的输出类标记被发送到分类头以获得最终输出。3.1. 全局-局部块全局-本地块中有两种模块,包括全局-本地模块(在绿色虚线框中)和前馈模块(FFN),如图2所示。3.1.1全局-局部模块作为全局子模块的自我注意。所有m2+1个输入标记被线性变换为查询Q∈R(m+1)×dk、键K∈R(m+1)×dk和值V∈R(m +1)×dV,其中d和dV是查询中每个标记(键)和值的特征维数. 在Transformer设计中,d k=d v。全局关注度计算如下:QKTAttention(Q,K,V)= softmax(√d)V。(一)该模块通过考虑所有输入标记之间的关系来计算注意结果,因此本文将该自注意头命名为全局子模块。等式⑴中的公式被进一步修改为多头注意(MHA)机制,其中15NTransformerGLiT维度最后,最后一个逐点卷积层将特征维度投影回输入维度。我们在局部子模块中使用1D卷积层而不是2D卷积层,因为它更适合于1D输入令牌序列。此外,m2+1个输入令牌在GLiT中不能直接重塑为2D阵列。构造多头全局-局部模块。给定全局和局部子模块,下一个问题是如何组合它们。我们构建的全球本地模块,通过更换,ING在MHA与本地子模块的几个头。为图2.GLiT的构建 原Transformer仅由全局模块和前馈模块组成,即图中的“FFN”。我们进一步在全局模块中引入局部子模块,得到全局-局部模块。GLiT由M个GL块构成。全局子模块和局部子模块的分布在不同GL块中可以不同。例如,该图中的GL块2具有G= 1个全局子模块和L= 2个局部子模块。层范数辍学+逐点Conv Glu激活1D深度转换1D批次标准Swish激活逐点转换图3.局部子模块中的卷积层。将查询、键和值沿着维度分成N个部分,其输出表示为头0,头1,…,头i,..., 头N,Qi KT例如,如果MHA中有N=3个头,我们可以保持一个MHA头(头0)不变,并用我们的本地子模块替换两个头(头1和头2如果MHA中的所有头都是全局子模块,则全局-局部块退化为ViT [11]和DeiT [28]中使用的Transformer块。在全局-局部模块中,查询、键和值仅针对由全局子模块实现的头部进行计算。对于由本地子模块实现的头,输入被直接发送到卷积层。表1示出了利用全局-局部块中的全局子模块和局部子模块的不同比率来评估GLiT的实验结果。可以看出,全局子模块和局部子模块的比例对性能有明显的影响。简单地用卷积头替换所有的自注意头将由于缺乏全局信息而导致巨大的性能下降。另一方面,在每个全局-局部模块中具有1个自注意头和2个卷积头的网络在所有模型中表现最好,与基线模型相比提高了1.8%的 Top-1准确率自注意和卷积头之间的不同比率的性能变化表明,引入局部信息带来更多的性能。头i(Qi,Ki,Vi)=softmax(√di)V1,(2)头i性能增益只有适当的全局局部比。表1.不同水头分布其中,Qi、Ki和Vi是Q、K和V的第i部分,dhead_i是每个头部的尺寸并且等于d_k。N个头的输出值被连接并线性投影以构造最终输出。卷积头作为局部子模块。1D卷积已用于NLP任务[33,12]中,以对本地信息进行建模。受[12]中的Conformer块的启发,我们应用1D卷积来建立局部连接,在下面的描述中将其命名为局部子模块。如图在图3中,一个卷积头由三个卷积层组成,包括两个逐点卷积层,在它们之间具有一个1D深度卷积层每个卷积层后面是归一化,激活(如GLU [10])和丢弃层。Glu激活之后的第一逐点卷积层具有扩展比E,以将特征尺寸扩展到E倍。之后,具有核大小K的1D深度卷积层不改变特征DeiT-Tiny模型[28]在ImageNet数据集上。所有块使用相同的头部分布。这里,每个Transformer块中的总头数为3。具有3个自我注意头部和0个Conv1d头部的第一行是与[11]中的ViT对应的基线模型在第2、3和4行中,我们逐渐用更多的卷积头(局部子模块)替换自注意头(全局子模块)。Self-attention头号码Conv1d头号码ACC(%)3072.202172.891273.980371.023.1.2前馈模块除了全局-局部模块之外,在每个GL块中还存在馈送模块(FFN)以进一步变换输入特征。FFN由一个层归一化和两个具有Swish激活的全连接层输出...G=2...输出L=1GL-Block_M全局模块全局-本地模块GL-Block_2GL-Block_1输入输入G=1G-Block_1G-Block_2L=2(CONV)G=3(S-ATT)FFNFFNG-Block_M头头......16∈∈∈∈·D------联系我们联系我们N −−≈×联系我们NS2以及它们之间的脱落层。 数学上,FFNf(X)对于其输入X∈Rm×d可以表示为:f(X)=σ(LN(X)W1+b1)W2+b2,(3)其中LN()表示层归一化[1],)是Swish激活函数,W1Rd×dm和W2Rd×d是全连接层的权重,b1Rd和b2Rd是偏置项,d和dm分别是第一和第二FC层的输入的特征维度。我们将dz= dm表示为FFN的扩展比。Em×Km,Dkm和Dzm,其中×表示笛卡尔积。块m的总搜索空间为Sm=Dkm× Dzm× Em× Km,低层的最终搜索空间为S = S0× S1×… × Sm×... × SM.表2.搜索GLiT的空间。“本地”是本地子模块,“全局”是全局子模块,并且“FFN”是前馈模块。(G,L)表示每个块中的全局和局部子模块的数量。K是局部子模块的核大小,E是局部子模块的扩展比,dk是全局子模块的特征尺寸,dz是FFN中的扩展比。3.2. 全局-局部块所提出的全局-局部块的搜索空间包括高层全局-局部子模块分布和每个子模块的低层详细架构。在高层次上,我们的目标是搜索所有全局-局部块上卷积和自注意头的分布在低层,我们搜索所有子模块的详细架构表2总结了本文中实现的高级和低级搜索空间。高层次的全球-本地分布。假设在第m个Transformer块m1,. . . ,M,我们可以保持G0,. . . ,Nm个自注意头不变,用卷积头代替L个自注意头(L = NmG),则在第m个块中存在Nm+1个不同的全局-局部分布变化。用于第m个块的候选高级设计是m=[(0,N,m),(1,N,m-1),…(j,N mj),…(Nm,0)],其中(j,N, m,j)表示G=j个自注意头部,并且全局-局部模块中的L = N m j个卷积头。高级搜索空间包含用于所有M个块的候选高级设计,即 N =N0× N1×…×Nm×... × NM,其中×表示笛卡尔积。低级详细体系结构。详细架构的搜索空间集中在四个项目上:自注意头中的查询(键、值)的特征尺寸dk、FFN的扩展比d z、第一逐点卷积层的扩展比E以及卷积头中的1D逐深度卷积层的核大小K。表2列出了dk、dz、E和K的所有可能选择。 假设dk,dz,E,K的总候选数为V1,V2,V3,V4,我们可以得到搜索操作-运算集合Dk=[dl,d2,… ,Dz=[dl,d2,…dV2],搜索空间大小。 考虑到高层分布和低层的详细结构,每个块的可达数约为(N +1)V1V2V3V4。在我们的搜索空间中,不同的块有不同的高层分布和详细架构。 如果一个变换器有M个块,则最终的搜索空间包含((N + 1)V1V2V3V4)M个候选网络,这是一个非常巨大的搜索空间。对于我们在表2中针对M=12个块的 实现 , (( N+1 ) V1V2V3V4 ) M1 . 一 、31030,其中大约是DARTS [22]的搜索空间的1012倍,是SPOS [13]的搜索空间的1018倍。主流的快速神经结构搜索方法,如不同的tial [22]和one-shot [13]方法,不能很好地工作在这个巨大的搜索空间。对于DARTS,针对每次迭代训练所有候选网络的参数,导致不可接受的存储器要求。One-shot NAS方法不存在上述问题,因为它们在每次训练迭代期间只选择一个候选网络。然而,在巨大的搜索空间下,重新训练的子网与从超网采样的子网之间的相关性较低,因此使用超网搜索的体系结构变得不可靠。为了解决在巨大搜索空间上的搜索问题,我们提出了分层神经结构搜索方法,以获得具有合适内存需求的最优网络结构。3.3. 分层神经结构搜索。分层神经结构搜索方法k kkz zz包括两个主要阶段,如图所示4.第一章 一是E=[E1,E2,…E V3]和K=[K1,K2,...,KV4]。然-P P PD d d搜索最优分布N* 环球及香港dom从每个集合中选择一个操作就可以形成一个候选全局-局部块,所以在低层上一个全局-局部块总共有V1V2V3V4个候选应该注意的是,一个块中的所有卷积头对于块m1,. . .,M,用于卷积、自注意和FFN的内部搜索操作集是每个块中的子模块。然后,我们固定分布*并搜索全局和局部子模块的详细架构*第一阶段。在第一阶段,我们固定了全局和局部子模块的低级详细结构参数dk、dz、E和K一次性NAS方法SPOS高级别(G,L)(0,3),(1,2),(2,1),(3,0)低级当地K十七三十一四十五E一、二、四全球DK96、192、38417N- -S- -D D EK输出输出输出G =0,L =3 |d k =192,d z=3输入输入输入图4.分层神经结构搜索的框架。首先,我们在高级搜索空间中找到局部(L)和全局(G)子模块的最优分布。例如,L= 1,G= 2意味着全局-局部模块中的1个局部子模块和2个全局子模块。然后,在低级搜索空间中搜索所有子模块的详细架构(在表2中详述)。应用[13]中的方法从搜索空间中搜索全局和局部子模块的最优分布。应用SPOS主要有三个步骤:超网训练、子网搜索和子网再训练。在超网训练的每次迭代中,我们1)随机地对索引[j〇,j1,…2)使用这些索引来从超网中采样子网,其中M个块中的全局和局部子模块的数量是[(j〇,N〇j〇),(j1,N1j1)… (j m,N mj m),..., (jM,N Mj M)];以及3)训练子网。在超网训练之后,我们在子网搜索步骤中利用进化算法[13]根据验证精度找到前5个最佳架构最后,在子网重新训练步骤中,我们重新训练五个网络,并选择验证精度最高的架构作为输出模型,其中分布全局子模和局部子模的关系是N* =[(j0*,N0−j0*),(j1*,N1−j1*)..., (jm*,Nm−jm*),...,(jM*,NM−jM*)]。第二阶段。 在第一阶段获得全局-局部模块在所有块中的最佳分布之后,我们固定此分布并搜索所有模块的详细架构。与第一阶段类似,我们采用SPOS [13]在搜索空间中找到最佳架构*主要区别是改变了搜索空间,并且相应地,块的随机索引是具有四个元素的数组,而不是单个数字jm。块m 的随机索引是(j1,j2,j3,j4),其对应于块m的随机索引。而不是V1V2V3V4。为了固定每个块的搜索空间的大小,我们通过仅搜索这些块的dz和E来减小具有全局和局部子模块的块的搜索空间 采用分层搜索方法,最终搜索空间落入现有NAS方法的有效搜索空间范围内。显著减少的搜索空间使得SPOS更容易获得更好的模型。4. 实验我们在图像分类任务上评估我们的GLiT。在第4.2节中,我们将搜索到的Transformer器架构与DeiT [28]进行了比较,DeiT是最近发表的关于视觉转换器的算法。在4.3节中,我们设计了更多的实验来证明我们的搜索空间和搜索方法的必要性所有实验均在NVIDIAGTX 1080Ti GPU上使用Pytorch框架进行测试。4.1. 实现细节数据集。所有实验都在ImageNet上进行,ImageNet由训练集中的1.28M图像和测试集中的50,000个验证图像组成。我们从训练集中分离出50K个样本来构建val集。val集用于搜索过程中的超参数。在超网运行过程中,我们采用了动量为0.9的指数MMM m训练 我们利用学习率0.2,采用协(公里zm,m,m)分别。所提出的搜索方法有两个主要优点与现有的NAS方法相比[13,22]。首先,该方法将巨大的搜索空间划分为两个较小的搜索空间。如上所述,原始搜索空间的大小是((N +1)V1V2V3V4)M。 使用我们提出的搜索方法,两个较小的搜索空间的总大小为(N +1)M+(V1V2V3V4)M,对于我们在表2中的实现,其减小到小于原始搜索空间的10−7倍。第二,低级搜索空间(V1V2V3V4)M的大小可以利用固定的全局-局部分布来进一步减小。如图在图5中,在第一搜索阶段之后,所搜索的架构中的大多数块包括全局子模块或局部子模块,并且仅两个块具有全局子模块和局部子模块两者对于大多数块,低级搜索空间的大小是V1V2或V3V4正弦退火学习率从0.2衰减到0。我们用1024的批量大小和1 e-4权重的L2正则化训练网络100个epochs。此外,以0.1的平滑比率应用标签平滑。对于子网搜索,我们遵循[13]中的EA设置,其在FLOPs约束下总共采样Ns=1000 对于搜索的模型再训练,我们遵循DeiT [28]中的训练设置。4.2. ImageNet上的总体结果我们将搜索的Transformer与两个CNN(ResNet和ResNeXt)和最先进的视觉变换器DeiT [28]进行比较。表3示出了在不同计算预算下的结果表3中给出了现有型号(如R18(Resnet-18)和R50(Resnet-50))高级搜索空间第区块_1区块_2区块_MG =1,L =2|K=17,E=4,d k =92,d z =2G =3,L =0|K=45,E=1低级搜索空间二G=1,L=2G=3,L=0G=0,L=3.........18表3.ImageNet上不同模型的分类精度‘Acc’ denotes the Top-1accuracy and ‘R18表示Resnet-18,X50表示Resnext-50。模型参数(M)FLOPS(G)累积(%)R1811.71.869.8R18s11.71.868.5DeiT-Tinys5.71.372.2GLiT-Tinys7.21.476.3R5025.64.176.1R50s25.64.178.5X50-32x4d25.04.377.6X50-32x4d25.04.379.1DeiT-Small22.14.679.6GLiT-小型24.64.480.5X101-64x4d83.515.679.6X101-64x4ds83.515.681.5Vit-Base86.617.677.9DeiT-Bases86.617.681.8GLiT-Base96.117.082.3从[28]中报告的结果复制我们还使用了[28]中的训练设置,并报告了R18,R50,X50- 32 x4 d(Resnext-50)和X101- 64 x4 d(Resnext-101)的结果,表3中的s后面是这些模型,用于表示相同的训练配置。我们的模型实现了更好的准确性比所有比较网络在类似的FLOPS限制。例如,我们的搜索模型与1.3G FLOPS限制达到76。3%的准确率得分,分别比DeiT-Tiny和ResNet 18(R18)高4分和6分以上。我们的搜索模型在准确性方面比我们的两个设计的交响乐有明显的提高:本地信息和架构搜索。根据表1,没有适当分布的Convld带来的局部信息的改善有限。然而,根据我们的消融研究,搜索的全局和局部信息分布显示出更好的性能,并且详细的架构搜索将进一步提高我们的GLiT模型的性能。4.3. 消融研究在本节中,我们进行实验,以证明我们的搜索空间的必要性和有效性的层次神经结构搜索方法。所有消融研究均基于ImageNet上的GLiT-Tiny模型,使用与之前相同的训练设置。搜索空间提出的搜索空间包括两个层次,全局-局部分布和所有模块的详细架构。 验证有效性在这两个水平中,我们用仅在全局-局部分布上搜索的模型(表4中的“仅分布”)和具有人类设计的基线模型DeiT-Tiny来研究我们的模型只搜索全局和局部分布的模型比基线模型性能好得多型号DeiT-Tiny,不带NAS。 它还优于最好的人类设计的架构与全球本地信息(73。表1中的98%),将准确度提高约1.5%。性能增益来自最佳的Transformer架构与适当的全球局部信息分布搜索我们的方法。在考虑了所有模块的详细架构后,最终模型此外,我们还比较了我们的搜索空间与NLP-NAS [29]。[29]中的搜索空间包括扩展比率(查询、键和值)和MLP比率。NLP-NAS搜索空间的搜索模型在ImageNet上达到了73.4%的top-1准确率,比DeiT高1.2%直接使用[29]中的搜索空间限制了性能的提高。我们的搜索空间和搜索方法更有效,这是我们的两个主要贡献。表4中的实验结果表明,我们搜索空间中的所有组件对于优秀的视觉Transformer都是必不可少的。表4. ImageNet上不同搜索空间的模型性能比较。“DeiT-Tiny”是完全依靠手工设计的基线模型。“仅分布”是仅在全局-局部分布上搜索的模型。‘Ours’ is the model searched from thecomplete searching方法触发次数(G)ACCDeiT-Tiny1.372.2仅分销1.475.4我们1.476.3NLP-NAS1.473.4搜索方法。我们比较了所提出的搜索方法与基线NAS方法(SPOS)和随机搜索基线。所有的搜索方法都在我们提出的搜索空间中使用。为了公平比较,我们训练SPOS的超网200个时期,这与我们的训练时期相同。在超网训练之后,我们选择了5个架构,并为SPOS和我们的架构重新训练它们。对于随机基线,我们随机采样并重新训练5个网络。选择具有最高再训练准确度的架构作为最终模型。在表5中,我们的方法实现了比SPOS方法和随机搜索基线好得多的性能。性能的提高来自于我们的分层搜索方法,它有效地减少了搜索空间的各个阶段。对于SPOS方法,由于超网是由巨大的搜索空间构成的由于训练不足,具有较低计算的子网将收敛得更快,并且验证集上的搜索结果往往是具有较低计算的模型,如表5所示。不仅是表5中的机型,SPOS确定的前5款机型中的其他4款机型也其结果是,使用vanilla SPOS方法的搜索结果具有19× ×××个×个dk96K 31dz4E 2E 4DZ6dk 192K 45dz4E 4E4 dk 192 E4dz 6 dz 2 dz 2K 45dk192K 31E2dz4E4dk 384DZ6G=3,L=0G=2,L=1 G=1,L=2 G=0,L=3图5.表3中的GLiT-Tiny的架构。每个框表示全局-局部块。颜色越深表示块中的局部子模块越多L是每个块中的局部子模块的数量。G是全局子模块的数量。性能甚至比随机搜索更差。表5. SPOS,随机搜索基线和我们在ImageNet上的搜索方法之间的性能比较。方法触发次数(G)ACC我们1.476.3SPOs0.972.7随机搜索1.373.3引入局部性的方法。我们选择Conv1D将局部性引入Vision Transformer。然而,还有其他方法,例如将自我注意力限制在局部区域或使用Conv2D。我们评估这两种方法,并与我们的比较。为了将自我注意力限制在局部区域中,我们将候选局部区域大小设置为(14,28,49)。我们保持其他设置(包括分层搜索)固定,以进行公平比较。在表6中,具有局部自我关注的模型在ImageNet上只有72.4%的top-1准确率(远低于我们的76.3%),这可能是由于不同局部区域之间缺乏沟通。然而,我们的GLiT模型中的Conv1D可以解决这个问题。为了在我们的网络中使用Conv2D,我们删除了CLS令牌,并在网络的末尾添加了一个全局平均池候选核大小被设置为(3 3,5 5,7 7)。使用Conv2D搜索的模型达到了76.4%的准确率,这与我们的相似。为了与使用CLS令牌的基线模型ViT和DeiT进行公平比较,我们在最终模型中采用Conv1D。表6.局部区域中的自我注意力,Conv2D和我们在ImageNet上的搜索方法之间的性能比较方法触发次数(G)ACC局域1.472.4Conv2d1.476.4Conv1d1.476.34.4. 讨论搜索建筑图5显示了GLiT-Tiny的检索架构(表3)。只有25%的块由全局和局部子模块组成。大多数块包含全局或局部子模块。全局和局部子模块之间的顺序连接可能比并联连接更必要。在搜索的架构中没有具有内核大小17的1D卷积层17是搜索空间中核大小的最小值它起源戴特GLiT图6.DeiT [28](第二行)和我们的GLiT(第三行)的特征可视化第一行中的图像来自ImageNet。显示太小的内核大小不适合视觉变换器中的局部模块。搜索的结构有一个趋势,所有的局部,局部-全局混合,然后回到所有的局部块。这有助于局部和全局特征通过Transformer块进行交互该架构看起来像类似于[24]中的堆叠沙漏的机制可视化。在图6中,我们示出了DeiT(第二行)和我们的GLiT(最后一行)的学习特征的可视化。我们通过将输出令牌重新整形为与输入图像相同的大小并沿通道平均整形的令牌来计算热图。通过达到局部和全局特征的良好组合,我们的GLiT比DeiT关注更多的对象区域。5. 结论我们开发更好的视觉变换器在本文中,通过仔细设计的搜索空间与本地信息和分层搜索方法的架构。Transformer不久前被应用于视觉社区。它的体系结构没有很好地利用图像识别。我们的方法提供了一个可行的和自动化的网络设计策略。除了与现有的视觉转换器相比表现出更好的性能外,这项工作还将激发更多的研究,为计算机视觉任务寻找最佳的致 谢 这 项 工 作 得 到 了 澳 大 利 亚 研 究 委 员 会 资 助DP200103223,FT210100228和澳大利亚医学研究未来基金MRFAI000085的支持。少本地信息更20引用[1] 吉米·雷·巴,杰米·瑞安·基罗斯,杰弗里·E·辛顿.层归一化。arXiv预印本arXiv:1607.06450,2016。[2] Irwan Bello,Barret Zoph,Vijay Vasudevan,and QuocV.乐神经优化器搜索与强化学习。 ICML,2017。[3] Iz Beltagy,Matthew E Peters,and Arman Cohan.长型:长文档Transformer。arXiv预印本arXiv:2004.05150,2020。[4] 尼古拉斯·卡里昂、弗朗西斯科·马萨、加布里埃尔·辛纳夫、尼古拉斯·乌斯尼尔、亚历山大·基里洛夫和谢尔盖·扎戈鲁伊科。使用变压器进行端到端对象检测。在Andrea Vedaldi , Horst Bischof , Thomas Brox 和 Jan-Michael Frahm,编辑,ECCV,2020年。[5] Boyu Chen,Peixia Li,Baopu Li,Chen Lin,ChumingLi,Ming Sun,Junjie Yan,and Wanli Ouyang. Bn-nas:使用批量归一化的神经架构搜索ICCV,2021。[6] Boyu Chen,Dong Wang,Peixia Li,Shuang Wang,and Huchuan Lu.实时“演员-评论家”跟踪。在ECCV,2018。[7] Hanting Chen,Yunhe Wang,Tanyu Guo,Chang Xu,Yiping Deng,Zhenhua Liu,Siwei Ma,Chunjing Xu,Chao Xu , and Wen Gao. 预 训 练 的 图 像 处 理Transformer。arXiv预印本arXiv:2012.00364,2020。[8] Minghao Chen,Houwen Peng,Jianlong Fu,and HaibinLing. Autoformer:搜索变压器的视觉识别。arXiv预印本arXiv:2107.00651,2021。[9] Yuanzheng Ci , Chen Lin , Ming Sun , Boyu Chen ,Hongwen Zhang,and Wanli Ouyang.神经结构搜索的进化搜索空间ICCV,2021。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功