原文链接:https://arxiv.org/pdf/1802.01548.pdf 发表:AAAI 2019
编辑:牛涛
code:https://colab.research.google.com/github/ google-research/google-research/blob/master/ evolution/regularized_evolution_algorithm/ regularized_evolution.ipynb
本文没有明确说自己argue什么,intro部分只是说了下自己给了两个改进,一个叫aging evolution,一个叫mutation。基于此改进后的进化算法可以产生更好的NAS结果。
本文也是种搜索cell的NAS方法,其搜索空间与NASNet如出一辙,仍然是normal cell和reduction cell。
之前的进化算法,举个例子。从一堆初始化过的结构中随机选个子集,然后把子集中最好的拿来做变异(结构改动),然后将这个新的结构加入整个池子里丢掉性能最差的那个。这样的方法存在一个问题,就是性能比较差(没有被选中)和最差的(被丢掉的),可能尚有探索空间,早早把他们丢掉会使得结果更倾向于初始化就很好的结构,过早地收敛到局部最优点。本文的方法不再是丢掉最差得,而是丢掉最老的,让新人也有机会展示那么一下子。(就算你是老人,你性能足够好的话也是可以通过变异得到第二春的)
anyway,先说下本文提到的变异过程,如下
通俗的讲就是将连接和操作随机换一下。然后咱们直接上伪代码:
1.首先随机初始化并训练一堆结构
2.每次先从池子里随机选S个样本,然后将性能最好的进行变异并验证(两种变异分别进行,都是随机变异)
3.将变异后的新结构训练并验证性能,然后加入到池子中
4.从池子中把最老的那个结构丢掉
2-4步重复C次。最终从所有新生的子结构中选一个最好的作为最终结果。
这论文实在不知道有多大贡献量能发AAAI......