自动机器学习(AutoML)最新综述

AutoML出现原因

机器学习的应用需要大量的人工干预,这些人工干预表现在:特征提取、模型选择、参数调节等机器学习的各个方面。AutoML 试图将这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可被应用。

AutoML问题定义

作者从机器学习和自动化两个角度给出了定义:

1. 从机器学习角度讲,AutoML 可以看作是一个在给定数据和任务上学习和泛化能力非常强大的系统。但是它强调必须非常容易使用;

2. 从自动化角度讲,AutoML 则可以看作是设计一系列高级的控制系统去操作机器学习模型,使得模型可以自动化地学习到合适的参数和配置而无需人工干预。

一个通用的 AutoML 定义如下:

自动机器学习(AutoML)最新综述

AutoML的核心任务:
● Better performance
● No human assistance
● Lower computation budgets

AutoML问题构成

AutoML 的主要问题可以由三部分构成:特征工程、模型选择、算法选择。

特征工程

特征工程在机器学习中有着举足轻重的作用。在 AutoML 中,自动特征工程的目的是自动地发掘并构造相关的特征,使得模型可以有最优的表现。除此之外,还包含一些特定的特征增强方法,例如特征选择、特征降维、特征生成、以及特征编码等。这些步骤目前来说都没有达到自动化的阶段。

上述这些步骤也伴随着一定的参数搜索空间。第一种搜索空间是方法自带的,例如PCA自带降维参数需要调整。第二种是特征生成时会将搜索空间扩大。

模型选择

模型选择包括两个步骤:选择一个模型,设定它的参数。相应地,AutoML的目的就是自动选择出一个最合适的模型,并且能够设定好它的最优参数。

算法选择

对于算法选择,AutoML 的目的是自动地选择出一个优化算法,以便能够达到效率和精度的平衡。常用的优化方法有 SGD、L-BFGS、GD 等。使用哪个优化算法、对应优化算法的配置,也需要一组搜索空间。

从全局看

将以上三个关键步骤整合起来看,一个完整的 AutoML 过程可以分成这么两类:一类是将以上的三个步骤整合成一个完整的 pipeline;另一类则是 Network Architecture Search,能够自动地学习到最优的网络结构。在学习的过程中,对以上三个问题都进行一些优化。

基本的优化策略

一旦搜索空间确定,我们便可以实用优化器(optimizer)进行优化。这里,AutoML 主要回答三个问题:
● 选择的优化器可以作用在哪个搜索空间上?
● 它需要什么样的反馈?
● 为了取得一个好的效果,它需要怎样的配置?

简单的优化搜索方式包括 Grid Search 和 Random Search。其中 Grid Search 被广泛使用。

从样本中进行优化的方法主要包括启发式搜索、derivative-free 优化、以及强化学习方法。梯度下降法是一种重要的优化策略。

评价策略

基本评价策略

在设计评价策略时,AutoML 主要回答三个问题:
● 这种策略能能够快速进行评价吗?
● 这种策略能够提供准确的评价吗?
● 这种策略需要怎样的反馈?

基本的评价策略包括:
1. 直接评价:直接在目标数据上进行评价,这是被使用最多的策略;
2. 采样:当数据样本量非常大时,采样一些样本进行评价;
3. Early Stop:当遇到一些极端情况使得网络表现效果不好时,可以考虑进行 early stop;
4. 参数重用:将之前学习过的参数重复利用在新任务上,这在两种任务配置差不多时可用;
5. 共轭评价:对于一些可量化的配置,可以用共轭评价法进行。

高级评价策略

高级评价策略主要包括两种:Meta-learning 和 Transfer Learning。

1. Meta-learning 法:从先前的学习经验中提炼出基本的参数和结构配置;

2. Transfer learning 法:从先前的学习经验中提炼出可以重用的一些知识。

应用

● 使用 Auto-sklearn 进行模型选择;
● 使用强化学习进行 Neural Architecture Search;
● 使用 ExploreKit 进行自动特征构建。

展望

未来可能的研究方向:
● 提高AutoML的效率;
● 更明确的问题定义;
● 发展基本和高级的搜索策略;
● 找到更适合的应用。

原文发布时间为:2018-11-7
本文作者:王晋东
本文转自:云栖社区,转载此文目的在于传递更多信息,版权归原作者所有。