NAS论文笔记(使用RL进行NAS):Learning Transferable Architectures for Scalable Image Recognition

论文主要工作

论文提出了一种使用强化学习自动搜索图像识别网络的方法,主要工作如下

  1. 定义了一个名为NASNet Search Space的搜索空间,使得在小数据集上训练得到的网络架构模块(注意是模块,不是整个网络架构),可以迁移到大数据集上网络架构的构建。
  2. Neural Architecture Search with Reinforcement Learning提出的方法进行了改进,提出了一种新的正则化方法——ScheduledDropPath(本文不会总结)

由于计算资源的限制,本文不会过多解释如何使用强化学习进行NAS search


定义神经网络搜索空间

在介绍NASNet Search Space灵感来源之前,先了解一下NASNet Search Space

NASNet Search Space

NASNet Search Space将神经网络结构看成由一系列的模块(又叫Cell)堆叠而成,组成神经网络的Cell个数是提前固定的,神经网络的大体架构被预定义好,论文定义了两种类型的Cell——Normal Cell以及Reduction Cell,论文在CIFAR10和ImageNet上预定义的神经网络结构如下:
在这里插入图片描述
NASNet Search Space将神经网络的层数(深度)固定,只搜索Cell的结构。该搜索空间包含的神经网络具有相同的深度,但是具有不同的Cell结构。而在AutoML的某些方法中,神经网络结构的搜索空间包含的神经网络具有不同的深度,每层的操作(例如卷积、池化)也不同,假设该搜索空间为Temp Search Space,这么做的优点有两个:

  1. 相比于Temp Search Space, NASNet Search Space的大小更小,在相同搜索次数的前提下,NASNet Search Space可以更好的被探索,举个例子,假设搜索次数为10次,NASNet Search Space包含的神经网络结构数目为100,Temp Search Space包含的神经网络结构数目为1000,那么NASNet Search Space被探索了10%,而Temp Search Space仅被探索了1%,但是这么做有个问题,虽然NASNet Search Space更小,但是对于某个数据集来说,NASNet Search Space搜索到的网络架构足够优秀吗?
  2. 探索到的Cell具有一定的泛化能力,可能同样适用于其他数据集上的识别任务。

论文最终通过实验验证了上述两个优点,从而确认了NASNet Search Space的优势

  1. 对于CIFAR10数据集,NASNet Search Space包含的网络架构足够优秀
  2. 探索到的Cell结构具有一定的泛化能力,能适应ImageNet数据集

Normal Cell以及Reduction Cell的介绍可以查看AutoML论文笔记(aging evolution):Regularized Evolution for Image Classifier Architecture Search,实践表明定义两类Cell更加有益,Reduction Cell输出的特征图是Normal cell的两倍


NASNet Search Space灵感来源

大多数的CNN网络架构都是通过堆叠一系列相同模块(相当于cell)来实现的,例如通过堆叠Separable Convolution+BN+Relu的Xception,这意味着我们或许可以利用强化学习来发现一种或多种cell结构,通过堆叠发现的cell结构,来进行不同的图像识别任务


算法的超参数

  1. 一个stack中Normal Cell的个数N
  2. 卷积操作中过滤器的个数F

使用RL进行NAS搜索

定义完了搜索空间,接着便是搜索搜索空间,本论文使用RL(强化学习)进行搜索,具体的实现方法请查看Neural Architecture Search with Reinforcement Learning

大致的搜索方法如下:
在这里插入图片描述

RNN产生一种网络结构,将该网络结构训练至收敛,其在验证集上的准确率用于更新RNN,以让其产生更好的网络架构,RNN的权重通过策略梯度进行更新,在本论文中,RNN将用于生成Cell结构,具体流程如下:
在这里插入图片描述
初始状态时,将含有两个隐藏状态(特征图),接着,RNN采用五个步骤,用于生成一个Cell结构

  1. 从隐藏状态集中(含有经过不同处理的特征图集合,例如卷积、池化)选择一个隐藏状态
  2. 选择第二个隐藏状态
  3. 选择一个op操作(例如卷积)应用于第一个隐藏状态
  4. 选择另一个op操作(例如池化)应用于第二个隐藏状态
  5. 选择一个combine操作应用于3、4步骤的结果,具体可以是add,或是concat,产生的隐藏状态进入到隐藏状态集中,应用于下一阶段生成新的隐藏状态

重复上述5个步骤B次后(论文将B设置为5),所有未使用过的隐藏状态将在深度方向进行concat,做为Cell的输出,举个例子:
在这里插入图片描述
注意到一个Cell初始时有两个特征图输入,其实是一个残差结构,例如Normal Cell之间的连接如下图:
在这里插入图片描述
网络架构中第一个Cell的两个特征图输入均为输入图像,可供RNN选择的op操作如下:
在这里插入图片描述

可供RNN选择的combine操作有add或是深度方向的concat

论文通过上述搜索方法,利用一个RNN,搜索Normal Cell与Reduction Cell的结构


实验过程与结果

使用上述方法,利用500个GPU训练后,在CIFAR-10上得到的Cell结构如下:
在这里插入图片描述


在CIFAR-10上的识别结果

CIFAR-10上使用的网络架构之前已经给出,具体结果如下表:
在这里插入图片描述
x@y表示N=x,F=y,关于F与N的解释,请查看超参数一节,可以看到,NASNet-A(7@2304)+cutout具有最优秀的准确率,足以可以对于CIFRA-10数据集来说,NASNet Search Space是一个良好定义的搜索空间


在ImageNet上的识别结果

通过在CIFAR-10上发现的Cell结构直接应用于预定义好的ImageNet网络架构,并重头训练,得到的结果如下:
在这里插入图片描述
可以看到,NASNet-A(6@4032)具有最优秀的top-1和top-5准确率,可见学得的Cell具有一定的泛化能力


具有计算资源限制的识别结果

论文同时将发现的Cell结构应用于具有计算资源限制的场景中,例如手机上,在ImageNet数据集上的结果如下:
在这里插入图片描述
可以看到,NASNet-A(4@1056)具有最高的准确率,可见学得Cell结构非常的优秀

值得注意的是,在CIFAR-10数据集上,在NASNet Search Space上使用随机搜索得到的网络结构也具有较高的准确率,可见对于CIFAR-10数据集,NASNet Search Space具有良好的定义

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值