AmoebaNet:经费在燃烧,谷歌提出基于aging evolution的神经网络搜索 | AAAI 2019

论文提出aging evolution,一个锦标赛选择的变种来优化进化算法,在NASNet搜索空间上,对比强化学习和随机搜索,该算法足够简洁,而且能够更快地搜索到更高质量的模型,论文搜索出的AmoebaNet-A在ImageNet上能达到SOTA

来源:【晓飞的算法工程笔记】 公众号

论文: Regularized Evolution for Image Classifier Architecture Search

Introduction


  神经网络结构搜索的网络已经能够超越人工设计的网络,但是基于进化算法(evolutionary algorithms)和基因规划(genetic programming)还没有达到人工设计的网络的精度。为此,论文在标准的进化过程基础上进行两个改进:

  • 提出改进锦标赛选择(tournament selection)的进化算法,命名aging evolution或regularized evolution。在锦标赛选择中,表现最好的基因会保留,而新方法将每个基因关联一个年龄,偏向于选择年轻的基因
  • 在NASNet的搜索空间上采用最简单的变异集合进行进化,NasNet的搜索空间用小的有向图来表示卷积神经网络,节点表示隐藏层,带标签的边表示常见的网络操作,变异的规则仅允许随机将边连接到新的节点和修改边的标签

  在NASNet空间进行搜索,能够直接地将论文提出的方法和原来的强化学习方法进行对比。论文提出的方法不仅简单,而且搜索速度更快,结果更优,搜索得到的AmoebaNet-A能达到83.9% top-1 error rate

Methods


Search Space

  NASNet搜索空间定义的网络架构是固定的,如图1左,通过堆叠单元(cell)来组成网络,每个单元接受前两个单元的输出作为输入,有normal cellreduction cell,分别主要用于特征提取以及池化。单元的搜索就是定义里面每个块的输入、算子以及合并输出方式,细节可以看NASNet的论文,也可以看我之前的NASNet解读

Evolutionary Algorithm

  进化算法始终保持population(种群)的大小为 P P P个模型,使用随机网络进行population初始化,然后进行 C C C轮进化来优化种群。每轮以均匀的概率随机选取S个模型,将选取的模型中准确率最高的作为parent,然后将parent进行mutation(变异)得到新网络child,在训练和验证后将child加入到historypopulation的右侧中,最后删除population最左边的模型,算法可以通过分发“ w h i l e ∣ h i s t o r y ∣ while |history| whilehistory”来进行并行计算
  需要注意,在锦标赛选择中,通过去掉S-sample中最差的模型来保持最初种群数始终为 P P P,这可以认为是non-aging evolution。相反的,论文的新方法每次直接去掉种群中最老的模型,这样能为搜索带来更多的可能性,而非只关注高准确率模型,称为aging evolution
  直观的,变异可认为是提供探索,而参数 S S S则可以认为是提供榨取(获取最优模型的可能)。不同的参数 S S S控制榨取的侵略性, S = 1 S=1 S=1等于随机搜索, 2 ≤ S ≤ P 2\le S\le P 2SP则代表不同的贪婪程度

  变异有三种形式,每次只能进行一种变异,两种主要的为hidden state mutationop mutation,另外一种为不变异。hidden state mutation首先选择变异的是normal cell还是reduction cell,然后选择单元的5个block中的一个,最好在block的两个输入中选择一个进行变异,随机选择另外一个单元内的hidden state作为输入,前提不能产生环。op mutation则进行类似的选择,先单元类型,然后block,再选两个操作中的一个进行变异,替换成另一个随机操作

Baseline Algorithms

  论文的主要对比算法为强化学习(RL)和随机搜索(RS)

Experimental Setup

  在CIFAR-10上进行小模型(N和F都很小)搜索,直到验证了20k模型,之后将搜索到的最优结构应用到full-size的模型中(提高N和F),然后使用更长的训练时间来获得CIFAR-10和ImageNet上的准确率

Methods Details


  op的选择与NASNet有点不同,包含:none (identity); 3x3, 5x5 and 7x7 separable (sep.) convolutions (convs.); 3x3 average (avg.) pool; 3x3 max pool;
3x3 dilated (dil.) sep. conv.; 1x7 then 7x1 conv, P = 100 P=100 P=100 S = 25 S=25 S=25,在搜索阶段每个模型训练25 epoch, N = 3 / F = 24 N=3/F=24 N=3/F=24,在450张K40上训练7天,identity mutation的概率固定为0.05,其它的两种概率一致,搜索到的最优20个模型进行最终的训练

Results


Comparison With RL and RS Baselines

  图3看出进化方法有更高的准确率,而且可以早停

  图4进行了多次重复实验,进化算法比RS的准确率高,比RL的参数少

  论文的进化算法搜索到的最优网络AmoebaNet-A

  可以看到,在参数量和准确率方法,AmoebaNet-A要优于NASNet-A

ImageNet Results

  将CIFAR-10上的最优模型转化到ImageNet上,准确率与当前的SOTA相似,对模型进行进一步加大后,得到SOTA模型83.9%,但是模型的参数量相对较大

CONCLUSION


  论文提出aging evolution,一个锦标赛选择的变种来优化进化算法,在NASNet搜索空间上,对比强化学习和随机搜索,该算法足够简洁,而且能够更快地搜索到更高质量的模型,450块K40搜索大约7天,论文搜索出的AmoebaNet-A在ImageNet达到SOTA



如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值