干货 | 一文详解神经网络结构搜索(NAS)

  • 日期:08-17
  • 点击:(877)


人工智能科技评论:近年来,深度学习的兴起,特别是神经网络的发展,颠覆了传统机器学习特征工程的时代,将人工智能浪潮推向了历史的最高点。然而,尽管各种神经网络模型层出不穷,但模型的性能越高,对超参数的要求越严格,并且纸张的结果不能轻微地再现。网络结构作为一种特殊的超参数,在整个深度学习过程中起着举足轻重的作用。 ResNet是图像分类任务中的佼佼者,而Transformer则以机器翻译任务为主,均由专家设计。这些精心设计的网络结构背后是深刻的理论研究和大量广泛的实验,这无疑给人们带来了新的挑战。

1.经典NAS方法

正如蒸汽机逐渐被电机所取代一样,神经网络结构的设计正在从手动设计转向机器自动化。这一过程的标志发生在2016年,当时Google发表了一篇关于使用强化学习的神经结构搜索的论文,该论文使用强化学习进行神经网络结构搜索(NAS),并在图像分类和语言建模任务中超越了以前手工设计的网络。如图1所示,经典的NAS方法使用RNN作为控制器来生成子网络,然后训练和评估子网络以获得其网络性能(例如准确性),最后更新控制器。参数。但是,子网络的性能是不可能实现的。我们无法直接优化控制器。幸运的是,有一种强化学习的工具。学者使用策略梯度法直接更新控制器参数。

3a51a405293711d5986f21d9eee50513.jpeg

图1经典NAS方法概述

经典的NAS方法形式简单,并取得了显着的成果,如:在PTB语言建模任务中,NAS搜索的RNN模型当时击败了最先进的RHN网络,并在测试集上实现了62.4的PPL。 (困惑,越低越好)。然而,由于其离散优化的性质,这种方法有一个致命的缺陷:太多的计算资源!例如,搜索CIFAR-10等小型数据集需要800到3周的GPU计算。由于当时的深度学习框架,本文甚至提出了一种基于参数服务器的分布式培训框架。如此巨大的计算能力需求真的令人着迷。有没有办法加快搜索速度,让NAS变得更贴近人民?首先,我们来看看NAS为何如此耗时。在NAS中,为了充分利用每个子网络的“潜力”,控制器必须每次初始化其网络权重以对子网络进行采样,然后不对每个样本进行重新采样。初始化大大减少了培训时间吗?为此,有人提出了ENAS,Efficient NAS,顾名思义,其目的是提高NAS的搜索效率。 ENAS将搜索空间表示为有向无环图(DAG)。任何子图表示网络结构。每个节点表示本地计算,例如矩阵乘法,节点之间的有向连接表示信息流。所谓的权重共享,即不同的网络结构在整个有向非循环图节点上共享参数。如图2所示,左侧是有向非循环图,假设控制器选择了红色连接,我们可以将其转换为正确的网络结构,其中包含4个计算节点,输入和输出是固定的。除激活功能外,节点也由控制器选择。 ENAS提出的权重分配大大缩短了搜索时间。使用GTX1080Ti完成CIFAR-10搜索只需10个小时。

0ea6872804a5f0df8ce19f72c5a5ccdb.jpeg

图2 ENAS中的有向非循环图和相应的网络结构

2. NAS的发展状况

提出NAS和ENAS后,相关论文就像竹笋一样,神经网络结构搜索已成为一种研究趋势。虽然这些方法是无穷无尽的,但它们基本上包括以下三个部分:1。定义搜索空间; 2.执行搜索策略采样网络; 3.对采样网络执行性能评估。接下来,我们从这三个方面介绍NAS的发展现状。

搜索空间

搜索空间,它是要搜索的候选网络结构集。搜索空间大致分为全局搜索空间和基于单元的搜索空间。前者代表整个网络结构,后者仅搜索一些小型结构,并通过堆叠和拼接将它们组合成一个完整的大型网络。如图3(a)所示,早期NAS的搜索空间是链结构,搜索的内容仅是网络的层数,每层的类型和相应的超参数。受ResNet等网络的启发,跳转连接和分支结构被引入搜索空间,如图3(b)所示。搜索空间的复杂性决定了网络结构的潜力。最近的工作表明,精心设计的搜索空间可以大大提高网络性能的下限。换句话说,在这些空间中随机搜索也可以取得良好的效果。目前,最先进的方法受益于其适当的搜索空间,并且几乎所有方法都与图4中的单元结构类似,这降低了搜索成本并提高了结构的移动性。

929491d2424680e4a5976442b2ff90b1.jpeg

图3全局搜索空间的示意图

6a5af9a8eaf94598343b05bbbe7471b3.jpeg

图4基于单元的搜索空间示意图

搜索策略

搜索策略,即如何在搜索空间中选择,根据不同的方法,搜索策略大致分为三种类型。

1.一种基于强化学习的方法。强化学习广泛用于连续决策建模。此方法通过代理与环境交互。每次代理执行某些操作并从环境获取反馈时。强化学习的目标是最大化反馈。化工。 NAS可以自然地建模为强化学习任务。原始NAS使用RNN作为控制器对子网进行采样,并使用策略梯度方法对子网进行训练和评估,以更新RNN参数。该方法简单易懂,易于实现。然而,基于策略梯度的优化效率非常低,并且子网的采样优化将带来很大的可变性(策略梯度有时具有大的方差)。事实上,这也是一个无奈的举动。 RNN只能生成网络描述,因此无法通过模型的准确性直接进行优化。相同的策略适用于各种其他约束,例如网络延迟和其他衡量网络质量的指标。

选择,重组和变异。谷歌2017年的纸张 - 大规模演化图像(如果最大迭代次数或变异的网络性能不再上升)。随后的论文“图像分类器体系结构搜索的规范化演化”通过向候选结构引入老化概念,将整个群体放入队列,添加元素并删除团队开头的元素,改进了这种方法。这使得进化更加年轻,并在网络性能方面取得了突破。

3.基于梯度的方法。以前的方法网络空间是离散的,它们都将NAS作为黑盒优化问题处理,因此效率不理想。如果网络空间可以表示为连续分布,则可以通过基于梯度的方法对其进行优化。 CMU和Google学者在DARTS:可区分体系结构搜索中提出了一种差分结构搜索方法。此方法与ENAS相同,后者将网络空间表示为有向无环图。关键是通过巧妙的表示将节点连接和激活功能组合成一个矩阵,其中每个元素代表连接和激活功能。在搜索中使用权重来使用Softmax函数,该函数将搜索空间转换为连续空间,并且目标函数变为可微函数。在搜索时,DARTS遍历所有节点,使用节点上所有连接的权重进行计算,同时优化结构权重和网络权重。搜索完成后,选择具有最大权重和激活功能的连接以形成最终网络。 DARTS的整个搜索过程如图5所示。

acc2c203b8cd3d2aad9ae0931894ed43.jpeg

图5 DARTS在搜索过程中不断优化结构权重,最后只保留一个子结构

此外,神经科学和微软发表于NeuralArchitecture Optimization的论文中提出了另一种基于梯度的方法,该方法基于经典的编码 - 解码框架。首先将网络结构映射到连续空间的表示,其中空间中的每个点对应于网络结构。在该空间中,可以定义精度预测函数,并且对目标函数执行基于梯度的优化,从而可以优化嵌入。在网络收敛之后,该表示被映射回网络结构。与强化学习和进化算法相比,这些方法大大提高了搜索效率。在重量分配的情况下,单张卡可以在一天内完成搜索。

绩效评估

我们不能公平地比较网络结构。例如,一些结构在训练的早期阶段具有突出的性能,但最终不如其他结构,因此错过了最佳网络。

基于One-Shot的结构搜索是当前的主流方法,它将搜索空间定义为超网,并且包括所有网络结构。该方法最显着的特点是在大型网络中搜索过度参数化,交替训练网络权重和模型权重,最后只保留其中一个子结构。上述DARTS和ENAS代表了这种方法。这种方法的本质实际上是对网络结构进行排序。然而,不同网络共享相同权重的事实大大提高了搜索效率,但它也带来了严重的偏见。显然,不同的神经网络可能没有相同的网络参数。共享权重时,网络输出必须遵循特定的激活功能和连接。 ENAS和DARTS搜索结果也反映了这一事实,如图6所示,其中ENAS搜索的激活函数都是ReLU和tanh,而DARTS搜索激活函数几乎都是ReLU。此外,诸如DARTS之类的方法在搜索期间计算所有连接和激活函数,并且内存使用量很大,这就是为什么它只能搜索较小的单元结构。

4a13fd19165d3faa54240b1f5ec536f6.jpeg

图6在PTB上搜索的ENN(左)和DARTS(右)RNN模型

最近的一些工作集中在解决由共享权重和超图的高内存使用率引起的偏差问题,以及将新的搜索目标(如网络延迟和结构稀疏性)引入NAS。上塘研究院提出的随机神经网络结构搜索(SNAS)重新建模NAS,理论上绕过了强化学习方法在完全延迟奖励中缓慢的问题,并通过梯度直接优化NAS。目标函数确保可以直接使用生成的网络的网络参数。鄙视研究所提出的SinglePath One-Shot网络路径大大减少了视频内存的消耗,因此它可以搜索更大的网络。其中,SNAS将结构权重表示为连续且可分解的分布,而ProxylessNAS将二进制连接引入NAS。这些方法的出现也表明NAS正朝着多任务和多目标方向发展。

3. NAS未来展望

目前,NAS搜索网络是一种相对简单的节点和激活功能的排列。尽管某些任务的性能非常出色,但它仍然与繁琐的超参数选择密不可分。个人认为NAS技术的未来发展趋势有以下几点:

网络设计自动化:真正将数据投放到机器上并直接获得最佳模型,而不是依赖于许多超参数。谷歌和阿里巴巴等巨头已经推出了AutoML的云服务产品,这些产品实现了随机搜索,进化算法和网格搜索方法。在一定程度上,他们已经实现了超参数选择的自动化,但它们无法为网络设计带来新的思路。灵感。

多目标搜索:根据不同的任务向多个目标方向前进。这与模型的应用场景密切相关。例如,移动电话的模型通常是特定模型的修剪或小型化,并且ProxylessNAS方法将网络延迟和稀疏性结合到搜索考虑因素的索引中,并提出不同平台的结构搜索已逐渐将这些任务转换为自动化设计。不难预见未来将有更多的NAS工作专注于其他搜索目标。

大规模搜索:直接搜索大规模数据集,而不仅仅是在几个小数据集上搜索和强化手工设计的网络。实现这一目标需要在搜索空间的定义,搜索策略的发展以及绩效评估方法的选择方面取得重大突破。在2019年初,CMU学者的论文随机搜索和神经架构搜索的再现性为各种NAS方法注入了冷水。本文证明了随机搜索可以在权重共享的情况下击败ENAS,DARTS等。一个强大的系列方法。

扩展应用领域:虽然NAS在图像分类,目标检测和语义分割等图像和视觉领域表现出色,但自然语言处理领域的任务很少。现有的方法主要集中在语言建模任务上,目前Transformer及其变体在语言模型之王中仍然是不可动摇的。

相关信息

1. Zoph,B。& Le,Q.V。 (2017年)。神经架构搜索与强化学习。 ArXiv,abs/1611.。

2. Pham,H.Guan,M.Y.Zoph,B.Le,Q.V。& Dean,J。(2018)。通过参数共享进行高效的神经架构搜索。 ArXiv,abs/1802.。

3. Liu,H.Simonyan,K。& Yang,Y。(2019)。 DARTS: DifferentiableArchitecture Search。 ArXiv,abs/1806.。

4. Xie,S.Zheng,H.Liu,C。&Lin,L。(2019)。 SNAS:随机神经结构搜索。 ArXiv,abs/1812.。

5. Guo,Z.Zhang,X.Mu,H.Heng,W.Liu,Z.Wei,Y。& Sun,J。(2019)。单路径一次性神经网络搜索统一采样。 ArXiv,abs/1904.。

6.蔡,H.朱,L。& Han,S。(2019)。 ProxylessNAS:直接神经架构搜索目标任务和硬件。 ArXiv,abs/1812.。

7. Real,E.Aggarwal,A.Huang,Y。& Le,Q.V。 (2018)。图像分类器体系结构搜索的规则化演化。 ArXiv,abs/1802.。

8.Real,E.Moore,S.Selle,A.Saxena,S.Suematsu,YL,Tan,JY,Le,QV,& Kurakin,A。(2017年)。 ImageClassifiers的大规模演变。 ICML。

9. Wistuba,M.Rawat,A。& Pedapati,T。(2019年)。现代建筑搜寻研究综述。 ArXiv,abs/1905.。

10. Li,L。& Talwalkar,A。(2019年)。神经网络搜索的随机搜索和再现性。 ArXiv,abs/1902.。

本文作者:

胡驰,2018年东北大学自然语言处理实验室研究生,研究方向:神经网络结构检索,自然语言处理。

东北大学自然语言处理实验室

东北大学自然语言处理实验室由姚天顺教授于1980年创立。现在由朱静波教授领导,他长期从事计算语言学相关研究,包括机器翻译,语言分析和文本挖掘。

点击阅读原文,查看:ICML 2019 |神经网络的可解释性,从经验主义到数学建模