Press "Enter" to skip to content

Evolution of Image Classifiers,进化算法在神经网络结构搜索的首次尝试 | ICML 2017

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文对当前的进化算法进行少量地改造,结合前所未有的算力进行神经网络结构搜索,在CIFAR-10上达到了很不错的准确率。论文十分注重搜索算法的简单性,从性能很差的无卷积模型开始,进化算法需要在一个几乎不受约束的搜索空间中进化成复杂的卷积网络

 

Methods

Evolutionary Algorithm

 

基于锦标赛选择(tournament selection)进行进化算法,定义如下概念:

种群(population),模型集合
个体(individual),训练完的单个模型
适应值(fitness),模型在测试集上的准确率
工作者(worker),每次从种群中选取两个个体进行适应值计算
消灭(killed),将worker挑选的个体中,适应值低的去掉
繁殖(reproduction),将worker挑选的个体中,适应值高的作为父代(parent),拷贝并进行变异(mutation)得到子代(child),将子代放回种群中(alive)

为了加速计算,使用massively-parallel, lock-free的并行计算,许多worker在不同电脑上进行独立的异步操作,仅使用共享文件系统来保证种群内容一致,每个个体为一个文件夹。种群数量为1000,worker一般为种群数量的

 

Encoding and Mutations

 

网络结构表示为图(DNA),节点表示3维tensor或激活方法,tensor的3维分别表示图片的空间坐标以及channel数,激活方法作用与节点上,可以为BN+RELU或无激活,边表示identity connections或卷积(包含可变异参数)。当节点连接多条边时,将其中一条非identity connection的边作为主边,对其它边进行像素的最近邻差值以及维度的裁剪和填充,最后进行element-wise sum。在每次繁衍过程中,随机选取以下一种变异方式:

调整学习率
不变
重置权重,子代重新训练
随机位置插入卷积层
删除卷积层
修改stride,2的倍数
修改channel数,修改范围为原值的一半至两倍
卷积核大小,奇数
添加skip connection
删除skip connection

Initial Conditions

 

种群的初始化为仅包含global average pool的简单个体,学习率为0.1

 

Training and Validation

 

在CIFAR-10上进行4万5张图的训练和5千张图的测试,共训练25600轮,batch size为50

 

Computation cost

 

每个进行训练的模型,记录其单batch训练的计算量 FLOPs和验证的计算量 FLOPs,乘以batch数得到最终的计算量为 ,

 

Weight Inheritance

 

由于模型完整的训练需要更多的迭代次数,这十分耗费时间,为了解决这一问题,允许子代默认继承父代的权重,如果层有相同的shape,则继承,但如果是重置权重突变,则全部不继承

 

Reporting Methodology

 

为了防止过拟合,训练集和测试集不能有交集,准确率表现最好的模型称为“the best model”

 

Experiments and Results

从实验来看,论文提出的搜索方法比目前的同体积的网络性能要高,但比SOTA略差一点,整体搜索时间很快。对于两个超参数,种群大小和迭代次数,则是越大越好,太小容易陷入局部最优

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。