谷歌高级研究员Nature发文:避开机器学习三大「坑」
作者:网友投稿 时间:2019-08-01 16:52
算法分析已经成为科学研究的重要方法,生物学家、高能物理学家、病理学家等许多领域的研究者都正在广泛采用机器学习算法来发现新配方和新方法,但是谷歌 Accelerated Science 团队高级研究员 Patrick Riley 近日在 Nature 上发表的文章认为,科研工作者对机器学习的预期普遍过高,这可能会导致研究者将资源浪费在错误的研究方向上。他在文中列出了科研工作者在使用机器学习时可能遇到的一些陷阱和应对思路。
机器学习正在推动各个科学领域的研究进展,其强大的模式发现和预测工具正在助力所有领域的科学家——从寻找合成分子到提升医学诊断效果再到揭示基本粒子,可谓应有尽有。
但是,机器学习工具也可能做出一些徒劳无功的探索——得到假阳性结果、不可行的方法和错误结果。而且很多算法还过于复杂,以至于我们不可能检查其所有参数或推断其处理输入的确切方式。随着这些算法的应用日益广泛,理解错误、得出错误结论以及浪费科研工作资源的风险将会急剧上升。
这些都不是新问题。机器学习领域几十年来一直备受「坦克问题(tank problem)」之苦。最初的研究似乎出现在 1960 年代(据信参考文献 1 是这一研究方向上最早的文献;这是软件工程师 Jeff Kaufman 的功绩),但被埋没在了时间长河里。这样的故事总是层出不穷。
那时候,研究者编写了一个用于识别军方提供的照片中的坦克的算法。得到的模型成功地找到了测试图像中的坦克,但却无法成功识别之后的真实照片的坦克。原因为何?这个故事已被复述太多次了,细节已经无法考证——但其训练所用的图片包含其它模式——出现在晨光之中或云朵之下的坦克。因此,驱动这一算法的是类似这样的其它因素,而不是坦克的存在本身。
类似的迷思带来了今天的反省。很多机器学习论文都没能完成足够的实验集。用于评议的标准也不一致。而且现在竞争很激烈,某些研究者在得到想要的答案后就抄近道、跳过检查步骤。
我们无法预测每次分析中的所有难题,但至少,正将机器学习引入自己领域的研究者应当熟悉常见的陷阱以及用于检测和避开这些陷阱的实践方法。
本文将介绍谷歌 Accelerated Science 团队在使用机器学习分析时所面临并解决了的三个问题,以说明展示这种做法。
三个问题
1. 不恰当地分割数据
在构建模型时,机器学习实践者通常会将数据划分为训练集和测试集。训练集用于模型学习,测试集则用于评估模型在未知数据上的表现。研究者通常以随机方式分割数据,但现实生活中的数据很少是随机的。它们可能包含随时间变化的趋势——比如数据收集方式的变化趋势或所要收集信息的变化。
举个例子,分子数据集中就埋藏着这样的历史模式,它在经过机器学习算法的虚拟筛选后可用于发现候选药物。这个问题的难点在于预测假想分子被人体吸收或减缓炎症的效果。筛选是从有/无所需效果的分子的数据开始的,但数据的收集场景却可能不同于机器学习模型的使用方式。
举个例子,一个模型可能是基于一组公开可用的分子数据集构建的,但却被用在了一个不同的专有数据集上。并且当化学家检查到或丢弃了有潜在希望的线索时,他们的研究重心往往会从特定的分子分组转向其它分组。因此,研究者在实践中往往高估模型的表现。这可能导致预期过高,从而在选择不佳的分子上浪费时间和资金。很多模型构建者(包括我本人)都曾掉入过这个陷阱。
也就是说,你想要解答的问题应当会影响你分割数据的方式。为了使模型预测向一个在分子中分子中添加几个原子的效果,测试集中的每个分子都应在训练集中有仅有几个原子不同的对应分子。如果你希望很好地预测化学上不同的分子,那么测试集中的每个分子应该任训练集中的任何分子。分割数据的「正确」做法可能并不显而易见,但审慎考虑和尝试多种方法能为你提供更多见解。
2. 隐变量
在一个理想的实验中,研究者只需要改变感兴趣的变量,其他都是固定不变的。这种水平的变量控制在现实中往往是不可能实现的。设备的准确性会随着时间的推移而发生变化,试剂的批次也会发生变化,一种实验条件先于另一种执行,实验结果甚至可能被天气影响。这些不可控变量在机器学习模型中可能是有害的。
例如,我在谷歌的团队一直在与加州的一家核聚变创业公司 TAE Technologies 合作,致力于优化生产高能等离子体的实验。我们建立模型,试图了解等离子体机的最佳设备设置。机器中有数百个控制参数,从什么时候给电极通电到在磁铁上设置什么电压。我们记录了一系列测量结果,包括温度和光谱。

加州的 TAE Technologies 和谷歌的研究者正使用机器学习优化产生高能等离子体的设备。



