AutoML:最新技术概览

原文链接:https://arxiv.org/pdf/1908.00709.pdf

Xin He, Kaiyong Zhao, Xiaowen Chu∗
Department of Computer Science, Hong Kong Baptist University
Email: {csxinhe, kyzhao, chxw}@comp.hkbu.edu.hk

Abstract

深度学习已渗透到我们生活的方方面面,并为我们带来了极大的便利。 但是,针对特定任务构建高质量的深度学习系统的过程不仅耗时,而且需要大量资源,并且依赖于人类的专业知识,这阻碍了行业和学术界深度学习的发展。 为了缓解这个问题,越来越多的研究项目专注于自动机器学习(AutoML)。 在本文中,我们提供了有关最新的AutoML的全面而最新的研究。 首先,我们根据机器学习管道详细介绍AutoML技术。 然后,我们总结了现有的神经体系结构搜索(NAS)研究,这是AutoML中最受欢迎的主题之一。 我们还将NAS算法生成的模型与这些人为设计的模型进行比较。 最后,我们提出了一些未解决的问题,以供将来研究。
关键词:machine learning, AutoML, NAS, survey

1. Introduction

如今,深度学习已应用于各个领域,并解决了许多具有挑战性的AI任务,包括对象分类和检测,语言建模,推荐系统等。具体地说,在AlexNet [1]在2012年ImageNet挑战赛中胜过所有其他传统手动方法之后 ,提出了越来越复杂和深入的神经网络。 以VGG-16 [2]为例,它具有超过1.3亿个参数,占据了近500 MB的存储空间,并且需要153亿个浮点运算来完成图像识别任务。 但是,必须指出的是,这些模型都是由专家通过反复试验手动设计的,这意味着即使拥有相当多的专业知识,我们仍然必须花费大量的资源和时间来设计这种性能良好的模型。
在这里插入图片描述
图1:使用强化学习的神经体系结构搜索概述(来自[3])。
 
为了降低如此巨大的成本,已经出现了使机器学习的整个流水线过程自动化的新想法,即,自动机器学习(AutoML)。 AutoML有多种定义。 例如,根据Wikipedia 1,“ AutoML是使端到端过程自动化的过程,该过程应用适当的数据预处理,特征工程,模型选择和模型评估来解决特定任务”。 在[4]中,AutoML被定义为自动化和机器学习的结合。 换句话说,AutoML可以自动建立具有有限计算预算的机器学习管道。
 
无论如何定义AutoML,都必须指出,AutoML不是一个全新的概念。之所以成为工业界和学术界最近的热门话题,是因为计算能力得到了极大的提高,因此动态组合不同的技术以形成端到端的易于使用的流水线系统是可能且实际的(如图2所示。许多AI公司都提供了这样的系统(例如Google的Cloud AutoML 2)来帮助几乎没有机器学习知识的人构建高质量的定制模型。事实上,这是Zoph等人的工作。 [5]提请注意AutoML。在[5]中,通过强化学习训练循环网络以自动搜索性能最佳的体系结构(图1)。从那时起,人们提出了越来越多的有关AutoML的工作,其中大多数工作主要集中在神经体系结构搜索(NAS)上,该体系结构旨在通过从预定义的搜索空间中选择和组合不同的基本组件来生成健壮且性能良好的神经体系结构。根据一些搜索策略。我们将从两个角度介绍NAS。首先是模型的结构。通用结构包括整个结构[5] – [7],基于单元格的结构[6],[8] – [11],层次结构[12]和基于态射的结构[13] – [15]等。第二个是用于设计模型结构的超参数优化(HPO)。广泛使用的方法包括强化学习(RL)[5],[6],[8],[9],[16],进化算法(EA)[17] – [23]和梯度下降(GD)[ 10],[24],[25],贝叶斯优化[26]-[32]等。除NAS之外,AutoML还涉及其他已研究了很长时间的技术,我们基于机器学习管道将这些技术分为以下类别,如图2所示:数据准备,特征工程,模型生成和模型评估。
 
必须指出,AutoML的许多子主题都足够大,可以拥有自己的调查表。 但是,我们的目标不是对所有子主题进行彻底的调查,而是将重点放在AutoML领域的研究范围上。 因此,在以下各节中,我们将仅选择最具代表性的作品进行讨论和分析。 此外,尽管不同子主题之间存在模糊的边界,但我们认为这不会影响我们对AutoML发展的理解,因为有时很难清楚地分离出几个问题。 例如,模型选择也可能是HPO的问题,因为它的主要目的是优化原始模型组件的组合,但是模型选择包含HPO所不涉及的一些重要技术,因此有必要采用 除HPO外,还进行了模型选择讨论。
在这里插入图片描述
图2:AutoML管道概述,涵盖数据准备(第二部分),功能工程(第三部分),模型生成(第四部分)和模型评估(第五部分)。
 
本文的贡献如下:
 
1)尽管有几项与AutoML相关的调查(例如[3],[4],[33]),但根据机器学习的流程(图2),我们涵盖了更广泛的现有AutoML技术,从而得出了 初学者对AutoML有全面而清晰的了解。 具体来说,我们将数据收集过程扩展到管道中,这可以提高AutoML框架的通用性。
 
2)目前,NAS已成为AutoML中最受欢迎的子主题之一。 因此,本文从各个方面对各种NAS算法进行了详细的比较,包括基准数据集的性能,搜索的时间和资源成本以及最佳模型的大小。
 
3)除了总结现有作品外,我们还讨论了当前面临的一些开放性问题,并提出了一些有希望的未来作品。
 
本文的其余部分如下:数据准备,特征工程,模型生成和模型评估的过程分别在第二,第三,第四和第五部分中介绍。 在第六节中,我们对NAS算法进行了详细的总结,并比较了NAS生成的模型和人工设计的模型的性能。 在第七节中,我们提出了一些关于AutoML的未解决问题,并讨论了相应的有前途的未来工作。 最后,我们在第八节中完成了调查。

2. 数据准备

众所周知,机器学习流程的第一步是准备数据,但是对于许多任务,例如医学图像识别,很难获得足够的数据,或者数据的质量不够好。 因此,强大的AutoML系统应该能够处理此问题。 接下来,我们将其分为两个步骤:数据收集和数据清理。

A. 数据采集

随着机器学习(ML)的研究越来越深入,人们逐渐意识到数据非常重要,这就是为什么出现了大量开放数据集的原因。 在ML研究的早期,提供了一个手写数字数据集,即MNIST [34]。 之后,还提出了更大的数据集,如CIFAR10和CIFAR100 [35]和ImageNet [1]。 此外,我们还可以通过在以下网站中键入关键字来搜索各种数据集:Kaggle [36],Google Dataset Search(GOODS)[37],Elsevier Data Search [38]。
 
但是,当涉及特殊任务时,尤其是像医疗任务或其他涉及隐私的任务时,通常很难通过上述方法找到合适的数据集。 提出了两种类型的方法来解决此问题:数据合成和数据搜索。
 
1)数据综合:鉴于广泛的计算机视觉问题,这里我们仅讨论生成综合数据的一些代表性方法。最常用的方法之一是扩充现有数据集。对于图像数据,有许多增强操作,包括裁切,翻转,填充,旋转和调整大小等。Python库(例如torchvision [39]和Augmentor [40])提供了这些增强操作以生成更多图像。 Wong等。 [41]提出了两种创建额外训练示例的方法:数据扭曲和合成过采样。前者通过在数据空间上应用变换来生成其他样本,而后者通过特征空间来创建其他样本。对于文本数据,同义词插入是一种常见的扩充方法。另一个想法是先将文本翻译成某种外语,然后再将其翻译回原始语言。最近,谢等人。 [42]提出了一种非特定领域的数据增强策略,该策略在RNN中使用了噪声,并且在语言建模和机器翻译等NLP任务中表现良好。 Yu等。 [43]建议使用反向翻译来增强数据的阅读理解能力。
 
在某些特殊任务(例如自动驾驶)方面,由于存在潜在的安全隐患,因此在研究阶段无法直接在现实世界中测试和调整模型。因此,为此类任务创建数据的一种实用方法是数据模拟器,它试图尽可能地匹配现实世界。例如,OpenAI Gym [44]是一种流行的工具包,提供了各种仿真环境,开发人员可以在其中集中精力设计算法,而不必为生成数据而费力。它也用于辅助机器学习[45]。此外,在[46]中提出了一种基于强化学习的方法,用于优化数据模拟器的参数以控制合成数据的分布。
在这里插入图片描述
图3:GAN生成的人脸图像。 (来自[47])
 
另一项新颖的技术是“生成对抗网络”(GAN)[47],它不仅可以用于生成图像,还可以用于生成文本数据。 图3显示了一些人脸图像,这些图像是GAN在Karras等人的工作中生成的。 [48]。 而不是生成图像,Eno等人。 [49]开发一种综合数据定义语言(SDDL)为Iris数据集[50]创建新数据。 此外,自然场景文本也可以在[51],[52]中生成。 哦,Jaroensri等。 [53]建立一个合成的数据集,它捕获视频运动放大的小运动。
 
2)数据搜索:由于Internet上存在取之不尽用之不竭的数据,一种收集数据集的直观方法是搜索网络数据[54]-[57]。但是使用网络数据存在一些问题。一方面,有时搜索结果与关键字不完全匹配。为了解决这个问题,一种方法是过滤不相关的数据。例如,Krause等。 [58]将不准确的结果划分为跨域和跨类别的噪声,它们会删除出现在搜索结果中的多个类别的图像。 Vo等。 [59]对相关结果重新排序,并根据关键词线性提供搜索结果。另一个问题是Web数据可能带有错误的标签,甚至没有标签。基于学习的自标记方法通常用于解决此问题。例如,主动学习[60]是一种选择最“不确定”的未标记个体示例来要求人类标记的方法,然后它将迭代地标记其余数据。为了使人们摆脱标签化并进一步加快标签化过程,提出了许多半监督学习自标签化方法。 Roh等。 [61]将自我标记方法概括为以下几类:自我训练[62],[63],共同训练[64],[65]和共同学习[66]。此外,由于网络图像内容的复杂性,单个标签不能很好地描述图像,因此,Yang等人。 [67]为网络图像分配多个标签,并且如果这些标签具有非常接近的置信度得分或具有最高得分的标签与图像的原始标签相同,则他们选择该图像作为新的训练样本。
 
另一方面,Web数据的分布可能与目标数据集完全不同,这将增加训练模型的难度。 常见的解决方案是微调这些Web数据[68],[69]。 杨等。 [54]模型训练和网络数据过滤的迭代算法。 此外,数据集不平衡也是一个普遍的问题,因为某些特殊类的Web数据可能很少。 为了解决这个问题,提出了合成少数族群过采样技术(SMOTE)[70],以在现有真实少数族裔样本之间合成新的少数族裔样本,而不是对其进行上采样或下采样。 郭等。 [71]提出将boosting方法与数据生成相结合,以增强针对不平衡数据集的模型的泛化性和鲁棒性。

B.数据清理

在进入特征生成之前,必须对原始数据进行预处理,因为存在多种类型的数据错误(例如,冗余,不完整或不正确的数据)。以表格数据为例,常见的错误类型是缺失值,错误的数据类型。广泛用于数据清理的操作包括标准化,缩放,定量特征的二值化,一键编码定性特征以及用平均值填充缺失值等。就图像数据集而言,有时可能会为图像分配错误的标签在这种情况下,可以使用上面提到的类似自标记的技术来解决该问题。但是,数据清理过程通常需要预先手动定义,因为即使对于同一数据集,不同的方法也可能有不同的要求。例如,神经网络只能处理数字数据,而基于决策树的方法则可以处理数字和分类数据。提出了包括[72] – [75]在内的工作以自动化数据清理过程。

3. 特征工程

在行业中,人们普遍接受数据和特征确定机器

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值