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 种构建轻量级神经网络的主流方法,分别是人工设计轻量级神经网络、神经网络模型压缩算法
         和基于神经网络架构搜索的自动化神经网络架构设计.人工设计的轻量级神经网络已经取得了显著的成果,主
   22   23   24   25   26   27   28   29   30   31   32