XDA智能手机网 - 第一智能手机评述媒体
科技您的位置:首页 >科技 >

AutoML正在民主化和改进AI

发布时间:2019-03-13 16:50:53 来源:

围绕人工智能(AI)工作具有讽刺意味:它需要大量的手动,试验和错误工作来构建具有最高精度的预测模型。随着机器学习和深度学习框架的不断涌现,以及对它们的更新,以及对工具平台的改变,难怪如此多的AI工作是如此临时。但是,为什么一项关于自动化的技术会涉及如此多的定制工作?

所有手工工作的问题都是双重的:首先,它使没有数据科学培训的人几乎不可能进行人工智能工作; 第二,具有数据科学背景的人自己面临着效率非常低的工作流程。

AUTOML,救我!

然而,随着自动化机器学习(AutoML)的出现,这种僵局现在开始变得清晰。一些公司,如DataRobot,专注于它。其他AI初创公司,如Dataiku,H20和RapidMiner,以及像Tibco这样的成熟企业软件公司,拥有广泛的AI平台,它们也具有AutoML功能。主要的公共云平台也是如此,包括Microsoft Azure,Amazon Web Services和Google Cloud Platform。还有开源的AutoML框架,如Auto-sklearn,Auto- Keras和Uber最近开源的Ludwig 平台。

AutoML看起来不仅仅是一种时尚。事实上,我在AI市场上与一些人交谈过的人认为AutoML可能是整体AI的未来。只要您拥有一个干净的数据集,并且您知道其中的哪个列是“标签”(也就是目标),即您希望用新数据预测其值的那个,AutoML将为您构建一个模型努力减少。而且,有时候,你可以毫不费力地获得你的模型。

考虑到这一点,我认为一些引物可能是有序的,这篇文章是我试图提供一个。免责声明:虽然自80年代以来我一直是人工智能的追随者,自90年代末以来一直是数据挖掘系统的狂热爱好者,但我不是数据科学家。因此,我的词汇和解释在教学上并不具有权威性 - 在某些情况下,它们可能是天真的。但是我在这里应该帮助您了解AutoML平台功能,我希望这将有助于您判断市场上的产品和框架。

逐步

首先,请考虑了解AutoML涉及熟悉机器学习工作流程中的主要任务。本文的其余部分将提供这些任务的清单,并解释哪些通常 - 或不太常见 - 由AutoML解决方案解决。

功能工作:如果您有一个数据集并且知道您的标签/目标列,那就太棒了。但是,确定数据集中的哪些列与预测标签的值相关,并将它们设置为适合机器学习模型处理的形状是您的下一个要求。选择列后,您可能还需要将基于文本的值转换为数字,插入缺失值并以其他方式清除它们(例如,重复删除它们,从中删除空值和空格,或从中删除无关的字符)。

不可否认,如果您对数据有所了解,即使没有正式的数据科学培训,也可以手动完成大部分工作。无论如何,数据科学家将会做得更好。这就是为什么,虽然有些AutoML平台要求您指定您的功能,但许多人会分析您的数据集并建议哪些列可以很好地服务,让您按原样接受这些选择,或者修改它们。

算法选择:这包括在库中确定算法的类型,要使用的库/框架以及适当类型的特定算法。根据您尝试进行的预测和数据结构,选择类型有经验法则。从那里,通过猜测工作,即使不精确,也可以选择合适的算法。

但算法选择是许多AutoML系统发挥作用的地方,甚至可以实现多个算法之间竞争的自动化,详见下面几段。

超参数调整:每个算法都有可以设置的参数 - 以及每个算法可接受的一系列值 - 来控制算法的配置以及如何将其应用于数据。虽然在某些情况下你可以使用默认值,从你在网上找到的代码中复制值(即使代码是针对一个完全不同的问题)或者只是猜测,设置超参数值是一项重要的工作,但绝不是直截了当的。

这就是为什么几乎所有 AutoML框架都包含自动超参数调整......即使他们通过一些暴力方法来实现它。将此功能与许多AutoML系统也为您做的算法选择和功能选择相结合 - 突然AI变得可以被更广泛的技术人员访问。

选美赛

模型竞争:虽然特征工作,算法选择和超参数调整可以通过算法完成,只生成每个的一个组合,某些AutoML系统将为每个选择一组候选,然后基于这些候选的各种组合构建模型。从那里,您的模型经过培训和测试,以确定哪个是最准确的。对于某些AutoML系统,用于确定准确性的指标是可配置的。

在生成的模型经过训练时,AutoML系统通常会显示最准确模型的“排行榜”。完成所有培训后,根据定义,排行榜顶部的模型是最准确的模型,也是大多数AutoML用户将选择的模型。

你能自己参加比赛吗?也许,但大多数人 - 包括数据科学家 - 都不想编写和调试执行它所需的代码。但是,许多AutoML系统都会这样做,为数据科学家和非数据科学家提供重要帮助。这样的工作有助于确保您获得最佳模型。

构建集合: 创建一组模型,然后将它们打包成外观和行为就像单个模型一样,是一些AutoML系统将为您承担的任务。在内部,发生的是用于评分(执行预测)的数据在所有模型中运行,然后将每个模型的预测制成表格,并且根据一个公式或另一个公式,返回共识预测值。

合奏通常比单个模型更准确,但评分需要更长时间,因为必须多次完成,然后必须计算一致预测值。虽然并行运行所需的额外基础设施不是免费的,但大部分工作都可以并行化。

发货

通过AutoML生成模型可能会令人印象深刻,但如果模型从未实际使用过,谁会关心?非常值得关注的是,为什么一些AutoML系统还会将模型部署到生产中,然后对其进行监控和管理,以保持其准确性和有效性。让我们看一下这些任务。

模型部署:这涉及创建一个可调用的Web服务(几乎可以肯定是基于REST的),用于根据模型对新数据进行评分,然后将其部署到某个托管环境,并返回一个可以调用它的端点(即URL)。将以这样的方式构建服务:服务上的输入参数对应于特征值,并且返回值对应于预测的标签值。

模型监控: 这包括密切关注模型,运行新数据并查看精度是否保持自身,或者是否正在减少。模型“漂移” - 标签/目标的统计特性变化的现象 - 也可以被监控。请注意,与模型竞争一样,用于准确性的度量可以变化并且是可配置的。

模型再培训:一些系统将自动重新训练模型,或者响应于准确度下降到某个阈值以下,或者仅仅作为政策问题,以某个确定的频率。这对于基于流数据构建的模型尤其重要。为您处理此问题的AutoML系统实际上是端到端地处理整个过程。这是将持续部署的概念带入AI的最前沿的东西。

下一步是什么?

正如您从每个步骤的数量和复杂性中可以看出的那样,AI工作本身并不重要,并且自动化其中许多令人困惑或乏味的部分的潜力具有很大的价值。因此,AutoML可能是使AI成为企业主流的杀手级应用程序。

Auto ML还可以帮助推动这一局面,使数据科学家能够转向更加复杂的任务,这些任务建立在上述自动化步骤之上。AutoML目前的功能实际上只是开放行动的一部分,而AutoML可能会帮助AI整体上升。

这是一个激动人心的时刻,AI的可用性和采用率可能会急剧加速。所以请继续关注。本文开头提到的一些公司正致力于快速的AutoML创新。

热点推荐
随机文章