没有合适的资源?快使用搜索试试~ 我知道了~
01500204060800020406080124860用于视觉Transformer高效训练的自动化渐进学习0Changlin Li 1,2,3 Bohan Zhuang 3 † Guangrun Wang 4 Xiaodan Liang 5 Xiaojun Chang 2 Yi Yang 601百度研究2 ReLER,AAII,悉尼科技大学3莫纳什大学4牛津大学5中山大学6浙江大学0changlinli.ai@gmail.com,bohan.zhuang@monash.edu,wanggrun@gmail.com0xdliang328@gmail.com,xiaojun.chang@uts.edu.au,yangyics@zju.edu.cn0摘要0最近视觉Transformer(ViTs)的进展对计算能力有着巨大的需求,这凸显了开发高效训练方法的迫切需求。渐进学习是一种训练方案,其中模型容量在训练过程中逐渐增长,已经开始展示出其在高效训练中的能力。在本文中,我们通过定制和自动化渐进学习,为ViTs的高效训练迈出了实际的一步。首先,我们通过引入动量增长(MoGrow)来建立ViTs渐进学习的强大手动基准线,以弥合模型增长带来的差距。然后,我们提出了自动化渐进学习(AutoProg),这是一种旨在通过自动增加训练超载来实现无损加速的高效训练方案;这是通过自适应地决定模型在渐进学习过程中应该增长多少、在哪里增长以及增长多少来实现的。具体而言,我们首先将增长计划的优化放松为子网络架构优化问题,然后通过弹性超网络一次性估计子网络性能。通过回收超网络的参数,搜索开销被降到最低。在两个代表性的ViT模型DeiT和VOLO上进行的大量高效训练实验表明,AutoProg可以加速ViTs的训练速度高达85.1%,而不会降低性能。101. 引言0具有强大的高模型容量和大量数据,Transformer在计算机视觉(CV)的许多任务上取得了显著的性能提升[54,69]。开创性的ViT模型[21]将模型大小扩大到了1,021亿次FLOP,比ResNet-50[31]大250倍。通过在大规模JFT-3B数据集[86]上进行预训练,实现了0†通讯作者。1代码:https://github.com/changlin31/AutoProg。0运行时间(GPU小时)0Top-1准确率(%)0DeiT-SDeiT-B0运行时间(GPU小时)0VOLO D1VOLO D2VOLO D3VOLO D4VOLO D50图1. ViTs(DeiT [69]和VOLO[85])在训练过程中的准确率。较小的ViTs在运行时间方面收敛更快2。图例中的模型按照模型大小的增加顺序排序。0模型CO2e(磅)3 ImageNet准确率(%)0ResNet-50 [21,31] 267 77.540BERT base [18] 1,438 -0每年平均人数[62] 11,023 -0ViT-H/14 [21] 22,793 88.55 CoAtNet [15] 183,25690.880表1.视觉模型训练规模的增长导致环境成本的显著增长。还包括人类生活和语言模型BERT[18]的CO2e进行比较。ResNet-50、ViT-H/14的结果来自[21],并在JFT-300M [63]上进行训练。CoAtNet在JFT-3B [86]上进行训练。0最近提出的ViT模型CoAtNet[15]达到了最先进的性能,与原始ViT相比,训练成本只有大约8倍。训练规模的快速增长不可避免地导致了更高的计算成本和碳排放。如表1所示,最近的视觉Transformer的突破性进展带来了对计算能力的巨大需求,导致环境成本的显著增长。因此,使ViT的训练在计算和能源消耗方面可行变得极其重要。在主流的深度学习训练方案中,所有网络参数都参与每次训练迭代。然而,我们经验性地发现,只训练一个小的02 我们将运行时间定义为模型在训练期间前向传播和反向传播中使用的总GPU小时数。3CO2等效排放量(CO2e)是根据[56]使用美国平均能源混合计算得出的,即每千瓦时0.429千克CO2e。124870ViTs的早期训练阶段,部分参数的性能与之相当。如图1所示,较小的ViTs在运行时间方面收敛速度更快(尽管在足够的训练时间后,它们最终会被超越)。上述观察结果激发了我们重新思考训练ViTs的效率瓶颈:每个参数,每个输入元素是否都需要参与所有的训练步骤?在这里,我们提出了ViTs的“增长票据假设”:大型ViT模型的性能可以通过首先训练其子网络,然后在适当增长后训练完整网络来达到,总训练迭代次数相同。这个假设通过在子网络上迭代应用该假设,我们得到了渐进学习方案。最近,渐进学习开始展示其加速模型训练的能力。在自然语言处理领域,渐进学习可以减少BERT预训练时间的一半。渐进学习还显示了减少卷积神经网络(CNN)训练成本的能力。然而,这些算法在很大程度上彼此不同,并且它们在不同架构之间的泛化能力尚未得到很好的研究。例如,我们在实证中观察到,渐进堆叠可能导致ViTs的性能显著下降(约1%)。因此,我们采取了实际步骤,通过对ViTs的渐进学习进行泛化和自动化,以实现可持续的深度学习。据我们所知,我们是解决训练ViT模型的效率瓶颈的先驱之一。我们通过控制增长操作符和增长计划的另一个组件,将渐进学习分解为两个组件,并对每个组件进行研究。首先,我们通过开发增长操作符为ViTs的渐进学习提供了一个强大的手动基准。为了消除增长操作符优化的影响,我们在ViTs的两个维度(即补丁数量和网络深度)上引入了均匀线性增长计划。为了弥合模型增长带来的差距,我们提出了动量增长(MoGrow)操作符,并采用有效的动量更新方案。此外,我们提出了一种新颖的自动渐进学习(AutoProg)算法,通过自动调整训练超载来实现无损训练加速。具体而言,我们首先将增长计划的优化放松为子网络架构优化问题。然后,我们通过训练一个弹性超网络来提出子网络性能的一次性估计。通过回收超网络的参数,搜索开销被降到最低。所提出的AutoProg在ImageNet上为ViTs实现了显著的训练加速。在没有手动调整的情况下,它始终加速不同ViTs的训练超过40%。0超过40%,包括DeiT-tiny和VOLO-D2等不同变体的DeiT和VOLO。值得注意的是,它将VOLO-D1的训练加速了高达85.1%,而没有性能下降。虽然大大节省了训练时间,但与常规训练方案相比,AutoProg在测试更大的输入尺寸和转移到其他数据集时取得了有竞争力的结果。总的来说,我们的贡献如下:•我们通过引入MoGrow(一种动量增长策略)来为ViTs的渐进学习开发了一个强大的手动基准,以弥合模型增长带来的差距。0•我们提出了自动渐进学习(Auto-Prog),这是一种高效的训练方案,旨在通过自动调整增长计划来实现无损加速0•我们的AutoProg在ImageNet上为ViTs实现了显著的训练加速(高达85.1%),表现优于原始训练方案。2.相关工作渐进学习。早期关于渐进学习的工作[3, 23, 32, 37,43, 59, 60,70]主要集中在规避深度网络的训练困难。最近,随着现代深度模型的训练成本变得非常昂贵,渐进学习开始展现其在高效训练方面的能力。Net2Net [12]和NetworkMorphism[73–75]研究了如何通过从较小的模型正确初始化来加速大模型训练。在NLP领域,许多最近的工作通过逐渐堆叠层[25, 44,79]、删除层[88]或在多个网络维度上增长[27]来加速BERT预训练。类似的框架也已经被提出用于其他模型的高效训练[71,80]。由于这些算法仍然是手动设计的,并且在转移到其他网络时可能表现不佳,我们提出自动化渐进学习方案的设计过程。自动机器学习。自动机器学习(AutoML)旨在从多个方面自动化模型结构和学习方法的设计,包括神经架构搜索(NAS)[2, 52, 64, 90],超参数优化(HPO)[4,5],AutoAugment [13, 14],AutoLoss [49, 77,78]等。通过放松AutoML中的双层优化问题,出现了许多高效的AutoML算法,例如权重共享NAS [6, 9, 29, 45, 53, 57,58],可微分AutoAug[51]等。这些方法在联合优化的超网络中共享网络参数,用于不同候选架构或学习方法,然后根据从超网络继承的参数对每个候选架构进行评级。也尝试自动化渐进学习。AutoGrow [76]提出使用手动调整的渐进学习方案来搜索最优解。3.1. Progressive LearningProgressive learning gradually increases the trainingoverload by growing among its sub-networks following agrowth schedule Ψ, which can be denoted by a sequenceof sub-networks with increasing sizes for all the trainingepochs t. In practice, to ensure the network is sufficientlyoptimized after each growth, it is a common practice [27,66,79] to divide the whole training process into |k| equispacedstages with τ = |t|/|k| epochs in each stage. Thus, thegrowth schedule can be denoted as Ψ =�ψk�|k|k=1; the finalNotationTypeDescriptiont, |t|scalartraining epoch, total training epochsk, |k|scalartraining stage, total training stagesτscalarepochs per stageΨsequencegrowth scheduleζfunctiongrowth operatorψnetworksub-networkΦnetworksupernetω, |ω|parameternetwork parameters, number of parametersΩ, Λsetthe whole growth space, partial growth space∗, ⋆notationoptimal, relaxed optimalTable 2. Notations describing progressive learning and automatedprogressive learning.Algorithm 1: Progressive LearningInput:Ψ: the growth schedule; ζ: the growth operator;|t|: total training epochs; τ: epochs per stage;Randomly initialized parameters ω;for t ∈ [1, |t|] doif t = Nτ, N ∈ N+ thenSwitch to the sub-network of next stage ψ ← Ψ[t/τ];Initialize parameters by growth operator ω ← ζ(ω);endTrain ψ(ω) over all the training data.endone is always the complete model. Note that stages with dif-ferent lengths can be achieved by using the same ψ in differ-ent numbers of consecutive stages, e.g., Ψ = (ψa, ψb, ψb),where ψa, ψb are two different sub-networks.When growing a sub-network to a larger one, the param-eters of the larger sub-network are initialized by a growthoperator ζ, which is a reparameterization function thatmaps the weights ωs of a smaller network to ωℓ of a largerone by ωℓ = ζ(ωs).The whole progress of progressivelearning is summarized in Algorithm 1.Let L be the target loss function, and T be the total run-time; then progressive learning can be formulated as:minω,Ψ,ζ�L(ω, Ψ, ζ), T (Ψ)�,(1)where ω denotes the parameters of sampled sub-networksduring the optimization. Growth schedule Ψ and growthoperator ζ have been explored for language Transform-ers [25, 27]. However, ViTs differ considerably from theirlinguistic counterparts. The huge difference on task objec-tive, data distribution and network architecture could lead todrastic difference in optimal Ψ and ζ. In the following partsof this section, we mainly study the growth operator ζ forViTs by fixing Ψ as a uniform linear schedule in a growthspace Ω, and leave automatic exploration of Ψ to Sec. 4.3.2. Growth Space in Vision TransformersThe model capacity of ViTs are controlled by many fac-tors, such as number of patches, network depth, embeddingdimensions, MLP ratio, etc. In analogy to previous discov-eries on fast compound model scaling [19], we empiricallyfind that reducing network width (e.g., embedding dimen-124880网络深度,本质上是一种NAS方法。Lip-Grow[20]可能是与我们的工作最相关的,它根据Lipschitz约束在小规模数据集上自适应地决定CNNs加倍深度的适当时间。不幸的是,LipGrow不能轻松推广到ViTs,因为自注意力不是Lipschitz连续的[38]。相比之下,我们从传统的AutoML视角解决了自动渐进学习问题,并通过自适应地决定是否、何时以及以多大程度增长来完全自动化增长计划。此外,我们的研究直接在大规模的ImageNet数据集上进行,符合高效训练的实际应用。弹性网络。弹性网络,或任意神经网络,是超网络,其子网络可以以各种大小执行,允许在运行时进行即时和自适应的准确性-效率权衡。早期关于弹性网络的工作可以分为具有弹性深度的网络[34, 35,41]和具有弹性宽度的网络[42, 82,84]。弹性网络的成功带来了它们的两个主要应用,即一次性单阶段NAS[8, 11, 81, 83]和动态推理[35, 47, 48, 50,72],其中出现了多个维度的弹性网络(例如,CNN的内核大小[8, 83],Transformers的头数[11,33]和补丁大小[72])。从一个新的角度来看,我们提出了一种弹性Transformer,在增长过程中作为子网络性能估计器,用于自动渐进学习。3. VisionTransformers的渐进学习在本节中,我们旨在为ViTs的渐进学习开发一个强大的手动基线。我们从Sec.3.1中的增长计划和增长操作两个主要因素开始,然后在Sec.3.2中介绍我们使用的增长空间。最后,在Sec.3.3中探讨ViTs的最合适的增长操作符。符号。我们用小写字母、粗体小写字母和大写字母(例如n、x和Ψ)表示标量、张量和集合(或序列)。为简单起见,我们使用{x_n}表示具有基数|n|的集合{x_n}|n|n=1,类似地,对于序列(x_n)|n|n=1。有关我们使用的符号的逐一解释,请参阅Tab. 2。Patch EmbeddingClassifierPatch EmbeddingClassifierPatch EmbeddingClassifierRandInitRandInit(a) RandInit.(b) Stacking.(c) Interpolation.Patch EmbeddingClassifierPatch EmbeddingClassifier(d) MoGrow.124890动0更新0图2.增长运算符ζ的变体。ωA和ωB表示原始小网络ψs中两个Transformer块的参数。(a)RandInit随机初始化新增的层;(b)Stacking复制原始层并直接将复制的层堆叠在其上;(c)Interpolation在原始层之间插入ψℓ的新层,并从其最近的邻居ψs中复制权重。(d)我们提出的MoGrow是在Interpolation的基础上构建的,通过从动量更新的ψs的集合中复制参数ω。0在现代GPU上,相同的flops下,较小的图像尺寸(即较小的分辨率)相对于较大的图像尺寸(即较大的分辨率)可以获得相对较小的加速比。因此,我们主要研究补丁数量(n^2)和网络深度(l),将其他维度留给未来的研究。补丁数量。给定补丁大小p×p,输入大小r×r,补丁数量n×n由n^2=r^2/p^2确定。因此,通过固定补丁大小,可以通过对输入图像进行下采样来简单地减少补丁数量。然而,在ViTs中,位置编码的大小与n有关。为了克服这个限制,我们自适应地插值位置编码以与n匹配。网络深度。网络深度(l)是Transformer块或其变体(例如,Outlooker块[85])的数量。统一线性增长计划。为了消融增长运算符ζ的优化,我们将增长计划Ψ固定为统一线性增长计划。具体而言,“统一”意味着所有维度(即n和l)在第t个时期按相同的比例st缩放;“线性”意味着比例s从s1线性增长到1。这个手动计划只有一个超参数,即初始缩放比s1,默认设置为0.5。在这个固定的Ψ下,Eq.(1)中的渐进学习优化简化为:0min ω, ζ L(ω, ζ), (2)0这使得可以通过比较不同ζ训练后的最终准确性来直接优化ζ。3.3. 关于Vision Transformers的增长0图2(a)-(c)描述了我们比较的增长运算符ζ的主要变体,涵盖了先前工作中的多种选择,包括RandInit[59]、Stacking[25]和Interpolation[10,20]。这些方案的更正式定义可以在补充材料中找到。我们的实证比较(在第5.3节中)表明,Interpolation增长是ViTs最合适的方案。不幸的是,通过Interpolation进行增长会改变网络的原始功能。在实践中,增长带来的函数扰动可能导致性能显著下降,在后续的训练步骤中很难恢复。早期的工作主张保持函数不变性。0增长运算符[12,75],我们将其称为Identity。然而,我们在实验中发现,通过Identity进行增长会严重损害ViTs的性能(见第5.3节)。因此,我们提出了一种增长运算符,称为动量增长(MoGrow),以弥合模型增长带来的差距。动量增长(MoGrow)。近年来,越来越多的自监督[26, 28, 30]和半监督[40,68]方法从网络的历史集合中学习知识。受此启发,我们提出在增长过程中从动量网络中转移知识。这个动量网络与ψs具有相同的架构,其参数ωs通过以下方式与在线参数ωs在每个训练步骤中更新:0ωs ← mωs + (1 - m)ωs, (3)0其中 m是动量系数,设置为0.998。由于动量网络通常具有更好的泛化能力和训练性能,从动量网络加载参数可以帮助模型绕过函数扰动差距。如图2(d)所示,MoGrow是在插值增长的基础上提出的,通过维护一个动量网络,并在进行网络增长时直接从动量网络复制。MoGrow运算符ζMoGrow可以简单地定义为:0ζMoGrow(ωs) = ζInterpolation(ωs). (4)04. 自动渐进学习在本节中,我们将重点优化生长计划Ψ,将生长操作符固定为ζMoGrow。首先,我们制定Ψ的多目标优化问题,然后提出我们的解决方案AutoProg,通过其两个估计步骤在第4.2节和第4.3节中进行详细介绍。04.1. 问题建模设计高效训练的生长计划Ψ的问题是一个多目标优化问题[16]。通过将公式(1)中的ζ固定为我们提出的ζMoGrow,设计生长计划Ψ的目标是:0min ω, Ψ L(ω, Ψ), T(Ψ). (5)0注意,多目标优化问题有一个(7)(8)124900补丁0分类器 分类器0动量0更新0分类器 分类器0I. 生长 II. 超网络训练和搜索 III. 训练0分类器 分类器0补丁 补丁 补丁 补丁 补丁0上一个最优子网络 弹性超网络 最优子网络0图3.自动渐进学习的第k阶段的流程。在阶段开始时,上一个最优子网络ψ�k−1首先通过ω←ζ(ω�)生长到弹性超网络Φk;然后,我们在超网络训练后搜索最优子网络ψ�k;最后,在该阶段的剩余时期中对子网络进行训练。AutoProg的整个过程总结如算法2所示。0算法2:自动渐进学习0输入:ζ:生长操作符;|t|:总训练时期;τ:每个阶段的时期;随机初始化参数ω;对于t∈[1,|t|],进行以下操作:0如果t = Nτ,其中N∈N+,则0切换优化器到弹性超网络Φ;初始化超网络参数�ω←ζ(ω);如果t = Nτ + 2,其中N∈N+,则0通过公式(9)搜索最优子网络ψ;切换到最优子网络ψ←ψ�;从超网络继承参数ω←ω;训练ψ(ω)或超网络Φ(ω)在所有训练数据上进行训练。结束0一组帕累托最优解[16],可以使用定制的加权乘积进行近似,这是先前Auto-ML算法[64,65]中常用的做法。在渐进学习的情况下,优化目标可以定义为:0min ω, Ψ L(ω, Ψ) ∙ T(Ψ) α, (6)0其中α是一个动态选择的平衡因子,用于平衡所有候选子网络的得分。4.2.通过优化子网络架构实现自动渐进学习0记|ψ|为候选子网络的数量,|k|为阶段的数量,候选生长计划的数量为|ψ||k|。由于优化公式(6)包含网络参数ω的优化,为了得到最终的损失,需要使用生长计划Ψ进行完整的|t|个时期的训练:0Ψ� = arg min Ψ L(ω�(Ψ); x) ∙ T(Ψ) α0s.t. ω�(Ψ) = arg min ω L(Ψ, ω; x).0因此,在这个双层优化问题中对更高层因子Ψ进行广泛搜索的复杂度为O(|ψ||k||t|)。其昂贵的成本偏离了高效训练的初衷。0为了降低搜索成本,我们将原始的生长计划搜索目标放松为逐步决定模型应该在每个阶段中以何种方式、何时以及以多大程度进行生长,通过在每个阶段k中搜索最优子网络架构ψ�k。因此,放松的最优生长计划可以是0表示为Ψ�=ψ�k|k|0k=1.0在稀疏训练和高效自动机器学习算法中,通常使用当前参数及其梯度[22, 67]或单步梯度下降更新后的参数[9, 51,53]来估计模型的未来排名。然而,这些方法不适用于渐进式训练,因为网络函数在增长后发生了显著变化,并且在增长后不稳定。我们经验性地发现,网络参数在增长后很快适应,并且在经过一次训练时已经稳定。为了在准确性和训练速度之间取得良好的平衡,我们通过在每个阶段的前两个训练时期后计算每个子网络ψ的训练损失来估计其性能。将通过两个时期的训练获得的子网络参数ω�作为最优子网络的搜索方法如下:0ψ�k = arg min ψk∈Λk0其中Λk=ψ∈Ω|ω(ψ)≥|ω(ψk)|,0其中Λk表示第k个阶段的增长空间,包含所有参数数量大于或等于上一个最优子网络的子网络。总体而言,通过将方程(7)中的原始优化问题放松为方程(8),我们只需要在每个阶段的|Λk|个子网络中的每个子网络上进行两个时期的训练,在|k|个阶段中进行。因此,搜索复杂度从O(|ψ||k||t|)指数级降低到O(|Λk|∙|k|),其中|Λk|≤|ψ|且|k|≤|t|。04.3.通过弹性超网络一次性估计子网络性能0虽然我们通过显著降低搜索成本来放松了优化问题,但是在方程(8)中获得ω�仍然需要一定的时间。(9)where tined byone-shcy, wetrain Φ by randomly sampling only one of its sub-networksin each step (following [11]), instead of four in [81–83].After training all the candidate sub-networks in the Elas-tic Supernet Φ concurrently for two epochs, we have theadapted supernet parameters �ω⋆ that can be used to estimatethe real performance of the sub-networks (i.e. performancewhen trained in isolation). As the sub-network grow spaceΛk in each stage is relatively small, we can directly per-form traversal search in Λk, by testing its training loss witha small subset of the training data. We use fixed data aug-mentation to ensure fair comparison, following [46]. Ben-efiting from parameter nesting and one-shot training of allthe sub-networks in Λk, the search complexity is further re-duced from O(|Λk| · |k|) to O(|k|).Weight Recycling.Benefiting from synergy of differ-ent sub-networks, the supernet converges at a compara-ble speed to training these sub-networks in isolation. Sim-5. ExperimentsDatasets.We evaluate our method on a large scaleimage classification dataset, ImageNet-1K [17] and twowidely used classification datasets, CIFAR-10 and CIFAR-100 [39], for transfer learning. ImageNet contains 1.2Mtrain set images and 50K val set images in 1,000 classes.We use all the training data for progressive learning and su-pernet training, and use a 50K randomly sampled subset tocalculate training loss for sub-network search.Architectures.We use two representative ViT architec-tures, DeiT [69] and VOLO [85] to evaluate the proposedAutoProg. Specifically, DeiT [69] is a representative stan-dard ViT model; VOLO [85] is a hybrid architecture com-prised of outlook attention blocks and transformer blocks.Implementation Details. For both architectures, we use124910每个阶段需要进行2|Λk|个时期的训练,这将给渐进学习带来巨大的搜索开销。损失预测的低效性是由于重复训练子网络权重ω,其本质是双层优化。为了解决这个问题,我们提出了通过弹性超网络进行子网络参数共享和联合优化的方法。弹性超网络与插值。弹性超网络Φ(ω)是一个由ω参数化的权重嵌套网络,能够使用其子网络{ψ}执行。这里,我们给出权重嵌套的正式定义:0定义1(权重嵌套)对于超网络Φ中的任意一对子网络ψa(ωa)和ψb(ωb),其中|ωa|≤|ωb|,如果始终满足ωa�ωb,则Φ是权重嵌套的。0在以前的工作中,弹性深度网络通常是通过使用前几层来形成子网络[11, 35,83]来实现的。然而,在通过插值或MoGrow增长后使用此方案会导致预期增长后的子网络与Φ中的子网络不一致。为了解决这个问题,我们提出了一种带插值的弹性超网络,其中始终激活的层之间插入可选激活的层。如图3所示,从上一个阶段的较小网络ψ�k-1开始,通过在ψ�k-1的原始层之间插入层(从最后一层开始),直到达到Λk中最大的子网络为止,形成Φ中的子网络。通过在弹性超网络Φ中嵌套所有候选子网络的参数ω,将ω的优化与ψ的优化分离。因此,方程(8)进一步放松为:0ψ�k = arg min ψk∈Λk L(ω�;x�;T(ψk))α0s.t.ω�=arg minωEψk∈ΛkL(ψk,ω;x)0模型训练方案0加速运行时间0Top-1(%)0Top-1@288(%)0100个Epoch0DeiT-S [69]0原始-74.1 74.60Prog +53.6% 72.6 73.20AutoProg +40.7% 74.4 74.90VOLO-D1 [85]0原始-82.6 83.00Prog +60.9% 81.7 82.10AutoProg 0.5 Ω +65.6% 82.8 83.20AutoProg 0.4 Ω +85.1% 82.7 83.10VOLO-D2 [85]0原始-83.6 84.10Prog +54.4% 82.9 83.30AutoProg +45.3% 83.8 84.20300个Epoch0DeiT-Tiny [69]原始-72.2 72.90AutoProg +51.2% 72.4 73.00DeiT-S [69]原始-79.8 80.10AutoProg +42.0% 79.8 80.10VOLO-D1 [85]原始-84.2 84.40AutoProg +48.9% 84.3 84.60VOLO-D2 [85]原始-85.2 85.10AutoProg +42.7% 85.2 85.20表3.ImageNet上高效训练的主要结果。导致准确率下降的加速度用灰色标记。最佳结果用粗体标记;我们的方法或默认设置用紫色突出显示。Top-1@288表示在288×288的输入尺寸上直接测试时的Top-1准确率,无需微调。有关详细的FLOPs和运行时间,请参阅补充文件。0网络正则化[36, 61],网络增强[7]和以前的弹性模型[11, 83,84]中也可以观察到类似的现象。受此启发,搜索到的子网络直接继承其超网中的参数以继续训练。由于这种权重循环方案的好处,AutoProg没有额外的搜索轮数,因为超网训练轮数是整个训练轮数的一部分。此外,由于采样的子网络比完整网络快,这些超网训练轮数所需的时间比原始训练轮数少。因此,搜索成本直接从O(|k|)减少到零。002040608002000204060800500204060800020406080AutoProg48.9%99.089.7124920运行时间(GPU小时)0Top-1准确率(%)0DeiT-S,100个Epoch0原始ProgAutoProg0运行时间(GPU小时)0DeiT-S,300个Epoch0原始AutoProg0运行时间(GPU小时)0VOLO-D1,100个Epoch0原始ProgAutoProg 0.5 Ω0AutoProg 0.4 Ω0运行时间(GPU小时)0VOLO-D1,300个Epoch0原始AutoProg0图4.在不同的学习方案下,DeiT-S和VOLO-D1的评估准确率随训练的变化。曲线未经平滑处理。0原始训练超参数,数据增强和正则化技术与它们对应的原型[69, 85]。我们的实验在NVIDIA 3090GPU上进行。由于我们的方法的加速是与混合精度训练的加速正交的[55],我们在原始基线训练和我们的渐进学习中都使用它。Grow SpaceΩ。我们使用4个阶段进行渐进学习。初始缩放比例s1设置为0.5或0.4;相应的增长空间由0.5Ω和0.4Ω表示。默认情况下,我们在实验中使用0.5Ω,除非另有说明。n和l的增长空间通过将整个模型的值与4个等间距的缩放比例s ∈ {0.5, 0.67, 0.83,1.0}相乘来计算,并将结果四舍五入为有效的整数值。我们使用Prog来表示我们的手动渐进基线,其具有均匀线性增长计划,如第3.2节所述。5.1.在ImageNet上进行高效训练0我们首先验证了AutoProg在ImageNet上的有效性。如表3所示,AutoProg在不同的ViT架构和训练计划上始终取得了显著的高效训练结果。首先,我们的AutoProg在没有性能下降的情况下实现了显著的训练加速。总体而言,AutoProg可以使ViTs的训练速度提高45%以上,尽管训练时期和网络架构发生了变化。特别是,使用AutoProg在VOLO-D1上训练可以实现85.1%的训练加速,并且甚至稍微提高了准确率(+0.1%)。其次,AutoProg在DeiT-S上的表现优于手动基线,即均匀线性增长(Prog)。例如,Prog方案导致DeiT-S的性能严重下降。AutoProg在DeiT-S上的准确率比Prog方案提高了1.7%,通过自动选择适当的增长计划成功消除了性能差距。第三,由于渐进学习在训练过程中使用较小的输入尺寸,人们可能会对其在较大输入尺寸上的泛化能力产生疑问。我们通过直接在288×288输入尺寸上测试使用AutoProg训练
下载后可阅读完整内容,剩余1页未读,立即下载
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)