Page 23 - 《软件学报》2020年第9期
P. 23
2644 Journal of Software 软件学报 Vol.31, No.9, September 2020
规格训练了 25 600 步,并添加到种群中,而另一个神经网络架构被从种群中删除.这相当于使用 k=2 和 p=1 的锦
标赛选择算法.这组突变包括一系列简单的操作,例如在全局池化层之前的任意位置添加卷积层以及卷积核的
大小、通道数、卷积步长、学习速率、添加或删除残差连接、删除卷积、重置网络权重以及对应于无变化的
突变.由于不再强制执行域约束,因此可以使用此方法对具有冗余组件的神经网络架构进行隐式的采样,如图 22
所示.
pool
norm
x conv conv batch ReLU batch ReLU global softmax y(x)
norm
Fig.22 Possible network architecture
图 22 可能存在的网络架构
[6]
[7]
与 NasNet 方法不同,MnasNet 在更结构化的搜索空间上设计了一种基于遗传算法搜索策略,该搜索空间
包括具有可能并行卷积操作的一系列片段.该方法认为:网络架构由 3 个片段组成,每个片段由多个卷积层组成,
并且每个片段由邻接矩阵描述,该邻接矩阵定义为片段内的每层上的有向无环图.该搜索策略从搜索空间中的
20 个随机基本架构单元开始.在父节点选择步骤,所有样本对 a i ,a i+1 ,其中,i mod 2=1,在交叉重组操作中被考虑.
交叉重组操作以概率 p 在两个所选的神经网络架构之间交换片段.然后,所有在前一步中未经过修改的个体都
[7]
考虑进行突变操作.MnasNet 算法中,突变是在定义片段的邻接矩阵上的随机翻转操作.最后,从头开始训练获
得的后代并在计算其适应度.个体的适应度被定义为其在测试数据上的准确性与种群内所有个体中最低准确
[7]
性之间的差异.由于 MnasNet 中通过设定阈值,根据适应度选择个体,确保性能最差的网络架构以零概率存活.
值得一提的是:这是首次证明在较小数据集上自动发现的神经网络架构成功转移到较大数据集的工作之一,即
从 CIFAR-10 到 ImageNet [18] .
Suganuma 等人 [59] 提出了另一个基于遗传算法的优化器,与上述方法不同的是,考虑在其搜索空间中定义更
广泛的操作集,包括卷积和池化以及向量的求和等.该方法将整个神经网络架构编码为由三元组表示的块序列,
该三元组定义了块的操作和输入.通过连接块编码获得的串构成了基因型.在这种基因型定义中可以接受非活
动部分,例如某些特定操作或断开的块的未使用输入.不活跃的部分不在表型中具体化.图 23 表示了遗传编码,
其中,基因型的灰色阴影部分表示无效.节点 3 中的非活动部分不存在于表现型中,由节点 4 引入的额外最大池
化层是基因型中未明确编码的操作如何出现在表现型中的示例.该方法提出了(1+λ)-进化策略 [74] 方法来指导
进化,其中,突变和选择算子在循环中使用直到终止进化.从对应于父节点的基因开始(首次迭代是随机的),通过
强制修改基因型中的活性部分来生成后代.突变也适用于其基因型的一个非活性部分的父节点.然而,这不会导
致表现型的任何改变,因此不会增加整体的训练成本,即使在这一代的父节点将再次成为下一代的父节点的情
况下,确保了整个搜索的进程.训练下一代网络架构,度量其准确度,并使用精英选择策略选择下一次迭代的父
节点.
节点1 节点2 节点3 节点4 节点5
基因型 max 0 0 conv 0 1 conv 1 2 求和 2 1 输出 4 3
表现型 softmax
节点4 +
max
pool
max
conv pool
Fig.23 Genetic code
图 23 遗传编码