Skip to content

Latest commit

 

History

History
221 lines (111 loc) · 26.7 KB

bringing-machine-learning-research-product-commercialization.md

File metadata and controls

221 lines (111 loc) · 26.7 KB

将机器学习研究带入产品商业化

原文:www.kdnuggets.com/2018/11/bringing-machine-learning-research-product-commercialization.html

c 评论

作者:Rasmus Rothe, Merantix 联合创始人

动机

上个周末,我在家与家人待了一段时间,开始反思过去几年自大学以来的经历,包括在职业不同阶段的所有兴奋和挑战。在深度学习的背景下观察到学术研究和行业研究,我发现日常生活和应用的方法之间有不少差异。

因此,在这篇博客文章中,我想分享一些关于在实际问题中应用深度学习时学术界与行业之间的差异的见解,这些差异是我们在Merantix经历的。在这些方面,我将详细探讨工作流程、一般期望以及性能、模型设计和数据需求等方面的差异。

自 2016 年我们创办了Merantix以来,我们在高度有趣但又充满挑战的行业中孵化了多个成长中的人工智能项目。这包括医疗保健,专注于乳腺 X 光自动图像诊断,或汽车领域,为全自动驾驶软件提供基于场景的测试环境。除了这些项目外,Merantix 还于 2018 年成立了一个新部门,MX Labs,该部门利用所有其他项目的能力和技术,探索新的用例,并与我们在许多行业的合作伙伴一起开发客户特定的解决方案。

可以说,我们在过去两年中在研究界建立了一个公认的品牌,并与行业专家和政治家建立了稳固的关系。在此期间,我们有机会吸取了一些非常重要的教训,因此现在觉得可以与您分享一些我们最相关的见解。

小小声明:

  • 我将涵盖一系列挑战和经验,这些内容虽然不是详尽无遗,但提供了我们在各个行业面临的主要话题的结构化概述。

  • 以下描述的学术界和行业的不同工作流程是实际流程的简化版。

  • 尽管我们主要进行的是监督式深度学习,但许多挑战和经验对于其他类型的机器学习同样适用。

  • 也许并非所有内容对您来说都是新的,但希望您至少能汲取到一些要点。

学术界与行业

当尝试将深度学习从研究转化为应用时,可以大致区分商业和技术挑战。商业挑战包括获得足够的训练数据、优化产品市场契合度、处理法律法规问题,以及最终成功进入市场。然而,这篇博客主要关注技术方面,接下来我会尽量引用行业特定的经验。

最重要的是,需要了解学术界与行业的工作差异,即两者的不同要求及其背后的原因,以及这两者本身的工作流程。

图片:学术界与行业的工作流程。

在学术界,研究人员通常从一个固定的训练数据集开始,比如 MNIST 或 ImageNet,她想在其上训练一个特定的模型。终极目标是开发新方法或调整现有方法,以在某些百分比点上提高模型性能,超越当前的最先进技术。通过这样做,研究人员在学术界建立了新的最先进技术,并可能将其结果发表在论文中。虽然这是一个具有挑战性和繁琐的过程,但这个工作流程相对直接。

然而,行业的工作流程通常是相反的。你从一个固定的性能要求开始,比如在乳腺 X 光筛查中达到 90% - 95%的癌症检测率(在灵敏度和特异性之间存在权衡),或者在每 10 亿英里内只发生一次严重事故或脱离情况。然后,你才开始考虑部署特定的模型以及所需的训练数据,以充分训练该模型以满足性能要求。实际上,关于模型和数据有很多灵活性,只要它们满足用例的要求,就不需要最先进的技术。然而,可能会有其他限制条件,比如可解释性或快速干预,我将在下面详细解释。

总的来说,区分学术界与行业是至关重要的,尤其要记住两者的工作流程是相反的,如上图所示。这反过来对如何成功地将研究成果转化为应用有很多影响。因此,我将讨论我们在 Merantix 过去两年中获得的一些见解,这些见解涵盖了 1) 性能,2) 模型 和 3) 数据这三章。

1. 性能

满足二元成功标准

在机器学习驱动的产品开发和商业化中,理解成功标准相对“二元”而非学术界的统计指标非常重要,后者定义了与当前研究最前沿相比的持续成功。虽然在学术界,特定机器学习任务的 70%表现可能是一个显著的成功(只要它比其他人更好),但商业应用要求最高的功能性和可靠性。事实上,这导致了对人工智能系统的部分扭曲、偏见和不理性的认知。因此,2018 年 3 月一辆自动驾驶 Uber 车辆的单次致命碰撞似乎在媒体中引起了比每年由人类司机造成的 130 万人道路交通死亡更多的关注。这意味着,即使机器学习算法在驾驶汽车或检测癌症方面平均优于人类,一次致命碰撞或假阴性仍可能被视为更糟。因此,为生产设定正确的范围以及理解和塑造公众认知非常重要。

图片:期望与现实。

定义(并限制)产品范围

关于上述提到的二元成功标准,许多机器学习应用具有非常严格的错误阈值,低于该阈值无法实现商业成功。这意味着,没有公司会销售偶尔会发生碰撞的自动驾驶汽车,也没有放射科医生会购买偶尔无法检测出癌症的软件——即使算法在平均水平上超越了人类,这一点仍然成立。

因此,设定正确的范围,从而将性能限制在特定环境或用例中,是机器学习产品开发中最关键的步骤之一。一般来说,期望模型的总体性能达到完美是不太现实或极为雄心勃勃的。然而,商业成功至少与设定产品范围一样依赖于实际神经网络性能。通常,如果机器的表现与人类相当或更好,它将开始变得具有商业吸引力。然而,即使在性能尚未足够好的情况下,也有两种方式可以增加商业价值:

  1. 限制环境: 领先的科技公司和汽车行业的 OEM 通过为自动驾驶定义所谓的操作设计领域(ODD)来执行这一策略。ODD 描述了在特定的驾驶自动化系统或其功能被专门设计以正常运行的操作条件,包括但不限于环境、地理和时间限制,以及/或某些交通或道路特征的必要存在或缺失。换句话说,通过声明自动驾驶车辆最初将被限制在特定的城市区域、公交线路或高速公路上,他们限制了产品的范围,从而能够保证一定的性能和可靠性。

  2. 将模型视为支持系统: 如果性能还不足以成为完全独立和普遍适用的产品,可以选择将模型作为决策支持系统出售,这在医疗领域相当常见。所谓的计算机辅助检测系统(CAD)充当“第二视角”,确保放射科医生不会遗漏图像中的任何可疑区域。它们不提供诊断,但能够分析模式,识别和标记可能含有异常的可疑区域。在第二步中,这些标记将由专业人员彻底检查和分类。另一个我们观察到机器学习模型作为支持系统的行业是增强客户服务和支持。尽管性能不足以完全取代人类,但可以采取一些过渡步骤,并且系统可以帮助简化流程以提高整体效率(例如增强消息传递、改进电话沟通、组织电子邮件查询)。

预测不确定性

在实际应用中部署的深度学习模型无论输入如何总会返回一个预测。然而,对于许多应用来说,接收与预测相关的不确定性也是有用的。在医学影像的情况下,算法能够对任何类型的输入图像做出预测,而基于不确定性可以决定是否需要医生再次检查结果。有人可能认为可以用 softmax 概率作为不确定性的度量。然而,这是一种严重的误解,如下图所示,对于二分类问题:将函数均值的点估计传入 softmax 将会产生一个高度自信的预测。当将分布(阴影区域)传入 softmax 时,输出的平均值要低得多(更接近 0.5)。

在传统的机器学习中,当不确定性发挥作用时,通常使用贝叶斯技术。新兴的贝叶斯深度学习领域正在尝试将这两个世界结合起来。尽管大多数提出的方法到目前为止结果有限,并且通常带有较大的计算开销,但该领域仍然充满希望,需要密切关注。

图像:Softmax 概率并没有表达不确定性。这可以通过查看数据点的分布而不是均值来理解。Gal & Ghahramani (2015).

了解你的目标环境

为了成功部署一个机器学习系统,必须确保它不仅在训练集上有效,而且在现实世界中也能正常工作。在机器学习中,为了衡量模型的性能,你通常会先在一个不同的训练数据集上训练它,然后使用一个单独的测试数据集进行评估。对于后者,数据尽可能与现实世界相似至关重要,希望模型在测试集上成功后也能在实践中有效。然而,这个过程,特别是测试数据集的设计,可能非常困难,因为需要非常了解目标环境,即了解相关的背景、动态元素以及对环境本身的影响。为了详细说明这个问题,我们来考虑几个行业类别的例子:

  1. 相关背景: 理解相关背景意味着了解所有可能的元素、条件及其结果。在自动驾驶的背景下,这包括在设计实际测试集之前详细了解城市、天气、代理以及所有其他重要因素。对于医疗视觉,这意味着理解技术和图像质量的差异以及筛查和诊断设置之间的差异。

  2. 动态元素: 更进一步,理解目标环境包括所有自然的、不可避免的时间变化,因此不仅限于特定的日期或时间点。想象一下,在一个只包含马车的环境中训练和测试一个模型。当你想要部署系统时,街道上已经开满了汽车。虽然这是一个过于简单化和夸张的例子,但很明显,OEM 和科技公司迟早需要包含自动驾驶车辆的训练数据。另一方面,医疗视觉公司则需要根据技术设备的变化调整测试集。

  3. 对环境的影响: 部署模型对目标环境本身的影响是理解目标环境中最具挑战性的方面,因为在测试时无法轻易测量和预见。例如,行人对环境中自动驾驶车辆日益增加的存在的反应就是一个例子。可以想象,一些行人看到没有驾驶员的完全装备的自动驾驶车辆时,可能会感到焦虑,不愿在过街道时横穿马路。关于医疗保健和乳腺 X 光检查,当部署的软件对使用它的放射科医生产生偏见时,也可能出现这些困难。或者,由于这种解决方案提供了更大的可行性和可及性,整体人口和分布可能随时间而异。

总结上述例子表明,由于数据和目标环境的变化,即使软件已经部署并投入使用,继续构建新的、更准确的测试集是至关重要的。

不要在你的测试集上过拟合

关于性能的最后一个见解再次与测试集的使用有关。Recht 等人(2018)的研究表明,最佳模型的令人印象深刻的准确性可能是由于多年来重复使用相同、不变的测试集。当收集一组新的未见图像以测试模型时,这些图像在数据分布上与原始图像非常相似,准确性下降了 4 - 10%。这表明这些模型的卓越性能在许多情况下是基于所谓的过拟合——在这种情况下是对测试数据集的过拟合。

图像:新收集的测试集准确性下降。

回到将机器学习研究应用于实际的情况,上述结果意味着:即使在一个非常好的测试集中,该测试集在前一章中足够代表现实世界,也必须始终考虑在先前评估模型性能时可能间接过拟合到特定测试集的可能性 - 可能还会有多次。如果要最小化这种风险,建议尽量少在“真实测试集”上评估,甚至仅评估一次。如果必要,仍然可以在不同的验证集上进行测试,通常建议定期更新测试集。

2. 模型

将损失函数对齐到业务目标

在设计模型时,优化正确的方面并将性能指标与正确的学习任务或业务目标对齐非常重要,即将损失函数尽可能接近用户的效用。例如,在交易的背景下,与其优化市场行为的完美预测,不如将损失函数设计与盈利能力相关。此外,在医疗保健中,与其追求最佳的整体检测准确性,优化少数假阴性可能更具影响力。在乳腺癌筛查的情况下,97%的检查结果是正常的。这就是为什么我们将神经网络对齐,以自动区分可疑的与正常的检查,提供无需人工干预的正常检查的结构化报告,筛选并将复杂病例转发给子专业的专家,同时提供基于风险的决策支持。这个过程就是我们所称的智能筛查。

考虑不平等的误分类成本

虽然在研究模型中将一张狗的照片误分类为猫不会产生实际成本,但在实际应用中,这种负面后果可能是巨大的。这一点在医疗保健中尤其相关,因为成本不仅仅是金钱方面的,还会影响到一个人的健康。乳腺 X 光检查的目标是检测无症状女性的癌症。乳腺 X 光检查的潜在结果是女性健康状况(健康/生病)和相应诊断(阳性/阴性)的组合。当健康的患者得到阴性诊断而生病的患者得到阳性诊断时,分类是有效的。然而,分类可能会由于不平等的负面后果而失败。如果健康的人被错误地诊断为癌症(即假阳性),她将不必要地接受活检,这可能导致心理压力和生理副作用。虽然这些后果已经很严重,但错误地将生病的患者诊断为健康(即假阴性)则更加严重,因为这会显著增加死亡率。

让你的模型可解释

与学术界的关注点在于性能和准确性不同,工业界非常重视可解释性和透明性。换句话说,工业界和监管机构都不喜欢神经网络黑箱,即输入和输出系统而不知道其内部工作原理的系统。在许多情况下,很难理解算法对一组数据输入给出特定响应的原因。

图片:黑箱问题。Sidney Harris 的漫画。

此外,在某些机器学习应用中,实际上关注的并不是模型本身,而是理解底层系统。例如,一家公司可能更感兴趣的是从业务角度理解客户流失的动态和原因,而不是通过机器学习应用程序进行逐步优化。

然而,在神经网络的复杂性和可解释性方面存在巨大矛盾:深度学习之所以被使用,是因为现实世界无法用简单规则来捕捉。换句话说,复杂的使用案例需要复杂的模型。因此,提出一个简单的规则来解释深度学习系统本身将非常困难。由于模型复杂性通常与其可解释性呈反比,我们常常会在各种使用案例中看到权衡取舍。

图片:复杂性-可解释性权衡。

不过,值得注意的是,这个领域的研究正在不断增长。深度神经网络的可视化变得越来越相关。使用这些方法,可以检查模型是否实际上是基于相关对象而不是相关联对象来分类图片。例如,我们将能够判断模型是否基于船本身而不是环绕船只的海洋来识别船只。然而,使用这些方法时必须小心。正如Adebayo et al. (2018)最近的论文中所示,他们描述了一系列随机实验来验证这些方法,一些方法可能在人类眼中看起来令人愉悦,但并未提供关于模型参数如何与输入数据相关或输入数据与其标签之间关系的解释能力。

在 Merantix,我们去年开源了一款名为 Picasso 的深度学习可视化工具箱(Medium PostGithub)。由于我们处理各种神经网络架构,我们开发了 Picasso,使其能够方便地查看不同工业应用中的模型标准可视化。

演示:Picasso可视化工具。

规模至关重要

在为工业应用设计神经网络时,模型的大小是另一个非常重要的方面,因为它会影响性能。在工业界,我们面临计算和连接的限制,如内存、带宽或执行速度的限制。考虑到这一点,很明显,复杂深度神经网络面临的一个关键挑战是使它们在不牺牲显著准确性的情况下,在较低质量的硬件上运行更快。以自动驾驶为例:如果你的目标是在实时识别行人、预测他们的动作并调整汽车行驶,那么简化和加速模型成为了安全部署的最重要任务之一。这一点在受到只能放置在单车上的硬件限制时尤为重要。因此,目前在模型压缩领域有大量研究,旨在加速推理过程,例如Cheng et al. (2017)

最先进的模型通常不是必需的

与前面提到的模型大小和压缩紧密相关的是,我们在 Merantix 经常发现,当涉及到模型设计时,最新的最先进的方法可能并不总是最佳选择。事实上,许多模型和应用过度设计,以逐步提高其性能,但在实际应用中,这种改进可能不值得为实现它所需的时间和资源。此外,许多看起来极具前景的新方法只在非常简单的数据集(如 MNIST)上进行测试,未能在更困难和多样的实际数据上有效工作。在如此小而简单的数据集上测试不仅存在过拟合的风险,还不能保证对较大数据集的计算可扩展性。在实际生活和工业应用中,我们关注的是能够在多种情况和场景中工作的通用模型,以提供稳健和抵抗力强的系统。因此,尝试实施最先进的模型和研究论文并不总是有用的。

3. 数据

考虑数据获取或标记的成本效益权衡

一旦确定了业务目标、期望性能和模型设计,接下来的问题就是如何组装训练数据。一般来说,可以区分三种数据:1)现有且标记的数据,2)现有但未标记的数据,以及 3)缺失的数据。

关于第一种类型,即已经标记的数据,需要确定要执行哪些采样策略,以及模型应训练于哪个特定数据集。关于第二种类型,需要决定现有数据的哪部分需要标记,例如用于训练。在标记数据昂贵但未标记数据丰富的情况下,可以使用“主动学习”等技术,即尝试找出哪些未标记数据在标记后能为模型提供最大的 信息增益并使其改善。实际上,随着人们意识到在一些行业如自动驾驶中可能有几乎无限的数据,这一特定研究领域在过去两年里获得了很多关注,因此确定哪些数据最相关仍然是最大的挑战之一。因此,通过集成主动学习技术,可以减少训练数据获取的成本,而不影响模型性能和准确性。最后,关于缺失数据,需要评估收集更多数据的成本和收益,同时最终尝试覆盖大多数盲点和角落案例。

关注稀有样本

尤其在现实世界中,处理数据意味着处理类别不平衡。这意味着在现实世界的数据集中,一些事件极为稀少——所谓的边缘或角落案例。这些稀有示例很难收集,这导致了高昂的数据获取成本。然而,它们在解决最后 1%的最困难的机器学习任务时至关重要,例如自动驾驶或癌症检测(参见我们的相关Medium Post)。

图片:自动驾驶车辆应该为所有种类的(不)可能场景做好准备。

如前所述,将机器学习应用引入产品开发时存在二元成功标准。例如,为了推出完全自动驾驶的车辆,算法必须能够处理所有可想象的场景和风险,因此也必须覆盖长尾边缘案例。然而,这些案例在现实世界中非常难以收集或记录,使得测试和验证成为一个非常具有挑战性、缓慢且昂贵的过程。我们在 Merantix 使用的一种方法来缓解这些困难是基于场景的测试。它描述了一种在数千个非常短的驾驶场景目录上离线测试端到端自动驾驶软件堆栈的方法。这些场景可以基于现实世界的日志或模拟数据,并且被非常仔细地定义和组织。这个想法是以人类驾驶能力,如执行无保护左转或超车骑自行车的人为起点,随后非常具体地策划测试这些能力的场景。许多行业领导者如 Waymo 或 Uber 都在使用基于场景的测试。它独特的作用在于加速开发、优化资源使用,并且真正可扩展到大量的测试案例、车辆和工程师。

获取高质量注释

我想强调的最后一个关于数据的重要方面是注释的质量。由于标签可能会有噪声,特别是当由人类创建时,因此在标记数据时以及从一开始就定期监控其质量是非常必要的。这些努力和关注的原因是噪声对整体模型性能的巨大影响。如下面的图表所示,仅少量的标签污染就会导致相当显著的测试误差率。

图像:标签污染的错误效应。Zhang et al. (2017)

虽然标签污染对于那些有基础真相的简单任务来说可以很容易地缓解,即那些可以证明的客观数据(可与医学和统计中的黄金标准比较),但对于复杂任务如医学图像解读,它变得越来越困难。当进行乳腺 X 光检查时,乳房在 X 射线的帮助下被投影到一个二维的黑白图像上,该图像包含的信息远少于现实本身。因此,恶性病例的基础真相在乳腺 X 光图像中无法轻易定义,只能通过活检提取的组织检查提供。不幸的是,经过活检确认的研究非常稀少,难以获取,并且并不存在于所有类型的使用案例中。此外,乳腺 X 光图像本身的读取难度可能导致放射科医生的解读变异性很大以及高水平的标签噪声。

图像:不同放射科医生对相同图像的读者变异性。

在 Merantix,我们实施了众多流程和检查,以帮助我们减少读者的变异性和标签噪声。放射科医生会接受个别培训,学习全面的注释指南。一旦培训完成,每位放射科医生需要通过样本数据集测试才能开始为我们公司进行注释。此外,我们开发了一个自动基准系统,持续监测和比较注释者与其同行的质量。最后,我们创建了一个脚本,如果注释与回顾性放射学报告中的结果不同,该脚本会标记这些研究以供控制。

结论

在这篇博客文章中,我分享了展示学术界和工业界在机器学习中的差异的各种经验教训,以及我们在 Merantix 应用深度学习于现实世界问题时获得的一些见解。我希望你从这篇博客文章中获得的主要信息是,学术界和工业界的工作流程实际上是相互对立的,这导致了对整体性能、模型设计和数据集的不同影响和要求。我强烈希望上述提到的一些想法和方法对计划在业务中使用深度学习的其他人有所帮助和适用。如果你有任何意见或问题,请随时与我联系!如果你对将深度学习应用于现实世界问题感到兴奋,可以考虑加入我们在柏林。我们正在招聘

致谢

  • 感谢塞巴斯蒂安·斯皮特勒在撰写本文时的协助。

  • 感谢 Robert、Florian、Maximilian 和 Thijs 提供的宝贵意见。

  • 感谢 Clemens 和 John 对本文的审阅和反馈。

简介:拉斯穆斯·罗瑟 是欧洲领先的深度学习专家之一,也是Merantix的联合创始人。他在 ETH Zurich、牛津大学和普林斯顿大学学习计算机科学,专注于深度学习。此前,他在博士研究期间推出了howhot.io,发起了欧洲最大的黑客马拉松 HackZurich,并曾在 Google 和 BCG 工作。

原文。经许可转载。

相关:

  • 将深度学习应用于现实世界问题

  • 创建智能的 3 个阶段

  • 如何让人工智能更易获取


我们的前三个课程推荐

1. 谷歌网络安全证书 - 快速进入网络安全职业道路

2. 谷歌数据分析专业证书 - 提升你的数据分析技能

3. 谷歌 IT 支持专业证书 - 支持你所在的组织的 IT


更多相关内容