姓名:刘慧林;学号:21021210619;学院:电子工程学院
转载:https://zhuanlan.zhihu.com/p/387800091
前言:
NAS由于其强大的自动表示能力,深度学习在许多领域取得了重大突破。事实证明,神经结构设计是数据特征表示和最终性能的关键。然而,神经结构的设计在很大程度上依赖于研究人员的先前的知识和经验。而由于人类固有知识的有限性,很难做到人们要跳出自己原来的思维定势,设计出最优的模型。因此,一个直观的想法是尽可能减少人工干预,以自动化的方式使用有限的计算资源,让算法自动设计神经结构。神经结构搜索(NAS)就是这样一种革命性的算法。
NAS的关键组成部分是:搜索空间、搜索策略、评价策略。本文针对早期NAS的四个不足之处,并针对这四个研究方向对后来的NAS优化具体展开。
简介:
利用强化学习的方法(RL、MetaRNN)在图像分类方面取得非常好的效果,但是这些方法消耗了每天数百张GPU甚至更多的计算资源。因此,NAS搜索的方向转变为如何减少计算量病加快对神经网络的搜索。NAS在目标检测、风格、识别、多目标优化、数据增强等方面也得到了快速的应用。
此外,一些研究也考虑了如何在性能和效率之间取得平衡。虽然NAS相关的研究已经非常丰富,但NAS方法的比较和再现仍然困难。这是因为不同的NAS方法在搜索空间、超参数、技巧等方面差异很大。所以一些工作也致力于为NAS提供统一的评价平台。
NAS研究的动机:
随着NAS研究的发展,早期的一些方法被证明是不完善的:例如NAS早期版本在体系结构搜索阶段从头开始训练每个候选神经体系结构,导致计算量激增。ENAS提出使用参数共享策略来加快体系结构搜索过程。但是后来的研究发现,权重共享可能导致候选结构不能准确地分出孰优孰劣,使得算法难以从大量的候选结构中找到最优的神经结构,从而进一步恶化了最终选择的神经结构的性能。
不久之后,DNA将NAS的大搜索空间模块化成块,使候选体系结构得到充分训练,以减少权重共享带来的表示移位问题。
GDAS-NSAS提出了NSAS损失函数来解决多模型遗忘问题(当使用权值共享顺序训练一个新的神经结构时,原有神经结构的性能会降低)。类似的研究线索在快速发展的NAS研究领域非常普遍。
总结一下,本文的研究动机如下:
- 以往的调查经常使用NAS的基本组成部分来关联NAS相关工作,这使得读者很难掌握NAS相关工作的研究思路。
- nas相关领域发展迅速,相关工作复杂丰富。不同的NAS之间有明显的联系,现有的调查并没有对这些联系进行详细清晰的分析。
早期NAS的特征:
- NAS通常从一组预定义的操作集开始,利用控制器根据这些操作集创建的搜索空间获得大量的候选神经结构。
- 然后在训练集上训练候选架构,并根据其在验证集上的准确性进行排序。
- 然后利用候选神经结构的排序信息作为反馈信息来调整搜索策略,从而获得一组新的候选神经结构。
- 当达到终止条件时,终止搜索过程,选择最佳的神经结构。然后,所选的神经结构对测试集进行性能评估。
早期的NAS来自NAS-RL的一个非常简单的观察,即神经网络的架构可以被描述为一个可变长度的字符串。可以使用RNN作为控制器来生成这样一个字符串,然后使用RL来优化控制器,最终得到一个满意的神经结构。MataQNN把神经体系结构选择过程视为马尔科夫决策过程,利用Q-learing记录奖励,得到最优神经体系结构。Large-scale Evolution旨在使用进化算法(EA)自动学习最优的神经结构,同时尽可能减少人为的干预。该方法利用最简单的网络结构初始化一个大的种群,然后通过复制、变异和选择种群来获得最佳的神经结构。GeNet提出了一种新的神经结构编码方案,将神经结构表示为固定长度的二进制字符串。它随机初始化一组个体,使用一组预先定义的遗传操作来修改二进制字符串来生成新的个体,最后选择最具竞争力的个体作为最终的神经结构。
早期NAS的共同特征:
- 全局搜索空间:要求NAS在大的搜索空间中找到最优搜索结构,搜索空间越大,搜索代价越高。
- 离散的搜索策略:将不同神经结构之间的差异视为一组有限的基本操作;也就是说,通过离散地修改操作来改变网络结构。缺点是不能利用梯度策略。
- 从头开始搜索:从头开始建立模型,直到生成最终的神经结构。这些方法忽略了现有神经结构的设计经验,不能充分利用现有的优秀神经结构。
- 充分训练:从头开始训练直至收敛。后续网络的网络结构与之前的神经结构是相似的,同一阶段的神经结构也是相似的。从头开始训练不能利用这一特性。我们只需要获得候选体系结构的相对性能排名。
注:搜索空间由预定义的操作集和神经结构的超参数决定(如结构模板、连接方法、初始阶段用于特征提取的卷积层通道数等)。
上图是早期NAS研究中常见的两种链结构全局搜索空间:这是链状结构最简单的例子。右:添加跳跃连接后的链结构例子。oi是第i个操作,z是经过o操作产生的feature map。左图:
右图的z计算如下:其中⊙可以是求和操作或合并操作
以Large-scale Evolution为例,给出了一个从头开始搜索的例子。从最简单的神经结构开始,逐步生成最终的神经结构(如下图所示)。
《A Comprehensive Survey of Neural Architecture Search: Challenges and Solution