Evolving Search Space for Neural Architecture Search
摘要
神经结构设计的自动化已经成为人类专家梦寐以求的替代方案。为了在搜索空间中找到最优的结构,人们提出了各种搜索方法。当搜索空间变大时,搜索结果可能会有所改善,因为它可能包含更多性能候选。令人惊讶的是,我们观察到扩大搜索空间对现有的NAS方法(如dart、ProxylessNAS和SPOS)是不利的,甚至是有害的。这一违反直觉的现象表明,使现有方法适用于大型搜索空间体制并非易事。然而,这个问题在文献中讨论得很少。我们提出了神经搜索空间进化(NSE)方案,这是第一个专门为大空间神经结构搜索问题设计的神经结构搜索方案。设计良好且大小有限的搜索空间的必要性是现有方法的默认,我们的NSE旨在最小化这种必要性。具体来说,NSE从一个搜索空间子集开始,然后通过重复两步来发展搜索空间:1)从搜索空间子集中搜索一个优化的空间,2)从没有遍历的大量操作池中重新填充这个子集。通过引入可学习的多分支设置,我们进一步扩展了可获得架构的灵活性。使用本文提出的方法,我们在ImageNet上使用333M FLOPs实现了77.3%的top-1再训练精度,这在以前的自动生成架构中取得了最先进的性能,不涉及知识蒸馏或权重修剪。当采用延迟约束时,我们的结果也比之前表现最好的移动模型表现得更好,有77.9%的Top-1再训练精度。代码可在https://github.com/orashi/NSENAS上找到。
图1所示。搜索方案的比较。(一)传统的管道。(b)我们提出的搜索空间演化管道。
一:引言
深度神经网络在现实世界的应用领域中非常流行。NAS的出现提出了一种为特定应用自动定制深度神经网络架构的可能性。研究人员已经研究了基于强化学习(RL)和进化算法(EA)的方法[62,32,33,59]来实现架构设计的自动化。基于权重共享的方法[23,7,2,9,24,60,20,8,36]已经被提出,并成为NAS研究的现成方法之一。这些方法成功地产生了有希望的结果,已经超过了人类设计的架构[45]。
除了搜索方法之外,NAS的另一个关键组件是搜索空间。与早期NAS工作相比[63,32],随着搜索算法[30]的发展,搜索空间的质量得到了提高。可以观察到,搜索空间设计的改进对许多已有作品的表现产生了积极的影响[30,49]。特别是在搜索空间设计方面,从基于先验知识选择合适的操作[42,14]到利用通道级细粒度模型搜索[44,38,14,53,6,1]over,学术界付出了很多努力更小的操作集。最近的方法通常将每一层的候选操作数量限制在10个以下(不包括关于激活函数或SE模块[17]的决策)。然而,这种搜索空间的改进又回到了专门知识设计的范例中,这是架构自动化学习的倒退。
现在可以考虑的一个自然问题是:我们能否构建一个巨大的搜索空间,它是前面提到的空间的超集,并从中获得更好的结果?如果答案是肯定的,那么这种方法就可以简单地利用所能构建的最大搜索空间来解决搜索空间设计问题。然而,NAS文献对它的讨论较少。Y uet al.[55]和Zhanget al.[57]提供的结果表明,在如图1(a)所示的传统NAS管道下,简单地扩大搜索空间可能不利于最终结果。为了详细研究这个问题,我们设置了一个由27个不同操作组成的搜索空间,然后测试了4种速度相当快的NAS算法,包括DARTS[23]、Proxyless[7]、SPOS[14]和One-Shot[2]。结果表明,所有这些方法都不具备以更大的搜索空间获得更好的搜索结果的行为。此外,有些算法的搜索成本过高或无法收敛,而另一些算法即使在训练周期增加后仍然表现不佳(长训练计划的有效性由[58,3]提出)。另一项相关技术是搜索空间简化,它也可以辅助神经结构搜索[58,18,13],我们将表明,这种技术不足以帮助NAS算法有效地利用大空间。
在这项工作中,我们以大空间神经结构搜索为目标,提出了神经搜索-空间进化(NSE)方案。NSE并没有直接面对大搜索空间带来的负面影响,而是从一个搜索空间子集开始,该子集是全搜索空间的一个合理大小的随机子集,并从这个子集中搜索一个优化空间,然后重新填充这个子集,并重复图1(b)所示的搜索-然后重新填充步骤,以逐步遍历整个空间。最终的NSE为神经结构搜索提供了不断发展的搜索空间。NSE在保留过去知识的同时,逐步探索额外的操作候选人。搜索过程被构造为一个迭代过程,遍历等待的不可见操作候选。在迭代过程中,我们不再保持单一的体系结构作为中间结果,而是将用One-Shot[2]方法训练的超级网络找到的Pareto前沿的所有体系结构进行组合,得到一个优化的搜索空间,并将其继承到下一轮搜索中。通过保持一个优化的搜索空间作为知识,搜索过程总是可以在等待列表中添加新的候选操作,这意味着我们总是可以在CNN文献中添加新提出的操作,这些操作对特定任务来说验证较少,但可能有效。
为了有效地利用更复杂的体系结构,我们进一步将所提出的范例应用于多分支方案,与单分支方案相比,多分支方案具有数量级更明显的结构。与以往只允许选择一个操作的单分支方案(如dart)相比,多分支方案允许自适应地选择多个操作。通过构造多分支方案的概率模型,我们可以检索每个候选操作的适应度。将适合度低于某一阈值的操作从搜索空间中剔除,从而逐步降低搜索空间的复杂性,并提高其他可能路径组合的协同适应程度。我们在ImageNet[34]上进行了两个资源约束的实验,即。失败和延迟。
对于这两个约束,我们的NSE方案下的NAS有效地利用了非常大的搜索空间的潜力,并确保了迭代过程中性能的持续增长,从而导致了最先进的结果。综上所述,本文的主要贡献如下:
•我们提出了NSE,这是第一个专门为大空间神经结构研究问题设计的神经结构搜索方案,它使nas最小化专门搜索空间设计的必要性。进化过程的继承性使知识从以前的搜索空间中获得,同时通过在当前搜索空间中添加新的操作来改进该知识。
•我们提出了一个多分支方案操作适应度的概率模型,通过一次训练使共享权收敛,从而逐步简化多分支方案的搜索空间。这样的退火范式逐渐简化了子任务的复杂性,并帮助剩余的共享权值更好地学习[58]。
二:相关工作
2.1NAS算法设计
网络架构搜索算法是寻找优秀架构的关键。这些算法基于贝叶斯优化,强化学习(RL),遗传算法(GA),权重共享和一次性。有一些贝叶斯优化方法将NAS表述为超参数优化问题,并允许搜索非固定长度的神经结构[28,4]。基于RL的NAS[62,63,59]采用RL学习生成最佳架构。基于ga的方法[33,32]使用GA来生成候选体系结构,并得到了令人印象深刻的结果。权重共享方法[2,23,7,14,10,25]利用一个超级网络在不同的架构之间共享权重。一次性NAS[2,14]通过直接训练带有dropout的超网,利用具有共享权值的超网预测模型得分预测器。但是,当有新的候选操作可用时,这些NAS方法必须重新开始搜索。相比之下,在我们的NSE方案中,保持了一个搜索空间子集,有效地容纳新的候选操作,并继承了之前搜索的候选操作的知识。最近的研究[53,6,1,27]也将知识蒸馏或权重修剪集成到NAS管道中,以实现即时性能。然而,这些技术仍然可以独立进行,获得可观的增益[48,5],并且与我们的重点正交。
2.2搜索空间设计
NAS搜索空间被认为对搜索结果具有不可忽视的影响[55,57]。同时,对搜索空间的设计进行了改进,并结合NAS算法[30]进行了改进。Zophet等[62]采用了朴素的积木和跳跃连接的设计空间。许多方法重复它们通过NAS搜索的相同构建块来构建网络。(63年,59岁,32岁,23)。为了更好的灵活性,后一种方法可以为不同的块搜索不同的操作,但必须限制候选操作的数量,以控制搜索空间大小[40,7,46,14,13,56]。还提出了搜索细粒度模型调整和训练配置的正交工作[54,52,27,44,12]。近期的研究[46,14,7,40,56,15,42]也包括新的候选操作或模块设计,如手工制作的多分支细胞[42],树形结构[7],shuffle操作[26],挤压和激发(SE)模块[17]和swish激活[31]。我们的NSE方案使神经结构搜索与不断进化的新候选操作。
三:方法
问题公式化。由于神经系统结构通常使用前馈结构,我们将整个搜索空间池A表示为层的直接无环图(DAG), U l = 1 L E l U_{l=1}^LE_l Ul=1LEl,其中 E l E_l El表示DAG的第L层中可用的操作(例如3×3convolution、池或恒等式)。我们在搜索空间中表示一个神经网络 a = U l = 1 L e l a=U_{l=1}^Le_l a=Ul=1Lel, e l ⊆ E l e_l \subseteq E_l el⊆El
注意到基于多分支的网络,如Inception[39]和ResNeXt[47]是CNN文献的重要发明,我们将这个方案纳入我们的搜索空间进化中。对于多分支方案中的网络架构,一层包含从N个候选操作中选择的多个操作{ o p n op_n opn},即: e = o g = { o p n ∣ g n = 1 , n ∈ { 1 , … , N } } e=o_g= \{op_n|g_n= 1, n∈\{1,…, N\}\} e=og={opn∣gn=1,n∈{1,…,N}},其中表示特定的操作配置集合 g n {g_n} gn,二进制门 g n {g_n} gn∈{0,1}表示是否选择n-th操作。在本例中,用 o g {o_g} og选择的操作数为 ∑ n = 1 N g n \sum _{n=1}^N g_n ∑n=1Ngn,可能的操作配置(即组合)的总数是 2 n 2^n 2n。
提出的管道的目标是探索一个非常大的搜索空间,通过在搜索空间子集中不断发展,并同时寻找性能最佳的 a ⋆ ⊆ A a^\star \subseteq A a⋆⊆A三角形压缩图架构。
3.1概述
我们将搜索空间演化NAS管道描述为一个自适应过程,它能够从搜索空间子集补充流中进行探索,如图2所示。NSE方案的流程如下:
步骤1。首先,从整个搜索空A间池中A抽取一个搜索空间子集 A s A_s As。这是通过对每一层的候选操作进行随机采样个来实现的。在实际应用中,搜索空间子集 A s A_s As比整个子集A小得多,避免了前面提到的大搜索空间困境。它包括目前考虑NAS算法搜索的候选操作;我们相信,这个大小有限的搜索空间子集自然更容易为搜索算法处理。
步骤2。Supernet training (Section3.2)和搜索空间简化(Section3.3.1)在搜索空间子集 A s A_s As中交替进行。如果在超网络训练中发现某个操作的适应度低于某个阈值,则该操作将从搜索空间子集中删除。
步骤3。优化的搜索空间子集是通过从搜索空间子集 A s A_s As中抽样架构并对其进行评估得到的(章节3.3.2)。具体来说,这些抽样体系结构的适应度是通过验证准确性来评估的,以检索帕累托前沿。聚合Pareto前沿的架构,得到优化的搜索空间子集 A ^ s \hat{A}_s A^s,即包含Pareto前沿所有架构的最小网络搜索空间。
步骤4。构造了一个新的搜索空间 A s ′ A_s^{'} As′(章节3.3.3)。 A s ′ A_s^{'} As′是步骤3中优化的搜索空间子集 A ^ s \hat{A}_s A^s和搜索空间 A r A_r Ar的补充子集的组合。 A r A_r Ar从A中取样补充,以确保在每一层中仍然有K个候选操作。将遍历的搜索空间排除在 A r A_r Ar外,以便同一层中的相同操作不会被采样两次。通过这种方式, A ^ s \hat{A}_s A^s积累的知识得以继承。设 A s A_s As= A s ′ A_s^{'} As′,重新初始化所有权重,转到步骤2。当A没有足够的操作剩余时,循环结束,Step 2的Pareto前端 A s A_s As作为架构搜索的最终结果。
(类似于维持一个堆结构,这个结构保存所有好的操作,然后不断加进来没有进入过的新的操作)
多分支路径转发方案
3.2 Supernet培训
3.2.1 多分支转发路径
给定输入特征图X, 一个分支opn的输出可以写成 g n o p n ( X ) g_n op_n(X) gnopn(X)。如图3所示,配置为g={ g n g_n gn}的多分支层输出可定义如下:
其中黑体k表示K个候选操作的索引集。值得注意的是,identity operation的opid在黑体K中附加索引对于普通层gid总是等于1。
3.2.2 权重更新
权值共享[2,23,7,14],每个子图,即。架构以a表示,它从超网络 W A s W_{{A}_{s}} WAs的继承的权值表示为 W A s ( a ) W_{{A}_{s}}(a) WAs(a), a ⊆ A s a \subseteq A_s a⊆As。共享权 W A s W_{{A}_{s}} WAs的优化可表示为:
其中E[·]为期望,LCE(·)为交叉熵损失,N(a, W A s ( a ) W_{{A}_{s}}(a) WAs(a))为具有结构a和参数 W A s ( a ) W_{{A}_{s}}(a) WAs(a)的网络。Eq.(2)中超出期望的最小值[·]是通过从空间中采样体系结构来实现的,然后使用随机梯度下降更新相应的权重 W A s ( a ) W_{{A}_{s}}(a) WAs(a)。Multiple works[10,55]指出,需要对超网进行均匀训练,才能使共享权值较好地预测精度。因此,我们对每一种可能的架构进行了相同的采样,即。体系结构将从均匀分布中采样,其中每个分支都用 g n g_n gn ~ Bernoulli(0.5)采样。
3.3搜索空间演化
每一次迭代都涉及到三个步骤,如图2所示,这里我们对每个步骤进行详细说明。
图2。搜索空间更新方案提出的方法。在保留已有知识的同时,保留一个搜索空间子集,以包含新的不可见搜索空间。
3.3.1搜索空间简化
我们采用的多分支方案将搜索空间扩大了90多个数量级(具体数字见附录)。为了有效地搜索最优结构,我们提出在训练超网络的同时,逐步简化搜索空间子集,并具有操作适应度。具体来说,我们采用可学习适应度指示器Θ ={ θ l n θ_l^n θln}来预测一个操作的适应度,并指导搜索空间子集的简化,将它们分别分配给每个操作候选,如图3所示。
用锁定和排演简化搜索空间。然后,第th条路径及其相应的指示器 θ n θ_n θn低于某一阈值将从超网中删除,除非:1)该路径是约化单元中剩余的最后一条路径,或2)该路径的操作继承自上一个迭代。第二种情况的异常保留继承的操作,即使它们的预测适合度低于阈值。它还允许我们在当前的超级网络上重新评估以前的帕累托最优架构,从而保护继承的知识不被低估。这是受到终身学习[37]的启发。我们称这种策略为“锁定和演练”(L&R)。
适应度指标的概率建模。健身指标每两个超级网训练迭代更新一次。对于每个更新,然后第th条路径被单独采样 g n g_n gn ~ Bernoulli( p n p_n pn),其中 p n = 1 / ( 1 + e − θ n ) p_n=1/(1+e^{-\theta_n}) pn=1/(1+e−θn)。验证集上的适应度指示器Θ更新如下:
其中 p a ( Θ ) p_a(Θ) pa(Θ)为适应度指示器Θ参数化的架构概率分布。
对于具有k候选操作的层,我们计算层概率 p ^ g \hat p _ g p^g对于操作配置g作为基于操作概率 p n p_n pn的k维伯努利随机变量的联合概率:
初始化时,对于所有θ∈Θ, θ= 0,得到 p n p_n pn= 0.5,因此在开始时,所有可能的组合都以等概率被选中。以资源约束为正则化,优化适应度indicatorsΘ时,可实现式(3)中的公式:
式中,E[·]为期望,R表示体系结构的资源需求a与目标需求τ的差值。α和β是特定于应用程序的常量。对于延迟约束,我们遵循[50]构建一个延迟查找表,该表记录搜索空间中包含的每个操作的延迟成本。
模拟梯度。因为Θ没有直接参与LCE交叉熵损失的计算,我们无法通过反向传播直接更新Eq.(5)中的第一项,因此需要模拟梯度。受BinaryConnect[11]的启发,我们首先将一个采样的分支组合 O g a ( X ) O_{g_a}(X) Oga(X)的输出转发到下一层,其中 g a g_a ga是一个随机选择的配置。然后我们利用输出的梯度w.r.t.作为模拟梯度。因此,我们有如下的模拟梯度:
式(1)中定义了 O g a ( X ) O_{g_a}(X) Oga(X)。式(6)中所有 g i g_i gi的求和仍然是复杂的。我们使用[7]中的方法来简化计算,只选择两种配置来减少每次迭代所需的GPU内存和计算量。具体地说,我们将随机对另一个配置项 g b g_b gb进行采样,然后重新缩放层概率 p ^ g \hat p _ g p^g配置项 g a g_a ga和 g b g_b gb到 p ^ g \hat p _ g p^g的
3.3.2帕累托前端检索和体系结构聚合
帕累托前沿检索。为了检索架构聚合所需的帕D累托前沿,我们使用训练良好的超网和验证数据集的权重来评估抽样架构的验证准确性。我们根据适应度指示器Θ所隐含的概率分布,随机抽样D个不同的模型。不符合资源约束的抽样模型将被丢弃。最后一次搜索迭代的帕累托最优架构(如果存在的话)也将作为L&R策略的一部分进行评估。在实际应用中,需要使用额外 D e D_e De样品来克服边缘效应(详见附录)。在所有的样本评估后,我们可以得到帕累托最优架构{a_1,…,a_p,…a_P}。从最后一轮优化中得到的帕累托最优架构将被称为最终结果。
聚合。在Pareto前端检索之后,对所有Pareto最优架构的运算进行并集,得到优化后的搜索空间ˆa。数学上,我们将l={opln|gln= 1, n∈Kl}表示为第p pareto最优架构ap的第i层选择运算,并将ˆEslas表示为该层的最优搜索空间子集ˆas。我们有ˆEsl=SP p=1ep l。
3.3.3搜索空间补齐继承
为了获得下一轮进化的新的搜索空间子集 A s ′ A_s^{'} As′,我们随机抽取一定数量的整个搜索空间poolAas补充operationsAr中的候选操作(不包括先前遍历的操作)。另外,通过聚合得到的优化搜索空间子集ˆas将被继承。其中,新的搜索空间子集a0is补充运算和优化后的搜索空间子集ˆAs的并集。补齐后,得到的搜索空间子集的大小将与每层原aswithkcandidate操作的大小相同。最后,我们有= a0。
表1。ImageNet的结果与最先进的移动设置方法进行了比较。NSENet-27表示我们在27个OPs空间发现的网络。NSENet表示基于我们从27个OPs空间得到的搜索空间子集,通过探索第二空间找到的网络。†表示模型使用额外的模块,如swish激活[31]和SE模块[17]。‡为使用AutoAugment训练的模型[61]。
表2。ImageNet的结果与最先进的延迟限制设置方法进行了比较。NSENet-GPU是我们发现的具有19个OPs空间[19]的网络。†表示模型使用额外的模块,如swish激活[31]和SE模块[17]。所有网络的∗延迟在相同设置下进行评估(GTX TITAN Xp GPU和TensorRT3框架上的批大小为16)。
四:实验结果
4.1搜索空间和配置
搜索空间。对于FLOPs约束实验,我们的主要搜索空间由27个不同的操作组成(27个OPs空间)。通过继承27个OPs空间衍生的最终搜索空间子集,在27个OPs空间中未覆盖OPs的全新搜索空间(第2空间)上继续搜索3轮,得到最终结果。对于延迟受限的实验,我们使用19个操作搜索空间(19个OPs空间)[19]。值得注意的是,与[23,7]相比,OPs的数量相当大。详细的搜索空间和搜索架构的结构可以在附录中找到。
候选操作的顺序是分层随机打乱的——明智地减少其顺序的潜在影响,但我们所有的实验都共享同一组打乱的序列,以便进行公平的比较。如图2所示,每个层中保留的操作数量可能不平衡,这意味着有些层可能提前就没候选人了。我们绕过这个问题,将这种短缺发生的时刻作为NSE搜索过程的结束。
配置。对于FLOPs约束,搜索空间subsetKis的层大小设置为5,对于Latency约束,设置为6。为了得到最终的模型,我们在最终的Pareto最优点中随机抽取5个样本,将其重新缩放到大约330M FLOPs,选择再培训后表现最好的模型作为输出模型(详细设置见附录)。所有实验都是在ImageNet[34]数据集上进行的,其中验证集是由从训练集中取样的50K随机图像构建的。
4.2FLOPS约束的结果
FLOPs约束的目标τ为300M FLOPs。如表1所示,我们从27个OPs空间得出的初步结果(表1中的NSENet-27)在325M FLOPs中达到了75.3%的Top-1精度,已经超过了许多手工或自动设计的架构。当我们的搜索空间子集继续容纳第二个空间时,结果(表1中的NSENet)进一步推高了派生模型的最高性能,达到75.5% top -1精度。当辅助技术被考虑时,我们的模型(NSENet†在表1)一直超过以前的模型相当大的幅度。
4.3延迟约束的结果
我们优化的平台是GTX TITAN Xp GPU和TensorRT3框架。为了充分利用GPU资源,将批大小设置为16,对所有延迟进行评估。资源约束的目标是8毫秒。结果如表2所示,我们的NSENet-GPU获得了77.9%的top1精度和8.9 ms延迟成本。值得注意的是,虽然我们与PC-NAS-L共享相同的搜索空间(见附录),但我们的搜索模型在Top-1准确率方面比PC-NAS-L高出0.4%,延迟成本少1.4 ms
图4。以FLOPs为条件的搜索空间比较。在每个实验中,我们随机抽取在[323M, 327M]区间内存在FLOPs的20个体系结构。每个模型都经过了50个纪元的从头训练。(b): r1 initn为随机初始化的搜索空间,层空间sizeK=n,“Simplified”和“Aggregated”分别为化简后的搜索空间和Pareto front aggregation得到的搜索空间。©: rn表示第1轮Pareto最优集合的搜索空间。(b)和©中的实验都是基于Multi-Branch 27 OPs空间进行的。
表3。27 OPs空间下不同算法的比较。†搜索成本是指GTX 1080Ti GPU小时数,从[7]引用的‡数量,该[7]使用GTX V100 GPU。∗编号是超过3次运行的平均值。∗∗编号是图5(a) ’ K=5 '所示的最终结果的平均值。27个OPs空间中包含了Proxyless-mobile和Proxyless-rand6使用的搜索空间。使用ProxylessNAS[7]算法搜索proxyless - mobile[7]、Proxyless-rand6和Proxyless-27。
4.4搜索空间进化的必要性
现有的大搜索空间方法。在引言中,我们得出结论,现有的方法不能有效处理大的搜索空间,这是我们的动机。我们评估了4种合理快速的方法:DARTS [23], OneShot [2], SPOS[14]和ProxylessNAS[7]。像DARTS[23]这样的算法保留了所有的优化路径,这使得它在我们庞大的27个OPs空间中的搜索成本非常高(100个epoch大约27k GPU小时)。像SPOS[14]这样简单的一次性算法不会保留所有路径,但在我们使用的相同设置下不能合理地收敛。具体来说,在我们的27个OPs空间上使用SPOS[14]训练的超级网络不收敛(100个纪元的1% Top-1精度),即使在尝试调整批大小、学习率或梯度剪辑之后。
使用[2]中描述的一次性策略,在我们27个OPs空间上训练的超级网络即使在花费4k GPU小时(通过增加训练周期进行调整)的训练计划之后也会收敛得很差。抽样Pareto-optimal架构的300M-350M FLOPs在supernet上的Top-1验证精度小于30%,最终结果为73.5% Top-1验证精度,如表3所示。ProxylessNAS[7]等算法利用可学习的体系结构参数逐渐缩小搜索空间,有助于在较大的搜索空间下得到更合理的结果。我们在我们的27个OPs空间上运行ProxylessNAS,通过增加训练纪元的数量与NSE对齐搜索成本,结果用Proxyless-27表示,如表3所示。我们可以观察到,ProxylessNAS产生的结果比One-Shot-27更好,但NSE的性能仍然比ProxylessNAS更好。
具有不同搜索空间的代理Proxylessnas。我们选择前面的NAS算法,与表3中的ProxylessNAS进行比较,获得最高的27个OPs空间结果,以进一步演示搜索空间如何影响其性能。首先,我们比较了Proxyless-mobile和Proxyless-27的原始结果。Proxyless-mobile源自ProxylessNAS[7]中手动设计的搜索空间,只有6个OPs,是我们27个OPs空间的子集。然而,它的准确性甚至略高于Proxyless-27,这意味着ProxylessNAS在27个OPs空间中不如在6个OPs空间中有效。然后我们将其与随机6个OPs子集的结果进行比较,这些子集表示为Proxyless-rand6。通过对整个搜索空间的每一层从我们的27个OPs空间中随机抽取6个OPs来构造随机子集。结果表明,随机子集空间不如人工设计的6 OPs空间或全27 OPs搜索空间。值得注意的是,即使考虑到使用不同的GPU, Proxyless-rand6的搜索成本也明显高于proxyless - mobile6,这是由随机子集中时间效率较低的OPs造成的。
没有搜索空间演化的搜索空间简化。我们还研究了第3.3.1节中的搜索空间简化是否能够处理大的搜索空间。我们比较了具有分层空间sizeK= 5andK= 9的情况,分别对应图5(a)中的’ K=5 ‘和’ K=9 '。注意,初始搜索空间forK= 5是k = 9使用的初始空间的一个子集。从图5(a)中K= 5andK= 9k的第一轮搜索结果可以看出,尽管两种实验都是这样,但初始搜索空间越大(K=9),结果越差(K=5)启用搜索空间简化。结果表明,不进化搜索空间的搜索空间简化不能很好地处理大搜索空间。
图5。NSE优化轨迹的收敛模式。(a)中间Pareto最优点的点评价。模特们都是从零开始训练的。由于4.1节中提到的不公平问题,整个搜索过程并没有覆盖整个搜索空间。(b)随着搜索的进行,逐渐改善综合搜索空间。该图与图4©共享同一组数据,并以95%置信区间的平均精度显示。
五:消融研究
5.1搜索空间质量比较
为了进一步了解搜索空间对于特定任务是否具有竞争性,我们采用分布估计[30],即。在搜索空间内随机抽样建筑物,得到再训练精度的分布,以评估搜索空间质量。图4(a)比较了三个搜索空间,讨论了我们实验中扩大搜索空间的潜在影响。MultiBranch 27是空间我们用于关键结果,SingleBranch 27代表27个运维空间的单个的分支版本,和单个的分支9是27个运维空间的一个子集:只有通过卷积DW内核大小{3、5、7}和扩大比率为{1、3、6},一组常用的操作NAS[7, 46岁,51],是包括在内。可以看出,单分支空间与多分支空间之间没有明显的差距。此外,虽然多分支27搜索空间理论上对潜在架构具有更高的上界,但其子集单分支9在再训练精度方面具有明显更好的架构分布。然而,这个差距正是我们想要通过搜索空间进化来解决的问题。
5.2. Continual Convergence
为了证明我们的方法可以不断改进搜索空间子集和搜索架构,我们首先在初始空间上随机选择每一轮进化捕获的5个帕累托最优架构,然后从头开始训练它们。如图5(a)所示,在结果的上界和分布上都有持续改善的趋势。整个流程的最佳模型可以通过检查最新的帕累托最优架构来实现。此外,聚合搜索空间的质量也得到了逐步提高,如图4©和5(b)所示。在NSE进程暂停后,我们仍然可以通过重用最终优化的搜索空间子集并将其补充为第二个搜索空间来重新启动该进程。通过这种方式,我们的方法(图5(a)中的“K=5 w/ 2nd Space”)始终能够获得增益。
5.3。组件的影响
搜索空间子集的分层大小。如图4(b)所示,比较层空间sizeK= 5(’ r1 Init 5 ’ in4(b))和k = 9(’ r1 Init 9 ’ in4(b)),较小的k_1初始精度分布较差。但是,从图5(a)中‘K=5’与‘K=9’的比较可以看出,较小的k仍然可以导致更好的收敛。这与我们通过渐进式搜索空间进化绕过大搜索空间难度的动机是一致的,因为较小的搜索空间更容易优化。
简化和聚合。为了显示我们的搜索空间简化和聚合的有效性,我们将子集搜索空间的质量及其简化和聚合空间绘制在图4(b)中。结果表明,无论是搜索空间简化(图中的‘r1 Init 5 Simplified’),还是搜索空间聚合(图中的‘r1 Init 5 Aggregated’),搜索空间质量都有了相当大的提高。
锁和排练。我们的管道中的另一个强制性过程是锁定和排演策略,它可以防止被低估继承的搜索空间。没有这样的正则化方法可能会导致性能的显著下降,如图5(a)中的结果“K=9 w/o L&R”所示。
六:结论
本文介绍了一种新的神经结构搜索方案NSE。它以大空间建筑搜索为目标,在保持已有知识的同时,逐步适应新的搜索空间。通过引入可学习的多分支设置,我们进一步扩展了可获得架构的灵活性。我们提出的NSE方案在传入搜索空间的流中提供了一致的性能增益,这最小化了搜索空间工程的必要性,并向全自动神经结构搜索迈出了一步。