参考文献:A Survey on Evolutionary Neural Architecture Search
1 NAS分类
- 强化学习方式
- 梯度方式
- 进化算法方式(envolutional nas, ENAS)
基于强化学习的方式需要运行很久,在中等数据规模上,一般数千个GPU需运行几天。
基于梯度的方式需要提前构建一个supernet,需要很强的专业知识。
基于进化算法的方式,主要包括遗传算法(Genetic Algorithms, GAs)、遗传规划(Genetic Programming, GP)、粒子群算法((Particle Swarm Optimization, PSO)等。
2 ENAS背景
2.1 进化流程图
ENAS主要的算法流程如下,①初始化空间,包括初始种群的选取以及初始种群的适应度评估 ②搜索空间,包括对种群的择优选择,进化操作,继续进行适应度评估,再如此循环,直到达到终止条件(epoches或者loss不下降)③返回最终结果
2.2 搜索策略
如图2所示,ENAS主要分类为基于进化算法(Envolutionary Algorithm)和基于群智感知(Swarm Intelligence , SI)以及其它三类。
EA_based | SI_based |
---|---|
基因算法(Genetic Algorithm, GA) | 粒子群优化(Particle Swarm Optimization, PSO) |
遗传规划(Genetic Programming, GP) | 蚁群优化(Ant Colony Optimization, ACO) |
进化策略(Envolutionary Strategy, ES) |
其它:差分进化(DE) 萤火虫算法(FA)
2.2 常用的神经网络
ENAS常用的神经网络如图3所示,它可以大致分为五个不同的类别:CNN,深度信念网络(DBN),堆叠自编码器(SAE),循环神经网络(RNN)等。