Page 27 - 《软件学报》2020年第9期
P. 27
2648 Journal of Software 软件学报 Vol.31, No.9, September 2020
但是最近的研究结果表明:低保真评估的性能近似与真实的神经网络性能之间的差异太大时,不同神经网
络架构间性能的相对排序可能会发生显著的变化 [88] .为了解决该问题,学者们提出在学习曲线的基础上,推断不
同神经网络架构的性能.Domhan 等人 [90] 提出从初始学习曲线出发,终止预测表现不佳的学习曲线以加速搜索
过程.另外,一些方法同时考虑架构超参数预测最优的部分学习曲线 [91−94] .加速性能评估的另一种方法是基于已
有的神经网络架构初始化新的神经网络架构.Wei 等人 [94] 提出了网络态射的方法,在修改神经网络架构的同时
保持神经网络学习到的功能.通过该方法,可以持续不断地增加神经网络架构的容量并保持神经网络的性能,而
无需重新训练 [95] .
一次架构搜索(one-shot architecture search)将所有可能的神经网络架构视为超图的不同子图,并在具有边
连接的架构之间共享权重.图 27 表示一次架构搜索框架,由一个输入节点(节点 0)、3 个隐藏结合(节点 1~节点
3)和一个输出节点(节点 4)构成的简单神经网络.一次架构搜索模型(如图 27(a)所示)包含对每个节点的所有可
能的候选操作,即 3×3 卷积、5×5 卷积和最大池化等操作,每个可能的神经网络架构是一次架构搜索模型的子图
(如图 27(b)所示),并共享权重.ENAS [65] 学习递归神经网络控制器,从搜索空间中采样,并通过强化学习近似梯度
实现一次架构搜索框架的训练.DARTS [68] 通过联合优化一次架构模型的全部参数和搜索空间的连续松弛变量,
实现异构架构搜索算法的训练.
Conv 3 3 0 0
Conv 5 5
Maxpool
1 1
2 2
3 3
4
4
(a) (b)
Fig.27 One-shot architecture search
图 27 一次架构搜索框架
不同的性能评估策略通过不同的方法实现高效、准确地度量神经网络架构的性能:低保真度近似方法通过
减少训练时间、采用训练子集等方式提高效率,保持神经网络性能的相对排序;学习曲线推理方法根据训练过
程中的学习曲线推理神经网络架构的性能,提前终止性能差的搜索;网络态射方法通过从已有的神经网络架构
初始化新的神经网络架构,可以有效地保持神经网络架构的性能,显著减少训练所需的时间;一次架构搜索模型
仅仅需要一次训练,不同的神经网络架构之间通过共享权重加快性能评估的效率.
不同性能评估策略的比较见表 4.
Table 4 Comparison of different methods of performance evaluation strategy
表 4 NAS 性能评估策略的不同方法的比较
加速策略 加速方法 参考文献
[6]
通过减少训练次数、训练数据集的规模、缩小 Li et al. (2017) [95] , Zoph et al. (2018)
低保真评估 [96]
模型的参数量等方式降低训练时间,实现加速 Runge et al. (2019)
通过少量的训练次数的学习 Swersky et al. (2014) [91]
学习曲线推断 [90]
曲线推断模型的性能,实现加速 Domhan et al. (2015)
通过继承已有模型的权重训练 Real et al. (2017) [78] ,
网络态射 [66] [60]
网络参数,避免从头训练,加速训练 Elsken et al. (2019) , Cai et al. (2018)
只需训练一次模型.该模型的 Pham et al. (2018) [65] , Bender et al. (2018) [82]
一次架构搜索 [68] [97]
所有子图共享权重,实现加速 Liu et al. (2019) , Xie et al. (2019)
4 总结与展望
目前存在 3 种构建轻量级神经网络的主流方法,分别是人工设计轻量级神经网络、神经网络模型压缩算法
和基于神经网络架构搜索的自动化神经网络架构设计.人工设计的轻量级神经网络已经取得了显著的成果,主