本文要点
自动机器学习(AutoML)非常重要,因为它使得数据科学家能够节省时间和资源,更快、更有效地交付业务价值
在行业特定知识以及将业务问题转化为机器学习问题方面,AutoML不太可能能消除“人机回圈”需求
该领域的一些重要研究课题包括特征工程、模型透明化和解决偏差
现在有几种商业和开源的AutoML解决方案可用于自动化机器学习过程的不同部分
AutoML的局限性包括所需的计算资源量和特定于领域应用程序的需求
近年来,机器学习在许多问题的解决上都取得了很大的成功。
特别是,在语言翻译、对象识别、游戏、甚至自动驾驶等任务中,神经网络已经达到了人类(有时甚至是超人)的能力水平。
随着能力的增长,复杂性也随之增加。数据科学家和机器学习工程师必须执行特征工程,设计模型架构,并优化超参(Hyperparameters)。
由于机器学习的目的是自动化通常由人类完成的任务,因此,其下一步必然是自动化数据科学家和工程师的任务。
这一领域的研究被称为自动机器学习或AutoML。
最近,AutoML 取得了许多令人兴奋的进展,了解一下当前的技术状况,并学习当前正在发生的事情以及未来将要发生的事情是至关重要的。
InfoQ 采访了以下业内的主题专家,讨论了 AutoML 领域的现状及未来趋势。
专题小组成员
Francesca Lazzeri:微软机器学习科学家
Matthew Tovbin:Faros AI的联合创始人
Adrian de Wynter:Alexa AI安全人工智能基金会的应用科学家
Leah McGuire:Salesforce的机器学习架构师
Marios Michailidis:H2O.ai的竞争性数据科学家
InfoQ:AutoML 是什么?为什么它很重要?
Francesca Lazzeri:AutoML是将机器学习模型开发中耗时、迭代任务自动化的过程,包括模型选择和超参调整。当使用自动化系统时,可以降低运行单个实验(例如训练深层神经网络)的高成本和高样本(即需要大量的实验)的复杂性。Auto ML非常重要,因为各行各业的数据科学家、分析师和开发人员都可以利用它来:
在没有广泛编程知识的情况下,实现ML解决方案
节省时间和资源
利用数据科学家的最佳实践
提供敏捷的问题解决方案
Matthew Tovbin:与我们使用软件来自动化重复或复杂过程的方式类似,自动化机器学习是一组技术, 我们可以用它来高效地构建预测模型,而无需人工干预。这些技术包括用于数据处理、特征工程、模型评估和模型服务的方法。借助AutoML,我们可以通过标准化我们所应用的方法来专注于更高层次的目标,比如更快地回答问题并提供业务价值,同时避免执行繁琐的任务,例如数据争论。
Adrian de Wynter:AutoML指的是一种机器学习过程,从数据选择到建模,都可以通过一系列的算法和启发式方法实现自动化。在其最极端的版本中,AutoML是一个完全自动化的系统:提供数据给它,然后它返回一个(或多个)可泛化为未知数据的模型。建模人员所面临的常见障碍(例如超参调优、特征选择、甚至是架构选择)都可以通过一系列的算法和启发式方法来处理。
我认为它的重要性源于这样一个事实,即计算机可以精确地完成你想要它做的事情,而且它非常擅长重复。我在上面提到的大部分障碍恰恰是:重复。找到一个适用于某个问题的超参集是很困难的。找到一个超参集并找到一个解决该问题的架构就更加困难了。再加上混合数据的预处理、调试代码所花费的时间以及试图找到合适的工作环境,你就会开始怀疑计算机是真的在帮助你解决上述问题,还是只是在妨碍你工作。然后,你又遇到了一个新问题,你必须重新开始。
AutoML的关键之处在于,你可以通过使用之前尝试过的一些东西(例如,你的先验知识)来加快建模过程,从而摆脱这种困境。结果表明,上述过程是一种有效的算法,因此可以将其写入计算机程序以实现自动化。
LeahMcGuire:AutoML是机器学习专家,它们实现了自动化。创建高质量模型是一个复杂、耗时的过程。它需要理解数据集和要回答的问题。这种理解随后被用于收集和连接所需的数据,选择要使用的特征,清理数据和特征,将特征转换为模型可以使用的值,为问题选择适当的模型类型,以及调优特征工程和模型参数。AutoML使用基于机器学习最佳实践的算法来构建高质量的模型,而无需专家费时费力的工作。
AutoML非常重要,因为它可以用更少的时间和专业知识创建高质量的模型。公司、非营利组织和政府机构都收集了大量的数据;为了使这些数据得到利用,需要对其进行合成以回答相关问题。机器学习是合成数据以回答相关问题的一种有效方法,特别是当你没有足够的资源聘请分析师花大量时间来查看数据时。然而,机器学习的实现需要专业知识和时间。AutoML试图减少这些障碍。这意味着可以分析和使用更多的数据来做决策。
Marios Michailidis:广义上讲,我会称之为通过机器的力量从数据中自动获取或提取有用信息的过程。数字数据正在以令人难以置信的速度产生。既然公司已经找到了利用数据挖掘价值的方法,那么对数据科学和机器学习进行投资就变得势在必行。然而,数据科学家(人力资源方面)的供给不足以满足当前的需求,因此,提高现有数据科学家的生产力至关重要。通过为现有的数据科学家配备工具和流程,使他们的工作更轻松、更快、更高效,这就是自动机器学习的概念能够提供最大价值的地方。
InfoQ:机器学习过程的哪些部分可以自动化,哪些部分不太可能自动化?
Lazzeri:使用自动化ML,可以自动完成以下任务:
神经结构搜索
模型选择
特征工程
超参调优
模型压缩
然而,在模型开发周期中,有一些重要的任务是不能自动化的,例如,我们开发特定于行业的知识和数据大脑(data acumen),这些任务很难实现自动化,而且不让人参与是不可能的。另一个需要考虑的重要方面是机器学习模型的操作:AutoML对于机器学习模型的开发周期非常有用;但是,对于部署步骤的自动化,还需要使用其他工具,例如MLOps,它使得数据科学家和IT团队能够通过对机器学习模型的监控、验证和治理来进行协作并加快模型开发和部署的步伐。
Tovbin:机器学习领域经过多年的发展之后,我们可以看到围绕数据操作、特征工程、特征选择、模型评估、超参调优的大量任务都可以被定义为一个优化问题,并且只要有足够的计算能力,就可以高效地实现自动化。我们不仅可以在研究中看到大量的证明,而且在软件行业也可以看到作为平台产品或开源库的证明。所有这些工具都使用了预定义的方法来进行数据处理、模型训练和评估。
由于机器缺乏大量可能存在的排列、复杂的上下文和专业知识,提出构建问题的创新方法并应用新技术解决现有问题是不太可能被机器自动化所复制的。举个例子,看一下神经网络架构的设计及其应用,这个一个搜索空间非常大的问题,这个领域的主要进展仍然是由人工来驱动的。
de Wynter:理论上,整个机器学习过程在计算上都很困难。从拟合数据到神经网络,再到超参选择,再到神经结构搜索(NAS),在一般情况下,这些都是难题。但是,由于算法的进步、计算能力和耐心的结合,所有这些组件都已经实现了自动化,并在不同程度上解决了具体的问题。
我认为,数据预处理步骤和特征选择过程是最难自动化的,因为机器学习模型只会学习它看到的东西,而它的性能(以及系统提供的解决方案)取决于它的输入。也就是说,在这方面的研究也越来越多了,我希望这对许多自然问题来说不会很难。
McGuire:我将创建机器学习模型的过程分为四个主要部分:数据ETL(提取、转换和加载)和清洗、特征工程、模型选择和调优以及模型解释和评估。
数据清洗既可能是相对简单直接的也可能是极有挑战性的,这取决于你的数据集。其中最重要的一个因素是历史;如果你在每个时间点都有关于数据的信息,那么可以很好地实现数据清洗的自动化。如果你只有当前状态的静态表示,那么数据清洗将会变得更具挑战性。在存储变得相对便宜之前设计的旧数据系统往往只会保留当前的状态信息。这意味着许多重要的数据集都没有数据操作历史记录。清洗这种没有历史记录的数据对于AutoML来说是一个挑战,因为它要为我们的客户提供高质量的模型。
同样,特征工程是一个简单而极难自动化的步骤组合。如果有足够的有关特定特征的元数据,某些类型的特征工程很容易实现自动化。例如,只要知道某个特定字符串是电话号码,就可以很简单地解析电话号码以验证并从区号中提取位置。然而,如果特征工程需要深入了解特定领域的业务运作流程,那自动化它就不太可能了。例如,如果销售利润需要在分析服务成本之前计入当地税收,则可能需要一些人力投入才能建立这种关系(除非你有大量的数据可供学习)。深度学习之所以能在视觉和语音等领域超越特征工程,其中一个原因就是它拥有海量高质量的训练数据。表格数据通常是特定于源的,这使得它很难泛化,特征工程仍然是一个挑战。此外,定义组合数据源的正确方法通常非常复杂,而且需要大量的人力。一旦定义了这种关系,就可以自动进行组合,但是建立这种关系需要大量的人工工作,而且不太可能在短时间内实现自动化。
模型选择和调优是最容易实现自动化的组件,许多库已经这样做了;甚至还有AutoML算法能 用来寻找全新的深度学习架构。但是,模型选择和调优库假定你用于建模的数据是干净的,并且可以通过某种很好的方式来评估模型的有效性。海量数据集也有帮助。建立干净的数据集和评估框架仍然是最大的挑战。
一般来说,模型解释一直是机器学习研究的一个重要领域。虽然严格来说它不是AutoML的一部分,但随着AutoML的发展,它变得更加重要了。此外,实现自动化的方式也会对可解释性产生影响。具体地说,有关尝试和选择内容的跟踪元数据决定了解释的深度。在AutoML中构建解释需要有意识的努力,这一点非常重要。在某些时候,自动化必须停止,由人来查看并使用结果。模型提供的有关其工作原理的信息越多,对最终用户就越有用。
Michailidis:我将会把自动化应用到以下主要领域:
1、自动化可视化和洞察力:从数据中自动检测一些有趣的模式,比如异常、变量之间的高度相关性、它们的分布以及在缺失值中的模式等等。然后,以一种有意义且结构化的方式来呈现这些内容。数据科学家可以使用这些信息来理解数据和/或向利益相关方“讲述”数据的故事。
2、自动化特征工程:这是指从数据集中提取新数据或以不同的方式来表示它们。例如,机器学习中使用的算法大多能理解数字,而不能理解字母。找到正确的文本表示方式(以便算法能够更好地使用它来映射问题/任务)对于获得高精度非常重要。通过尝试所有不同的可能转换(而且通过使用一些由知道什么类型的转换是最有效的知识所启发的快捷方式,通常会非常快),这个过程可以很好地实现自动化。此过程还可以包括数据清洗、缺失值处理、异常值处理等等。该评估过程需要在测试框架内进行。
3、自动化模型的选择:“模型”是指用于映射机器学习问题的算法。在任何给定的任务中都可以使用数百种可能的算法。选择正确的一个也是关键。例如,除非使用某种形式的卷积神经网络来解决计算机视觉任务,否则结果可能不会太好。对数据结构的了解可以极大地帮助减少潜在的候选算法列表,然后寻找合适的算法可以是一个迭代任务,也可自动化。
4、自动化超参调优:如果没有使用正确的参数初始化算法,那么即使选择了正确的算法也没有多大的意义。算法应该有多深,应该如何惩罚数据中的高维性,应该占用多少内存,应该要多快等等,都是可以通过某些参数直接或间接配置的。除非算法选择了正确的参数,否则即使它是针对特定问题的正确选择,其性能也可能会很差。数据科学家可能会浪费大量的时间来“调优”这些算法,而这个过程可以在很大程度上实现自动化。
5、(可选)自动化模型的组合:最好的解决方案可能不是来自一个单一的算法,而是来自一系列的算法。找到正确的算法组合并将它们组装起来(组合成一个超级算法)可以进一步提高ML任务的准确性,并且可以实现自动化。
6、自动化模型文档:这意味着生成一个结构化的输出来记录先前的步骤。例如,它可以包括对数据整体结构的描述和见解,使用的特征以及该特征对解决现有任务的整体重要性,使用的算法组合、算法组合的参数以及它们是如何组合的,以及最终整体验证和/或测试数据的性能。以结构化和定义良好的方式记录这些数据对数据科学家的工作很有帮助,而且有助于更好地讲述数据的故事。
7、自动化模型解释能力:我需要指出,机器学习的解释能力(或MLI)不是一个单一的技术过程,而是工具和技术的集合(如代理模型、部分依赖图、Shapely值、推理代码等)。与机器学习中的许多其他元素一样,MLI技术具有辅助性质,可以用来帮助数据科学家了解算法是如何进行预测的。生成这些技术的输出并突出显示最重要/有用的模式,可以极大地提高透明度,检测偏差,有助于模型合规,并最终能使数据科学家在解码算法的黑匣子元素时变得更容易。
8、自动化模型监控:与已部署到生产环境中的模型/算法相关的很多跟踪过程都可以实现自动化,并能为可能发生的不利情况提供额外的安全层。此过程可以捕获很多东西,如性能下降和/或重复时,可能需要建模过程,当传入样本的分布与用于构建这些算法或持续恶意攻击的分布显著不同时,需要检测数据的漂移,等等。
对于难以自动化的问题,我首先想到的是将业务问题转化为机器学习问题。为了使AutoML成功,它需要将业务问题映射为一种可解决的机器学习问题。它还需要有正确的数据质量/相关性的支持。模型的测试和成功标准需要由数据科学家来仔细定义。
AutoML难以成功的另一个领域是使用机器学习可能会产生道德困境。例如,如果由于算法错误而发生的事故,由谁来负责?我觉得这种情况对AutoML来说是个挑战。
InfoQ:哪些类型的问题或用例更适合使用 AutoML?
Lazzeri:分类、回归和时序预测是使用AutoML的最佳选择。Azure机器学习专门为这些任务提供了特征,比如用于分类的深层神经网络文本特征。
常见的分类示例包括欺诈检测、手写识别和对象检测。与预测输出值是属于同一类别的分类不同,回归模型是基于独立的预测因子来预测数字产出值的。例如,汽车的价格是基于油耗、安全等级等特征的。
最后,无论是收入、库存、销售还是客户需求,预测都是一个不可或缺的部分。数据科学家可以使用自动ML将技术和方法相结合,得到一个可推荐的、高质量的时序预测。
Tovbin:依赖于结构化或半结构化数据(可以在其中定义评估指标)的分类或回归问题,通常可以实现自动化。例如,用户流失预测、房地产价格预测、自动补齐。
de Wynter:这要看情况。假设你想要达到机器学习的标准目标:你需要从样本中学习一个未知的概率分布。你还知道有些AutoML系统可以很好地完成各种相关的任务。你完全没有理由不自动化它,特别是当你没有时间自己来尝试各种可能的解决方案时。
然而,我需要指出的是,从理论上讲,对于某个特定问题表现良好的模型并不能保证对解决其他问题也有效,证事实上,众所周知,至少有一项任务会失败。不过,这句话还是相当笼统的,可以在实践中加以变通。
另一方面,从效率的角度来看,除非你对边际改进特别感兴趣,否则一个已经被许多研究者研究了多年的问题可能并不是一个好的备选方案。这直接源于这样一个事实:对于众所周知的问题,大多数的AutoML结果,更具体地说,是NAS结果,通常其适用范围很小,其实就相当于是人工设计的解决方案。然而,使问题变得“有趣”(例如,通过包含新的约束,如参数大小)使它有效地成为一个新问题,对AutoML来说也是完美的。
McGuire:如果你的数据集是干净的,并且评估方法定义明确,那么它是AutoML的理想选择。
AutoML的早期进展集中在超参调优等领域。这是一个定义明确但耗时的问题。这些AutoML解决方案本质上是利用了计算能力的提高与问题空间模型的结合,从而得到的解决方案通常会比专家在较少的人力时间投入下所能得到的要更好。这里的关键是干净的数据集,它对定义良好的评估集有直接且易于测量的影响。AutoML能很好地最大化你的评估标准。但是,如果这个标准与你正在尝试做的事情之间存在任何不匹配,或者数据中存在任何混淆因素,AutoML都不会像人类专家(希望如此)那样能能看到这些。
Michailidis:AutoML的最好用例是定义明确的问题。针对这些问题,准备工作已经做好了。有明确的输入和输出以及明确定义的成功标准。在这些约束条件下,AutoML可以产生最佳结果。
InfoQ: AutoML 中有哪些研究问题是重要的?
Lazzeri:AutoML中一个有趣的研究开放问题是有监督学习任务中的特征选择问题。这也被称为可微分特征选择问题,这是一种基于梯度的特征选择搜索算法。特征选择仍然是机器学习流程中至关重要的一个步骤,并且仍在继续进行活跃的研究:微软研究院的研究人员正在开发一种特征选择方法,它不仅在统计上有效而且在计算上也有效。
Tovbin:我想到的两个重要问题是训练模型的透明化和偏差。
专家和用户经常不同意或者不理解为什么ML系统(特别是自动化系统)会做出特定的预测。为模型预测提供更深入的洞察,使用户能对这种预测系统充满信心,是至关重要的。例如,当向消费者提供产品推荐时,系统可以额外突出影响特定推荐的促成因素。为了提供这种功能,除了需要经过训练的模型外,还需要维护额外的元数据,并将其与所提供的建议一起公开,但由于数据的大小或隐私问题,这通常无法轻易实现。
同样的担忧也适用于模型偏差,但问题的根源不同,例如,不正确的数据收集导致数据集倾斜。由于我们经常需要修改业务流程和昂贵的软件,因此解决该问题更具挑战性。借助应用自动化,人们可以及早检发现无效的数据集,有时甚至还可以检测到数据收集实践,并消除模型预测中的偏差。
de Wynter:我认为首先也是最重要的,找出超参优化(HPO)和NAS的有效且精确的算法。AutoML的问题是,你要解决的问题,而问题的解决过程(或者更确切地说,近似),众所周知,这在计算上是非常困难的。作为研究人员,我们只经常专注于测试一些开放的基准,然后就到此为止了,但是,通常情况下,这样的算法无法推广,而且,正如去年所指出的那样,它们的性能往往比不上简单的随机搜索。
还有一个问题是,从计算的角度来看,一个完全自动化的AutoML系统所面临的问题和它之前所面临的问题未必相似;甚至更糟的是,它们可能输入相似,但解决方案完全不同。通常,这与“学会学习”(“learning to learn”)领域有关,这通常会涉及到某种类型的强化学习(或神经网络),以学习以前的ML系统是如何解决问题的,并采用近似的方式来解决新问题。
McGuire:我认为在自动化特征工程和数据清洗方面还有很多有趣的工作要做。机器学习的大部分时间都花在这上面,而且领域专业知识也非常重要。再加上现实世界中大多数数据都非常混乱和复杂的事实,你会发现,自动化带来的最大好处是尽可能多地自动化数据处理和转换。
自动化数据准备工作目前需要大量的人力和时间,这并不是一项简单的任务。在视觉和语言等领域中,已经不再需要定制特征工程的技术,目前还不能推广到小而杂乱的数据集。你可以使用深入学习来识别猫的图片,因为猫就是猫,你需要做的就是获得足够的标记数据,让复杂的模型为你填充特征。银行的客户信息跟踪表与服装店的客户信息跟踪表非常不同。使用这些数据集为你的业务构建模型是一个小数据问题。这类问题不能简单地通过向一个能够自己捕捉复杂性的模型中投入足够的数据来解决。处理清洗和特征工程可以使用许多不同的方法,而确定最佳方法目前仍是一种艺术形式。将这些步骤转化为可应用于广泛数据的算法是一个具有挑战性但又很重要的研究领域。
能够自动创建并解释(更重要)这些真实世界数据的模型是非常宝贵的。存储很便宜,但专家却不然。当今世界上有大量的数据正在被收集。自动清洗和特征化这些数据为使用它们来回答现实世界的重要问题提供了机会。
Michailidis:我个人认为(自动化辅助)可解释AI和机器学习的可解释性领域非常有趣,对于弥合黑匣子(Blackbox)模型和利益相关方能够放心信任的模型之间的差距非常重要。
另一个我感兴趣的领域是“模型压缩”(“model compression”)。我认为,如果我们能够自动地将一个强大的、复杂的解决方案简化成一个可以产生基本相同/相似的性能、但速度更快、 使用的资源更少的简单得多的解决方案,那将是一个巨大的变革。
InfoQ:现在从业人员可以使用的 AutoML 技术和开源工具有哪些呢?
Lazzeri:AutoML大众化了机器学习模型的开发过程,并授权给用户,使他们无论自己的数据科学专业知识如何,都能识别出解决任何问题的端到端的机器学习管道。现在有几种AutoML技术可以供从业人员使用,我最喜欢的是:
Azure自动化ML:它是一个流程,自动化了在Azure上开发机器学习模型时所需的耗时、迭代任务。
自动特征化过程:这是一个额外的AutoML功能,数据科学家可以利用它来启用/禁用自动特征化,并能自定义用于机器学习实验的自动特征化设置。
Tovbin:近年来,我们可以看到面向机器学习从业人员的工具激增,从云平台(Google Cloud AutoML、Salesforce Einstein、AWS SageMaker Autopilot、H2O AutoML)到开源软件(TPOT、AutoSklearn、TransmogrifAI)。在这里,你可以找到有关这些解决方案和其他解决方案的更多信息:
de Wynter:免责声明:我为亚马逊工作。这是一个活跃的研究领域,有很多众所周知的算法(每天都有更多的算法出现)专注于管道的不同部分,并且在解决各种问题上也都取得了众所周知的成功。很难一一列举,但最著名的例子有网格搜索、贝叶斯和基于梯度的HPO方法;以及NAS的搜索策略(例如爬山)、基于种群/RL的方法(例如ENAS、用于一次性NAS的DARTS和用于AmoebaNet的算法)。另一方面,完整的端到端系统在解决各种问题上也取得了很好的效果。
McGuire:当然,我需要提到我们自己的开源AutoML库TransmogrifAI。我们主要致力于自动化数据清洗和建立在Spark之上用于某些模型选择的特征工程。
Python中也有大量有趣的AutoML库,包括Hyperopt、scikit-optimize和TPOT。
Michailidis:在开源领域,H2O.ai有一个名为AutoML的工具,它包含了我前面问题中所提到的许多元素。它的可扩展性也很强,可以在任何操作系统中使用。其他工具还有autosklearn或autoweka。
InfoQ:AutoML 的局限性是什么?
Lazzeri:Auto ML带来了一些挑战,例如模型并行化、结果收集、资源优化和迭代。寻找最佳模型和超参是一个受许多限制(如计算、资金、时间等)的迭代过程。机器学习管道提供了一种解决方案,可以通过明确定义过程和自动化特性来解决这些AutoML挑战。 Azure机器学习管道是一个独立可执行的完整机器学习任务工作流。管道应该专注于机器学习任务,比如:
数据准备,包括导入、验证和清洗、修改和转换、标准化和分段;
部署,包括版本控制、扩展、资源调配和访问控制。
Tovbin:AutoML无法很好地解决的一个问题是复杂的数据类型。大多数自动化方法都需要特定的数据类型,例如数值、分类、文本、地理坐标,因此需要特定的分布。这些方法不太适合处理更复杂的场景,例如行为数据,例如在线商店访问会话。
另一个问题是特征工程,它需要考虑特定领域的数据属性。例如,如果我们想为保险销售团队构建一个自动化电子邮件分类的系统。来自销售团队成员的输入定义了电子邮件的哪些部分是必需的,哪些部分是不必要的,这些输入通常比度量更有价值。在构建这样的系统时,必须通过领域专家的反馈来加强系统,以获得更可靠的结果。
de Wynter:要解决一个问题,必须投入大量的计算资源,这在实践中是有局限性的。如果你总是可以使用更多的机器,那这并不是一个真正的障碍,但是,从环境的角度来说,这种粗暴的做法会带来一些后果。现在,并不是所有的AutoML都是靠蛮力的(正如我前面提到的,这是一个计算难题,所以靠蛮力解决问题只会让你止步不前),并且AutoML在很大程度上依赖于启发式算法,但是对于给定的AutoML问题,你仍然需要相当大的计算能力,因为你必须端到端地尝试多种解决方案。科学界一直在努力获得更好、“更环保”的算法,我认为这是非常棒的,也是未来要走的路。
从理论的角度来看,AutoML的难点是相当有趣的,归根结底,它是一个关于问题在本质上有多困难的陈述,而不管你使用的是哪种类型计算机或使用了多少数量的计算机。再加上我前面提到的,理论上不存在“一个能统管所有模型的模型”(“one model to rule them all”),因此AutoML就变成了一个非常复杂的计算问题。
最后,当前的AutoML系统具有定义明确的模型搜索空间(例如,神经网络层或混合分类器),并期望该模型搜索空间对每个输入问题都有效。事实并非如此。然而,对于所有可能的问题都适用的搜索空间在实践中很难实现,因此,如何弥合这一差距仍然是一个悬而未决的问题。
McGuire:我不认为AutoML已经做好准备,可以取代人机回圈。AutoML可以构建模型,但是随着建模自动化程度越来越高,用开发工具来提供模型所做事情的透明性变得也越来越重要。模型的好坏取决于用来构建模型的数据。当我们不再需要花时间去清洗和深入理解数据中的关系时,我们需要提供新的工具,以允许模型的用户了解模型在做什么。你需要一个人来审视他们使用的模型和数据元素,然后问:这是正确的预测吗?这些数据可以使用吗?如果没有工具能回答AutoML模型的这些问题,我们就是在无意识地冒险,很可能会搬起石头砸自己的脚。我们需要有能力确保我们不会在没有意识到的情况下使用了不适当的模式,或者延续并强化了社会中长期存在的问题和偏差。
Michailidis:这在前面的部分已经讨论过了。我想提到的另一件事是,分配的资源对性能有很大的影响。功能更强大的机器能以更快的速度覆盖潜在算法、特征和技术的搜索空间。
这些工具(除非它们是为支持非常特定的应用程序而构建的)不具备领域知识,而是用来解决一般问题的。例如,它们可能不会立即知道,如果数据中的一个字段称为“行驶距离”,而另一个字段称为“持续时间”,则可以使用它们计算“速度”,这可能是一个给定任务的重要特征。它们也可以通过随机尝试数据中的不同转换来生成该特征,但领域专家能更快地解决这一问题,因此这些工具在有经验的数据从业人员的控制下将会产生更好的结果。因此,如果这些工具可以选择合并来自专家的领域知识,那么它们将会更加成功。
总结
小组成员一致认为,AutoML 之所以重要,是因为它节省了时间和资源,省去了许多手动工作,并使数据科学家能够更快、更有效地交付业务价值。然而,专家们预测,AutoML 不太可能能消除对“人机回圈”(“human in the loop”)的需求,特别是在行业特定知识以及将业务问题转化为机器学习问题的能力方面。AutoML 的重要研究领域包括特征工程和模型解释。
小组成员重点介绍了几种现有的商业和开源 AutoML 工具,并描述了机器学习过程中可以自动化的不同部分。一些小组成员指出,AutoML 的一个局限性是其所需的计算资源量,而其他人则指出其局限是需要领域知识和模型透明化。
专题小组成员介绍
Francesca Lazzeri 博士是一位经验丰富的科学家和机器学习实践者,拥有超过 12 年的学术和行业经验。她是许多出版物的作者,包括技术期刊、会议和书籍。她目前在微软领导着一个由云计算倡导者和人工智能开发者组成的国际团队。在加入微软之前,她是哈佛大学技术与运营管理部门的研究员。她的 Twitter 账号:@frlazzeri,Medium 账号:@francescalazzeri
Matthew Tovbin 是Faros AI(一个 DevOps 的软件自动化平台)的联合创始人。在创立 Faros AI 之前,他曾在 Salesforce 担任软件工程架构师,开发了 Salesforce Einstein AI 平台,该平台能为全球最智能的 CRM 提供支持。此外,Matthew 是TransmogrifAI的创建者、Scala Bay meetup的联合组织者、众多函数式编程小组的演示者和活跃成员。Matthew 和他的妻子及孩子一起住在旧金山的湾区,他喜欢摄影、远足,爱好威士忌和电脑游戏。
Adrian de Wynter 是 Alexa AI 安全人工智能基金会的应用科学家。他的工作主要涉足三个广泛但有时又重叠的领域:语言建模、神经结构搜索及隐私保护相关的机器学习。他的研究兴趣包括元学习(Meta-learning)和自然语言理解,特别强调这些主题的计算基础。
Leah McGuire 是 Salesforce 的一名机器学习架构师,致力于使尽可能多的机器学习步骤自动化。在 Salesforce,这种自动化在开发和交付大量面向客户的机器学习产品方面发挥了重要作用。其目标是为每个客户特有的数据和业务目标带来智能。在专注于开发机器学习产品之前,她在加州大学旧金山分校和加州大学伯克利分校获得了计算神经科学的博士学位和博士后奖学金,在那里她研究了感觉信号的神经编码和整合。
Marios Michailidis 是 H2O.ai 的一位竞争性数据科学家,正在 AutoML 领域开发下一代机器学习产品。他拥有希腊马其顿大学会计金融的学士学位、南安普顿大学风险管理硕士学位以及伦敦大学学院(UCL)的机器学习博士学位,专注于集成建模。他是KazAnova的创建者,一个 100%用 Java 制作的用于信用评分和数据挖掘的免费 GUI,他还是StackNet元建模框架(StackNet Meta-Modelling Framework)的创建者。在业余时间,他喜欢参加数据科学挑战赛,在热门的数据科学平台Kaggle.com上,他在500,000名会员中排名第一。
原文链接:
State of the Art in Automated Machine Learning
评论