AmoebaNet论文和算法解析

AmoebaNet,论文的全名是Regularized Evolution for Image Classifier Architecture Search,是一篇比较早的采用进化算法来做NAS的论文。

进化算法是传统人工智能中的一种群体启发式优化算法,它模拟生物学在自然界中的仿生原理,通过选择、交叉、变异等方式,一代又一代更新和进化,最终收敛于最优解的过程。

AmoebaNet是由谷歌团队Real等人提出的一种基于年龄进化算法的神经网络架构搜索。为了解决网络架构参数无法通过验证集精度的梯度传播来更新,之前的一些学者提出了用强化学习的思想来优化controller RNN。与强化学习相似,进化算法同样也不需要计算损失函数或者目标函数的梯度传播,甚至不需要目标函数是可导的,只需要一些简单易操作的编码处理,就可以优化目标函数。

在AmoebaNet里,采用的是遗传算法的一个变种,叫做年龄进化算法。群体中的每一个个体,代表着一种子网络,而个体的编码空间(或者说是搜索空间),则是支持直接引用NASNet的Cell和Block的设计,每一个个体,代表着对Cell的编码。

下图是AmoebaNet年龄进化算法的流程。
在这里插入图片描述
图1. AmoebaNet的年龄进化算法流程图

算法的步骤为:

  1. 随机初始化P个个体 的种群(也就是P个子网络),训练和验证这P个子网络获得它们的精度(适应度值),将P个个体加入历史群体中。
  2. 如果历史群体数量少于C个,则进入循环。从种群中随机选取S个样本,从S个中挑出最高精度的样本作为父个体。对父个体进行变异操作生成子个体,对子个体重新训练和验证,得到子个体的精度。
  3. 将子个体加入到种群和历史群体中,从群体中淘汰掉最老(不是最差)的个体。
  4. 如果历史群体大于C个,则跳出循环,返回历史群体中最高精度的个体
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值