论文地址:*https://arxiv.org/abs/1810.13306 。
这是一篇来自第四范式(4Paradigm)公司的关于AutoML的综述文章。第四范式是目前国内关于AutoML研究较早较深入的公司之一。AutoML全称是Automated Machine Learning,是2014年以来,机器学习和深度学习领域最炙手可热的领域之一。本篇综述文章系统地对AutoML领域给出了综述,从出现原因、问题定义、问题构成、基本策略、高级策略、应用、及总结等方面进行了全面的介绍。下面是一些简要的笔记。
AutoML出现原因
机器学习的应用需要大量的人工干预,这些人工干预表现在:特征提取、模型选择、参数调节等机器学习的各个方面。AutoML视图将这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可被应用。
AutoML问题定义
作者从机器学习和自动化两个角度给出了定义: - 从机器学习角度讲,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主要回答三个问题: - 这种策略能能够快速进行评价吗? - 这种策略能够提供准确的评价吗? - 这种策略需要怎样的反馈?
基本的评价策略包括: - 直接评价。直接在目标数据上进行评价。这是被使用最多的策略。 - 采样。当数据样本量非常大时,采样一些样本进行评价。 - Early stop。当遇到一些极端情况使得网络表现效果不好时,可以考虑进行early stop。 - 参数重用。将之前学习过的参数重复利用在新任务上。这在两种任务配置差不多时可用。 - 共轭评价。对于一些可量化的配置,可以用共轭评价法进行。
高级评价策略
高级评价策略主要包括两种:meta-learning和transfer learning。
- Meta-learning法。从先前的学习经验中提炼出基本的参数和结构配置。
- Transfer learning法。从先前的学习经验中提炼出可以重用的一些知识。
应用
- 使用Auto-sklearn进行模型选择。
- 使用强化学习进行neural architecture search。
- 使用ExploreKit进行自动特征构建。
展望
未来可能的研究方向:
- 提高AutoML的效率。
- 更明确的问题定义。
- 发展基本和高级的搜索策略。
- 找到更适合的应用。