AutoML入门概述

目录

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张图片 图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 每一个时间步的输出

2.1.2  强化学习训练

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

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

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

 

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

 这个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张图片 图3 并行和异步更新加速训练模型

 

 2.1.4 Skip-connect 的生成

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

AutoML入门概述_第4张图片 图4 带锚点的控制器

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

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

2.1.5 RNN控制器结点架构

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

AutoML入门概述_第5张图片 图5 RNN控制器内部结构

2.2 NASNet Search Space

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

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

AutoML入门概述_第7张图片 图6 Normal cell 和Reduction cell

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

AutoML入门概述_第8张图片 图7 搜索方式

3.  总结

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

你可能感兴趣的:(机器学习)