AutoML-第三章-神经网络架构搜索

本文概述了近年来神经网络架构搜索(NAS)领域的进展,包括搜索空间的设计、搜索策略的探索(如随机搜索、贝叶斯优化、进化和强化学习)以及性能评估方法(如早期终止和网络态射)。研究着重于分类这三个关键维度,并讨论了未来研究方向,如跨领域应用和更通用搜索空间的探索。
摘要由CSDN通过智能技术生成

第三章:神经网络架构搜索

摘要

在过去的几年中,深度学习已在各种任务(例如图像识别,语音识别和机器翻译)上取得了显着进步。这种进步的一个关键方面是新颖的神经网络架构。当前采用的架构大多数是由人类专家手动开发的,这是一个耗时且容易出错的过程。因此,人们对自动化神经网络架构搜索方法的兴趣日益浓厚。我们提供了该研究领域中现有工作的概述,并根据三个维度对它们进行了分类:搜索空间,搜索策略和性能评估策略。

简介

深度学习在感知任务中的成功很大程度上归功于其对特征工程过程的自动化:层次化特征提取器是从数据中以端到端的方式学习的,而不是人工设计的。然而,伴随着这一成功的是,对架构工程的需求不断增长,因为需要手动设计越来越复杂的神经体系结构。因此自动化架构工程的过程 - 神经网络架构搜索(NAS)理所当然是自动化机器学习的下一步。NAS 可以看作是 AutoML 的子领域,并且与超参数优化和元学习(分别在本书的第 1 章和第 2 章中进行了介绍)有很多重叠。我们根据以下三个维度对 NAS 的方法进行分类:搜索空间,搜索策略和性能评估策略:

  • 搜索空间:搜索空间定义了原则上可以表示的架构。结合有关非常适合任务的属性的现有知识可以减少搜索空间的大小并简化搜索。但是,这也引入了人为的偏好,这可能会妨碍寻找超出当前人类认知范围之外的新颖的架构。

  • 搜索策略:搜索策略详细说明了如何探索搜索空间,它涵盖了经典的探索与利用困境,因为一方面希望快速找到性能良好的架构,另一方面又要避免过早地收敛到次优架构的区域。

  • 性能评估策略:NAS 的目标通常是找到在未见数据上有高预测性能的架构。性能评估是指评估这种性能的过程:最简单的选择是对架构在数据上进行标准的训练和验证,但是 不幸的是,这在计算上是昂贵的,并且限制了可以探索的架构的数量。因此,许多新近研究集中在开发减少这些性能评估成本的方法上。

我们参考图 3.1 进行说明。 本章也通过三个方面组织结构:我们首先在第 3.2 节中讨论搜索空间,在第 3.3 节中讨论收敛的搜索策略,并在第 3.4 节中概述性能评估的方法。最后,我们在第 3.5 节中对未来方向进行了展望。

搜索空间

搜索空间定义了 NAS 方法原则上可能发现的神经网络架构。现在,我们讨论最新工作中的常见搜索空间。

相对简单的搜索空间是链状结构神经网络的空间,如图 3.2(左)所示。链式结构神经网络架构 A A A 可以被写为一个 n n n 层的序列,其中第 i i i L i L_i Li 从第 i − 1 i-1 i1 层接收其输入,其输出用作第 i + 1 i + 1 i+1 层的输入,即 A = L n ∘ … L 1 ∘ L 0 A =L_n \circ \ldots L_1 \circ L_0 A=LnL1L0 。然后通过以下方式对搜索空间进行参数化:(i)(最大)层数 n n n (可能无界); (ii) 每层可以执行的操作类型,例如池化,卷积或更高级的层类型,例如深度可分离的卷积[13]或空洞卷积[68];(iii) 与操作相关的超参数,例如卷积层[4,10,59]的过滤器数量,内核大小和步幅,或者全连接网络的单元数量[41]。注意,来自(iii)的参数以(ii)为条件,因此搜索空间的参数化不是固定长度的,而是条件空间。

NAS 的最新工作[9,11,21,22,49,75]结合了人工架构中已知的现代设计元素,例如跳跃连接,可以建立复杂的多分支网络,如图 3.2(右)所示。在这种情况下, i i i 层的输入可以被形式化地描述为结合之前层输出的函数 g i ( L i − 1 o u t , … , L 0 o u t ) g_i(L_{i-1}^{out}, \ldots, L_0^{out}) gi(Li1out,,L0out) 。使用这种函数可显着提高设计的自由度。这些多分支架构的特殊情况是 (i) 链式结构网络(通过设置 g i ( L i − 1 o u t , … , L 0 o u t ) = L i − 1 o u t g_i(L_{i-1}^{out}, \ldots, L_0^{out}) = L_{i-1}^{out} gi(Li1out,,L0out)=Li1out ),(ii)残差网络[28],其中之前层的输出是累加的( g i ( L i − 1 o u t , … , L 0 o u t ) = L i − 1 o u t + L j o u t , j < i g_i(L_{i-1}^{out}, \ldots, L_0^{out}) = L_{i-1}^{out} + L_j^{out}, j < i gi(Li1out,,L0out)=Li1out+Ljout,j<i )和 (iii) DenseNets (密集连接卷积网络) [29],其中之前层的输出是级联的( g i ( L i − 1 o u t , … , L 0 o u t ) = c o n c a t ( L i − 1 o u t , … , L 0 o u t ) g_i(L_{i-1}^{out}, \ldots, L_0^{out}) = concat(L_{i-1}^{out}, \ldots, L_0^{out}) gi(Li1out,,L0out)=concat(Li1out,,L0out) )。

受到人工设计的架构包含重复部件的启发[28,29,62],Zoph等[75] 和钟等[71] 提出分别搜索这样的部件,称为单元 (cell) 或块 (blocks),而不是整个架构。 Zoph等[75] 优化了两种不同类型的单元:保留输入维度的正常单元和减小空间维度的缩减单元。然后通过以预定义的方式堆叠这些单元来构建最终架构,如图 3.3 所示。与上述讨论的空间相比,此搜索空间具有两个主要优点:

  1. 由于单元相比来说较少,因此搜索空间的大小大大减少了。例如,Zoph等[75] 与以前的工作[74]相比,速度提高了约 7 倍,同时实现了更好的性能。
  2. 通过调整模型中使用的单元数量,可以更轻松地将单元迁移到其他数据集。实际上,Zoph等[75] 将在 CIFAR-10 上优化的单元迁移到 ImageNet 上,并实现了最新的性能。

因此,这个基于单元的搜索空间也被后来的许多工作成功利用[11,22,37,39,46,49,72]。但是,当使用基于单元的搜索空间时,出现了一种新的设计选择,即如何选择元架构:应使用多少个单元以及如何连接它们以建立实际模型?例如,Zoph等[75] 以单元建立一个序列模型,其中每个单元接收前两个单元的输出作为输入,而 Cai等[11] 采用了众所周知的人工设计架构的高层结构,例如 DenseNet [29],并在这些模型中使用了他们的单元。原则上,可以通过例如简单地用单元替换层来任意地组合单元,例如,在上述的多分支空间内使用该方法。理想情况下,应将元体系结构作为 NAS 的一部分进行自动优化。否则,如果大多数复杂性已经由元架构解决,那么就很容易结束元架构工程,并且对单元的搜索变得过于简单。

Liu等 介绍的分层搜索空间来优化元架构[38]。它由多个级别的构件组成。第一个级别包括一组基本操作,第二个级别通过有向无环图连接基本操作的不同构件,第三个级别编码了如何连接第二个级别的构件,等等。基于单元的搜索空间可以看作是此层次搜索空间的一种特例,其中层次的数量为 3 ,第二层次的构件对应于单元,第三层次为硬编码的元架构。

搜索空间的选择在很大程度上决定了优化问题的难度:即使对于基于具有固定元架构的单个单元的搜索空间,优化问题仍然是 (i) 不连续和 (ii) 相对 高维度(因为更复杂的模型往往会表现更好,从而导致更多的设计选择)。我们注意到,许多搜索空间中的架构都可以写成固定长度的矢量;例如 Zoph等 提出的两个单元中的每个单元的搜索空间都可以写成一个具有分类维度的 40 维搜索空间,每个维度都从少量不同的构建块和输入之间选择。类似地,可以将无边界搜索空间限制为具有最大深度,从而产生具有(可能很多)条件维的固定大小的搜索空间。

在下一部分中,我们将讨论非常适合此类搜索空间的搜索策略。

搜索策略

可以使用许多不同的搜索策略来探索神经网络架构的搜索空间,包括随机搜索,贝叶斯优化,进化方法,强化学习(RL)和基于梯度的方法。从历史上看,几十年前,许多研究人员已经使用了进化算法来进化神经网络架构(通常也包括它们的权重)[参见,例如,2,25,55,56]。姚[67] 早在 2000 年之前,就提供了相应的文献综述。

自 2013 年以来,贝叶斯优化技术在 NAS 领域取得了几项成功,其中包括最先进的视觉架构[7],在未进行数据增强的 CIFAR-10 上的最好性能[19]以及第一个自动调整的神经网络在竞赛数据集上战胜了人类专家[41]。在 Zoph 和 Le [74] 通过基于强化学习的搜索策略在 CIFAR-10 和 Penn Treebank 基准上取得具有竞争力的性能之后,NAS 成为机器学习社区中的主流研究主题。尽管 Zoph 和 Le [74] 使用大量的计算资源来实现此结果(800 个 GPU,持续三到四个星期),但是在他们的工作之后,已经陆续发布了各种各样的方法,以减少计算成本并进一步提高性能。

要将 NAS 构造为强化学习(RL)问题[4,71,74,75],可以将神经网络架构的生成视为代理的动作,其动作空间与搜索空间相同。代理的奖赏基于训练过的架构在未见数据上的性能的估计(请参见第 3.4 节)。不同的 RL 方法在如何表示代理策略以及如何优化策略方面有所不同:Zoph 和 Le [74] 使用循环神经网络(RNN)策略对字符串进行顺序采样,进而对神经网络架构进行编码。他们初始使用 REINFORCE (强化) 策略梯度算法训练该网路,但在后续工作中应使用了近端策略优化(Proximal Policy Optimization PPO)代替[75] 。Bakeret等[4] 使用 Q-学习来训练一种策略,该策略依次选择层的类型和相应的超参数。这些方法的另一种视角是顺序决策过程,其中策略对操作依次进行采样以生成架构,环境的 “状态 ”包含到目前为止已采样的操作概要,并且(未清算的)奖赏仅在最终操作之后获得。但是,由于在此顺序过程中没有与环境发生交互(没有观察到外部状态,也没有中间奖励),因此我们发现将架构采样过程解释为单个动作的顺序生成更为直观。这将 RL 问题简化为无状态多臂赌博机问题。

Cai等 提出了一种相关方法[10],他们将 NAS 构造为顺序决策过程:在他们的方法中,状态是当前(部分训练的)架构,奖赏是对该架构性能的估计,而动作对应于函数保留的变异的应用,称为网络态射 (network morphisms) [12,63],另请参阅第3.4节,然后是训练网络的阶段。为了处理可变长度的网络架构,他们使用双向 LSTM 将架构编码为固定长度的表示形式。基于此编码表示,参与者网络决定采样的动作。这两个组成部分的组合构成了策略,并使用 REINFORCE 策略梯度算法进行了端到端的训练。我们注意到,这种方法不会两次访问相同的状态(架构),因此策略需要对架构空间进行强有力的概括。

使用 RL 的替代方法是进化神经 (neuro-evolutionary) 方法,该方法使用进化算法来优化神经网络架构。我们知道的第一个这样的设计神经网络的方法可以追溯到近三十年前:Miller等[44] 使用遗传算法来提出架构,并使用反向传播来优化其权重。自从[2,55,56]以来,许多神经进化方法都使用遗传算法来优化神经网络架构及其权重。然而,当扩展到进行监督学习任务的具有成千上万权重的现代神经网络架构时,基于 SGD 的权重优化方法目前优于进化方法。最近的神经进化方法[22, 38, 43, 49, 50, 59, 66] 因此再次使用基于梯度的方法优化权重,并且仅使用进化算法来优化神经网络架构本身。进化算法会演化出一个模型的种群,即一组(可能是已训练的)网络;在每个进化步骤中,至少要采样种群中的一个模型,并作为父代通过对其应用突变来生成后代。在 NAS 的背景下,突变是本地操作,例如添加或删除层,更改层的超参数,添加跳过连接以及更改训练超参数。在训练后代之后,评估它们的拟合程度度(例如,在验证集上的表现)并将其添加到种群中。

神经进化方法的不同之处在于它们如何采样父辈,更新种群并产生后代。例如,Real等[50],Real等[49]和Liuet等[38] 使用锦标赛选择[27]来采样父辈,而 Elsken等[22] 使用反密度从多目标 Pareto 前沿 (front) 对父辈进行采样。Real等[50] 从种群中去除最差的个体,而Real等[49]发现删除最年长的个体是有益的(这降低了贪婪),Liu等[38] 完全不移除个体。为了生成后代,大多数方法会随机初始化子网络,而 Elsken等[22] 则采用 Lamarchian 继承 (inheritance) ,即知识(以学得的权重的形式)通过使用网络态射从父网络传给子网络。Real等[50] 还让后代继承其父辈不受所应用突变影响的所有参数;尽管这种继承不是严格地函数保留,但与随机初始化相比,它也可以加快学习速度。此外,它们还允许改变学习率,这可以看作是优化 NAS 期间学习率计划的一种方式。

Real等[49] 进行了一个案例研究,比较了 RL ,进化和随机搜索(RS),结论是 RL 和进化在最终测试准确性方面表现均相当好,进化在任何时间都有更好的表现,并且找到了更小的模型。两种方法在实验中的性能始终优于 RS ,但幅度很小:RS 在 CIFAR-10 上实现了约 4 % 4% 4 的测试误差,而 RL 和进化算法达到了约 3.5 % 3.5% 3.5(在 “模型增强” 之后,其中过滤器的深度和数量增加了;实际的非增强搜索空间的差异约为 2 % 2% 2 )。 Liu等[38] 的差异甚至更小,他们报告了 RS 的 CIFAR-10 的测试误差为 3.9 % 3.9% 3.9,ImageNet 的 top-1 验证误差为 21.0 % 21.0% 21.0 ,而基于进化的方法分别为 3.75 % 3.75% 3.75 20.3 % 20.3% 20.3

贝叶斯优化(BO,参见[53])是超参数优化最流行的方法之一(另见本书的第 1 章),但是由于典型的 BO 工具箱基于高斯过程,并且专注于处理低维连续优化问题,因此尚未被许多小组应用到 NAS 。Swersky等[60] 和 Kandasamy等[31] 推导出了用于架构搜索空间的核函数,以便使用基于 GP 的经典 BO 方法,但到目前为止尚未实现新的最佳性能。反而,一些工作使用基于树的模型(特别是树状 Parzen 估计器[8]或随机森林[30])来有效地搜索非常高维的条件空间,并在广泛的问题上实现了最佳性能,他们联合优化神经网络架构及其超参数[7,19,41,69]。尽管缺乏全面的比较,但是有初步证据表明这些方法也可以胜过进化算法[33]。

架构搜索空间还已经以分层的方式进行了探索,例如,与进化[38]或通过顺序的基于模型的优化[37]相结合。Negrinho 和 Gordon [45]和 Wistuba [65] 利用他们搜索空间的树结构并使用蒙特卡罗树搜索。Elsken等[21] 提出了一种简单但性能良好的 “爬山 (hill climbing)” 算法,该算法通过贪婪地朝着性能更好的架构的方向移动发现了高质量的架构,而无需更复杂的探索机制。

除了上述的无梯度优化方法,Liu等[39] 提出了对搜索空间的连续松弛以实现基于梯度的优化:作者不是要在特定层上固定执行单个操作 o i o_i oi(例如,卷积或池化),而是计算一组操作 { o 1 , … , o m } \{o_1, \ldots, o_m\} {o1,,om} 的凸组合 。更具体地,给定一个层输入 x x x ,层输出 y y y 被计算为 y = ∑ i = 1 m λ i o i ( x ) , λ i ≥ 0 , ∑ i = 1 m λ i = 1 y = \sum_{i=1}^{m} \lambda_i o_i(x), \lambda_i \ge 0, \sum_{i=1}^{m} \lambda_i = 1 y=i=1mλioi(x),λi0,i=1mλi=1 ,其中凸系数 λ i \lambda_i λi 有效地参数化了网络架构。其后,Liu等[39] 通过在权重的训练数据和架构参数的验证数据(例如 λ \lambda λ)上交替使用梯度下降步骤来优化网络权重和网络架构。最终,通过为每一层选择操作 i , i = arg ⁡ max ⁡ i λ i i, i = \arg \max_i \lambda_i i,i=argmaxiλi 来获得离散的架构。Shin等[54] 和 Ahmed 和 Torresani [1] 也对神经网络架构采用了基于梯度的优化,但是他们分别只考虑了优化层超参数或连接模式。

性能评估策略

第 3.3 节中讨论的搜索策略旨在找到一种神经网络架构 A A A ,该架构可以最大化某些性能指标,例如对未见数据的准确性。为了指导搜索过程,这些策略需要估计给定架构的性能。最简单的方法是训练数据并在验证数据上评估其性能。然而,从头开始训练并评估每个架构经常会为 NAS 带来数千 GPU 天的计算需求[49, 50, 74, 75]。

为了减少这种计算负担,可以基于经过充分训练后的实际表现的较低保真度(也称为代理指标)来估算表现。这样的较低保真度包括较短的训练时间[69,75],在数据子集上训练[34,在较低分辨率的图像上训练[14]或每层较少的过滤器[49,75]。尽管这些低保真度近似值降低了计算成本,但由于性能通常会被低估,因此它们也会在估计中引入偏差。只要搜索策略仅依赖于对不同架构进行排名并且相对排名保持稳定,这可能就不会出现问题。但是,最近的结果表明,当廉价近似值与 “全面” 评估之间的差异太大时,这种相对排名可能会发生巨大变化[ 69],需要逐步提高保真度[24,35]。

估计架构性能的另一种可能方法是基于学习曲线外推[5,19,32,48,61]。Domhan等[19] 提出外推初始学习曲线,并终止那些预测效果不佳的曲线,以加快架构搜索过程。Baker等[5],Klein等[32],Rawal 和 Miikkulainen[48],Swersky等[61] 还考虑了用于预测哪个局部学习曲线最有前景的架构超参数。Liu等[37] 也提出了训练代理模型来预测新型架构的性能,他们不采用学习曲线外推法,而是支持根据架构/单元属性预测性能,并以推测比训练期间更大的规模的架构/单元。预测神经网络架构性能的主要挑战是,为了加快搜索过程,需要基于相对较少的评估来在相对较大的搜索空间中做出良好的预测。

加快性能评估的另一种方法是基于之前已训练的其他架构的权重来初始化新架构的权重。实现这一目标的一种方法称为网络态射 (network morphisms)[64],它允许在不改变网络所代表功能的情况下修改架构[10,11,21,22]。这允许连续增加网络的容量并保持高性能,而无需从头开始训练。继续训练几个纪元 (epoch) 也可以利用由网络态射引入的额外容量。这些方法的优点是,它们允许搜索空间不具有架构大小的固有上限[21];另一方面,严格的网络态射只能使架构变大,从而可能产生过于复杂的架构。这可以通过采用允许收缩架构的近似网络态射来缓解[22]。

单次架构搜索 (one-shot Architecture Search) 是加速性能评估的另一种有前景的方法,该方法将所有架构视为一个超图(单次模型)的不同子图,并在具有该超图中的共同边的架构之间共享权重[6,9,39,46,52]。仅需训练单个“单次”模型的权重(以多种方式之一),然后可以通过从“单次”模型继承训练后的权重来评估架构(它们只是“单次”模型的子图),而无需任何单独的训练。由于不需要训练(仅评估验证数据的性能),因此可以极大地加快架构的性能评估。这种方法通常会产生很大的偏差,因为它严重低估了架构的实际性能。然而,由于估计的性能与实际性能密切相关[6],它允许可靠地对体系结构进行排名。不同的单次 NAS 方法在训练单次模型的方式方面有所不同:ENAS [46] 学习一种 RNN 控制器,该控制器从搜索空间中对架构进行采样,并基于通过 REINFORCE 获得的近似梯度来训练单次模型。 DARTS [39] 通过连续松弛将候选操作的混合放置在单次模型的每个边缘上得到的搜索空间,从而联合优化了单次模型的所有权重。Bender等[6] 仅训练单次模型一次,并且表明在使用路径缺失进行训练的过程中随机停用该模型的部分时,这已足够。尽管 ENAS 和 DARTS 在训练过程中优化了架构分布,但 Bender等[6] 的方法可以看作是使用固定分布。Bender等[6] 的方法获得的高性能表示权重分配和固定的(精心选择的)分布的组合可能(也许令人惊讶)是单次 NAS 的唯一必需成分。与这些方法相关的是超网络的元学习,它会为新的架构生成权重,因此仅需要训练超网络,而无需训练架构本身[9]。这里的主要区别是权重不是严格共享的,而是由共享的超网络生成的(取决于所采样的架构)。

单次 NAS 的一般局限性在于,超图通过其子图定义了搜索空间的一个先验限制。此外,在架构搜索期间要求整个超图驻留在 GPU 内存中的方法将局限于相对较小的超图和搜索空间,因此通常与基于单元的搜索空间结合使用。尽管基于权重分配的方法已大大减少了 NAS 所需的计算资源(从数千 GPU 天数减少几个 GPU 天数),但目前尚不了解,如果架构的采样分布与单次模型一起得到了优化,会在搜索中产生何种偏好。例如,对搜索空间某些部分的探索比其他部分的初始偏好更大,这可能导致单次模型的权重更适合于这些架构,这反过来会加剧搜索对搜索空间这些部分的偏好。这可能会导致 NAS 过早的收敛,并且可能是 Bender等[6] 使用的固定采样分布的优势之一。通常,对不同性能评估器引入的偏好进行更系统的分析将是未来工作的理想方向。

未来方向

在本节中,我们讨论 NAS 研究的几个当前和未来方向。大多数现有工作都集中在 NAS 的图像分类上。一方面,这提供了一个具有挑战性的基准,因为许多手工工程已经投入到寻找在该领域中表现良好并且不容易被 NAS 超越的架构。另一方面,利用手工工程的知识来定义一个合适的搜索空间相对容易。反过来,这使得NAS 不太可能找到性能大大优于现有架构的架构,因为找到的架构不能从根本上不同。因此我们认为,通过将 NAS 应用于图像分类问题之外的较少探索的领域非常重要。在这个方向上值得注意的第一步是将 NAS 应用于语言建模[74],音乐建模[48],图像恢复[58]和网络压缩[3];应用于强化学习,生成对抗网络,语义分割或传感器融合可能是未来的发展方向。

另一个的方向是开发用于解决多任务问题[36,42]和解决多目标问题[20,22,73]的 NAS 方法,其中将资源效率的度量与对未见数据的预测性能一作为目标。同样,扩展 RL / 赌博机方法(如第 3.3 节中讨论的方法)以学习以编码任务属性/资源需求的状态为条件的策略(即将设置转变为情景赌博机)也将是有趣的。 Ramachandran 和 Le [47] 遵循类似的方向扩展了单次 NAS ,以根据任务或实例即时生成不同的架构。此外,将 NAS 应用于搜索对于对抗样本更健壮的架构[17]是一个有趣的近期方向。

与此相关的是定义更通用和更灵活的搜索空间的研究。例如,虽然基于单元的搜索空间在不同的图像分类任务之间提供了很高的可移植性,但它很大程度上是基于人类对图像分类的经验,并且不容易推广到其他领域,在这些领域硬编码的层次结构(在链式结构中多次重复相同的单元格)不适用(例如,语义分割或目标检测)。因此,允许表示和标识更通用的分层结构的搜索空间将使 NAS 更广泛地适用,请参见 Liu等[38] 在这个方向上的第一个工作。此外,常见的搜索空间也基于预定义的构造块,例如不同类型的卷积和池化,但是不允许在此级别上识别新的构造块;摆脱此限制可能会大大增加 NAS 的能力。

NAS 的不同方法的比较因以下事实而变得复杂:架构性能的衡量取决于架构本身以外的许多因素。尽管大多数作者报告的结果均基于 CIFAR-10 数据集,但在搜索空间,计算预算,数据增强,训练流程,正则化和其他因素方面,实验通常有所不同。例如,对于 CIFAR-10,当使用余弦退火学习率计划[40],通过 CutOut [18],通过 MixUp [70] 或通过多种因素的结合[16]进行数据增强,以及通过 Shake-Shake 正则化或 Scheduled drop-path 进行正则化时,性能将大大提高。因此可以想象,与 NAS 发现的更好的体系结构相比,这些要素的改进对报告的性能数字的影响更大。因此,我们认为通用基准的定义对于公平比较不同的 NAS 方法至关重要。朝这个方向迈出的第一步是为具有两个隐藏层的全连接神经网络定义架构和超参数联合搜索的基准[33]。在此基准测试中,需要优化 9 个离散的超参数,以控制架构和优化/正则化。所有 62,208 个可能的超参数组合都已进行了预先评估,因此可以将不同的方法在较低的计算资源下进行比较。但是,与大多数 NAS 方法所采用的空间相比,该搜索空间仍然非常简单。不是孤立地评估 NAS 方法,而是作为开源 AutoML 系统整体的一部分,这也是很有趣的,在此,超参数[41, 50, 69]和数据增强管道[16]也与 NAS 一起进行优化。

尽管 NAS 取得了令人印象深刻的性能,但到目前为止,它仍无法深入解释为什么特定的架构可以很好地工作,以及独立的运行中派生的架构有多相似。识别常见的定式 (motifs) ,了解这些定式为何对高性能很重要,并调查这些定式是否推广到不同问题,同样值得探索。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值