Quanming Yao ,Ju Xu,Wei-Wei Tu,Zhanxing Zhu作者

比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法

神经架构搜索一直被认为是高算力的代表,尽管可微架构搜索的概念非常吸引人,但它目前的效率与效果仍然不尽人意。在最近的 AAAI 2020 中,第四范式提出了一种基于临近迭代(Proximal Iterations)的 NAS 方法,其速度比 DARTS 快了 10 倍以上。

神经架构搜索(NAS)因其比手工构建的架构更能识别出更好的架构而备受关注。近年来,可微分的搜索方法因可以在数天内获得高性能的 NAS 而成为研究热点。然而,由于超级网的建设,其仍然面临着巨大的计算成本和性能低下的问题。

在本文中,我们提出了一种基于近端迭代(NASP)的高效 NAS 方法。与以往的工作不同,NASP 将搜索过程重新定义为具有离散约束的优化问题和模型复杂度的正则化器。由于新的目标是难以解决的,我们进一步提出了一种高效的算法,由近端启发法进行优化。


通过这种方式,NASP 不仅比现有的可微分的搜索方法速度快,而且还可以找到更好的体系结构并平衡模型复杂度。最终,通过不同任务的大量实验表明,NASP 在测试精度和计算效率上均能获得更好的性能,在发现更好的模型结构的同时,速度比 DARTS 等现有技术快 10 倍以上。此外,NASP 消除了操作之间的关联性。
  • 论文:https://arxiv.org/abs/1905.13577

  • 代码:https://github.com/xujinfan/NASP-codes

此外,在 WWW 2020 的论文」Efficient Neural Interaction Functions Search for Collaborative Filtering」中,我们将 NASP 算法应用到了推荐系统领域:
  • 视频:https://www.tuijianxitong.cn/cn/school/video/26

  • PPT:https://www.tuijianxitong.cn/cn/school/openclass/27

  • 论文:https://arxiv.org/pdf/1906.12091

  • 代码:https://github.com/quanmingyao/SIF

走向极速的神经架构搜索
 
深度网络已经应用到许多应用中,其中,适当的体系结构对于确保良好的性能至关重要。近年来,NAS 因可以找到参数更少、性能更好的网络成为了关注和研究的热点,该方法可取代设计架构的人类专家。

NASNet 是这方面的先驱性工作,它将卷积神经网络(CNN)的设计为一个多步骤决策问题,并用强化学习来解决。
 
然而,由于搜索空间离散且巨大,NASNet 需要数百个 GPU 耗费一个月的时间,才能获得一个令人满意的网络结构。后来,通过观察网络从小到大的良好传输性,NASNetA)提议将网络分割成块,并在块或单元内进行搜索。然后,识别出的单元被用作构建块来组装大型网络。这种两阶段的搜索策略极大地减小了搜索空间的大小,从而使进化算法、贪心算法强化学习等搜索算法显著加速。
 
尽管减少了搜索空间,但搜索空间仍然是离散的,通常很难有效搜索。最近的研究集中在如何将搜索空间从离散的变为可微分。这种思想的优点在于可微空间可以计算梯度信息,从而加快优化算法的收敛速度。

该思想已经衍生出了各种技术,例如 DARTS 平滑了 Softmax 的设计选择,并训练了一组网络;SNAS 通过平滑抽样方案加强强化学习。NAO 使用自动编码器将搜索空间映射到新的可微空间。

在所有这些工作中(Table 1),最为出色的是 DARTS [1],因为它结合了可微分以及小搜索空间两者的优点,实现了单元内的快速梯度下降。然而,其搜索效率和识别体系结构的性能仍然不够令人满意。

由于它在搜索过程中保持超级网,从计算的角度来看,所有操作都需要在梯度下降过程中向前和向后传播。从性能的角度来看,操作通常是相互关联的。例如,7x7 的卷积滤波器可以作为特例覆盖 3x3 的滤波器。当更新网络权值时,由 DARTS 构造的 ensemble 可能会导致发现劣质的体系结构。

此外,DARTS 最终的结构需要在搜索后重新确定。这会导致搜索的体系结构和最终体系结构之间存在偏差,并可能导致最终体系结构的性能下降。
 
更快更强的临近迭代

在此次工作中,第四范式提出了基于临近迭代算子算法(Proximal gradient Algorithm [2])的 NAS 方法(NASP),以提高现有的可微搜索方法的效率和性能。我们给出了一个新的 NAS 问题的公式和优化算法,它允许在可微空间中搜索,同时保持离散的结构。这样,NASP 就不再需要训练一个超级网,从而加快搜索速度,从而产生更优的网络结构。
该工作的贡献在于:
  • 除了以往 NAS 普遍讨论的搜索空间、完备性和模型复杂度之外,该工作确定了一个全新且重要的一个因素,即 NAS 对体系结构的约束;
  • 我们将 NAS 描述为一个约束优化问题,保持空间可微,但强制架构在搜索过程中是离散的,即在反向梯度传播的时候尽量维持少量激活的操作。这有助于提高搜索效率并在训练过程中分离不同的操作。正则化器也被引入到新目标中,从而控制网络结构的大小;
  • 由于这种离散约束难以优化,且无法应用简单的 DARTS 自适应。因此,第四范式提出了一种由近端迭代衍生的新优化算法,并且消除了 DARTS 所需的昂贵二阶近似,为保证算法的收敛性,我们更进一步进行了理论分析。
  • 最后,在设计 CNN 和 RNN 架构时,使用各种基准数据集进行了实验。与最先进的方法相比,提出的 NASP 不仅速度快(比 DARTS 快 10 倍以上),而且可以发现更好的模型结构。实验结果表明,NASP 在测试精度和计算效率上均能获得更好的性能。

具体算法如下:

在第三步中,我们利用临近迭代算子产生离散结构;再在第四步中更新连续的结构参数(单步梯度下降,无二阶近似);最后,我们在离散的网络结构下,更新网络权重
 
实验结果

该工作利用搜索 CNN 和 RNN 结构来进行实验。此次试验使用 CIFAR-10、ImageNet、PTB、WT2 等四个数据集。
 
CNN 的架构搜索

1. 在 CIFAR-10 上搜索单元

在 CIFAR-10 上搜索架构相同,卷积单元由 N=7 个节点组成,通过对单元进行 8 次叠加获得网络;在搜索过程中,我们训练了一个由 8 个单元叠加的 50 个周期的小网络。这里考虑两个不同的搜索空间。第一个与 DARTS 相同,包含 7 个操作。第二个更大,包含 12 个操作。

与最新的 NAS 方法相比,在相同的空间(7 次操作)中,NASP 的性能与 DARTS(二阶)相当,比 DARTS(一阶)好得多。在更大的空间(12 个操作)中,NASP 仍然比 DARTS 快很多,测试误差比其他方法更低很多。
 
在以上实验中,研究人员对模型复杂度进行了正则化,我们设置了的η=0。结果显示,模型尺寸随着η的增大而变小。

2.迁移到 ImageNet

为了探索实验中搜索到的单元在 ImageNet 上的迁移能力,我们将搜索到的单元堆叠了 14 次。值得注意的是,NASP 可以用最先进的方法实现竞争性测试误差。
 RNN 的架构搜索

1. 在 PTB 上搜索单元

根据 DARTS 的设置,递归单元由 N=12 个节点组成;第一个中间节点通过线性变换两个输入节点,将结果相加,然后通过 tanh 激活函数得到;第一个中间节点的结果应为由激活函数转换而成。

在搜索过程中,我们训练了一个序列长度为 35 的 50 个阶段的小网络。为了评估在 PTB 上搜索到单元的性能,使用所发现的单元对单层递归网络进行最多 8000 个阶段的训练,直到与批处理大小 64 收敛。实验结果显示,DARTS 的二阶比一阶慢得多,NASP 不仅比 DARTS 快得多,而且可以达到与其他最先进的方法相当的测试性能。

模型简化测试

1. 对比 DARTS

实验给出了更新网络参数(即 w)和架构(即 A)的详细比较。在相同的搜索时间内,NASP 可以获得更高的精度,且 NASP 在相同的精度下花费更少的时间。这进一步验证了 NASP 比 DARTS 效率更高。

2. 与同期工作比较

实验中也加入了与同期工作的比较。ASAP 与 BayesNAS 将 NAS 作为一个网络修剪问题,该工作删除了在搜索过程中无效的操作。ASNG 和 GDAS 都对搜索空间进行随机松弛,区别在于 ASNG 使用自然梯度下降进行优化,而 GDAS 使用 Gumbel-Max 技巧进行梯度下降。此次实验将 NASP 与这些工作进行比较,实验表明,NASP 更有效,可在 CNN 任务上提供更好的性能。此外,NASP 还可以应用于 RNN。

[1]. Liu, H.; Simonyan, K.; and Yang, Y. DARTS: Differentiable architecture search. In ICLR 2019
[2]. Parikh, N., and Boyd, S. Proximal algorithms. Foundations and Trends in Optimization 2013
入门NAS近端迭代神经架构搜索第四范式
相关数据
第四范式机构

第四范式成立于2014年,是国际领先的人工智能平台提供商,利用机器学习技术,帮助企业提升效率、降低风险,获得更大的商业价值。第四范式坚持以“Empower AI Transformation and Inspire AI For Everyone”为企业愿景,依托于AutoML、迁移学习等技术与企业级人工智能PaaS平台,不断推动人工智能快速、规模化的产业落地。目前,第四范式已在银行、保险、政务、能源、智能制造、零售、医疗、证券等领域积累超过上万个AI落地案例,助力各行各业AI创新变革。

https://www.4paradigm.com/
自动编码器技术

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

贪心算法技术

贪心法,又称贪心算法、贪婪算法、或称贪婪法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。比如在旅行推销员问题中,如果旅行员每次都选择最近的城市,那这就是一种贪心算法。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

推荐文章
暂无评论
暂无评论~