AUTO ML

AUTO ML架构分析

以下理解主要是基于Google Brain的一篇论文。
近年来,越来越多人从事神经网络结构的自动化设计方面的研究,但是,大规模神经网络的生成却一直没有比较好的成果。这里基于之前在ImageNet中训练的网络VGG、Inception、ResNet等中的经验,设计了一种通用的网络架构,该网络架构由基础的卷积Cell组成。
AUTO ML_第1张图片

One inspiration for the NASNet search space is the realization that architecture engineering with CNNs often identifies repeated motifs consisting of combinations of convolutional filter banks, nonlinearities and a prudent selection of connections to achieve state-of-the-art results (such as the repeated modules present in the Inception and ResNet models [59, 20, 60, 58]). These observations suggest that it may be possible for the controller RNN to predict a generic convolutional cell expressed in terms of these motifs. This cell can then be stacked in series to handle inputs of arbitrary spatial dimensions and filter depth.

这种设计就将生成神经网络结构的工作简化为搜索最佳Cell结构,并且不同数据集之间的Cell是可以通用的,在Cifar-10中训练出来的Cell可以应用于Image-Net数据集的网络结构中去,并且取得了不错的效果,是一种设计大规模神经网络的不错的方法。

使用NAS在一定的范围内搜索最佳的Cell结构

在NAS架构中,使用RNN作为筛选子网络的控制器,获取每个子网络处理一个特定的验证数据集的精度,每个子网络的精度数据将会被用于更新RNN构成的控制器,这样RNN就会逐渐进行学习如何对特定的数据集生成验证精度较高的子网络。
梯度更新方式如下:
AUTO ML_第2张图片

核心工作

设计了一个新型的搜索空间,NAS在该空间内搜索最佳的Cell架构,命名为NASNet 搜索空间。

网络框架

AUTO ML_第3张图片
作者参照大规模神经网络的设计经验,对Cifar-10和ImageNet两种不同数据集分别设计出基础架构,这两种架构都是由两种Cell拼接而成:

  • Normal Cell:返回相同维度的数据
  • Reduction Cell:返回的feature的长宽为输入的一半

RNN控制器的功能就是从NASNet状态空间中搜索适合数据集的最佳Cell结构。并将该Cell填充到基础架构中去,即可得到一个完整的神经网络。

NASNet 搜索空间

搜索空间中的Cell由以下五个步骤生成,每一步都可以简化为一个分类问题,即五个softmax分类器。每次RNN控制器就基于搜索空间,执行一个五维的动作,选出要添加的Cell。
AUTO ML_第4张图片
下面描述下这五步的动作空间:
第一步和第二步中的状态是从现有的状态集中选择出来的。
这里第三步和第四步中的operation分为如下几种:
AUTO ML_第5张图片
而对于第五步中的组合操作,有如下两种:

  • 将两个隐藏状态进行简单的相加
  • 将两个隐藏层中的数据连接

上述的五步操作如下图所示:
AUTO ML_第6张图片
而下面是一个较为简单的例子:
AUTO ML_第7张图片

训练方式

这里可以采用强化学习对RNN控制器进行训练,谷歌论文里面采用的是PPO,强化学习的要素如下:
状态集:NASNet搜索空间
动作集:生成下一步的Cell的五个动作,即Step1-Step5
回报:即生成的Cell对测试数据的测试精度

你可能感兴趣的:(循环神经网络,强化学习,AUTOML)