所有文章 > 正文

Nature:机器人学习要避开这三大“陷阱”

作者: Jansfer

时间: 2019-08-05 11:04

当来自无数领域的科学家争先恐后地进行算法分析时,谷歌的Patrick Riley呼吁在研究和报告方面制定明确的标准。

原文链接 doi: 10.1038/d41586-019-02307-y

机器学习正在推动整个科学领域的发现,其强大的发现模式和预测工具正在帮助各个领域的研究人员,比如从发现分子的新方法、在分析中发现细微信号,提高医学诊断结果和揭示基本粒子的性质等。

然而,机器学习工具也可能成为问题的根源,出现误报,导致盲目的试验和错误。当前很多算法都非常复杂,以至于无法检查所有参数,无法确切地了解输入的运行方式。随着这些算法应用越来越广泛,出现误报、错误结论和做无用功的风险也呈螺旋式上升增长。

这些问题并不新鲜。机器学习领域近几十年来一直受到“坦克问题”的影响。最初的研究应该是在20世纪60年代出现的,故事是这样的。研究人员编写了一种算法,可以在军方提供的照片中发现坦克。该算法在测试图像中成功找到了坦克。但它后来在实地拍摄真实照片后却失败了。为什么?因为复述过程中,细节各不相同,而且当时训练的图片包含了在晨光或云层下出现的坦克图案。因此,推动算法的是其他因素,并不是真实存在的坦克。

如今,类似的困惑也引发了人们的反思。许多关于机器学习的论文没有充分的实验,审查标准也不一致。因为竞争激烈,一些研究人员会为了想要的结果而偷工减料,跳过必要的检查环节。

我们无法预测每次分析产生的问题。但至少,研究人员将机器学习应用到各自的领域时,就应该熟悉并掌握发现和避免这些常见陷阱的方法。

为了说明这一点,本文强调了在Google Accelerated Science团队运用机器学习分析时面临的三个主要问题。

拆分数据不当

在构建模型时,机器学习实践者常会将数据分为训练集和测试集。训练集教授模型,并通过对测试集的描述准确程度来评估模型的性能。研究人员通常会随机分割数据。但现实生活中的数据很少是随机的。它们可能包含随时间变化的趋势,比如收集数据的方式不同导致的变化,或者收集信息的选择不同导致的变化。

例如,利用机器学习算法筛选新药时,这些模式被埋藏在分子的数据集里,通过机器学习算法虚拟地筛选以找到候选的药物。该挑战在于预测这种分子如何能有效地被人体吸收,减少炎症。预测从筛选分子数据开始,这些分子有效或无效,但是收集数据的背景可能与机器学习模型的使用方式不同。

例如,模型先建立在公开可用的一组分子上,然后再用于不同的专有分子集上。而当最期望的线索不可行时,化学家的注意力就会从某些分子转向其他分子上。因此,研究人员经常会高估模型在实践中的表现。这可能导致预期过高,并在选择不当的分子上浪费时间和金钱。许多科研人员(包括作者)都掉进了这个陷阱。

换句话说,您想要解决的问题会影响对数据的拆分方式。为了预测在模型中添加几个原子对分子的影响,测试集中的每个分子应该在训练集中都应加入一个不同的原子。如果想对不同的分子做出很好的预测,那么测试集中的每个分子都应该与训练集中的所有分子不同。分割数据的“正确”方式可能并没有那么显而易见,但仔细考虑并尝试多种方法可以提供更高的可靠性。

隐藏的变量

在理想实验中,研究人员可以只更改感自己感兴趣的变量,固定其他所有变量。但是,在现实世界中,这通常是不可能实现的。随着时间的推移,设备的精度会有偏差,试剂的批次不同,实验顺序的不同,甚至是天气的不同,都会影响最终的实验结果。这种不可控变量在机器学习模型中可能是有害的。

例如,作者所在的Google团队一直在加州一家核聚变初创公司TAE Technologies工作,旨在优化生产高能等离子体的实验流程。他们建立了模型,试图了解等离子机的最佳设备设置。但这当中存在数百个控制参数,从何时给电极通电到在磁体上的设置多大电压,这需要记录一系列测量值,包括温度和光谱。

团队在几个月的时间里获得了运行数千次的等离子机的数据。设置会根据设备调整、组件磨损等进行修正。当建模完成时,大家都很高兴,根据给定的设置预测,等离子体的能量是否会很高。但很快就发现,预测很明显与设想不符。

图|加州TAE能源公司的员工和谷歌研究人员正在利用机器学习,对生成高能等离子体的设备进行优化(图片来源:Nature)

当再次训练模型时,将实验时间作为唯一输入,也得到了类似的预测。为什么?该团队认为第一个模型锁定了时间趋势,而不是物理现象。随着实验的进行,有一段时间机械运行良好,有的时间则没有。因此,实验的时间提供了有关产生的等离子体是否为高能量的信息。此外,从控制参数的设置可以大致预测实验的时间,这些参数的变化也有时间趋势。这里时间就是隐藏变量。

隐藏变量也可以源于实验的布局。例如,正在与该团队合作的一个项目是解释显微镜图像。这些图像包括在板上的生物实验阵列,通常是包含细胞和液体的孔的网格。其目标是找到具有特定特征的孔,比如化学处理后细胞外观的变化。但生物多样性意味着每个板看起来总是略有不同。在一块板中也可能存在差异。边缘的与中心的通常看起来不同,或者板的倾斜,这些都会导致结果的差异。

但是,机器学习算法做到了,它轻松掌握这些人们未意识到的变化。例如,该模型可能只是确定哪些液滴位于板的边缘。检查是否发生这种情况的一种简单方法是让模型预测其他目标,如液滴在板上的位置,显微图像来自哪个批次。如果它可以预测到,就需要对之前的实验结果持怀疑态度。

因此,可以使用多个机器学习模型来检测意外和隐藏的变量。一个模型侧重于主要问题:等离子是高能还是低能、细胞是健康还是生病。而其他模型排除其他混杂因素。如果后者的结论性很强,就需要对数据进行标准化处理,进一步实验或修正之前的结论。

弄错目标

机器学习算法要求研究人员指定一个“损失函数”,它决定了各种错误的严重程度。目前研究员倾向于使用更小的函数集,而这些往往无法确定他们真正关心的内容。

例如,我们一直在使用机器学习来帮助求解偏微分方程。这些公式流体力学、电磁学、材料科学、天体物理学和经济建模中很常见,通常也只能用数字方式解决,而训练模型在有限的分辨率下就提供了更好的准确性。

假设从一个方程开始描述水波如何在一个维度上传播。该算法的任务是重复预测当前步骤的下一个时间步长。我们使用两种略有不同的训练模型。根据损失函数,这两个模型同样好。然而实际上,一个不能用,一个却产生了接近预期的结果。

为什么?因为控制学习的损失函数只考虑下一步的错误,不能度量多步骤的解决方案的有效性,而我们真正需要的是后者。

在利用机器学习筛选糖尿病视网膜病变的工作中也出现了不同的目标。视网膜病变是糖尿病的一种并发症,也是可预防性失明的主要原因。如果能及早从眼睛后部的图像中检测到,则可以有效地治疗。当我们收集数据并让眼科医生根据图像提供诊断时,会让机器学习工具预测眼科医生的诊断内容。那么,这里就出现两个问题:首先,眼科医生对诊断常常意见不一。因此,我们意识到不能将模型建立在单一预测上,同样也不能少数服从多数,因为在医疗准确性方面,有时少数意见反而是正确的。其次,单一疾病的诊断实际上并不是真正的目标。我们本来应该问:“这位患者应该去看医生吗?”因此,我们将目标从单一疾病的诊断扩展到诊断多种疾病。

机器学习专家很容易掌握数据和标签清晰的目标。但可能在设置算法上解决了错误的问题。因此,必须牢记总体目标,否则再创造再精确的系统解决的也是错误的问题。

图|印度马杜赖阿拉文德医院的一项眼科检查,医生和谷歌的研究人员正试图自动诊断由糖尿病导致的失明(图片来源:Nature)

下一步计划

第一,机器学习专家需要以更高的标准要求自己和同事。当新的实验室设备到来时,我们希望实验室伙伴了解其功能、如何校准、如何检测错误,以及了解其功能的限制。同样,机器学习也是如此。没有捷径,使用的人必须全面掌握这些工具。

第二,不同的领域需要制定明确的标准,以便执行和报告各自领域的机器学习情况。适当的把控、健全的检查和错误测量则将因地而异,而且需要清楚地说明,以便研究人员、审稿人和编辑能够鼓励良好的行为。

第三,机器学习方面的科学教育需要概括这些更广泛的问题。虽然存在一些资源(例如http://ai.google/education),但我们还需要做更多工作。该团队经常教授算法和工具,但学生需要更多地了解如何应用算法,并对其进行适当的提问与质疑。

当下,我们正处于一个惊人的时刻,计算能力、数据和算法汇集在一起,在机器学习的帮助下为新发现创造了巨大的机会,我们有责任确保我们会充分利用这个机会。

参考:www.nature.com

[关于转载]:本文为“AMiner”官网文章。转载本文请联系原作者获取授权,转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“AMiner”官网。谢谢您的合作。

二维码 扫码微信阅读
推荐阅读 更多