训练一个超级网对于一次性神经架构搜索(NAS)方法很重要,因为它是不同架构(路径)的基本性能估计。目前的方法主要是假设一个超级网应该在所有路径上给出一个合理的排名。因此,他们平等对待所有的道路,并不遗余力地训练道路。然而,对于一个超级网络来说,在如此巨大的搜索空间(如721)上精确地评估是很困难的。在本文中,我们不必覆盖所有路径,而是通过鼓励超级网更多地关注那些潜在的好的路径的评估来减轻超级网的负担,这些路径是使用验证数据的代理部分来识别的。具体地说,在训练过程中,我们提出了一种带抑制的多径采样策略,并贪婪地对弱路径进行滤波。由于训练空间从所有路径贪婪地缩小到那些潜在的好路径,因此训练效率得到了提高。此外,通过引入一个经验的候选路径库,我们进一步采取了勘探开发政策。我们提出的方法GreedyNAS易于实现,并且在ImageNet数据集上的实验结果表明,在相同的搜索空间、错误次数或延迟水平下,该方法可以获得更好的Top-1精度,但只需花费supernet训练成本的60%。通过在更大的空间进行搜索,我们的GreedyNas也可以获得最好的网络。
Introduction
借助于自动特征工程,深神经网络在图像分类[37,36,41,33,32,15,39]、视觉生成[34,35]、图像检索[40,7,8,12]和语义理解[18,17]等计算机视觉任务中取得了显著的成功。相反,神经架构搜索(NAS)旨在自动学习网络架构,以进一步提高目标任务的性能[10,20,43,2,19]。尽管如此,以前的NAS方法通常都有巨大的计算开销,例如2000 GPU的强化学习日[43]和3150 GPU的进化日[26]以及数百GPU。
现有的one-shot NAS方法通过将NAS建模为一个超参数化的supernet的one-shot 训练过程来提高搜索效率。因此,可以从超级网派生出各种体系结构,并共享相同的权重。例如,DARTS[21]及其变体[38,1]使用附加的类别分布来参数化supernet,以指示要保留的操作。相比之下,最近的单路径方法采用非参数化的体系结构建模,并将搜索分为两个连续的阶段,即超级网训练和体系结构采样。对于训练超级网,只激活由单个操作选择组成的单个路径,并由常规的基于梯度的优化器进行优化。在训练好超网之后,它被视为所有体系结构(即路径)的性能估计器。然后,通过随机搜索[16]或(增强的)进化[11,4]算法,在指定的硬件约束(例如,触发器和延迟)下,使用保持验证数据集来搜索最优体系结构。由于训练只激活一条路径,因此存储成本与传统网络训练一致,并且在大规模数据集(如ImageNet[27])上具有良好的扩展性。
超级网是不同体系结构(路径)的基本性能估计器。目前的方法[16,11,4,3]认为超级网应该准确估计所有路径的(相对)性能,因此所有路径都被同等对待并同时训练。然而,包含在超级网中的路径具有相当大的规模(例如721)。因此,对于一个超级网来说,同时对这样数量的路径进行评估并给出合理的排序是很困难的。事实上,超级网的最终目标只是确定一组最优路径。但庞大的搜索空间意味着路径的多样性和多样性,存在着许多精度较差的结构。由于所有路径的权值都是高度共享的,如果对一条弱路径进行采样和训练,就会干扰那些潜在的好路径的权值。这种干扰将低估它们的最终性能估计,并相应地影响搜索到的最优体系结构。因此,超级网不应该太在意这些弱路径并为它们更新。此外,在这些弱路径上进行训练实际上涉及到不必要的权重更新,或多或少会降低训练效率。
在本文中,我们通过鼓励贪婪的超级网来减轻训练负担。贪婪的超级网能够将注意力转移到那些潜在的好路径而不是所有路径的性能评估上。具体地说,在superNet训练过程中,我们提出了一种带拒绝的多径采样策略来过滤弱路径,从而使超级网络贪婪地训练那些潜在的好路径。这种路径过滤可以通过使用验证数据集的代理部分进行评估来有效地实现,而不会对计算成本造成太大的损害。此外,我们还采用了一种扩展和利用策略[14,24],通过引入一个候选池,动态跟踪在训练期间发现的那些潜在的好路径。这样,supernet通过将其训练空间从所有路径切换到那些潜在的好路径,并通过从中抽样进一步切换到候选池来提高其训练效率,如图1所示。
我们在大规模基准ImageNet数据集上实现了greednas方法,扩展的实验结果表明了我们在精度和超网训练效率方面的优越性。例如,在相同的搜索空间下,在相同的错误率或延迟水平下,我们的方法可以比其他比较方法获得更高的Top-1精度,但是可以减少大约40%的supernet训练成本。通过寻找更大的空间,我们也可以获得新的优秀的网络架构。
Related Work
一次NAS方法(one-shot NAS)的主要目的是训练一个包含所有架构(路径)的超参数网络(即supernet),这些架构(路径)实际上共享相同的权重。然后从超级网中得到或搜索最优体系结构。单次NAS方法主要有两类[9],这两类方法在架构的建模和阐述上有所不同,具体如下。
参数化架构。Parameterized architectures.
为了使用基于梯度的优化器进行直接搜索,通常在supernet中引入实值类别分布(架构参数),因此可以与supernet权重(如DARTS[21]、FBNet[38]和MdeNAS[42])联合学习。在完成超网训练后,从分类分布中抽取样本,得到最优结构。然而,它可能会遭受巨大的GPU内存消耗。ProxylessNAS[1]通过将搜索分解为多个二进制选择任务来缓解此问题,而单路径NAS[29]使用超级内核来编码所有操作选择。基本上,它们很难在搜索过程中集成硬硬件约束(例如,FLOPs和latency),但使用宽松的正则化术语[38,1]。
采样单路径架构。Sampled single-path architectures.
通过直接搜索离散的搜索空间,采用抽样和优化单条路径的方法训练超级网。采样可以是均匀采样[11,16]或具有公平性的多径采样[4]。在训练了超网之后,它被假定为不同路径的性能估计器。最优路径可以由不同的搜索者搜索,如随机搜索和进化算法[6]。例如,ScarletNAS[3]使用一个多目标搜索器[22]来考虑分类错误、失败和打赌路径的模型大小。与以往的参数化方法不同,硬件约束可以很容易地集成到搜索器中。我们提出的方法greednas被归入这一类。
3.Rethinking path training of supernet
在单路径单次NAS中,我们利用参数Ω的超参数化超网络N来实现搜索空间的实质化,该搜索空间被公式化为有向无环图(DAG)。在DAG中,特征映射充当节点,而特征映射之间的操作(或变换)被视为连接顺序节点的边。假设supernet N有L层,每层分配O个操作选项O={},可以是基本卷积,池化,身份或不同类型的构建块,如MobileNetV2块[28]和Shuf-fleNetV2块[23]。然后,表示为a的每个架构(即路径)可以由大小为L的元组表示,即=(O1,o2,…,O L)其中O j∈O,∀j=1,2,…,L。因此,搜索空间A是离散的,并且总共将存在(例如721)架构,即,| A |=OL。
训练supernet很重要,因为它有望成为基本的性能估算器。由于内存消耗的考虑,单路径NAS方法通过从A采样单个路径a来实现训练,然后在训练数据Dtr上对采样路径进行全部优化。它可以被表述为最小化空间A上的预期损失,即。
在supernet N(Ω*)训练良好之后,我们可以通过在验证数据集Dval上计算其(Top-1)精度(ACC)来评估每条路径的质量,并且最佳路径a*对应于最大ACC,即
3.1 Reshaping sampling distribution p(A)
目前的方法假设supernet应该对a中的所有架构提供合理的排名。因此,所有路径a都被平等对待,并同时优化[16,11,4,3]。那么采样分布p(A)等于A上的均匀分布p(A)=U(A),
其中I(·)是一个指标函数。但是,如前所述,要求超网同时对所有路径进行准确排名。在巨大的搜索空间A中,可能存在一些质量较差的路径。由于权重在同一超网中高度共享,因此在这些弱路径上进行训练确实会对这些潜在好路径的评估产生负面影响。为了缓解这种干扰,一个直观的想法是阻止这些弱路径的训练。
为了简化分析,我们假设搜索空间A可以通过Oracle良好但未知的supernet No划分为两个子集Agood和Aweak,其中
适用于验证数据集Dval上的所有a∈Agood,b∈Aweak。然后,为了筛选弱路径并减轻超网络训练的负担,我们可以从潜在的好路径A good而不是所有路径A中采样。
通过在Agood上截断,即p(A)=U(Agood;No,Dval)和
通过这种方式,预计超网将彻底接受潜在良好路径的培训,从而提供体面的表现排名。此外,由于有效的搜索空间已从A缩小到Agood,因此相应地提高了supernet的训练效率。
3.2 Greedy path filtering 贪婪路径过滤
尽管如此,在supernet训练中,Oracle super-net No是未知的,因此我们无法根据公式(6)对路径进行采样,因为它依赖于No.在本文中,我们建议使用贪婪策略,并且在训练期间,当前super-net N†逐渐被视为Oracle No.的代理。因此,在supernet训练期间,我们根据当前N†给出的重塑采样分布,即p(A)=U(Agood;N†,Dval),贪婪地采样路径。采样路径将得到优化,然后超网将被更新并演变为一个卓越的性能估计器超过Agood。
然而,一个自然的问题出现了:即使给定一个超净N†,我们如何从形状分布p(a)=U(Agood;N†,Dval)中抽样?换句话说,我们如何准确地识别一条路径是来自Agood还是来自Aweak?请注意,A的分区是通过遍历A中的所有路径来确定的,如方程(5)所示,这在计算中是不可承受的。由于我们无法准确知道单个路径是好还是弱,为了解决这个问题,我们提出了一种拒绝的多路径采样策略。
假设我们从a均匀采样一条路径,那么它就等于从Agood采样,概率为q=| Agood |/| a |,并从概率为1-q的Aweak采样。这样,如果我们一次独立采样多条路径,我们根据二项式分布得到以下结果。
定理1。如果从A中均匀地i.i.d.采样m条路径,并且基于supernet N†将Agood和Aweak定义为等式(4)和等式(5),则它认为至少k(k≤m)条路径来自Agood并且具有概率
从定理1可以看出,通过对m条路径进行采样,当潜在好路径q的比例在中间大或k在中间小时,至少k条路径来自Agood的概率非常高(见图2)。例如,如果我们保守地假设60%路径有可能是好的(即,q=0.6),那么我们将有83.38%的置信度来说10条路径中至少有5条是从Agood采样的。这样,基于等式(4)和等式(5)的定义,我们只使用验证数据Dval对采样的m条路径进行排序,保留顶部k条路径并拒绝剩余路径。
然而,对m路径进行排序涉及将所有验证数据集Dval上的ACC计算为等式(5),这在supernet训练期间也是计算密集型的。事实上,在我们的多路径采样中,我们关心的是获得的排名;我们凭经验发现,基于损失l(例如。,用于分类的交叉熵损失)在Dval的替代子集(例如,ImageNet数据集上的1k图像)上表示为D val。该等级与ACC在所有Dval上给出的一致性相当显着。更多细节和分析参见第5.3.1节中的消融研究。然后采样作为算法1工作。
结果,路径过滤可以被有效地实现,因为它可以在一小部分验证数据上以简单的前馈模式(例如,Pytorch中的eval()模式)运行。从这个意义上说,我们在训练过程中贪婪地阻止了弱路径。并且验证数据D val充当粗略过滤器以防止训练那些低质量甚至有害路径,从而使超网络可以对那些潜在的良好路径进行足够的训练。
4.Proposed Approach: GreedyNAS
在本节中,我们正式说明了基于贪婪超网的我们提出的NAS方法(也称为GreedyNAS)。我们的GreedyNAS由三个过程组成,即超网训练,搜索路径和重新训练搜索的最优路径。最后的再训练对应于给定网络的常规训练。我们主要阐述前两个如下。
4.1. Greedy training of supernet
如前所述,我们建议在训练期间保持贪婪超网。通过这样做,我们通过保持顶部k路径并通过使用D val进行评估来过滤底部m-k路径来逐渐近似采样p(A)=U(A good;N†,Dval)。阻止这些弱路径接受训练,这允许超网更多地关注那些潜在的好路径并将其训练空间从A切换到Agood。
4.1.1 Training with exploration and exploitation
经过贪婪路径过滤后,我们实际上已经确定了一些潜在的好路径,这些路径相当于当前超网给出的一些经验良好的路径。然后,为了进一步提高训练效率,受蒙特卡罗树搜索[14]和深度Q学习(DQN)[24]的启发,我们建议通过重复使用这些路径来训练具有探索和开发(E-E)策略的超网络。
具体而言,我们引入候选池P来存储训练期间发现的潜在良好路径。每条路径a表示为操作选择的元组。此外,每个ai还分配一个评估损失li。因此,候选池被公式化为具有优先级l的固定大小有序队列。在涉及更多潜在良好路径的情况下,候选池可以通过最小堆结构实时维护。
因此,我们可以通过从候选池中采样来保守地实现本地搜索,因为它由较少数量(但有希望)的路径组成。然而,这种贪婪的剥削带来了失去训练路径多样性的风险。通过这种方式,我们也赞成进行全局搜索,希望能够探索尚未采样和训练的其他有希望的路径,这可以通过a的统一采样轻松实现。为了实现探索和开发的平衡,我们采用典型的ε采样策略,即从a和pool P实施统一采样(算法1的第4行)
其中ε∈[0,1]表示从池P采样的概率。请注意,候选池运行在supernet的训练过程中;但是,由于优先级l是基于多个较少训练的supernet。在这种情况下,我们建议将池采样概率ε从0确定到预定义的水平。在我们的实验中,我们发现ε=0.8将是一个不错的选择。
勘探和开发鼓励supernet改进已经找到的良好路径,并探索新的领域以获得更好的路径。此外,它实际上还通过提高过滤置信度来促进我们贪婪的路径过滤。基本上,所收集的潜在良好路径可以看作是Agood的一个子集,然后从P采样,将定理1的概率q增加到
这是指潜在良好路径的比例。例如,假设我们从P或A(ε=0.5)均匀采样,那么根据定理1,从10条路径中采样至少5条好路径的概率将从83.38%上升到99.36%。比较降低r=k/m以增加采样置信度,使用P进行采样几乎是成本可忽略的,因为我们只需要保持最小堆积。因此,超网逐渐将训练从Agood转移到P,训练效率将相应提高。
4.1.2 Stopping principle via candidate pool
与传统网络不同,supernet用作性能估计器,很难判断何时训练良好。当前的单路径NAS方法通过手动指定最大时期数来控制其训练。然而,在我们的GreedyNAS中,我们提出了一种基于候选池的自适应停止原则。
候选池P表示一系列最佳经验路径,并且在supernet训练期间动态更新。因此,如果超网训练良好,池P应该趋于稳定。这种稳定性可以通过候选池P的更新频率π来测量,
其中P t指先前t次迭代中的旧P。因此,较小的π意味着在t次迭代中池P中涉及较少的新路径,并且P更稳定。给定一定的容差水平α,当更新频率π小于α时,我们相信超网已经被充分训练,并且其训练可以相应地停止。
4.2. Searching with candidate pool
在supernet被训练之后,我们可以使用supernet来评估验证数据集Dval上每条路径的质量(ACC),并将最优路径a*搜索为等式(2)。但是,枚举A中的所有路径是计算密集型的。一种补救措施是通过进化算法[11]或增强版本(例如,MoreMNAS[5]),将supernet作为现成的评估者。在我们的算法中,我们采用多目标NSGA-II[6]算法进行搜索,其中硬件约束可以很容易地集成到演化过程中。如果路径违反预定义的硬件约束(例如,在330个触发器下),我们只需将其丢弃即可。
此外,进化算法需要在实现迭代变异和交叉之前初始化大小为Npop的种群。目前的方法通常将约束条件下的随机样本Npop路径作为初始种群。相反,我们的方法在候选池P的帮助下进行初始化,然后选择其顶部Npop路径。如图3所示,使用候选池进行搜索可以提高进化性能,以提供良好的初始种群。使用候选池的搜索路径的ACC平均高于使用随机初始化的ACC。我们的搜索算法的更多细节参考补充材料。
5. Experimental Results
5.1. Configuration and settings
数据集。我们对具有挑战性的ImageNet数据集进行架构搜索[27]。如[1]所示,我们从训练数据集中随机抽取50000张图像(每类50张图像)作为验证数据集(| Dval |=50K),其余的训练图像用于训练。此外,我们使用原始验证数据集作为测试数据集来报告准确性性能。
搜索空间。在[1,4]之后,我们采用与supernet相同的宏观结构进行公平比较,如表5所示(见补充材料)。此外,我们使用MobileNetV2 inverted bottleneck[28]作为基本构建块。对于每个构造块,卷积核的大小都在{3,5,7}范围内,展开比选择在{3,6}范围内。为了灵活的深度搜索,还附加了一个标识块。结果,21个构建块的搜索空间大小为(3×2+1)^ 21=7^ 21,此外,我们还通过使用挤压和激励(SE)选项增加每个构建块来实现在更大空间上的搜索。因此,较大搜索空间的大小为1321。
超级网训练。为了训练超级网,采用算法1对10条路径进行采样,并对5条路径进行滤波。我们从验证数据集中随机抽取1000个图像(每个类一个图像),用于评估算法1中的路径。为了训练每条路径,我们使用了一个动量为0.9和Nesterov加速度的随机梯度下降(SGD)优化器。采用余弦退火策略,从初始值0.12开始降低学习率。批量大小为1024。对于候选池,我们经验发现1000是池大小| P |的一个很好的选择,它近似于一个时代所涉及的路径数量。候选抽样概率ε从0线性增加到0.8。我们没有指定一个历元数[11,4](epoch number),而是使用所提出的原理来停止超网训练,其容忍度α=0.08。
进化搜索。为了使用NSGA-II[6]算法进行搜索,我们将种群规模设为50,世代数设为20。填充由候选池P初始化,而其他比较方法使用随机初始化。在搜索过程中,我们使用了FLOPs或latency的约束。我们所有的实验都使用Qualcomm®Snapdragon 855移动硬件开发工具包(HDK)来测量延迟。
再训练。为了训练得到的体系结构,我们使用了与[1]相同的策略来搜索不带SE(squeeze-and-excitation)的空间。对于扩展的搜索空间,我们采用了一个动量为0.9的RMSProp优化器作为Mnasnet[30]。在批量512的前5个阶段,学习率从0增加到0.064,然后每3个阶段下降0.03。除此之外,还采用了衰减为0.999的逐次移动平均。
5.2. Performance comparison with state-of-the-art methods
在相同的搜索空间中搜索。为了公平比较,我们首先将GreedyNAS的搜索空间与[1]的搜索空间进行基准测试,以评估我们相对于其他单路径一次性NAS方法的优势。我们还讨论了一种基线随机搜索方法,它与均匀抽样[11]共享相同的超级网训练策略;但是在搜索过程中,它不使用进化算法,而是随机抽样1000条路径,并根据超级网上的Top-1 ACC来重溯秩1路径。如表1所示,当使用类似的320个触发器进行搜索时,我们的GreedyNAS达到最高的Top-1 ACC。我们进一步将搜索限制与80毫秒的延迟对齐。表1表明,在相同的延迟下,GreedyNAS仍然始终优于其他比较方法。例如,GreedyNAS可以搜索一个拥有74.93%Top-1 ACC的架构,比均匀采样的性能提高了0.43%,这在某种程度上说明了贪婪超级网相对于均匀超级网的优越性。
除了搜索模型在分类性能上的优势外,我们还从超网训练效率的角度评价了我们的优势。由于GreedyNAS和其他单路径单发NAS方法的主要区别在于超级网训练,我们在表1中报告了超级网训练成本。为了消除由于不同实现工具(如GPU类型、dat-aloader包装器)造成的效率差距,我们计算了整个基于梯度的优化步骤中涉及的图像的累积数量,即表1中的优化。我们的GreedyNAS在训练期间有一个额外的评估过程,因此我们还报告了用于前向评估的累积图像数,即评估。对于整体效率比较,我们发现整个优化步骤的成本大约是正向评估的3.33倍。相应地涵盖了相应的修正优化。
从表1可以看出,我们的GreedyNAS的训练成本远小于其他比较方法,这表明GreedyNAS在超级网训练中具有显著的效率,因为它贪婪地将训练空间缩小到那些潜在的好路径中。此外,我们还利用GreedyNAS的相同训练代价实现了随机搜索和均匀采样,分别表示为随机搜索E和均匀采样E。结果表明,随着超网训练迭代次数的减少,搜索到的体系结构比迭代次数大的体系结构要差。相比之下,我们的方法可以获得更高的准确率(几乎1%)。这意味着GreedyNAS能够以更少的迭代次数学习一个像样的超级网。
在扩展搜索空间上搜索。为了全面说明我们在各种最先进的NAS方法上的优势,我们通过使用SE选项扩展当前空间来实现搜索。此外,我们还研究了不同触发器约束下的体系结构。但我们也报告了相应的延迟和参数容量,以全面分析搜索模型的统计数据。如表2所示,我们的GreedyNAS在不同的触发器和延迟级别方面实现了最新的性能。例如,在相同触发器和延迟的情况下,GreedyNAS-C的Top-1 ACC比SCARLET高出0.6%。我们搜索的模型如图6所示(见补充材料)。结果表明,较小的网络(GreedyNAS-C)倾向于选择更多的标识块来减少FLOPs,而较大的网络将利用更多的SE模块(GreedyNAS-A&B)来进一步提高精度性能。此外,由于3×3核在移动推理框架中的优化更加成熟,GreedyNAS-A采用了更多的3×3核,从而具有更小的延迟。我们还报告了我们的实际培训成本在表2中基于特斯拉V100 GPU。实验结果表明,与其他NAS方法相比,GreedyNAS能显著缩短训练时间,验证了GreedyNAS的有效性。
5.3. Ablation studies(模型简化测试)
5.3.1 Effect of evaluation in path filtering
为了过滤弱路径,GreedyNAS通过验证图像的一小部分(1000)来评估每个路径,作为整个验证数据集(50K个图像)的代理。我们首先在实验中研究这种近似是否足够。通过从supernet中随机抽取1000条路径,分别使用1000张和50K张验证图像对评估结果进行排序,来检验两个路径顺序的相关性。在表3中,我们报告了广泛使用的Spearman rho[25]和Kendall tau[13]秩相关系数,它们在[0,1]范围内,较大的值意味着较强的相关性。我们还讨论了三种类型的超网,即随机初始化、单形抽样训练和贪婪抽样。
从表3可以看出我们的贪婪超级网达到了相当高的秩相关系数(0.997和0.961),这表明使用1000个验证图像的贪婪超级网的排序与所有验证数据集的排序是显著一致的。此外,即使在不同的评估图像中,使用均匀采样训练的超级网络也具有较小的相关系数(见图4)。这在某种意义上意味着我们贪婪的超级网更具辨别力,因为它可以使用更少的图像来识别路径是好是弱。然而,如左图4所示,太少的评估图像可能具有弱相关性,而太多的评估图像意味着更大的评估成本。但1000幅评价图像在等级相关性和评价成本之间有一个平衡的权衡。注意,我们还报告了使用1000张图像的ACC的w.r.t.排名结果,这比使用loss的结果要小。这是由于在训练过程中损失的价值可能比ACC更具信息性。
对于随机超网,相关系数相当小(0.155和0.113)。这是有意义的,因为排名是基于分类性能的;然而,一个随机的超级网无法学习足够的领域相关信息,但却给出了无序的路径排名。这个较小的相关系数意味着从一个随机的超级网络中实现贪婪的采样是不明智的,因为由1000个验证图像评估的排名将是相当嘈杂的。这样,我们在右图4中用均匀抽样记录了秩相关系数的趋势。结果表明,随着迭代次数的增加,相关系数增大,在10K迭代时,相关系数趋于稳定在较高水平(如Kendall-Tau为0.81)。因此,在我们的GreedyNAS中,我们建议通过对10K次迭代进行均匀采样来进行预热阶段,这样我们就可以安全地使用1000个验证图像来评估路径。
5.3.2 Effect of path filtering and candidate pool
为了研究我们提出的路径过滤和候选池的效果,我们在没有搜索空间的情况下进行了实验。在我们的GreedyNAS中,路径滤波是为了阻止弱路径的训练。相比之下,候选人才库的使用主要是表4所示的三倍。首先,我们可以从中抽取样本作为开发过程;其次,我们可以使用池初始化进化搜索以获得更好的路径;第三,我们可以使用它来自适应地停止超级网训练。然后对每一个因子进行控制,得到了6个GreedyNAS变体和6个相应的搜索结构Net1∼Net6。为了公平比较,我们搜索了3300万次失败的所有网络。此外,如果候选池不用于停止训练,我们将最大epoch 60指定为[3]。
如表4所示,与基线Net1(Net3)相比,Net2(Net6)的Top-1 ACC性能提高了0.28%(0.41%),说明路径滤波确实有助于超网训练,从而提高了搜索结果。通过引入候选池,Net6的准确率从74.59%(Net2)提高到74.89%。具体来说,在进化算法中使用候选池进行初始化可以在前1个ACC上获得0.18%的增益,因为它有助于在supernet上搜索ACC更高的路径(另请参见图3)。注意,停在候选池旁通常可以节省训练成本;但是,使用候选池(Net5)进行的完整训练似乎会降低精确度(0.05%w.r.t.Net6)。这可能是由于对候选池的极度贪婪的利用反而损害了超级网训练。从某种意义上说,停止开采exploitation有利于在勘探和开采之间实现更为平衡的权衡。
6.conclusion
训练一个超级网是单程单发NAS方法的一个关键问题。我们建议不要一视同仁,而要贪婪地把重点放在培养那些潜在的优秀人才上。本文提出的多径采样策略可以有效地实现这种贪婪路径滤波。此外,我们还采用了探索和探索的策略,引入了候选池,进一步提高了超级网的训练效率。该方法在精度和训练效率上都显示出明显的优越性。
补充:
在NAS过程中,最为耗时的其实就是对于候选模型的训练。而初版的NAS因为对每个候选模型都是从头训练的,因此会相当耗时。一个直观的想法是有没有办法让训练好的网络尽可能重用,目前主要有两种途径:
一种思路是利用网络态射从小网络开始做加法,所谓网络态射就是将网络进行变形,同时保持其功能不变。这样带来的好处是变形后可以重用之前训练好的权重,而不用重头开始训练。例如上海交大和伦敦大学学院的论文《Reinforcement Learning for Architecture Search by Network Transformation》中将Network morphisms(网络态射)与神经网络搜索结合,论文《Simple And Efficient Architecture Search for Convolutional Neural Networks》也使用了网络态射来达到共享权重的目的,只是它使用了爬山算法为搜索策略;
另一种思路就是从大网络开始做减法,如One-Shot Architecture Search方法,就是在一个大而全的网络上做减法。
Ablation Studies 模型简化测试
一些新颖的深度学习模型在论文中都会进行AblationStudy,这部分的主要意义在于系统性的移除模型中的各种组件/trick等因子或者是创新的方法,来探究各个因素对于模型整体贡献的强弱多寡, 找到对性能最主要的影响因素。