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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介:

AutoML出现原因

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

AutoML问题定义

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

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

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

一个通用的 AutoML 定义如下:

2ceffb8a92ac9d0c17eb237321a1e7a55691956f

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
本文作者:王晋东
本文来自云栖社区合作伙伴“ PaperWeekly”,了解相关信息可以关注“ PaperWeekly”。
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测
66 0
|
4月前
|
机器学习/深度学习 自然语言处理 算法
Azure - 自动化机器学习AutoML Azure使用详解
Azure - 自动化机器学习AutoML Azure使用详解
42 0
|
2月前
|
机器学习/深度学习 数据采集 算法
探索XGBoost:自动化机器学习(AutoML)
探索XGBoost:自动化机器学习(AutoML)
218 40
|
4月前
|
机器学习/深度学习 数据采集
Azure 机器学习 - 使用 AutoML 预测进行深度学习
Azure 机器学习 - 使用 AutoML 预测进行深度学习
54 0
|
4月前
|
机器学习/深度学习 存储 算法
Azure 机器学习 - 使用无代码 AutoML 训练分类模型
Azure 机器学习 - 使用无代码 AutoML 训练分类模型
47 0
|
4月前
|
机器学习/深度学习 开发工具 异构计算
Azure 机器学习 - 使用 AutoML 和 Python 训练物体检测模型
Azure 机器学习 - 使用 AutoML 和 Python 训练物体检测模型
58 0
|
5月前
|
机器学习/深度学习 自然语言处理 算法
Azure - 自动化机器学习AutoML使用详解
Azure - 自动化机器学习AutoML使用详解
73 0
|
机器学习/深度学习 Kubernetes 算法
浅析自动机器学习(AutoML)工具NNI(上)
NNI 简介 NNI (Neural Network Intelligence) 是一个轻量级但功能强大的自动机器学习(AutoML)工具包,可帮助用户自动化特征工程、神经架构搜索、超参数调优和模型压缩,并支持单机、本地多机、云等不同的运行环境。
|
机器学习/深度学习 JSON 算法
浅析自动机器学习(AutoML)工具NNI(下)
NNI 简介 NNI (Neural Network Intelligence) 是一个轻量级但功能强大的自动机器学习(AutoML)工具包,可帮助用户自动化特征工程、神经架构搜索、超参数调优和模型压缩,并支持单机、本地多机、云等不同的运行环境。
|
机器学习/深度学习 数据采集 并行计算
一文彻底搞懂自动机器学习AutoML:Auto-Sklearn
本文将系统全面的介绍自动机器学习的其中一个常用框架: Auto-Sklearn,介绍安装及使用,分类和回归小案例,以及一些用户手册的介绍。

热门文章

最新文章