A Survey on Evolutionary Neural Architecture Search阅读笔记
摘要
摘要首先指出深度神经网络的应用广泛,其中DNNs的结构在提升性能方面很重要,
但是设计结构过程需要不断试错,这要求设计者有丰富的实践经验。
然后提出NAS可以实现架构的自动设计,
并且实现NAS功能的众多方法中EC获得大家的广泛关注,
本文采集200多篇基于EC的NAS方法的文章,
系统讨论他们的设计原则和设计理由(motivation)
(摘要提出了本文解决的问题即:目前学术界还没有对基于EC的NAS进行全面的总结)
(显然本文是综述性质)
介绍
DNNs应用广泛且前景不错,DNNs性能依赖本身结构和相关层次的权重,二者达到最合适状态,
DNNs的性能才能达到最好。后续指出DNN的普遍实现方法中,架构都是人为设计的。
所以NAS是一种很有前途的方法,但是在NAS的设计过程中需要测量架构在适应度评估
数据集 Dfitness上的性能,找到其中适应度的最小值,然而L函数通常是不凸不可微的。
(为后续引出EC做出铺垫)
即使在目标函数的数学形式不可用的情况下,EC方法依然具有对局部极小值不敏感且不需要
梯度信息的良好特性,所以EC也被广泛应用于解决复杂的非凸优化问题
之后开始讲解基于EC的NAS的历程,开端是谷歌于2017年3月在arXiv中发布的LargeEvo
算法(该篇文章被2017年6月举行的第34届国际机器学习大会所接受),从此之后
三年内基于EC的NAS大量涌出
Elsken等人[26]将NAS分为三个阶段:搜索空间、搜索策略和性能估计策略,之后介绍本文的行文顺序。即第二节讨论了ENAS的背景。第三节记录了ENAS算法的不同编码空间、初始空间和搜索空间。在第四节中,介绍了编码策略和体系结构表示。第五节总结了种群更新的过程,包括进化算子和选择策略。第六节展示了加快进化的多种方法。第七节介绍了ENAS算法的应用。第八节讨论了挑战和前景,最后第九节提出了结论(本节为第一节)
背景
统一的流程图
此处描述本文研究对象——ENAS的普遍流程图
ENAS分类
按照搜索策略分类
按照使用的神经网络分类
ENAS中常见的网络结构
ENAS在不同的DNNs下对常用参数的优化
编码空间
下图为不同的编码空间及其限制
下图为三个空间之间的联系
初始空间
一般分为三种形式:从普通的初始条件开始、在编码空间内随机初始化、从高性能结构
开始这三种形式被称为三种初始空间即:平凡空间(可以演化出新颖的结构)、随机空间、
精心设计的空间(很难演化出好的结构),但实际上很多人使用精心设计的空间来提高性能
搜索空间
使用随机空间的话,搜索空间和初始空间一样大;使用另外两种空间的话,
搜索空间会大于初始空间。有的人采用限制进化算子的方法限制搜索空间,而不是直接定义搜索空间
编码空间
根据进化处理中个体的长度是否变化可以将编码策略分为固定长和变长策略。
固定长编码策略:有利于直接利用原本为固长编码设计的标准进化操作
缺点是长度和深度神经网络的最佳深度有关,
而深度神经网络的最佳深度提前不知道,所以还需要依赖构造者的专业知识和经验
变长编码:不依赖构造者的专业知识和经验,但是进化算子需要重新设计
大多数的DNN结构都可以表示为由不同的基本单元和单元之间的连接组成的有向图,因此,对于架构的编码可以分为两个方面:基本单元的配置和连接,这将在下面的小节中讨论。
基本单元的配置编码
不同的基本单元有不同的配置Table 1 可以看到
连接的编码
网络架构一般分为线性架构和非线性架构
下图是ENAS根据EC方法的分类
按照挑选策略
性能评估
评估策略选择(因为ENAS评估很消耗时间)
如图可知选取观测点的不同,性能评估的结果不同
应用![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5501c27259c21d5a4c80554df7ef46f2.png)
基本上深度神经网络应用到哪里,ENAS就可以应用到哪
挑战和议题
效率、可扩展性、高效的评估方法和减少计算成本、可解释性
结论
缺少统一的评价标准以及挑战和议题中提到的问题
最后本文比较老2020,所以需要最新的文献