目录

2. AutoML原理 

2.1 NAS

2.1.1 RNN控制器

2.1.2  强化学习训练

2.1.3 并行和异步更新加速训练

2.1.4 Skip-connect 的生成

2.1.5 RNN控制器结点架构

2.2 NASNet Search Space

3.  总结


传统的计算学习方式包括特征提取,模型设计以及参数调优三大部分,而自动机器学习(Auto Machine Learning ,AutoML) 如其名所示,整个机器学习的过程是自动完成的,只需要输入数据就可以得到输出,如图所示。目前AutoML主要以图像分类作为切入点,已经取得了较好的实验结果。

AutoML入门概述
图1 传统机器学习与AutoML

 

2. AutoML原理 

目前的AutoML主要是基于Neural Architecture Search(NAS),即神经网络结构搜索技术,通过某种算法实现神经网络的自动生成主要包含搜索空间、搜索策略以及性能评估等方面来进行。NAS通过控制器采用生成网络结构后,模型会根据这个网络模型计算任务的正确率,然后根据这个正确率决定奖励还是惩罚,从而更新采样控制器。

2.1 NAS

NEURAL ARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING 提出了一种NAS算法如图1所示,通过使用RNN作为控制器那后以p为概率采样网络架构A,然后计算包含架构A子网络的正确率,然后根据概率缩放梯度来更新控制器。具体包含以下几个步骤

2.1.1 RNN控制器

每一个时间步通过softmax给出各种网络参数的预测并作为下一个时间步的输入,如图2所示。可以看到网络的各种参数作为目标输出在同一个时间步给出。

AutoML入门概述
图2 每一个时间步的输出

2.1.2  强化学习训练

使用强化学习训练控制器,整个AutoML需要训练的是基于RNN的控制器,采用训练的方式为强化学习,目标函数是最大化正确率R的期望:

AutoML入门概述

由于目标函数不可微,根据强化学习准则可以得到

AutoML入门概述

为了更方便的计算,对上式进行近似处理得到

 AutoML入门概述

虽然上式是梯度的无偏估计,但是其方差很高,因此修改后得到

AutoML入门概述

 这个b是一个参数 “b is an exponential moving average of the previous architecture accuracies

2.1.3 并行和异步更新加速训练

由于NAS计算开销很大,为了更快的训练需要引入各种各样的方式去优化,并行和异步在NEURAL ARCHITECTURE SEARCH WITH REINFORCEMENT LEARNING中被提出,如图3所示。使用一组参数S服务器存储参数并将参数发送到K个控制器副本。 然后,每个控制器副本将对m种架构进行采样并并行运行多个子模型。 记录每个子模型的准确性计算相对于θc的梯度,然后将其发送回参数服务器。

AutoML入门概述
图3 并行和异步更新加速训练模型

 

 2.1.4 Skip-connect 的生成

熟悉图像分类的都知道ResNet这种网络结构,通过skip-connect的连接方式缓解梯度爆炸或者消失。为了使得RNN控制器也可以生成这种网络结构,在2.1.1的基础之上增加了锚点。  在第N层,添加一个锚点,该锚点具有基于N -1个基于内容的Sigmoid函数,以指示之前需要连接的层,如图4所示。这种机制叫set-selection type attention。

AutoML入门概述
图4 带锚点的控制器

引入skip-connect会因为feature map的维度不同导致一些问题,为了解决这些问题提出了一些预案:

  1.  如果这一层未连接到任何输入,则将原始图像用作输入。
  2. 在最后一层,我们将尚未连接的所有层输出连接起来,然后将其最终隐藏状态发送给分类器。
  3. 如果要拼接的feature map大小不同,我们将小层填充零,以便串联的层大小相同 

2.1.5 RNN控制器结点架构

传统的RNN及其变形不适用于AutoML的任务,因此需要对其进行修改。作者提出了一种树形计算结构,有点类似tensorflow的计算图,通过对合并计算结点与数据生成一棵计算树,如图5所示。

AutoML入门概述
图5 RNN控制器内部结构

2.2 NASNet Search Space

Learning Transferable Architectures for Scalable Image Recognition 在NAS的基础之上提出了一套新的搜索空间,而不是像NAS一样预测卷积操作的所有参数。取而代之的是预测各种网络架构。下面展示了在图像领域常用的各种网络层。
AutoML入门概述

然后将它们分成两类 即Normal cell 和Reduction cell, 以CIFAR 10和ImageNet为例。 Normal cell表示计算后feature  map的大小没有变化的cell,而Redcution cell表示经过计算后feature  map大小发生变化的cell。

AutoML入门概述
图6 Normal cell 和Reduction cell

搜索方式也是一种类似计算树的方式,具体细节这里就不再展开了,有兴趣的读者可以去阅读原文。

AutoML入门概述
图7 搜索方式

3.  总结

AutoML生成的网络结构已经证实比现有人工设计的网络结构性能要好。但是其训练过程对设备要求较高,目前已经有很多公司提供了AutoML的学习框架了,如Auto Keras, Auto sklearn等。目前研究方向分为三大类:搜索方式,搜索空间和参数优化。

相关文章: