NAS入门基础---经典综述Neural Architecture Search: A Survey翻译

hello,这是鑫鑫鑫的论文分享站,今天分享的文章是Neural Architecture Search: A Survey(神经网络结构搜索),这是一篇入门综述,我们一起看看吧~

摘要
目前采用的体系结构大多是由专家手工开发的,这是一个耗时且容易出错的过程。正因为如此,人们对自动神经结构搜索方法越来越感兴趣。我们提供了一个现有的工作在这一领域的研究和分类,根据三个维度:搜索空间,搜索策略,和性能估计策略。

关键词:神经结构搜索,AutoML,AutoDL,搜索空间设计,搜索策略,性能评估策略

1介绍
感知任务中深度学习的成功很大程度上归功于它对特征工程过程的自动化:分层特征抽取器是以端到端的方式从数据中学习的,而不是手动设计的。然而,这一成功伴随着对工程的不断增长的需求,越来越复杂的神经结构是手工设计的**。神经架构搜索(NAS)是架构工程自动化的过程,是机器学习自动化的下一步。**到目前为止,NAS方法在一些任务上已经优于手动设计的架构,例如图像分类(Zoph et al.,2018;Real et al.,2019)、目标检测(Zoph et al.,2018)或语义分割(Chen et al.,2018)。NAS可视为AutoML的子领域(Hutter et al.,2019),与超参数优化(Feurer and Hutter,2019)和元学习(Vanschoren,2019)有显著重叠。
我们根据三个维度对NAS方法进行分类:搜索空间、搜索策略和性能评估策略:
NAS入门基础---经典综述Neural Architecture Search: A Survey翻译

•搜索空间:定义了原则上可以表示哪些体系结构。结合关于非常适合于任务的体系结构的典型属性的先验知识可以减小搜索空间的大小并简化搜索。
•搜索策略:详细说明了如何探索搜索空间(搜索空间通常是指数级的,甚至是无限的)。一方面,希望快速找到性能良好的体系结构,另一方面,应避免过早收敛到次优体系结构区域。
•搜索策略性能评估:NAS的目标通常是找到在看不见的数据上实现高预测性能的体系结构。性能评估是指评估这种性能的过程:最简单的选择是对数据执行标准的体系结构培训和验证,但不幸的是,这在计算上非常昂贵,并且限制了可以研究的体系结构的数量。因此,许多最近的研究集中于开发降低这些性能评估成本的方法。

2搜索空间
搜索空间定义了NAS方法原则上可能发现的神经结构。我们现在讨论最近工作中常见的搜索空间。
一个相对简单的搜索空间是链式结构神经网络的空间,如图2(左)所示。

NAS入门基础---经典综述Neural Architecture Search: A Survey翻译
然后,搜索空间参数化为:(i)层的(最大)数量n(可能是*的);(ii)每层执行的操作类型,例如,池、卷积或更高级的操作,如深度可分离卷积(Chollet,2016)或扩展卷积(Yu和Koltun,2016);以及(iii)与之相关的超参数运算,例如,卷积层的滤波器数量、内核大小和步长(Baker等人,2017a;Suganuma等人,2017;Cai等人,2018a),或完全连接网络的单元数量(Mendoza等人,2016)。注意,(iii)中的参数以(ii)为条件,因此搜索空间的参数化不是固定长度而是条件空间。

关于NAS的最新研究(Brock et al.,2017;Elsken et al.,2017;Zoph et al.,2018;Elsken et al.,2019;Real et al.,2019;Cai et al.,2018b)结合了手工构建的现代设计元素,例如跳过连接,允许构建复杂的多分支网络,如图2(右)所示。在这种情况下,层i的输入可以正式地描述为一个函数(函数)结合先前的层输出。使用这样一个函数可以得到更多的*度。这些多分支架构的特殊情况是(i)链结构网络(通过设置),(ii)剩余网络(He等人,2016),其中前一层输出求和(1)和(iii)DenseNets
(Huang等人,2017),其中先前的层输出是串联的(受手工制作的由重复图案组成的架构(Szegedy et al.,2016;He et al.,2016;Huang et al.,2017)的推动,Zoph et al.(2018)和Zhong et al.(2018a)提议分别搜索这些图案,即被称为细胞或块,而不是整体体系结构。

NAS入门基础---经典综述Neural Architecture Search: A Survey翻译
优化了两种不同类型的单元:一种是保留输入维度的正常单元,另一种是减少空间维度的缩减单元。最后的架构是通过以预定义的方式堆叠这些单元来构建的,如图3所示。与上面讨论的搜索空间相比,此搜索空间有三大优势:

  1. 搜索空间的大小大大减小,因为单元通常由明显少于整个体系结构的层组成。例如,Zoph等人(2018年)估计,与他们之前的工作(Zoph和Le,2017年)相比,在实现更好性能的同时,速度提高了7倍。
  2. 通过简单地改变模型中使用的单元和过滤器的数量,从单元构建的体系结构可以更容易地传输或适应其他数据集。事实上,Zoph等人(2018年)将CIFAR-10上优化的细胞转移到ImageNet并实现最先进的性能。
  3. 通过重复构建块来创建体系结构已被证明是一种有用的设计原则,例如在RNN中重复LSTM块或堆叠剩余块。

因此,这种基于细胞的搜索空间也被许多最近的作品成功地利用(Real et al.,2019;Liu et al.,2018a;Pham et al.,2018;Elsken et al.,2019;Cai et al.,2018b;Liu et al.,2019b;Zhong et al.,2018b)。然而,当使用基于单元的搜索空间时,出现了一个新的设计选择,即如何选择宏体系结构:应该使用多少个单元,以及如何连接它们来构建实际模型?例如,Zoph et al.(2018)从单元构建一个序列模型,其中每个单元接收前两个单元的输出作为输入,而Cai et al.(2018b)采用了著名的手动设计架构的高级结构,例如DenseNet(Huang et al.,2017),并在这些模型中使用它们的单元。原则上,可以通过简单地用单元替换层来任意组合单元,例如,在上述多分支空间内。理想情况下,宏体系结构和微体系结构(即单元的结构)都应该联合优化,而不是单独优化微体系结构;否则,在找到性能良好的单元后,很容易就不得不进行手动宏体系结构工程。优化宏架构的一个步骤是Liu等人(2018b)引入的分层搜索空间,它由多个层次的基序组成。第一级由一组基元操作组成,第二级由通过有向无环图连接基元操作的不同基元组成,第三级由编码如何连接第二级基元的基元组成,依此类推。基于单元的搜索空间可以看作是这种分层搜索空间的一个特例,其中层次数为3,第二层次的基序对应于单元,第三层次是硬编码的宏结构。

搜索空间的选择在很大程度上决定了优化问题的难度:即使是基于具有固定宏结构的单个单元的搜索空间,优化问题仍然是(i)非连续的和(ii)相对高维的(因为更复杂的模型往往表现更好,导致更多的设计)选择。
我们注意到,许多搜索空间中的架构可以写为固定长度向量;例如,Zoph等人(2018)的两个单元中的每个单元的搜索空间可以写为具有分类维度的40维[1]搜索空间,每个搜索空间在少量不同的构建块和输入之间进行选择。*搜索空间可以被限制为具有(可能非常大,但有限)数量的层,这再次产生具有(可能很多)条件维的固定大小搜索空间。

3.搜索策略
许多不同的搜索策略可以用来探索神经结构的空间,包括随机搜索、贝叶斯优化、进化方法、强化学习(RL)和基于梯度的方法。历史上,几十年前,许多研究人员已经使用进化算法来进化神经结构(通常还有它们的权重)(参见,例如Angeline et al.,1994;Stanley and Miikkulainen,2002;Floreano et al.,2008;Stanley et al.,2009;Jozefowicz et al.,2015)。姚(1999)对2000年以前的工作进行了文献综述。
自2013年以来,贝叶斯优化在NAS领域取得了几项早期成功,形成了最先进的视觉体系结构(Bergstra et al.,2013),实现了CIFAR-10在无数据增强的情况下的最先进性能(Domhan et al.,2015),以及第一个在与人类专家的数据集竞争中获胜的自动调谐神经网络(Mendoza et al.,2016)。在Zoph和Le(2017)通过基于强化学习的搜索策略在CIFAR-10和Penn Treebank基准测试中获得竞争性表现后,NAS成为机器学习界的主流研究课题。虽然Zoph和Le(2017)使用了大量的计算资源来实现这一结果(800 gpu,持续3到4周),但在他们的工作之后,各种各样的方法相继发表,以降低计算成本并实现性能的进一步改进。
为了将NAS界定为强化学习(RL)问题(Baker et al.,2017a;Zoph and Le,2017;Zhong et al.,2018a;Zoph et al.,2018),可以将神经结构的生成视为代理的动作,动作空间与搜索空间相同。代理的报酬是基于对不可见数据的训练体系结构性能的估计(见第4节)。不同的RL方法在如何表示代理的策略以及如何优化策略方面有所不同:Zoph和Le(2017)使用递归神经网络(RNN)策略依次对字符串进行采样,该字符串反过来对神经结构进行编码。他们最初使用强化策略梯度算法(Williams,1992)训练该网络,但在后续工作(Zoph et al.,2018)中使用了近端策略优化(Schulman et al.,2017)。Baker等人(2017a)使用Q-学习来训练策略,该策略依次选择层的类型和相应的超参数。这些方法的另一种观点是作为顺序决策过程,其中策略对操作进行采样以顺序生成体系结构,环境的“状态”包含到目前为止采样的操作的摘要,并且(未折扣的)奖励仅在最终操作之后获得。然而,由于在这个连续过程中没有与环境的交互(没有观察到外部状态,也没有中间回报),我们发现将架构采样过程解释为单个动作的连续生成更为直观;这就将RL问题简化为无状态多武装土匪问题。
Cai等人(2018a)提出了一种相关的方法,他将NAS定义为一个顺序决策过程:在他们的方法中,状态是当前(部分训练的)架构,回报是架构性能的估计,动作对应于保留功能的突变的应用,被称为网络变体(Chen等人,2016;Wei等人,2017),另见第4节,随后是网络的培训阶段。为了处理可变长度的网络结构,他们使用双向LSTM将结构编码成固定长度的表示。基于这种编码表示,参与者网络决定采样的动作。这两个组件的组合构成了策略,该策略通过增强策略梯度算法进行端到端的训练。我们注意到这种方法不会两次访问相同的状态(架构)。
使用RL的另一种方法是使用进化算法优化神经结构的神经进化方法。我们所知道的第一种设计神经网络的方法可以追溯到近三十年前:Miller等人(1989)使用遗传算法来提出结构,并使用反向传播来优化其权重。此后,许多神经进化方法(Angeline et al.,1994;Stanley and Miikkulainen,2002;Stanley et al.,2009)使用遗传算法来优化神经结构及其权重;然而,当针对监督学习任务扩展到具有数百万权重的当代神经结构时,基于SGD的权重优化方法目前优于进化方法。[2]最近的神经进化方法(Real et al.,2017;Suganuma et al.,2017;Liu et al.,2018b;Real et al.,2019;Miikkulainen et al.,2017;Xie and Yuille,2017;Elsken et al.,2019)因此再次使用基于梯度的方法优化权重,并单独使用进化算法优化神经结构本身。进化算法进化出一个模型群体,即一组(可能经过训练的)网络;在每一个进化步骤中,至少从群体中抽取一个模型作为母体,通过对其应用突变来生成后代。在NAS的上下文中,突变是局部操作,例如添加或删除层、更改层的超参数、添加跳过连接以及更改训练超参数。在训练后代之后,评估他们的适应能力(例如,在验证集上的表现),并将他们添加到群体中。
神经进化方法的不同之处在于如何对父母取样、更新种群和产生后代。例如,Real et al.(2017)、Real et al.(2019)和Liu et al.(2018b)使用锦标赛选择(Goldberg和Deb,1991)对父母进行抽样,而Elsken et al.(2019)使用逆密度从多目标Pareto前沿对父母进行抽样。Real et al.(2017)从人群中移除最差个体,而Real et al.(2019)发现移除最老个体(减少贪婪)是有益的,而Liu et al.(2018b)根本不移除个体。为了产生后代,大多数方法随机初始化子网络,而Elsken et al.(2019)采用Lamarckian遗传,即知识(以学习权重的形式)通过使用网络态射从父网络传递给其子网络。Real等人(2017年)还允许后代继承其父母的所有参数,这些参数不受应用突变的影响;虽然这种继承不是严格的函数保持,但与随机初始化相比,它也可能加快学习速度。此外,它们还允许改变学习率,这可以看作是在NAS期间优化学习率调度的一种方法。我们参考Stanley等人(2019)最近对神经进化方法的深入综述。
Real等人(2019)进行了一项案例研究,比较了RL、进化和随机搜索(RS),得出结论:RL和进化在最终测试精度方面表现相同,进化具有更好的随时性能,并找到更小的模型。在他们的实验中,两种方法的表现都比RS好,但差距很小:RS在CIFAR-10上的测试误差约为4%,而RL和evolution的测试误差约为3.5%(在“模型增强”后,深度和滤波器数量增加;实际使用的非增强空间的差异搜索结果约为2%)。Liu等人(2018b)的差异甚至更小,他们报告了CIFAR-10的测试误差为3.9%,ImageNet的RS的top-1验证误差为21.0%,而基于进化的方法分别为3.75%和20.3%。
贝叶斯优化(BO,参见,例如,(Shahriari et al.,2016))是超参数优化最流行的方法之一,但由于典型的BO工具箱基于高斯过程,并侧重于低维连续优化问题,因此许多小组尚未将其应用于NAS。Swersky et al.(2013)和Kandasamy et al.(2018)推导了架构搜索空间的核函数,以便使用经典的基于GP的BO方法。相比之下,一些作品使用基于树的模型(特别是树Parzen估计器(Bergstra et al.,2011)或随机森林(Hutter et al.,2011))来有效地搜索高维条件空间,并在广泛的问题上实现最先进的性能,联合优化两种神经结构及其超参数(Bergstra et al.,2013;Domhan et al.,2015;Mendoza et al.,2016;Zela et al.,2018)。虽然缺乏全面的比较,但有初步证据表明,这些方法也可以优于进化算法(Klein等人,2018)。
Negrinho和Gordon(2017)以及Wistuba(2017)利用其搜索空间的树结构,并使用蒙特卡罗树搜索。Elsken et al.(2017)提出了一种简单但性能良好的爬山算法,该算法通过贪婪地向性能更好的架构方向移动来发现高质量的架构,而不需要更复杂的探索机制。
虽然上述方法采用离散搜索空间,但Liu等人(2019b)提出了一种连续松弛方法,以实现直接基于梯度的优化:作者没有固定要在特定层执行的单个操作oi(例如卷积或池),而是从一组操作{o1,…,om}计算凸组合。更具体地说,给定层输入x,层输出y被计算为=1,其中凸系数αi有效地参数化网络架构。Liu等人(2019b)然后通过交替梯度下降步骤对权重的训练数据和结构参数(如α)的验证数据优化网络权重和网络结构。最后,通过为每一层选择i∗=argmaxiαi的操作i∗,获得离散体系结构。Xie et al.(2019);Cai et al.(2019)建议优化可能操作的参数化分布,而不是优化可能操作的权重α。Shin et al.(2018)和Ahmed and Torresani(2018)也采用了基于梯度的神经结构优化,但分别侧重于优化层超参数或连接性模式。
4性能评估策略
搜索策略旨在找到一种能最大化某些性能度量的神经结构,例如对未知数据的准确性。为了指导他们的搜索过程,这些策略需要估计给定架构A的性能。实现这一点的最简单方法是根据训练数据对A进行训练,并根据验证数据评估其性能。然而,训练每一个从头开始评估的架构通常会产生数千天的计算需求(Zoph and Le,2017;Real et al.,2017;Zoph et al.,2018;Real et al.,2019)。这自然会导致开发加速性能评估的方法,我们现在将讨论这些方法。有关现有方法的概述,请参阅表4。
性能可以基于完整训练后实际性能的较低可信度来估计(也表示为代理度量)。这种较低的可信度包括较短的培训时间NAS入门基础---经典综述Neural Architecture Search: A Survey翻译
时间(Zoph et al.,2018;Zela et al.,2018),数据子集培训(Klein et al.,2017b),低分辨率图像培训(Chrabaszcz et al.,2017),或每层过滤器更少,细胞更少(Zoph et al.,2018;Real et al.,2019)。虽然这些低保真度近似降低了计算成本,但它们也会在估计中引入偏差,因为性能通常会被低估。只要搜索策略仅依赖于对不同体系结构的排序,并且相对排序保持稳定,这可能不会有问题。然而,最近的结果表明,当廉价近似值和“完整”评估值之间的差异过大时,这种相对排名可能会发生巨大变化(Zela等人,2018),主张逐步提高可信度(Li等人,2017;Falkner等人,2018)。
估计体系结构性能的另一种可能方法是基于学习曲线外推(Swersky et al.,2014;Domhan et al.,2015;Klein et al.,2017a;Baker et al.,2017b;Rawal and Miikkulainen,2018)。Domhan et al.(2015)建议外推初始学习曲线,并终止那些预测表现不佳的曲线,以加速架构(architecture)搜索过程。Swersky et al.(2014)、Klein et al.(2017a)、Baker et al.(2017b)以及Rawal和Miikkulainen(2018)也考虑了预测哪些部分学习曲线最有前景的架构超参数。Liu等人(2018a)也提出了一种用于预测新型架构性能的替代模型,该模型不采用学习曲线外推,但支持基于架构/单元特性预测性能,并外推到比训练期间看到的更大的架构/单元。预测神经结构性能的主要挑战是,为了加快搜索过程,需要在相对较少的评估的基础上,在相对较大的搜索空间中进行良好的预测。
另一种加速性能估计的方法是基于以前训练过的其他体系结构的权值初始化新体系结构的权值。实现这一点的一种方法,称为网络变体(Wei et al.,2016),允许修改架构,同时保持网络表示的功能不变,从而产生只需要几天GPU时间的方法(Elsken et al.,2017;Cai et al.,2018a,b;Jin et al.,2018)。这允许连续地增加网络的容量并保持高性能,而无需从头开始培训。几个时期的继续训练也可以利用网络变形引入的额外容量。这些方法的一个优点是,它们允许搜索空间,而不存在体系结构大小的固有上限(Elsken et al.,2017);另一方面,严格的网络变形只能使体系结构更大,从而可能导致过于复杂的体系结构。这可以通过采用允许收缩架构的近似网络形态来减弱(Elsken et al.,2019)。
一次性架构搜索(见图4)将所有架构视为一个超图的不同子图(单次模型),并在具有该超图共同边缘的架构之间共享权重(Saxena和Verbeek,2016;Brock et al.,2017;Pham et al.,2018;Liu et al.,2019b;Bender et al.,2018;Cai et al.,2019;Xie et al.,2019)。只需训练单个单次模型的权重(以各种方式之一),然后通过从单次模型继承训练的权重,无需任何单独的训练即可评估架构(仅为单次模型的子图)。这大大加快了体系结构的性能评估,因为不需要任何培训(只评估验证数据的性能),同样导致了只需要几天GPU时间的方法。一次性模型通常会产生很大的偏差,因为它严重低估了最佳体系结构的实际性能;然而,它允许对体系结构进行排序,如果估计的性能与实际性能密切相关,这就足够了。然而,目前尚不清楚这种情况是否属实(Bender等人,2018年;Sciuto等人,2019年)。
不同的单次NAS方法在单次模型的训练方式上有所不同:ENAS(Pham et al.,2018)学习RNN控制器,该控制器从搜索空间对架构进行采样,并基于通过增强获得的近似梯度训练单次模型。DARTS(Liu等人,2019b)通过将候选操作的混合放置在单次模型的每一条边上,结合搜索空间的连续松弛,优化了单次模型的所有权重。SNAS(Xie等人,2019)没有像DARTS那样优化操作的实值权重,而是优化了候选操作的分布。作者采用具体分布(Maddison et al.,2017;Jang et al.,2017)和重新参数化(Kingma and Welling,2014)来放松离散分布并使其可微,从而通过梯度下降实现优化。为了克服将整个一次性模型保存在GPU内存中的必要性,ProxylessNAS(Cai et al.,2019)“二值化”架构权重,掩盖每个操作除了一条边之外的所有边。然后通过采样一些二值化的架构并使用BinaryConnect(Courbariaux et al.,2015)更新相应的概率来学习边缘被掩蔽或不被掩蔽的概率。Bender等人(2018年)只训练一次单发模型,并表明在使用路径退出的训练期间随机停用该模型的部分时,这是足够的。

NAS入门基础---经典综述Neural Architecture Search: A Survey翻译
虽然上述方法在培训期间优化了架构上的分布,但Bender等人(2018)的方法可以被视为使用固定分布。后者所能获得的高性能表明,重量分担和固定(仔细选择)分布的组合可能(也许令人惊讶地)是一次性NAS所需的唯一成分。与这些方法相关的是超网络的元学习,它为新的体系结构生成权重,因此只需要训练超网络,而不需要训练体系结构本身(Brock et al.,2017;Zhang et al.,2019)。这里的主要区别在于权重不是严格共享的,而是由共享的超网络生成的(以采样的体系结构为条件)。
单次NAS的一个普遍限制是,预先定义的超图将搜索空间限制在其子图上。此外,在架构搜索期间要求整个超图驻留在GPU存储器中的方法将相应地限制为相对较小的超图和搜索空间,并且因此通常与基于单元的搜索空间结合使用。虽然基于权重共享的方法大大减少了NAS所需的计算资源(从数千天减少到了几天GPU),但如果架构的采样分布与一次性模型一起优化而不是修复它,则目前还不清楚它们在搜索中引入了哪些偏误(Bender et等人,2018年)。例如,在探索搜索空间的某些部分时比其他部分更多的初始偏差可能会导致一次性模型的权重更好地适应这些架构,这反过来又会加强搜索对搜索空间的这些部分的偏差。这可能导致NAS过早收敛,或者架构的一次性性能和真实性能之间的相关性很小(Sciuto et al.,2019)。一般来说,更系统地分析由不同的性能估计引入的偏差将是未来工作的一个理想方向。

5未来发展方向
在本节中,我们将讨论NAS研究的几个当前和未来方向。现有的研究大多集中在基于NAS的图像分类上。一方面,这提供了一个具有挑战性的基准测试,因为许多手工工程都致力于寻找在这个领域性能良好且不容易被NAS超越的体系结构。另一方面,通过利用手工工程中的知识来定义合适的搜索空间相对容易。这反过来又使得NAS不太可能找到性能大大优于现有体系结构的体系结构,因为找到的体系结构不能有根本的区别。因此,我们认为重要的是要超越图像分类问题,将NAS应用于探索较少的领域。在图像恢复(Suganuma et al.,2018)、语义分割(Chen et al.,2018;Nekrasov et al.,2018;Liu et al.,2019a)、转移学习(Wong et al.,2018)、机器翻译(So et al.,2019)、强化学习(Runge et al.,2019)[3]以及优化递归神经网络方面,已经在这方面迈出了值得注意的第一步网络(Greff et al.,2015;Jozefowicz et al.,2015;Zoph and Le,2017;Rawal and Miikkulainen,2018),例如语言或音乐建模。NAS的进一步有希望的应用领域将是生成性对抗网络或传感器融合。
另一个有希望的方向是开发多任务问题的NAS方法(Liang等人,2018;Meyerson和Miikkulainen,2018)和多目标问题的NAS方法(Elsken等人,2019;Dong等人,2018;Zhou等人,2018),其中资源效率的测量值与对未知数据的预测性能一起用作目标。我们强调多目标NAS与网络压缩密切相关(Han et al.,2016;Cheng et al.,2018):两者都旨在找到性能良好但高效的架构。因此,一些压缩方法也可视为NAS方法(Han et al.,2015;Liu et al.,2017;Gordon et al.,2018;Liu et al.,2019c;Cao et al.,2019),反之亦然(Saxena and Verbeek,2016;Liu et al.,2019b;Xie et al.,2019)。
同样,扩展RL/bandit方法(如第3节中讨论的方法)来学习以编码任务属性/资源需求的状态为条件的策略(即,将设置转换为上下文bandit)也是很有意思的。Ramachandran和Le(2018)也遵循了类似的方向,扩展了一次性NAS,以根据任务或实例动态生成不同的体系结构。此外,将NAS应用于搜索对对抗性示例更强大的架构(Cubuk et al.,2017)是一个有趣的近期方向。
与此相关的是定义更通用和灵活的搜索空间的研究。例如,基于单元的搜索空间在不同的图像分类任务之间提供了很高的可转移性,它主要基于人类在图像分类方面的经验,不容易推广到硬编码层次结构(在链状结构中重复相同的细胞数次)不适用的其他领域(例如,语义分割或目标检测)。因此,允许表示和识别更一般层次结构的搜索空间将使NAS更广泛地适用,这方面的第一项工作见Liu等人(2018b,2019a)。此外,公共搜索空间还基于预定义的构建块,例如不同类型的卷积和池,但不允许在此级别上识别新的构建块;超出此限制可能会大大增加NAS的功能。
NAS不同方法的比较,甚至公布结果的再现性[4]都很复杂,因为体系结构性能的测量取决于体系结构本身以外的许多因素。虽然大多数作者报告了CIFAR-10数据集的结果,但实验往往在搜索空间、计算预算、数据扩充、训练程序、正则化和其他因素方面有所不同。例如,对于CIFAR-10,当使用余弦退火学习速率表(Loshchilov和Hutter,2017)、通过剪切(Devries和Taylor,2017)、通过混合(Zhang等人,2017)或通过因子组合(Cubuk等人,2018)和通过抖动正则化(Gastaldi,2017)或ScheduledDropPath(Zoph等人,2018)。因此,可以想象,与NAS发现的更好的体系结构相比,这些成分的改进对报告的性能数字有更大的影响。因此,我们认为共同基准的定义对于公平比较不同的NAS方法至关重要。这一方向的第一步是Ying等人(2019)提出的基准,其中考虑了由大约423000个独特卷积结构组成的搜索空间。该空间的每个元素都经过多次预训练和评估,形成了一个包含训练、验证和测试精度以及训练时间和模型大小的数据集,用于多次运行的不同训练预算。因此,通过简单地查询预先计算的数据集,可以将不同的搜索策略与此基准上的低计算资源进行比较。在之前一项较小的研究中,Klein等人(2018)对神经结构和超参数的关节空间进行了预评估。评估NAS方法也很有趣,不是孤立的,而是作为一个完整的开放源码AutoML系统的一部分,其中超参数(Mendoza et al.,2016;Real et al.,2017;Zela et al.,2018)和数据增强管道(Cubuk et al.,2018)也与NAS一起优化。

虽然NAS已经取得了令人印象深刻的性能,但到目前为止,它对于特定体系结构为什么工作良好以及独立运行中派生的体系结构的相似性提供了很少的见解。识别常见的基序,理解为什么这些基序对高性能很重要,并调查这些基序是否适用于不同的问题。

上一篇:深度学习论文翻译解析(十七):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications


下一篇:[论文翻译]NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE