没有合适的资源?快使用搜索试试~ 我知道了~
122700AutoFormer:用于视觉识别的Transformer搜索0Minghao Chen 1, �, Houwen Peng 2, �, †, Jianlong Fu 2, Haibin Ling 101 Stony Brook University 2 Microsoft Research Asia0摘要0最近,基于纯transformer的模型在图像分类和检测等视觉任务中展现出巨大的潜力。然而,transformer网络的设计具有挑战性。已经观察到深度、嵌入维度和头数等因素对视觉transformer的性能有很大影响。以前的模型根据手工设计来配置这些维度。在这项工作中,我们提出了一种新的一次性架构搜索框架,名为AutoFormer,专门用于视觉transformer的搜索。AutoFormer在超网络训练期间将同一层中不同块的权重纠缠在一起。受益于这种策略,训练好的超网络可以让成千上万个子网络得到很好的训练。具体而言,这些子网络的性能与从超网络继承的权重相比,重新训练的性能相当。此外,我们所搜索到的模型,即AutoFormers,超越了最近的最先进模型,如ViT和DeiT。特别是,AutoFormer-tiny/small/base在ImageNet上的top-1准确率分别达到了74.7%/81.7%/82.4%,参数量分别为5.7M/22.9M/53.7M。最后,我们通过提供下游基准和蒸馏实验的性能来验证AutoFormer的可迁移性。代码和模型可在0https://github.com/microsoft/Cream .01. 引言0由于其高模型能力和在捕捉长程依赖性方面的优势,视觉transformer最近在计算机视觉领域引起了重要关注。基于transformer[52],现代最先进的模型,如ViT[13]和DeiT[50],能够从图像中学习强大的视觉表示,并与以前的卷积神经网络模型[17,25]相比,取得了非常有竞争力的性能。然而,transformer神经架构的设计并不简单。例如,如何选择最佳的网络0� 相等贡献。Minghao在MSRA实习期间完成的工作。†通讯作者:houwen.peng@microsoft.com。0图1.AutoFormers与基于transformer、基于卷积和基于架构搜索的模型(如DeiT[50]和ResNet[18])之间的比较。0深度、嵌入维度和/或头数?这些因素对于提高模型容量至关重要,但是找到它们的良好组合是困难的。如图2所示,增加transformer的深度、头数和MLP比率(多层感知机中隐藏维度与嵌入维度的比率)可以在一开始时实现更高的准确性,但在达到峰值后会过拟合。增加嵌入维度可以提高模型能力,但对于较大的模型,准确性增益会趋于平稳。这些现象展示了设计最优transformer架构的挑战。以前关于设计视觉transformer的工作都是基于手工设计,严重依赖于人类专业知识,并且通常需要大量的试错[13, 50,67]。有一些使用神经架构搜索(NAS)自动设计transformer的工作[45,55]。然而,它们都集中在自然语言任务,如机器翻译,与计算机视觉任务非常不同。因此,很难将先前的自动搜索算法推广到找到有效的视觉transformer架构。在这项工作中,我们提出了一种名为AutoFormer的新架构搜索算法,专门用于寻找纯视觉transformer模型。我们的方法主要解决transformer搜索中的两个挑战。1)如何找到一个好的2. Background122710图2.在相同的训练配方下,使用不同的嵌入维度(e)、深度(d)、MLP比例(r)和头数(h)系数调整基线模型,其中MLP比例(多层感知器中隐藏维度与嵌入维度的比例)。我们将基线模型设置为d=12,r=4,e=384,h=6。注意:如果我们固定Q-K-V维度,头数不会影响模型的大小和复杂性。0变压器中关键因素的组合,例如网络深度、嵌入维度和头数?2)如何高效地找到适应不同资源约束和应用场景的各种变压器模型?为了解决这些挑战,我们构建了一个大的搜索空间,涵盖了变压器的主要可变维度,包括嵌入维度、头数、查询/键/值维度、MLP比例和网络深度。该空间包含了大量具有不同结构和模型复杂性的变压器。特别是,它允许变压器的构建使用不同的构建块结构,打破了变压器设计中所有块共享相同结构的传统。为了解决效率问题,受到BigNAS [65]和可调节网络[65,66]的启发,我们提出了一种专门用于变压器架构的超网络训练策略,称为权重纠缠。其核心思想是使不同的变压器块共享每层中的公共部分的权重。一个块中的权重更新将作为一个整体影响所有其他块,从而在训练过程中使不同块的权重最大程度地纠缠在一起。这种策略与大多数一次性NAS方法[16, 8,59]不同,在这些方法中,相同层的不同块的权重是独立的,如图5所示。当使用所提出的权重纠缠进行变压器超网络训练时,我们观察到一个令人惊讶的现象:它允许超网络中的大量子网络得到很好的训练,使得这些子网络的性能与从头开始重新训练的子网络的性能相当。这种优势使得我们的方法能够获得数千种可以满足不同资源约束的架构,同时保持与独立从头训练相同水平的准确性。我们在第3.4节中对权重纠缠的潜在原因进行了详细讨论。我们对经过良好训练的超网络进行了一次进化搜索,以找到有前途的变压器。在ImageNet[11]上的实验证明,我们的方法在性能上优于手工设计的最先进变压器模型。例如,如图1所示,使用22.9M参数,Autoformer达到了81.7%的top-1准确率。0在ImageNet上,AutoFormer的top-1准确率达到81.7%,比DeiT-S [50]和ViT-S/16[13]分别提高了1.8%和2.9%。此外,当转移到下游视觉分类数据集时,我们的AutoFormer也表现出色,具有更少的参数,实现了与最佳卷积模型(如Ef�cientNet[49])相比更好或相当的结果。总之,本文的主要贡献有三个:1)据我们所知,这项工作是设计用于寻找视觉变压器模型的自动搜索算法的首次尝试。2)我们提出了一个简单而有效的变压器超网络高效训练框架。在不进行额外微调或重新训练的情况下,训练好的超网络能够直接从中继承权重,产生数千个高质量的变压器。这种优点使得我们的方法能够搜索适应不同资源约束的多样化模型。3)我们搜索得到的模型,即AutoFormers,在ImageNet上达到了视觉变压器中的最先进结果,并在下游任务中展示了良好的可迁移性。0在介绍我们的方法之前,我们首先简要回顾一下视觉变压器和单次NAS的背景。02. 背景0变压器最初是为自然语言任务设计的[52, 28,12]。最近的研究,如ViT和DeiT[13,50],表明它在视觉识别方面具有巨大潜力。接下来,我们给出视觉变压器的基本流程,它作为AutoFormer的基本架构。给定一张2D图像,我们首先将其均匀分割成一个2D序列,就像自然语言处理中的标记一样。然后,我们通过线性投影[13]或几个CNN层[67]将这些补丁转换为D维向量,称为补丁嵌入。一个可学习的[class]嵌入被注入到序列的头部,以表示整个图片。位置嵌入被添加到补丁嵌入中以保留位置信息。然后将组合嵌入馈送到下面描述的变压器编码器。最后,应用线性层用于最终的分类。变压器编码器由多头自注意力(MSA)块和多层感知机(MLP)块交替组成。在每个块之前应用LayerNorm(LN)[2],并在每个块之后应用残差连接。下面给出MSA和MLP的详细信息。多头自注意力(MSA)。在标准的自注意力模块中,输入序列z ∈ R N ×D首先线性变换为查询Q ∈ R N × D h,键K ∈ R N × D h和值V ∈ RN × D h,其中N是标记的数量,D是嵌入维度,Dh是Q-K-V维度。然后,我们计算每个元素在序列中所有值的加权和。权重或注意力基于序列中两个元素之间的成对相似性:Hidden Dim Choice Embedding ChoiceAdd Position Embedding to Patch EmbeddingTransformer Block ChoiceTransformer Block ChoiceDynamic Layer of Transformer BlockPatch Embedding Choice[class]used for the final classification.A transformer encoder consists of alternating blocks ofmultihead self-attention (MSA) and multi-layer perceptron(MLP) blocks. LayerNorm (LN) [2] is applied before ev-ery block, and residual connections after every block. Thedetails of MSA and MLP are given below.Multihead Self-Attention (MSA). In a standard self-attention module, the input sequence z ∈ RN×D will befirst linearly transformed to queries Q ∈ RN×Dh, keysK ∈ RN×Dh and values V ∈ RN×Dh, where N is thenumber of tokens, D is the embedding dimension, Dh isthe Q-K-V dimension.Then we compute the weightedsum over all values for each element in the sequence. Theweights or attention are based on the pairwise similarity be-tween two elements of the sequence:where √dhlayer is applied. Multihead self-attention splits the queries,keys and values into different heads and performs self-attention in parallel and projects their concatenated outputs.Multi-Layer Perceptron (MLP). The MLP block consiststwo fully connected layers with an activation function, usu-ally GELU [19]. In this work, we focus on finding optimalchoices of the MLP ratios in each layer.mization problem. The first-stage is to optimize the weightW byWA = arg minWLtrain(N(A, W)),(2)3. AutoFormer122720√ d h0线性0嵌入选择0注意力0查询选择0变压器块选择0变压器块选择0类别头0分割0图3.左:AutoFormer超网的整体架构。请注意,每个层和深度中的变压器块都是动态的。实线部分表示它们被选择,而虚线部分则没有。右:AutoFormer中的详细变压器块。我们在一个层中搜索最佳的嵌入维度、头数、MLP比率、Q-K-V维度。有关搜索空间的更多细节,请参阅第3.2节。0注意力(Q,K,V)=softmax QKT02.2. 单次NAS0单次NAS通常采用权重共享策略,以避免从头开始训练每个子网[16,39]。架构搜索空间A被编码在一个超网中,表示为N(A,W),其中W是超网的权重。0W 在所有架构候选中共享,即子网络 α ∈ A 在 N 中。寻找最优架构 α �的搜索在一次性NAS中通常被形式化为一个两阶段的优化问题。第一阶段是通过优化权重W 来找到 W A = arg min W L train ( N ( A , W )) ,(2)0其中,L train表示训练数据集上的损失函数。为了减少内存使用,一次性方法通常从 N 中采样子网络进行优化。第二阶段是通过根据 W A中学习到的权重对子网络 α ∈ A 的性能进行排名来搜索架构:0α � = arg max α ∈A Acc val ( N ( α, w )),(3)0其中,采样的子网络 α 继承自 W A 的权重 w,并且 Accval 表示架构 α在验证数据集上的top-1准确率。由于不可能枚举所有的架构 α ∈ A 进行评估,先前的工作采用随机搜索[34,4],进化算法[43, 16]或强化学习[40,48]来找到最有前途的架构。0在本节中,我们首先证明直接应用一次性NAS进行transformer搜索是不切实际的,因为采用传统的权重共享策略[16],在每个层中为不同的块使用不同的权重,导致收敛速度慢且性能不理想。然后,我们提出了用于视觉transformer的权重纠缠策略来解决这些问题。最后,我们介绍了搜索空间和搜索流程。OnOffddim=dim=dk�dim= dk�dim=dk�ddim=122730图4.左:在ImageNet上,超网络的训练损失在权重纠缠和传统权重共享之间的比较。右:在ImageNet上,子网络的Top-1准确率在权重纠缠和传统权重共享期间的比较。03.1. 一次性NAS与权重纠缠0先前的一次性NAS方法在超网络训练期间通常在架构之间共享权重,同时在同一层的不同操作符之间解耦权重。这种策略在用于卷积神经网络空间的架构搜索时表现良好[16, 6, 8,21,49]。然而,在transformer搜索空间中,这种传统策略遇到了困难。1)收敛速度慢。如图4(左)所示,超网络的训练损失收敛缓慢。原因可能是transformer块的独立训练导致权重更新次数有限。2)性能低下。继承自一次性超网络的权重的子网络的性能,训练时采用传统的权重共享策略,远低于从头开始训练的真实性能(见图4的右侧)。这限制了超网络的排名能力。此外,在搜索之后,仍然需要对搜索到的架构进行额外的重新训练,因为权重尚未完全优化。受到BigNAS [65]和slimmable networks [66,64]的启发,我们提出了专门用于视觉transformer架构搜索的权重纠缠训练策略。其核心思想是使不同的transformer块在每个层中共享权重的共同部分。更具体地说,对于一个具有 l 层堆叠的子网络 α ∈ A,我们将其结构和权重表示为α = ( α (1) , ...α ( i ) , ...α ( l ) ) ,0其中,α ( i ) 表示第 i 层中的采样块,w ( i )是块的权重。在架构搜索过程中,每层中的块有多个选择。因此,α ( i ) 和 w ( i ) 实际上是从属于搜索空间的 n个块候选中选择的,其表示为 α ( i ) ∈ { b ( i ) 1 , ...b ( i ) j, ...b ( i ) n } ,0其中b(i)j是搜索空间中的候选块,w(i)j是其权重。权重纠缠策略强制要求0输入0块1 块2 块30输出0输入0输出0块20块30(a)经典的权重共享(b)权重纠缠0块10图5. 经典的权重共享与权重纠缠。0使同一层中的不同候选块尽可能共享尽可能多的权重。这要求对于同一层中的任何两个块b(i)j和b(i)k,我们有0w(i)j�w(i)k或w(i)k�w(i)j。(6)0这种层内权重共享使得w(i)j和w(i)k的权重更新相互纠缠在一起。任何一个块的训练都会影响其他块的权重,因为它们的交叉部分是相互关联的,如图5所示。这与经典的一次性NAS中的权重共享策略不同,其中同一层中的构建块是隔离的。换句话说,在经典的权重共享中,对于任何两个块b(i)j和b(i)k,我们有w(i)j∩w(i)k=�。需要注意的是,所提出的权重纠缠策略专门用于同质的构建块,例如具有不同头数的自注意力模块和具有不同隐藏维度的多层感知机。其根本原因是同质块在结构上是兼容的,使得权重可以相互共享。在实现过程中,对于每一层,我们只需要存储n个同质候选中最大块的权重。剩余的较小的构建块可以直接从最大的块中提取权重。配备了权重纠缠的一次性NAS能够以高效和有效的方式搜索Transformer架构,如图4所示。与经典的权重共享方法相比,我们的权重纠缠策略具有三个优点。1)更快的收敛速度。权重纠缠使得每个块可以比之前的独立训练策略更新更多次。2)更低的内存成本。现在我们只需要为每层存储最大构建块的参数,而不是空间中的所有候选项。3)更好的子网络性能。我们发现,使用权重纠缠训练的子网络可以达到与从头开始训练相当的性能。03.2. 搜索空间0我们设计了一个大型的Transformer搜索空间,其中包括Transformer构建块中的五个可变因素:嵌入维度、Q-K-V维度、头数、MLP比例和网络深度,详见表1和图3。122740超级网络-微型 超级网络-小型 超级网络-基础0嵌入维度(192,240,24)(320,448,64)(528,624,48)Q-K-V维度(192,256,64)(320,448,64)(512,640,64)MLP比例(3.5,4,0.5)(3,4,0.5)(3,4,0.5)头数(3,4,1)(5,7,1)(8,10,1)深度数(12,14,1)(12,14,1)(14,16,1)0参数范围4-9M 14-34M 42-75M0表1.AutoFormer的搜索空间。我们设置了三个超级网络以满足不同的资源约束条件。括号中的三个值表示最低值、最高值和步长。注意:Q-K-V维度、头数和MLP比例在不同层之间是变化的。0这些因素对于模型的容量非常重要。例如,在注意力层中,使用不同的头数来捕捉不同的依赖关系。然而,最近的研究[36,53,9]表明,许多头是多余的。因此,我们使注意力头数具有弹性,以便每个注意力模块可以决定其所需的头数。另一方面,由于不同层对特征表示具有不同的容量,因此在层中使用不同的隐藏维度可能比固定大小更好地用于构建新模型。此外,AutoFormer将新的Q-K-V维度添加到搜索空间中,并将Q-K-V维度与每个块中的头数之比固定。这样的设置使得注意力计算中的缩放因子1/√dh对于头数是不变的,稳定了梯度,并解耦了不同头的含义。按照一次性NAS的方法,我们将搜索空间编码为超级网络。也就是说,空间中的每个模型都是超级网络的一部分/子集。所有子网络共享它们共同部分的权重。超级网络是空间中最大的模型,其架构如图3所示。在训练过程中,所有可能的子网络都被均匀采样,并更新相应的权重。根据模型参数的约束,我们将大规模的搜索空间分为三个部分,并将它们编码为三个独立的超级网络,如表1所述。这样的划分使得搜索算法可以集中于在特定参数范围内找到模型,用户可以根据其可用资源和应用需求进行专门化。总体而言,我们的超级网络包含超过1.7×10^16个候选架构,涵盖了广泛的模型大小范围。03.3. 搜索流程0我们的搜索流程包括两个连续的阶段。第1阶段:使用权重纠缠进行超网络训练。在每个训练迭代中,我们从预定义的中均匀采样一个子网络α = (α(1), ...α(i), ...α(l))。0搜索空间并在保持其余部分不变的情况下更新相应的权重 w= (w(1), ...w(i), ...w(l)) 在超网络的权重 WA中。详细算法请参见补充材料附录A。第2阶段:在资源约束下进行进化搜索。在获得训练有素的超网络之后,我们对其进行进化搜索以获得最佳子网络。子网络根据进化算法的管理者进行评估和选择。我们的目标是在最大化分类准确率的同时最小化模型大小。在进化搜索开始时,我们选择N个随机架构作为种子。通过交叉和突变,选择前k个架构作为父代生成下一代。对于交叉,每一代都会选择两个随机选定的候选者进行交叉,生成一个新的候选者。对于突变,候选者首先以概率Pd突变其深度。然后,以概率Pm突变每个块,生成一个新的架构。03.4. 讨论0为什么权重纠缠有效?我们推测有两个潜在原因。1)训练中的正则化。与卷积神经网络不同,Transformer根本没有卷积操作。它的两个基本组件,MSA和MLP,仅使用全连接层。权重纠缠可以被视为对Transformer的一种正则化训练策略,在某种程度上类似于dropout的效果[47, 54,30]。当采样小的子网络时,相应的单元不能依赖其他隐藏单元进行分类,从而减少了单元的依赖性。2)优化深而薄的子网络。最近的研究[3,57]表明,深层Transformer很难训练,这与我们在图2中的观察一致。这是因为在反向传播过程中,深而薄的网络中的梯度可能会爆炸或消失。增加网络的宽度或“过参数化”将有助于优化[33, 14, 1,71]。我们的权重纠缠训练策略以类似的方式帮助优化薄子网络。宽子网络反向传播的梯度将有助于更新薄子网络的权重。此外,弹性深度与随机深度[23]和深度监督[29]具有类似的效果,它们也监督浅层。04. 实验0在本节中,我们首先介绍实现细节和进化搜索设置。然后,我们分析了提出的权重纠缠策略,并提供了大量从超网络中采样的经过良好训练的子网络,以证明其有效性。最后,我们将AutoFormer在几个基准测试中的性能与手动设计或自动设计的最先进模型进行比较。122750搜索方法 继承 重新训练参数0随机搜索 - 79.4% 23.0M 经典权重共享 + 随机搜索 69.7% 80.1% 22.9M 权重纠缠 +随机搜索 81.3% 81.4% 22.8M 经典权重共享 + 进化搜索(SPOS[16]) 71.5% 80.4%22.9M 权重纠缠 + 进化搜索(我们的方法) 81.7% 81.7% 22.9M0表2.不同搜索方法的比较。超网络训练500个时期,子网络重新训练300个时期。随机搜索进行了三次,并报告了最佳性能。0图6.在搜索过程中继承超网络权重的子网络性能。每个搜索迭代中都显示了当前迭代的前50个候选者。0时期 优化器 批量大小 学习率 学习率调度器0500 AdamW 1024 1e-3 cosine0权重 热身 标签 丢弃 重复 衰减 时期 平滑 路径 增强05e-2 20 0.1 0.1 �0表3. 超网络训练设置。LR表示学习率。0模型 模型大小 继承 微调 重新训练0AutoFormer-T 5.7M 74.7% 74.9% 74.9% AutoFormer-S22.9M 81.7% 81.8% 81.7% AutoFormer-B 53.7M 82.4%82.6% 82.6%0表4.具有继承权重、微调(40个时期)和从头训练(300个时期)的子网络的比较。04.1. 实现细节0超网络训练。我们使用与DeiT[50]类似的方法来训练超网络。详细信息见表3。采用了数据增强技术,包括RandAugment[10]、Cutmix[68]、Mixup[69]和随机擦除,其超参数与DeiT[50]中的相同,除了重复增强[20]。图像被分割成大小为16x16的块。所有模型都使用PyTorch1.7实现,并在Nvidia Tesla V100GPU上训练。进化搜索。进化搜索的实现遵循SPOS[16]的相同协议。为了公平比较,我们保留了ImageNet验证集进行测试,并从训练集中随机抽取了10,000个样本(每类100个图像)作为验证数据集。我们将种群大小设置为50,代数数设置为20。每一代,我们选择前10个架构作为父代,通过突变和交叉生成子网络。突变概率Pd和Pm分别设置为0.2和0.4。04.2. 消融研究和分析0权重纠缠的有效性。我们将AutoFormer与随机搜索和SPOS[16](经典的权重共享)基线进行比较,以证明权重纠缠的有效性。对于随机搜索,我们随机选择符合模型大小约束的架构。对于SPOS[16],我们将其调整为0图7.AutoFormer和从超网络继承权重的超网络-small中采样的1000个高性能架构在ImageNet上的Top-1准确率。0在SPOS超网络的每一层中,具有不同架构参数的transformer块不共享权重。例如,在MLP块中,隐藏维度有多个选择。每个MLP选择都有自己的权重,彼此独立。训练完SPOS超网络后,我们应用相同的进化过程来找到最有前途的架构候选者,并使用与我们的AutoFormer相同的设置对其进行重新训练。表2展示了在ImageNet上的比较结果。我们可以观察到:1)重新训练后,随机搜索和SPOS相对于我们的方法分别较差2.3%和1.3%,表明我们提出的方法的优越性。2)在不重新训练的情况下,即直接从超网络继承权重,权重纠缠训练策略可以产生比经典的权重共享更好的结果。纠缠的权重可以产生训练良好的子网络,这些子网络与从头开始重新训练的子网络非常接近。我们推测SPOS在transformer空间中相对较差的性能主要是由于训练不足。我们还观察到,如果我们在SPOS中训练超网络的时期更长,性能可以慢慢提高。然而,其训练成本远高于我们提出的权重纠缠策略。图6绘制了从训练的超网络中采样的架构数量与准确率的关系。每一代都绘制了前50个候选者。很明显,与随机搜索基线相比,超网络上的进化搜索更加有效。122760表5.AutoFormer在ImageNet上的性能与现有模型进行比较。我们根据参数大小对模型进行分组。我们的AutoFormer始终优于现有的基于transformer的视觉模型,与CNN模型相当。†:由[50]报告,�:由[63]报告。0模型 Top-1准确率 Top-5准确率 #参数 FLOPs 分辨率 模型类型 设计类型0MobileNetV3 Large 1.0 [21] 75.2% - 5.4M 0.22G 224 2 CNN 自动 Ef�cietNet-B0[49] 77.1% 93.3% 5.4M 0.39G 224 2 CNN自动 DeiT-tiny [50] 72.2% 91.1% 5.7M 1.2G 224 2 Transformer 手动 AutoFormer-tiny (我们的) 74.7% 92.6% 5.7M 1.3G 2242 Transformer 自动0ResNet50 � [18] 79.1% - 25.5M 4.1G 224 2 CNN 手动 RegNetY-4GF † [41] 80.0% - 21.4M 4.0G 224 2 CNN 自动 Ef�cietNet-B4[49] 82.9% 95.7% 19.3M 4.2G 380 2 CNN 自动 BoTNet-S1-59 [46] 81.7% 95.8% 33.5M 7.3G 224 2 CNN + Trans 手动T2T-ViT-14 [67] 81.7% - 21.5M 6.1G 224 2 Transformer 手动 DeiT-S [50] 79.9% 95.0% 22.1M 4.7G 224 2 Transformer 手动ViT-S/16 [13] 78.8% - 22.1M 4.7G 384 2 Transformer 手动 AutoFormer-small (我们的) 81.7% 95.7% 22.9M 5.1G 224 2Transformer 自动0ResNet152 � [18] 80.8% - 60M 11G 224 2 CNN 手动 Ef�cietNet-B7 [49] 84.3% 97.0% 66M 37G 600 2 CNN 自动 ViT-B/16 [13]79.7% - 86M 18G 384 2 Transformer 手动 Deit-B [50] 81.8% 95.6% 86M 18G 224 2 Transformer 手动 AutoFormer-base(我们的) 82.4% 95.7% 54M 11G 224 2 Transformer 自动0无需重新训练的子网性能。令人惊讶的是,我们观察到当从超网继承权重时,有大量的子网表现非常好,无需额外的微调或重新训练。图7中显示的蓝色点表示从超网-S中采样的1000个高性能子网。所有这些子网的top-1准确率都在80.1%到82.0%之间,超过了最近的DeiT [50]和RegNetY[41]。这些结果充分证明了所提出的权重纠缠策略对于一次性超网训练的有效性。表4显示,如果我们进一步在ImageNet上对搜索到的子网进行微调或重新训练,性能提升非常小,甚至可以忽略不计。这一现象说明了权重纠缠策略使得子网能够在超网中得到很好的训练,从而导致搜索到的transformer模型不需要任何重新训练或微调,超网本身可以作为子网排名的良好指标。04.3. ImageNet上的结果0我们在ImageNet上进行了AutoFormer的搜索,并找到了多个具有不同参数大小的transformer模型。所有这些模型都直接从超网继承权重,无需额外的重新训练和其他后处理。性能报告如表5和图1所示。很明显,我们的AutoFormer模型系列的准确性比最近的手工设计的最先进的transformer模型,如ViT [13]和DeiT[50]要高。特别是我们的小模型AutoFormer-S,使用约23M个参数,达到了81.7%的top-1准确率,比DeiT-S和ViT-S/16分别提高了1.8%和2.9%。与传统的CNN模型相比,AutoFormer也是0竞争力。如图1所示,我们的AutoFormer比手动设计的ResNet [18],ResNeXt [62]和DenseNet[22]表现更好,展示了纯transformer模型在视觉表示方面的潜力。然而,基于transformer的视觉模型,包括AutoFormer,仍然不如基于反向残差块[44]的模型,如MobileNetV3 [21]和Ef�cientNet[49]。原因是反向残差块针对边缘设备进行了优化,所以模型大小和FLOPs比视觉transformer要小得多。04.4. 迁移学习结果0分类。我们将AutoFormer迁移到一系列常用的识别数据集上:1)通用分类:CIFAR-10和CIFAR-100[27];2)细粒度分类:Stanford Car [26],FLowers[37]和Oxford-III Pets [38]。我们遵循DeiT[50]的相同训练设置,即使用ImageNet预训练的检查点,并在新数据集上进行微调。表6显示了top-1准确率方面的结果:1)与最先进的ConvNet相比,AutoFormer在参数更少的情况下接近最佳结果;2)与基于transformer的模型相比,AutoFormer在所有数据集上实现了更好或相当的结果,且参数更少(约4倍)。蒸馏。AutoFormer与知识蒸馏(KD)是正交的,因为我们专注于搜索一种高效的架构,而KD专注于更好地训练给定的架构。通过从RegNetY-32GF[41]教师模型中蒸馏硬标签,将KD与AutoFormer结合起来可以进一步提高性能,从74.7%/81.7%/82.4%分别提高到75.7%/82.4%/82.9%。122770表6. AutoFormer在下游分类数据集上的结果。↑ 384表示使用384×384分辨率进行微调。0模型 #参数 FLOPs ImageNet CIFAR-10 CIFAR-100 Flowers Cars Pets 模型类型 设计类型0Grafit ResNet-50 [ 51 ] 25M 12.1G 79.6 - - 98.2 92.5 - CNN 手动 Grafit RegNetY-8GF [ 51 ] 39M 23.4G 79.6 - - 99.0 94.0 - CNN 手动EfficientNet-B5 [ 49 ] 30M 9.5G 83.6 98.7 91.1 98.5 - - CNN 自动0ViT-B/16 [ 13 ] 86M 55.4G 77.9 98.1 87.1 89.5 - 93.8 Trans 手动 DeiT-B ↑ 384 [ 50 ] 86M 55.4G 83.1 99.1 90.8 98.5 93.3 - Trans 手动AutoFormer-S ↑ 384 23M 16.5G 83.4 99.1 91.1 98.8 93.4 94.9 Trans 自动05. 相关工作0视觉Transformer。Transformer最初是用于语言建模的[52],最近也应用于计算机视觉。它在各种任务上显示出了很大的潜力[7,13,35]。在视觉中使用Transformer的一种直接方法是将卷积层与自注意模块相结合[52,58]。在这个方向上已经取得了一些进展,比如[42,70,56,24]。最近,Dosovitskiy等人提出了VisionTransformer(ViT)[13],这是一种纯Transformer架构,用于视觉识别。当训练一个庞大的图像数据集(JFT-300M,3亿张图像)时,它呈现出了有希望的结果,但该数据集并不公开。最近的DeiT模型[50,67]证明了不需要大规模数据。仅使用Imagenet也可以产生一个有竞争力的无卷积Transformer。然而,现有的Transformer模型的视觉都是基于手动设计的,这是一种工程昂贵且容易出错的方法。在这项工作中,我们首次尝试使用神经架构搜索自动设计视觉Transformer。神经架构搜索。越来越多的人对自动化网络设计的NAS产生了兴趣[15,25]。早期的方法使用强化学习[73,72]或进化算法[61,43]来搜索网络。最近的工作采用一次性权重共享策略来分摊搜索成本[34,40,5,16]。关键思想是训练一个过参数化的超网络模型,然后在子网络之间共享权重。然而,大多数权重共享方法在确定最佳架构后需要进行额外的重新训练步骤[16,31,59]。最近的工作,如OFA [6],BigNAS [65]和slimmable networks[66,64]通过训练一次性超网络来缓解这个问题。尽管AutoFormer与这些方法在训练一次性超网络的概念上有相似之处,但这些方法是为卷积网络而不是视觉Transformer设计的。具体而言,AutoFormer考虑了多头自注意力和MLP的设计,这是Transformer模型独有的,同时还给出了详细的搜索维度设计,如3.2节所述。此外,BigNAS采用了几种精心设计的技术,如三明治训练、就地蒸馏、正则化等。OFA提出了一种逐步缩小的方法,通过逐步蒸馏完整模型。0网络以获取较小的子网。相比之下,Auto-Former简单高效,一次性训练即可,无需这些技术。0对于Transformer,很少有研究应用NAS来改进它们的架构[45,55]。这些方法主要集中在自然语言处理任务上。其中,与我们最相似的是HAT[55]。除了任务之间的差异外,HAT在搜索之后需要进行额外的重新训练或微调步骤,而AutoFormer则不需要,这是关键的区别。另一个区别是搜索空间。HAT搜索的是编码器-解码器Transformer结构,而我们的是纯编码器。还有两个并行的工作,即BossNAS [32]和CvT[60],它们从不同的搜索空间进行探索。BossNAS搜索CNN-transformer混合体,而我们搜索纯Transformer。CvT提出了一个新的架构系列,并搜索它们的步幅和内核大小。由于搜索空间的不同,我们在这项工作中不进行比较。06. 结论0在这项工作中,我们提出了一种新的一次性架构搜索方法AutoFormer,专门用于Transformer搜索。AutoFormer配备了训练策
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功