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 ).