论文阅读——Progressive Neural Architecture Search

  • List item

摘要

使用基于模型的顺序优化策略,在增加顺序搜索结构复杂度的同时,学习一个代理模型来指导结构空间的搜索

背景

最近,自动学习性能良好的神经网络结构受到广泛关注。目前,自动学习性能神经网络的技术主要分为两类:进化算法和强化学习。使用进化算法时,每个神经网络结构被编码为一个字符串,并在搜索过程中对字符串进行随机突变和重组;然后,每个字符串(模型)都在一个验证集上进行训练和评估,性能最好的模型会作为双亲,继续产生后代。当使用强化学习时,agent执行一系列动作,这些动作明确了模型的结构,然后对该模型进行训练,并将其验证性能作为奖励更新RNN控制器。尽管EA和RL方法都能够学习优于手工设计的网络结构,但它们会消耗大量的计算资源。在本文种,作者描述了一种能够学习CNN的方法,它在精度方面与之前的技术水平相匹配,同时在架构搜索过程中需要的模型评估减少了5倍。

方案

使用方法:
学习一个cell结构,然后将这些cell堆叠想要的次数,最终获得想要的CNN。

结构搜索方法:
第b 轮循环中有K个候选Cell,每个Cell有b个Block,这K个候选Cell对应的网络被训练和评估后,K个候选Cell将背扩展成含有b + 1个Block的Cell,然后使用surrogate function对所有的cell进行排序,选出表现优异的K个候选cell,训练对应的网络并进行评估,重复上述过程。结构查找过程如下图所示:在这里插入图片描述
Sb:有b个block的候选cell集合.
在第1次迭代时,考虑所有含有1个block的单cell,S1 = B1,训练和评估这次额cell,更新predictor(surrogate function);在第2次迭代时,扩展S1中的每个cell,得到所有包含2个block的cell,S’2 = B1:2;使用predictor选取前K个cell得到S2,对这些cell进行训练和评估,更新predictor。在第3次迭代时,扩展S2中的每个cell,得到所有包含
3个block的cell,S’3= B1:3;使用predictor选取前K个cell得到S3,对这些cell进行训练和评估,更新predictor。迭代上述过程,直到每个cell含有K个block。

predictor的选择 见https://blog.csdn.net/yayayamaomaoya/article/details/118464630?spm=1001.2014.3001.5501

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值