NASNet

 

论文:Learning Transferable Architectures for Scalable Image Recognition

github:https://github.com/tensorflow/models/tree/master/research/slim/nets/nasnet

 

cvpr2017 google brain作品,利用强化学习,使用500块p100训练4天多得到的网络结构NASNet,不管在精度还是在速度上都超越了人工设计的经典结构。

 

论文贡献:

(1)设计了新的搜索空间,即NASNet search space,并在实验中搜索得到最优的网络结构NASNet

(2)提出新的正则化技术,ScheduledDropPath,是DropPath方法的改进版,可以大大提高了模型的泛化能力。

DropPath方法在训练过程中以随机概率p进行drop,该概率训练中保持不变。而ScheduledDropPath方法在训练过程线性的提高随机概率p。

 

文章类似resnet和inception一样,进行基本block的堆叠生成最终网络。因此搜索最优网络的时候,只搜索最优block。这样的好处,

(1)可以极大的加快搜索速度

(2)基础block对其他分类,检测问题都具有很好的泛化能力

 

网络整体结构:

NASNet_第1张图片

上图分别为cifar-10和ImageNet的网络结构,由于cifar-10的网络输入为32*32,而ImageNet的网络输入为299*299,因此,ImageNet网络具有更多的模块堆叠,更大的深度。

网络结构中主要包含2个模块,Normal cell和Reduction cell。然后进行这2个模块的堆叠形成最终的网络。

 

搜索过程:

NASNet_第2张图片

如上图所示,控制器RNN从搜索空间中以概率p预测网络结构A。worker单元,学习该网络直到收敛,并得到准确性R。最终将梯度p*R传递给RNN控制器进行梯度更新。

NASNet_第3张图片

控制器依次搜索隐藏状态,隐藏状态,何种操作,何种操作,何种组合方法,这5个方法和操作的组合。其中,每种方法,每种操作都对应于一个softmax损失。这样重复B次,得到一个最终block模块。最终的损失函数就有5B个。实验中最优的B=5。

图右为根据图左得到的一个示例组合,与图左根据颜色一一对应。

NASNet_第4张图片

其中,黄色的可选的操作包括上图所示的13种操作。

 

最终论文得到了3个网络结构,分别为NASNet-A,NASNet-B, NASNet-C。

NASNet-A

NASNet_第5张图片

NASNet-B

NASNet_第6张图片

NASNet-C

NASNet_第7张图片

搜索策略:

NASNet_第8张图片

文章进行了布鲁斯-随机搜索(RS)和强化学习(RL)的对比,得出强化学习(红色)可以获得比随机搜索(蓝色)更好的结果。

 

实验结果:

NASNet_第9张图片

从图中可以看出,不管是乘-加计算量,还是参数量,NASNet都优于目前人工设计的网络结构。

 

总结:

(1)延续NAS论文的核心机制使得能够自动产生网络结构,AutoML以后将会是一个非常具有潜力的研究方向,google,第四范式等都有着方面的研究。

(2)采用resnet和Inception重复使用block结构思想。

(3)利用迁移学习将生成的网络迁移到大数据集上提出新的搜索空间NASNet。

(4)提出新的正则化技术ScheduledDropPath

你可能感兴趣的:(AUTOML)