没有合适的资源?快使用搜索试试~ 我知道了~
神经架构搜索:基于块级别监督和知识蒸馏的有效方法
v1v2 v4IT19890基于块级别监督的神经架构搜索与知识蒸馏0Changlin Li 2 �,Jiefeng Peng 1 �,Liuchun Yuan 1, 3,Guangrun Wang 1, 3†,Xiaodan Liang 1, 3,Liang Lin 1, 3,Xiaojun Chang 201 DarkMatter AI研究2 Monash大学3 中山大学0{changlin.li,xiaojun.chang}@monash.edu,{jiefengpeng,ylc0003,xdliang328}@gmail.cn0wanggrun@mail2.sysu.edu.cn,linliang@ieee.org0摘要0神经架构搜索(NAS)旨在通过机器自动设计网络架构,有望在机器学习中带来一场新的革命。尽管对NAS的期望很高,但现有NAS解决方案的有效性和效率尚不清楚,一些最近的研究甚至认为许多现有的NAS解决方案不比随机选择架构更好。NAS解决方案的无效性可能归因于不准确的架构评估。具体而言,为了加速NAS,最近的研究提出了通过使用共享网络参数同时在大型搜索空间中训练不同的候选架构的方法;然而,这导致了不正确的架构评级,进一步增加了NAS的无效性。0在这项工作中,我们提出将NAS的大型搜索空间模块化为块,以确保潜在的候选架构得到充分训练;这减少了由共享参数引起的表示偏移,并导致候选架构的正确评级。由于块级搜索,我们还可以评估每个块内的所有候选架构。此外,我们发现网络模型的知识不仅存在于网络参数中,还存在于网络架构中。因此,我们提出从教师模型中蒸馏神经架构(DNA)知识来监督我们的块级架构搜索,这显著提高了NAS的有效性。值得注意的是,我们搜索的架构的性能已经超过了教师模型,证明了我们方法的实用性。最后,我们的方法在移动设置下在ImageNet上实现了最先进的78.4%的top-1准确率。我们所有搜索到的模型以及评估代码都可以在https://github.com/changlin31/DNA上找到。0� Changlin Li和JiefengPeng同等贡献并共享第一作者。这项工作是在Changlin Li在DarkMatterAI实习期间完成的。†通讯作者是Guangrun Wang。0教师架构0块4 块3 块2 块10图1.我们考虑一个具有多个块的网络架构,类似于腹侧视觉块V1、V2、V4和IT[27]。然后,我们通过从教师模型中提取的架构知识来引导块级别地搜索候选架构(由不同的节点和路径表示)。1.引言由于使用机器自动设计机器学习算法的重要性,自动机器学习(AutoML)的前景近年来一直在增长。神经架构搜索(NAS)作为AutoML的一个重要任务,有望减少人类专家在网络架构设计中所需的工作量。过去两年来,工业界加速了对NAS的研究,并提出了许多解决方案。然而,现有NAS解决方案的有效性和效率尚不清楚。通常,[26]和[35]甚至认为许多现有的NAS解决方案不比随机选择架构更好,或者难以超越随机选择架构。因此,如何高效地解决NAS问题仍然是一个活跃且未解决的研究课题。NAS的最精确的数学解决方案是训练搜索空间中每个候选架构,直到收敛并比较它们的性能;然而,由于成本极高,这是不切实际的。一个次优的解决方案是仅训练搜索子空间中的架构,使用强化学习(RL)或进化算法(EA)等先进的搜索策略;尽管这仍然耗时,19900由于训练一个架构需要很长时间(例如,在ImageNet上对ResNet的训练需要超过10个GPU天),为了加速NAS,最近的研究提出了使用共享网络参数并行训练不同的候选架构,而不是将每个候选架构从头训练到收敛。随后,可以通过基于这些未充分训练的共享网络参数评估不同候选架构的性能来确定其评级。然而,一些最新的研究(例如[10]和[19])表明,基于未充分训练的网络参数进行评估无法正确排名候选模型,即在从头训练到收敛时,达到最高准确率的架构无法保持其顶级排名。0为了解决上述问题,我们提出了一种新的NAS解决方案,其中搜索空间很大,而潜在的候选架构可以得到充分和公平的训练。我们考虑一个具有多个块的网络架构,类似于腹侧视觉块V1、V2、V4和IT[27](见图1)。然后我们分别训练每个候选架构的每个块。根据数学原理的保证,与整个搜索空间中的候选数相比,每个块中的候选架构数量呈指数级减少。因此,可以对架构候选进行充分和公平的训练,同时减少由共享参数引起的表示偏移,从而得到正确的候选评级。正确和全面的评估提高了NAS的效果。此外,由于每个块中的候选数量较少,我们甚至可以搜索块的深度,进一步提高NAS的性能。0此外,在我们的网络架构的贪婪块级搜索中,对于隐藏块的缺乏监督创建了一个技术障碍。为了解决这个问题,我们提出了一种新颖的知识蒸馏方法,称为DNA,从现有架构中提取神经架构。如图1所示,我们发现现有架构的不同块在提取图像的不同模式方面具有不同的知识。例如,最低的块类似于腹侧视觉区的V1,提取图像的低级特征,而较高的块类似于IT区,提取图像的高级特征。我们还发现,知识不仅存在于网络参数中,还存在于网络架构中。因此,我们使用现有模型的块级表示来监督我们的架构搜索。需要注意的是,我们搜索到的架构的性能不受监督模型性能的限制。我们已经搜索到了一些参数更少但性能显著优于监督模型的架构,证明了我们DNA方法的实用性。0此外,受到transformers(例如BERT[12]和[31])在自然语言领域中取得的显著成功的启发,我们提出了一种类似的方式来并行化块级搜索。具体而言,对于每个块,我们使用监督模型上一个块的输出作为我们的块的输入。因此,搜索可以以并行方式加速。总的来说,我们的贡献有三个方面:0•我们将NAS的大搜索空间模块化为块,确保潜在的候选架构得到公平训练,并减少由共享参数引起的表示偏移,从而得到正确的候选评级。正确和全面的评级提高了NAS的效果。新颖的是,我们还通过块级搜索来搜索架构的深度。0•我们发现网络模型的知识不仅仅存在于网络参数中,如文献所述,还存在于网络架构中。因此,我们使用来自教师模型的架构知识来监督我们的逐块架构搜索。值得注意的是,我们搜索到的架构性能已经超过了教师模型,证明了我们提出的DNA的实用性。0•在ImageNet和CIFAR10上获得了强大的实证结果。在ImageNet上,我们的搜索到的DNA-c相比具有相同模型大小的Ef�cient-B0,获得了1.5%更高的top-1准确率;DNA-d获得了78.4%的top-1准确率,优于SCARLET-A(+1.5%)和ProxylessNAS(+3.3%),并且参数数量更少。据我们所知,这是移动设备环境下的最先进模型。0N19910dropout或路径采样,使用从超网络继承的权重对子模型进行采样和评估。然而,正如[4, 10,19]所指出的,共享权重的代理子模型的准确性与重新训练的独立模型存在差距。随着共享权重的子模型数量减少,这种差距也会缩小[10,19]。知识蒸馏。知识蒸馏是一种经典的模型压缩方法,旨在将已训练的教师网络的知识转移到更小更快的学生模型上。现有的知识蒸馏方法可以大致分为两类。第一类是使用教师生成的软标签来教导学生,这是由[2]首次提出的。之后,Hinton等人[15]将知识蒸馏重新定义为训练一个更浅的网络以逼近教师模型在softmax层之后的输出。然而,当教师模型变得更深时,仅学习软标签是不够的。为了解决这个问题,第二类知识蒸馏方法提出使用教师的内部表示来指导学生的训练[24, 37, 36, 32,23]。[36]提出了一种蒸馏方法,同时在多个隐藏层中训练学生网络以模仿教师的行为。[32]提出了一种逐块逐步蒸馏的方法,从教师的中间特征图中学习,这减轻了联合优化的难度,但增加了学生和教师模型之间的差距。所有现有的方法都假设网络模型的知识存在于网络参数中,而我们发现知识也存在于网络架构中。此外,与[32]相比,我们提出了一种并行化的蒸馏过程来减小差距和时间消耗。3.方法我们从现有NAS的不准确评估问题开始,基于此定义了我们的逐块搜索。3.1.NAS的挑战和我们的逐块搜索设α∈A和ωα分别表示网络架构和网络参数,其中A是架构搜索空间。NAS问题是找到最优的一对(α�,ω�α),使得模型性能最大化。解决NAS问题通常包括两个迭代步骤,即搜索和评估。搜索步骤是选择一个适当的架构进行评估,而评估步骤是对搜索步骤选择的架构进行评级。评估步骤在NAS解决方案中最为重要,因为不准确的评估导致NAS的无效,而慢速的评估导致NAS的低效。NAS中的不准确评估。对于候选架构来说,最数学上准确的评估是从头开始训练并测试其性能,然而由于巨大的成本,这是不切实际的。例如,训练一个模型收敛并测试其性能可能需要超过10个GPU天。因此,现有的NAS方法通常采用近似评估方法,例如使用子模型或代理模型来评估候选架构的性能。然而,这些方法存在一定的误差,导致NAS的不准确评估问题。为了解决这个问题,我们提出了一种逐块搜索的方法。逐块搜索的思想是将整个架构搜索空间分解为多个块,每个块对应一个子模型。我们通过对每个子模型进行评估来逐步搜索最优架构。与传统的NAS方法相比,逐块搜索具有更高的评估准确性和更低的评估成本。我们的逐块搜索方法基于以下两个观察结果:1)子模型的性能与其所在的块的架构相关,而与其他块的架构无关;2)子模型的性能与其所在的块的架构相关,而与其他块的权重无关。基于这些观察结果,我们将架构搜索问题转化为块搜索问题,通过逐块搜索来找到最优架构。我们的逐块搜索方法包括两个关键步骤:块选择和块评估。在块选择步骤中,我们根据当前已选择的块和其性能,选择下一个要评估的块。在块评估步骤中,我们评估候选块的性能,并根据评估结果更新已选择的块。通过迭代执行这两个步骤,我们逐步搜索最优架构。我们的逐块搜索方法具有以下优点:1)准确性高:通过逐块评估,我们可以更准确地评估每个子模型的性能,从而找到最优架构;2)效率高:与传统的NAS方法相比,我们的逐块搜索方法具有更低的评估成本,从而提高了搜索效率。我们在多个数据集上进行了实验证明了我们的逐块搜索方法的有效性和高效性。0在ImageNet上的ResNet。为了加速评估,最近的研究[4,21, 6, 14, 33,19]提出不要将每个候选者完全从头开始训练到收敛,而是通过使用共享的网络参数同时训练不同的候选者。具体而言,他们将搜索空间 A形成一个过参数化的超网络,以便每个候选架构 α是超网络的子网络。设 W表示超网络的网络参数。超网络的学习如下:0W � = min W L train ( W , A ; X , Y ),(1)0其中 X 和 Y 分别表示输入数据和真实标签。这里,L train表示训练损失。然后,根据这些共享的网络参数 W �评估不同候选架构的性能。然而,如第 1节所分析的,最优网络参数 W �不一定表示子网络(即候选架构)的最优网络参数 ω �,因为子网络没有得到公平和充分的训练。基于 W �的评估不能正确地对候选模型进行排序,因为搜索空间通常很大(例如,> 1 e 15)。不准确的评估导致现有NAS的无效性。块级NAS。[10]和[19]建议当搜索空间较小且所有候选者都得到充分和公平的训练时,评估可能是准确的。为了提高评估的准确性,我们将超网络划分为较小子空间的块。具体而言,设 N表示超网络。我们通过超网络的深度将 N 划分为 N个块,并有:0N = N N ... N i +1 ◦ N i ∙ ∙ ∙ ◦ N 1,(2)0其中 N i +1 ◦ N i 表示( i + 1 )-th 块最初与第 i个块连接在一起。然后我们分别使用以下方法学习超网络的每个块:0W � i = min W i L train ( W i , A i ; X , Y ),i = 1, 2 ∙ ∙ ∙ ,N,(3)0其中 A i 表示第 i个块中的搜索空间。为了确保块级NAS中的权重共享搜索空间得到有效减少,分析了减少率如下。设 d 表示第 i 个块的深度,C表示每层中候选操作的数量。那么第 i 个块的搜索空间大小为 C d i,� i ∈ [1, N];搜索空间 A 的大小为 N �0i =0 C d i 。这表明搜索空间的大小呈指数级减少0权重共享搜索空间:0减少率 = C d i / (0i =0 C d i )。 (4)0在我们的实验中,块内的单一权重共享搜索空间显著减少(例如,Drop rate ≈ 1 / (1 e 15 N)),确保每个候选架构 αi ∈ A i 能得到充分优化。最后,架构在整个搜索空间 A中的不同块之间进行搜索:,(6),(7)19920损失 损失 损失 学生 超网络0教师特征图0学生特征图0(上一个块)输入图像0茎0输入图像0输入图像0输入图像0教师0块 1 块 3 块 4 块 5 块 20候选操作 单元 损失函数 随机抽样路径 数据流0茎茎茎0图2.我们DNA的示意图。教师的先前特征图被用作教师块和学生块的输入。超网络的每个单元都独立地训练,以模拟相应教师块的行为,通过最小化它们的输出特征图之间的l2距离。虚线表示单元中随机抽样的路径。0α� = arg min α ∈A0i =1 λi Lval(W�i(αi), αi; X, Y), (5)0其中λi表示损失权重。这里,W�i(αi)表示子网络αi和超网络的学习共享网络参数。请注意,与超网络的学习不同,我们使用验证集来评估候选架构的性能。03.2.基于块的蒸馏架构知识监督尽管我们在第3.1节中有很好的动机,但我们在基于块的NAS中面临一个技术障碍,即在方程(3)中缺乏内部的真实标准。幸运的是,我们发现现有架构的不同块在提取图像的不同模式时具有不同的知识1。我们还发现,知识不仅存在于网络参数中,如文献所建议的,还存在于网络架构中。因此,我们使用现有模型的基于块的表示来监督我们的架构搜索。设Yi为监督模型(即教师模型)的第i个块的输出特征图,ˆYi(X)为超网络的第i个块的输出特征图。我们以L2范数作为损失函数。方程(3)中的损失函数可以写成:0Ltrain(Wi, Ai; X, Yi) = 10||Yi - ˆYi(X)||20其中K表示Y中的神经元数量。此外,受到transformer在自然语言领域的显著成功的启发(例如BERT [12]和[31]),我们发现01“知识”的定义是哲学界的一个持续争论。在这项工作中,我们特别定义“知识”如下。知识是识别某些模式的技能;参数知识是使用适当的网络参数识别某些模式的技能。架构知识是使用适当的网络结构识别某些模式的技能。0为了摒弃RNN的低效顺序训练,我们提出以类似的方式并行化基于块的搜索。具体而言,对于每个块,我们将教师模型的第(i-1)个块的输出Yi-1作为超网络的第i个块的输入。因此,搜索可以以并行方式加速。方程(6)可以写成:0Ltrain(Wi, Ai; Yi-1, Yi) = 10||Yi - ˆYi(X)||20请注意,我们搜索的架构的性能不受监督模型性能的限制,例如,我们搜索了许多参数更少但明显优于监督模型的架构。通过将我们的架构缩放到与监督架构相同的模型大小,进一步获得了更显著的增益,证明了我们的DNA的实用性。图2显示了我们的基于块的知识蒸馏监督的流程。3.3.带有通道和层变异性的自动计算分配在满足某种约束条件下进行基于块的NAS时,自动分配每个块的模型复杂度尤为重要。为了更好地模仿教师模型,每个块的模型复杂度可能需要根据相应教师块的学习难度进行自适应分配。通常情况下,计算分配仅与每个块的宽度和深度有关,而这些在共享权重的超网络中搜索起来很困难。在设计一次性NAS方法的超网络时,宽度和深度通常是预定义的。大多数先前的工作包括将identity作为候选操作之一,以增加超网络的可扩展性[4, 21, 6, 33,19]。然而,正如[8]所指出的,将identity作为候选操作会给超网络的收敛带来困难。此外,Lval(Wi, Ai; Yi−1, Yi) =��Yi − Yi(X)��1K · σ(Yi),(8)19930将identity作为候选操作可能会导致可能的操作序列的不必要和不利的增加(例如,序列{conv,identity,conv}等价于{conv,conv,identity})。这种不必要的搜索空间增加导致超网络的稳定性和公平性下降。相反,[20]首先搜索具有固定操作的层号,然后再搜索具有固定层号的操作。然而,操作的选择与层号是相互依赖的。以这种贪婪的方式搜索更多的候选操作可能会导致与真实目标之间的差距更大。由于我们的块级搜索,我们可以在每个阶段独立地训练具有不同通道数或层号的几个细胞,以确保通道和层的可变性,而不受identity操作的干扰。如图2所示,在每个训练步骤中,首先将教师先前的特征图输入到几个细胞中(如实线所示),然后随机选择每个细胞中的一个候选操作来形成一条路径(如虚线所示)。超网络的权重通过最小化与教师特征图的均方误差损失进行优化。03.4. 在约束条件下搜索最佳学生我们的典型超网络包含约10^17个子模型,这使得我们无法对所有子模型进行评估。在以前的一次性NAS方法中,使用随机采样、进化算法和强化学习从训练好的超网络中采样子模型进行进一步评估。在最近的工作中[20,19],使用贪婪搜索算法逐层选择性能最好的部分模型来逐步缩小搜索空间。考虑到我们的块级蒸馏,我们提出了一种新的方法来根据块级性能估计所有子模型的性能,并在一定约束下巧妙地遍历所有子模型以选择性能最好的子模型。评估。在我们的方法中,我们的目标是在每个块中模仿教师的行为。因此,我们通过每个块中的评估损失来估计学生子模型的学习能力。我们的块级搜索使得可以评估所有部分模型(每个细胞约10^4个)。为了加速这个过程,我们以类似深度优先搜索的方式逐个节点地前向传播一批输入节点,每个节点的中间输出被保存并被后续节点重用,以避免从头开始重新计算。特征共享评估算法概述如算法1所示。通过评估超网络中一个块中的所有细胞,我们可以得到一个块中所有可能路径的评估损失。我们可以很容易地对这个包含约10^4个元素的列表进行排序,只需几秒钟就可以用单个CPU完成。之后,我们可以从每个块中选择排名第一的部分模型来组装一个最佳学生。然而,我们仍然需要找到在不同约束条件下的高效模型,以满足实际应用的需求。搜索。在进行评估和排序之后,0算法1:特征共享评估0输入:教师先前的特征图G prev,教师当前的特征图Gcurr,细胞的根Cell,损失函数loss 输出:评估损失的列表L0定义DFS-Forward(N, X):Y = N(X);如果N没有子节点则将loss(Y, Gcurr)添加到L中;否则对于N的每个子节点C,执行DFS-Forward(C, Y); 结束0DFS-Forward(Cell, G prev);输出L;0算法2:遍历搜索0输入:块索引B,教师当前的特征图G,约束C,模型池列表Pool 输出:最佳模型M 定义SearchBlock(B, size prev, lossprev):对于i < length(Pool[B]) do size ← size prev +size[i]; 如果size > C则继续; 结束 loss ← loss prev +loss[i]; 如果B是最后一个块则 如果loss ≤ loss best则 lossbest ← loss; M ← 每个块的索引 结束 跳出循环; 否则SearchBlock(B + 1, size, loss); 结束 结束0SearchBlock( 0 ) ;输出 M ;0每个阶段的部分模型排名用于在一定约束条件下找到最佳模型。为了自动分配计算成本到每个块,我们需要确保评估标准对每个块都是公平的。我们注意到均方误差损失与特征图的大小和教师特征图的方差有关。为了避免可能的影响,定义了一个公平的评估标准,称为相对 l 1 损失:0其中 σ ( ∙ )表示所有元素的标准差。每个子模型中每个块的 L val都被累加起来估计从教师那里学习的能力。然而,计算所有10 17个候选模型的复杂度和累加损失是不必要的耗时操作。通过每个块中的排名部分模型,提出了一种节省时间的搜索算法(Alg. 2),以巧妙地访问所有可能的模型。请注意,我们通过预先计算的查找表来获得每个候选操作的复杂度,以节省时间。如果当前部分模型跳过了下一个块的测试1748224324232278024034044031016028038048041022431124112496513384419251925160646401320----19940表1. 我们的超网络设计。 “ l # ” 和 “ch # ”表示每个单元的层和通道编号。0模型 教师 学生 超网络0块 l # ch # l # ch # l # ch # l # ch #0与以下块中最小的部分模型相结合已经超过了约束条件。此外,在找到满足约束条件的模型后,它会返回到前一个块,以防止在当前块中测试排名较低的后续模型。04. 实验 4.1. 设置数据集和教师模型的选择。我们在ImageNet [ 11]上评估了我们的方法,这是一个用于评估各种NAS方法的大规模分类数据集。在架构搜索期间,我们随机从原始训练集的每个类别中选择50个图像,形成一个包含50k图像的验证集,用于NAS的评级步骤,并将其余部分用作超网络的训练集。之后,我们所有搜索到的架构都是在原始训练集上从头开始重新训练的,没有受到教师网络的监督,并在原始验证集上进行测试。我们进一步选择了两个广泛使用的数据集,CIFAR-10和CIFAR-100 [ 18],以测试我们模型的可迁移性。我们选择Ef�cientNet-B7 [29]作为我们的教师模型,以指导我们的超网络训练,因为它具有最先进的性能,并且与ResNeXt-101 [ 34]和其他手动设计的模型相比,计算成本相对较低。我们将教师模型分为6个块,根据过滤器的数量。这些块的详细信息在表1中呈现。搜索空间和超网络设计。我们在两个操作搜索空间中进行搜索,两者都由MobileNetV2的变体的倒置残差块和Squeeze andExcitation组成。我们保持我们的第一个搜索空间与最近的大多数工作 [ 28 , 29 , 8 , 9 ]类似,以便在第4.2节中进行公平比较。我们在 { 3, 5, 7 }的卷积核大小和 { 3, 6 }的扩展率中进行搜索,总共有六种操作。为了在第4.3节和第4.4节中进行快速评估,使用了一个较小的搜索空间,其中包含四种操作(卷积核大小为 { 3, 5 } ,扩展率为 { 3, 6 })。在操作搜索空间上,我们进一步构建了一个更高级别的搜索空间,以搜索通道和层的数量,如第3.3节所介绍的。我们在前5个块的每个块中搜索三个单元,最后一个块中搜索一个单元。每个单元的层和通道编号如表1所示。整个搜索空间包含 2 × 10 17 个模型。训练细节我们分别在超网络中训练每个单元,每个单元在教师特征的指导下进行20个时期的训练。0表2.ImageNet上最先进的NAS模型的比较。输入尺寸为224×224。0模型 参数 FLOPS Top-1准确率 Top-5准确率0SPOS [14] - 319M 74.3% -0ProxylessNAS [6] 7.1M 465M 75.1% 92.5%0FBNet-C [33] - 375M 74.9% -0MobileNetV3 [16] 5.3M 219M 75.2% -0MnasNet-A3 [28] 5.2M 403M 76.7% 93.3%0FairNAS-A [10] 4.6M 388M 75.3% 92.4%0MoGA-A [9] 5.1M 304M 75.9% 92.8%0SCARLET-A [8] 6.7M 365M 76.9% 93.4%0PC-NAS-S [19] 5.1M - 76.8% -0MixNet-M [30] 5.0M 360M 77.0% 93.3%0Ef�cientNet-B0 [29] 5.3M 399M 76.3% 93.2%0随机模型 5.4M 399M 75.7% 93.1%0DNA-a(我们的) 4.2M 348M 77.1% 93.3%0DNA-b(我们的) 4.9M 406M 77.5% 93.3%0DNA-c(我们的) 5.3M 466M 77.8% 93.7%0DNA-d(我们的) 6.4M 611M 78.4% 94.0%0在相应的块中进行映射。我们在第一个块中使用0.002作为初始学习率,对于所有其他块使用0.005。我们使用Adam作为优化器,并在每个epoch中将学习率降低0.9。使用8个NVIDIA GTX 2080TiGPU训练一个简单的超网络(6个cell)需要1天时间,而使用16个cell的扩展超网络需要3天时间。在Algorithm1的帮助下,我们的评估成本约为0.6个GPU天。为了在一定的约束条件下搜索最佳模型,我们在CPU上执行Algorithm2,成本不到1小时。至于搜索模型的ImageNet重新训练,我们使用与[29]类似的设置:batchsize为4096,使用动量为0.9的RMSprop优化器,初始学习率为0.256,每2.4个epoch衰减0.97。04.2. 搜索模型的性能如表2所示,与最近的NAS模型相比,我们的DNA模型在性能上达到了最先进的结果。在FLOPS约束为350M的情况下,DNA-a比SCARLET-A少1.8M个参数。为了与Ef�cientNet-B0进行公平比较,DNA-b和DNA-c分别在目标FLOPS为399M和参数为5.3M的情况下获得。它们两者都比B0有很大的优势(1.2%和1.5%)。在没有约束的情况下搜索,我们的DNA-d在6.4M个参数的情况下达到了78.4%的Top-1准确率。当与Ef�cientNet-B1使用相同的输入尺寸(240×240)进行测试时,DNA-d达到了78.8%的Top-1准确率,准确性相当但比B1小1.4M。使用我们不使用的更高效的MixConv操作的MixNet-M比我们更小的DNA-b差0.5%。(有关我们搜索到的架构的详细信息,请参见附录)图3比较了最近NAS模型的准确率-参数和准确率-FLOPS曲线。我们的DNA模型可以在模型尺寸更小、计算复杂度更低的情况下实现更好的准确率,优于其他最近的NAS模型。73747576777879(input size: 240x240)DNA (Ours)EfficentNetMnasNetMobileNetV3SCARLETFairNASFBNetDARTSPCNAS747576777879(input size: 240x240)DNA (Ours)EfficentNetMnasNetMobileNetV3SCARLETFairNASMoGAFBNetProxylessNetSingle Path One-shotEfficientNet-B098.0% (98.1%)†87.1% (88.1%)†73.574.074.575.075.5Stand-Alone Model Accuracy1.71.61.51.41.3Total Evaluation Loss (minus)70.570.670.770.870.971.071.1One-shot Model AccuracyDNASingle-path One-shot199504.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 参数数量(百万)0Top-1准确率(%)0准确率 vs 参数00.2 0.3 0.4 0.5 0.6 0.7 FLOPS(十亿)0Top-1准确率(%)0准确率 vs FLOPS0图3. 在ImageNet上准确率-参数和准确率-FLOPS的权衡。0表3.NAS模型在CIFAR-10和CIFAR-100上的迁移学习性能比较。†:重新实现的官方发布模型的结果。括号内的结果是原始论文报告的。0模型 CIFAR-10 准确率 CIFAR-100 准确率0MixNet-M[30] 97.9% 87.4%0DNA-c(我们的) 98.3% 88.3%0为了测试我们模型的迁移能力,我们在两个广泛使用的迁移学习数据集CIFAR-10和CIFAR-100上评估了我们的模型。我们的模型在迁移后仍然保持优势。结果如表3所示。04.3.模型排名的有效性。为了评估我们的NAS方法的有效性,我们通过可视化代理一次性模型的评估指标与独立模型的实际准确率之间的关系,比较了我们的方法和SPOS(SinglePathOne-shot[14])的模型排名能力。这两个超网络都是18层,每层有4个候选操作。搜索空间的描述见第4.1节。我们的超网络每个块训练20个训练轮,总共达到120个训练轮。Single PathOne-shot的超网络也是根据他们的提议进行了120个训练轮[14]。我们从搜索空间中随机选择了16个模型,并从头开始训练它们。在模型排名测试中,我们在两个超网络中评估这些抽样模型,以获得它们的预测性能。图4显示了这两种方法在模型排名上的比较。图中的每个抽样模型都有两个相应的点,表示其通过两种方法预测的性能与真实性能之间的相关性。图4表明,SPOS几乎无法正确排名候选模型,因为子网络在第3.1节中分析的原因没有被公平和充分地训练。而在我们的块级超网络中,预测的性能与抽样模型的真实准确率高度相关,这证明了我们方法的有效性。训练进展。为了分析我们的超网络训练过程0图4. DNA和Single PathOne-Shot[14]的排名效果比较。我们在每两个训练轮(约5000次迭代)中选择中间模型,并将其重新训练至收敛。如图5所示,我们的搜索模型的准确率随着训练的进行逐渐增加,直到在第16至20个训练轮之间收敛。这说明候选模型的预测指标随着超网络的收敛变得更加精确。需要注意的是,准确率在早期阶段迅速增加,与训练损失减小的趋势相同,这证明了搜索模型的准确率与超网络的损失之间存在相关性。图6显示了第16个训练轮时第2块和第4块的部分教师和学生特征图。我们可以看到,我们的学生超网络能够非常好地模仿教师。即使在高度抽象的14×14特征图上,每个通道的纹理也非常接近,证明了我们蒸馏训练方法的有效性。04.4.割舍研究。蒸馏策略。我们通过实验测试了两种渐进的块级蒸馏策略,并将它们与我们的策略进行了比较。这三种策略都是逐块进行的,通过最小化学生超网络的特征图与教师之间的均方误差损失来实现。在策略S1中,学生从头开始训练,使用了之前所有的75.7576.0076.2576.5076.7577.0077.2577.505112230S15.18M77.0%93.34%S25.58M77.15%93.51%DNA-B05.27M77.8%93.7%DNA-B75.28M77.8%93.7%DNA-B7-scale64.9M79.9%94.9%199600 2 4 6 8 10 12 14 16 18 20 DNA的训练轮数0搜索模型的准确率0超网络块3的训练损失0模型准确率 训练损失0图5.搜索模型的ImageNet准确率和训练进程中超网络的训练损失。0块20块40图6. 两个块的教师(上)和学生(下)的特征图比较。0表4.DNA的每个组成部分的影响。我们的策略优于S1和S2。增加细胞以增加通道和层的变化能够提升搜索模型的性能,无论是否有约束。0策略 细胞 约束 参数 准确率@1 准确率@50我们 � 6.26M 77.84% 93.74%0我们 � 5.09M 77.21% 93.50%0我们 � � 5.28M 77.38% 93.60%0表5. DNA与不同教师的比较. 需要注意的是,所有搜索到的模型都是从头开始重新训练的, 没有任何教师的监督. †:Ef�cientNet-B7在测试时使用224×224的输入尺寸,以保持与蒸馏过程的一致性.0模型 参数 准确率@1 准确率@50Ef�cientNet-B0 (教师) 5.28M 76.3% 93.2%0Ef�cientNet-B7 (教师) 66M 77.8% † 93.8% †0在每个阶段的块中. 在策略S2中,保持并冻结了先前块的训练好的学生参数,因此这些参数仅用于生成当前块的输入特征图.如第3.2节所讨论的,我们的策略直接将教师的先前特征图作为当前块的输入.表4中的实验结果证明了我们策略的优越性.多细胞设计的影响. 为了测试多细胞设计的影响.0细胞搜索,我们对每个块中的单个细胞进行DNA处理以进行比较.如表4所示, 在相同约束条件(5.3M)下,多细胞搜索提高了搜索模型的top-1准确率0.2%,在没有任何约束条件的情况下,最佳模型的准确率提高了0.3%. 需要注意的是,我们方法的单细胞情况下,在相同约束条件下搜索到了具有更低参数的模型,这可以归因于通道和层数量的变异性较低.对教师依赖性的分析.为了测试DNA方法对教师模型性能的依赖性,我们使用Ef�cientNet-B0作为教师模型来搜索一个相似大小的学生模型. 结果如表5所示. 令人惊讶的是,用Ef�cientNet-B0搜索到的模型的性能几乎与用Ef�cientNet-B7搜索到的模型相同,这意味着我们的DNA方法的性能不一定依赖于高性能的教师模型. 此外,DNA-B0在相同模型大小下的性能优于其教师模型1.5%,这表明我们的架构蒸馏性能可能不受教师模型性能的限制.因此, 我们可以通过自我蒸馏架构搜索改进任何模型的结构.第三,DNA-B7与其重量级教师模型达到相同的top-1准确率;将DNA-B7缩放到与监督架构相似的模型大小后,进一步获得了更显著的增益.缩放后的学生模型的性能超过其重教师模型2.1%,证明了我们DNA方法的实用性.05. 结论本文提出了一种新颖的基于块级监督的架构搜索方法DNA.我们将庞大的搜索空间模块化为块,以增加一次性NAS的有效性.我们进一步设计了一种新颖的蒸馏方法,以块级方式监督架构搜索. 然后,我们提出了我们的多细胞超网设计以及高效的评估和搜索算法. 我们证明了我们搜索到的架构可以超越教师模型,并且在从头开始训练时,在ImageNet和两个常用的迁移学习数据集上都可以达到最先进的准确性, 而不需要教师的帮助.0致谢 我们感谢DarkMatter AI研究团队提供计算资源. C.Li和X.Chang感谢澳大利亚研究理事会(ARC)探索早期研究者奖(DE-CRA)项目的支持, 合同编号为DE190100626,美国空军研究实验室和DARPA合同编号为FA8750-19-2-0501.本工作还得到了中国国家自然科学基金(NSFC)项目的部分支持, 合同编号为U19A2073, No.61976233,并得到了广东省自然科学基金项目的部分支持,合同编号为2017A030312006.19970参考文献0[1] Youhei Akimoto, Shinichi Shirakawa, Nozomu Yoshinari,Kento Uchida, Shota Saito, and Kouhei Nishida.自适应随机自然梯度方法用于一次性神经架构搜索.在第36届国际机器学习大会(ICML)论文集中, 第171-180页,2019年. 20[2] Jimmy Ba和RichCaruana。深度网络真的需要很深吗?在神经信息处理系统(NeurIPS)进展中,第2654-2662页,2014年。30[3] Bowen Baker,Otkrist Gupta,Nikhil Naik和RameshRaskar。使用强化学习设计神经网络架构。国际学习表示会议(ICLR),2017年。20[4] Gabriel Bender,Pieter-Jan Kindermans,BarretZoph,Vijay Vasudevan和QuocLe。理解和简化一次性架构搜索。在国际机器学习会议(ICML)上的论文集,第
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功