Page 18 - 《软件学报》2020年第9期
P. 18

葛道辉  等:轻量级神经网络架构综述                                                               2639


         3.1   搜索空间
             搜索空间定义了 NAS 中构建神经网络的基本架构单元,是神经网络模型通用定义的一个子空间.可以根据
         特定任务的先验知识引入各种约束,限制基本架构单元的类型和搜索空间的大小.搜索空间根据基本架构的类
         型分为两种主要类型:第 1 种是直接搜索整个神经网络架构的全局搜索空间,包括链式架构搜索空间和多分支
         架构搜索空间;第 2 种是通过重复某些特定结构构建神经网络架构的局部搜索空间,代表性方法是基于块的搜
         索空间.
         3.1.1    全局搜索空间
             图 15 表示了链式和多分支架构搜索空间,图中不同节点表示神经网络中不同类型的层,采用不同的颜色表
         示,图中的有向边指示了输入和输出的关系.其中最简单的类型是链式架构搜索空间,如图 15(a)所示.链式架构
         搜索空间通过连续地连接 n 层构建神经网络,其中第 L i 层以第 L i−1 层的输出作为输入,并且第 L i 的输出作为第
         L i+1 层的输入.链式架构搜索空间的参数包括:(1)  神经网络的(最大)层数 n;(2)  神经网络中每层的类型,包括池
         化、卷积或其他高级操作,例如深度可分离卷积                 [56] 、空洞卷积 [57] 等;(3)  神经网络的超参数,包括卷积核的数量、
         核大小、卷积步长       [58−60] 和全连接层的数量   [61] 等.需要注意的是:不同的参数之间存在关联关系,例如神经网络的
         超参数受到卷积核的数量和核大小的约束,因此搜索空间的参数不是固定长度.

                                       输入                输入
                                       L 0            L 0    L 1

                                       L 1            L 2     L 3
                                                      L 4        L 5
                                        ...
                                                      L 6    L 7
                                       L n-1          L 8    L 9
                                       L n               L 10
                                      输出                输出
                                        (a)                     (b)
                               Fig.15    Chain and multi branch architecture search space
                                       图 15   链式和多分支架构搜索空间
             Baker 等人 [58] 的工作研究了链式架构搜索空间,确定了一组可被搜索的操作,包括卷积、池化和线性变化等,
         以及设置了不同的超参数,包括滤波器的数量、卷积核的大小、卷积步长等.进一步地,该方法同时考虑了一些
         额外的限制,排除一部分显著不正确的神经网络架构,例如神经网络的第 1 层为池化层的网络架构,将具有高分
         辨率的特征作为全连接层的输入等.Zoph 等人              [62] 提出了松弛链式架构搜索空间,允许链式架构间的任意按序节
         点存在残差连接,可以实现搜索得到更加广泛、更加不同的神经网络架构.
             根据人工设计深度卷积神经网络的经验和教训,链式架构搜索空间具有结构简单、计算复杂度低的特点.
         但是在训练链式神经网络的过程中,容易发生梯度消失的问题,并且神经网络模型的规模小、学习能力差.为解
                                                                                     [2]
         决上述问题,最近提出的 NAS 方法受到近些年来典型人工设计的深度卷积神经网络模型(ResNet ,Inception                           [63]
         等)的启发,建立了复杂的、具有多分支架构的搜索空间,如图 15(b)所示.
             多分支架构搜索空间中,第 L i 层通过联合第 L i−1 层的全部输出作为输入 g i (L 0 ,…,L i−1 ),根据神经网络的结构
         分类,主要存在 3 种多分支连接方式.
             (1)  链式连接方式,g i (L i−1 ,…,L 0 )=L i−1 ,即第 L i 层以第 L i−1 层的输出作为输入,并且第 L i 的输出作为第 L i+1
                 层的输入.因此,链式架构搜索空间可以被解释为是多分支架构搜索空间的特例;
                            [2]
             (2)  残差连接方式 ,对前一层的所有输出求和,即 g i (L i−1 ,…,L 0 )=L i−1 +L k ,k<i−1;
                            [3]
             (3)  密集连接方式 ,串联前一层的所有输出,即 g i (L i−1 ,…,L 0 )=concat(L i−1 ,…,L 0 ).
   13   14   15   16   17   18   19   20   21   22   23