AutoML论文笔记(九)CARS Continuous Evolution for Efficient Neural Architecture Search:连续进化神经网络搜索

文章题目:CARS: Continuous Evolution for Efficient Neural Architecture Search
链接:link https://arxiv.org/abs/1909.04977
会议期刊:CVPR 2020

论文阅读笔记,帮助记忆的同时,方便和大家讨论。因能力有限,可能有些地方理解的不到位,如有谬误,请及时指正。

论文内容

NAS算法中比较高效快捷的是基于梯度的算法,本文发明了连续的进化算法,在一个超网下共享参数,并从最近的父类中finetune很少的epoch,下一代直接继承population和超网参数,并利用帕累托前沿来排序。
 在NAS中,进化算法的性能确实是优于强化学习的,但是每个个体都需要彻底的验证精度,这使得进化算法要求的算力更多。有时候搜索空间中确实存在表现比较差的网络结构,如果单纯的跟随权值共享,将不得不补偿表现差的网络。因此为了改善这一缺陷,本文最大化最近一代的知识,挑选出不同大小和精度的模型,并交叉变异产生下一代。
 本文通过遗传算法,交替的优化网络参数和结构,并且不同结构的参数是共享的。在训练loss的时候,考虑到了网络精度、参数量、FLOPS和推理时延等多维系数。由于没有哪个网络是完胜其他的,所以多目标搜索中,往往采用的是帕累托最优(任何维度i<=j,至少一个维度i
 为了高效,作者维护一个超网来共享不同结构的网络参数,不同的网络从超网中sample出来。**所有的arc累加,求梯度,但是1个step求梯度对所有的网络来说耗时太久,所以另一种加速方式是借鉴batch size的思想,随机取部分arc求平均。**每个网络都是由weight和connect对组成的,当所有参数都收敛的时候,用遗传算法交替地训练connect。
 由于在训练过程中,遗传算法会偏爱小模型,落入小模型的陷阱。因此作者保护稍微大一点,没有彻底训练的模型。把模型精度的提升速度(有点像二阶导数)纳入帕累托最优的考虑范围。
 AutoML论文笔记(九)CARS Continuous Evolution for Efficient Neural Architecture Search:连续进化神经网络搜索_第1张图片
  超网中参数用一套均一的init,所有操作被sample的概率相同。和《Deep Multimodal Neural Architecture Search》思路相同,参数都有个warmup。作者将Cifar10数据集1:1切分为训练和验证,在训练数据集上更新网络参数,在验证数据集上更新结构参数。搜索空间和DARTS一样,进化出的结构在各个model size下选最优,从头开始训练。从结果来看,搜索时间很不错,精度也表现优异。
  AutoML论文笔记(九)CARS Continuous Evolution for Efficient Neural Architecture Search:连续进化神经网络搜索_第2张图片
  同时网络的泛化能力也不错。最后作者发现,相比于DARTS,搜出的结构:reduce cell参数更多,保护更多的有用信息;normal cell参数比较少,减少了无效操作。

你可能感兴趣的:(AutoML论文笔记)