Regularized Evolution for Image Classifier Architecture Search
图像分类器结构搜索的正则化进化算法
摘要
进化算法已被反复地应用于神经网络拓扑,但是由此发现的图像分类器仍不如人工分类器。本文开发了一种图像分类器AmoebaNet-A,它首次超越了手工设计。本文通过引入年龄属性来支持年轻的基因型来修改锦标赛选择进化算法。与尺寸匹配的AmoebaNet-A具有,与通过更复杂的体系结构搜索方法发现的当前最新ImageNet模型,相当的准确性。
简介
改进的硬件现在允许扩大进化以产生高质量的图像分类器。然而,进化算法/遗传规划所产生的体系结构还没有达到人类专家直接设计的体系结构的精度。
在本文,对标准进化过程做了两个补充:
(1)我们提出了一种改进的锦标赛选择进化算法:,称之为老化进化或正则进化。在锦标赛选拔中,最佳基因型(架构)被保留,我们建议将每个基因型与一个年龄相关联,并使锦标赛选择偏向年轻的基因型。
(2)实现一组最简单的突变,允许在NASNet搜索空间中进化,该搜索空间将卷积神经网络结构与小有向图相关联,其中顶点表示隐藏状态,标记边表示常用的网络操作(如卷积或池层)。变异规则只是通过随机地将边的原点重新连接到不同的顶点,并通过随机地重新标记边来改变结构,覆盖整个搜索空间。
相关的工作
一种流行的进化方法是通过代数算法,例如NEAT。总体中的所有模型都必须完成训练,才能计算出下一代。在使用不同机器来训练每个模型的分布式环境中,世代进化变得效率低下:训练速度更快的模型的机器更早完成,并且必须等待空闲,直到所有机器准备就绪。
实时算法可解决此问题,但是这些模型会根据其性能丢弃模型或完全不丢弃模型,从而导致模型可以长期存在于整个种群中,甚至在整个实验中也是如此。
现有的论文使用了年龄的概念,将年龄分配给基因,以将恒定大小的种群分为称为年龄层的组。他们的算法需要引入两个附加的元参数(年龄差距的大小和年龄层的数量)。
但在我们的算法中,将年龄分配给个体(而不是基因),并且仅用于跟踪人口中年龄最大的个体。这样可以在每个周期中删除此类最老的个体(保持恒定的人口规模)。我们的方法仍然与自然相似(年轻人比老年人更容易死亡),并且不需要其他元参数。
方法
搜索空间
所有实验都使用NASNet搜索空间。
在NASNet中,完整的网络的结构还是需要手动设计的,NASNet学习的是完整网络中被堆叠、被重复使用的网络单元。为了便于将网络迁移到不同的数据集上,我们需要学习两种类型的网络块:(1)Normal Cell:输出Feature Map和输入Feature Map的尺寸相同;(2)Reduction Cell:输出Feature Map对输入Feature Map进行了一次降采样,在Reduction Cell中,对使用Input Feature作为输入的操作(卷积或者池化)会默认步长为2。
图1:NASNet搜索空间[54]。 左:完整的外部结构(为清楚起见,省略了跳过输入)。中:带跳过输入的详细视图。右:单元格示例。虚线划分成对组合。
所有这些图像分类器都具有图1(左)中指示的固定外部结构。架构搜索过程的目标是发现正常和还原单元的架构。
每个单元都从前一个单元接收直接输入(如图所示),并从前一个单元接收跳过输入(图1,中间)。
堆中的单元有两种类型:普通(normal)单元和还原(Reduction)单元。
所有Normal 单元都与Reduction单元一样具有相同的架构,但两者的架构无关。
除此之外,它们之间的唯一区别是Reduction Cell 减小了图像大小,而Normal Cell 保留了图像大小。
每个单元都有两个输入激活张量和一个输出。第一个单元格获取输入图像的两个副本。之后,输入是前两个单元的输出。
在图中描绘了成对组合(虚线圆内)。它包括对现有的隐藏状态应用操作(或操作),对另一个现有的隐藏状态应用另一个操作,并添加结果以产生新的隐藏状态。
给定的体系结构,由构成Normal 单元的五个 pairwise combinations ,构成还原单元的五个对完全指定。
一旦指定了架构,该模型仍然具有两个可用的自由参数,可用于更改其大小(及其准确性):
(1)每个堆栈的正常单元数(N)
(2)卷积运算的输出滤波器数(F)
•在整个实验过程中,它保留了一组P训练模型。
•使用具有随机体系结构的模型初始化总体
•进化改进了周期中的初始种群,在每个周期,它从总体中抽样S个随机模型,每个模型随机统一替换生成。
•选择该样本中具有最高验证适用性的模型作为父模型。
•通过突变,从父代构造了一种称为子代的新体系结构。对子架构进行了培训,评估并添加到人口中。
•在本文中,每个周期内都需要执行额外的步骤:杀死种群中最古老的模型-也就是说,从种群中删除最早训练的模型。
•将变异应用于现有模型并以随机方式转换其体系结构来构建新模型。为了浏览上述的NASNet搜索空间,我们使用了两个主要的突变:隐藏状态突变,op突变