机器学习正遭遇“可重复性危机”,或已成“炼金术”?

简介: 机器学习以其特有的优势逐渐在科学研究中得到大量应用,然而,其内在的“黑箱”特点也带来了一系列问题,有研究者认为正是机器学习的这种不可解释性导致了当下科学研究的“可重复性危机”——如果科学不可重复,那么我们还能称之为真正的科学吗?与此同时,更有研究者声称机器学习已经成为一种“炼金术”。

image

作者 | Matthew Stewart
编译 | JocelynWang

“科学的第一个原则是你不能愚弄自己,然而你自己却是最容易被愚弄的人。”

—— 理查德 · 费曼

机器学习以其特有的优势逐渐在科学研究中得到大量应用,然而,其内在的“黑箱”特点也带来了一系列问题,有研究者认为正是机器学习的这种不可解释性导致了当下科学研究的“可重复性危机”——如果科学不可重复,那么我们还能称之为真正的科学吗?与此同时,更有研究者声称机器学习已经成为一种“炼金术”。

本文基于机器学习所带来的“可重复性危机”,从“是什么”、“为什么”以及“如何做”三个层次进行了阐述,为这一危机寻找出路:可重复性和可解释性的机器学习模型。

一、什么是“可重复性危机”?

“如今科学界的研究人员普遍意识到存在一种“可重复性危机”(Reproducibility Crisis)。我敢说,这其中很大一部分都来源于机器学习技术在科学中的应用。”
—— Genevera Allen

莱斯大学统计与电气工程系教授

机器学习方法正在取代传统的统计方法,越来越普遍地被应用到科学研究过程中,这会给科学界及其对知识的追求带来什么影响呢?一些人认为,正是机器学习技术的“黑箱”导致了科学研究的“可重复性危机”。毕竟,如果科学不可重复,那我们是否还能称之为真正的科学吗?
(声明:本文是我自己基于参考文献中所参考的材料发表的一些观点。这是学术界的一个有争议的领域,欢迎大家进行建设性辩论。)

image


科学过程的生命周期

机器学习(ML)在科学研究中似乎已经无处不在,甚至在很多领域中已经替代了传统的统计方法。虽然通常来说,ML技术更易于用作分析的一项工具,但它内在的“黑箱”特点给科学家在追求真理的过程中造成了一些严重的问题。

科学界的“可重复性危机”是指是指惊人数量的研究结果无法在另一组科学家团队进行的同一个实验中实现重复。这可能就意味最初的结果是错误的。一项研究表明,在全世界所有进行过的生物医学研究中,有多达 85% 的研究结果都是徒劳无获的。

关于“可重复性危机”的争论可能是学术界中最接近机器学习和统计学学科间的斗争的一次争论。

一位人工智能研究员甚至在一篇科学文章中声称,机器学习已经成为一种“炼金术”。(相关阅读链接:https://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy?

image


他关于这个话题的一些论文和博客文章,都非常值得一读,比如:“大型尺度核机器的随机特征”,文章链接为:

https://people.eecs.berkeley.edu/~brecht/papers/07.rah.rec.nips.pdf

image

ML成为了科学研究一项很好的补充,使其在研究中的应用变得不可避免。ML可以被视为一个工程任务——就像一条集建模、调参、数据预处理和与元素优化于一体的流水线。ML 的目的就是寻找最优解或最优预测,而这属于科学研究的一项子集。

机器学习的类型和算法本身就是科学研究的议题。与过去的统计方法一样,现在研究者们正在撰写大量各类 ML 算法和 ML 算法子类相关的科研论文。

2019年 2 月,Genevera Allen 在美国科学进步协会(AAAS)上发出了一个严重警告:科学家们正在学习基于机器学习算法来发现数据中的模式,即使这些算法只是专注于在另一个实验中无法重复的噪音。

这一挑战涉及多个学科,因为机器学习在天文学、基因组学、环境科学和医疗保健等多个领域都被应用于获取发现。

其中,Genevera Allen 使用的最主要的例子是基因组数据,这些数据通常是数据量非常巨大的数百 GB 或数个 TB 的数据集。她指出,当科学家使用自己不太了解的 ML 算法对基因组图谱进行聚类分析时,常常会出现似是而非、不可重复的结果。

直到另一个团队进行了类似的分析研究,并得出了完全不同的结果,这才使得之前的结果变得有争议且被人质疑。这其中可能有多种原因:
1.缺乏算法知识
2.对数据缺乏了解
3.对结果的曲解

二、造成“可重复性危机”的原因

1、算法知识的欠缺
缺乏算法知识的现象在机器学习应用领域显得极为普遍。如果你不明白一个算法是如何产生结果的,那又怎么能确定它有没有作弊,或者其得到的变量间相关性的结果实际上是虚假的呢?

由于参数太多(深度神经网络通常有数百万个参数),这是神经网络中的一大问题。而实际上用于记数的不仅仅有参数,还有超参数,包括学习率、初始化策略、迭代次数和网络结构等项。

仅仅意识到自己缺乏算法知识是不足以解决这个问题的。如果不同研究的论文中使用的是不同的网络,你又如何将这些结果进行比较?由于高维神经网络损失函数的动态结构图具有高度复杂性,即使只增加一个额外变量或改变一个超参数也会对结果产生显著的影响。

2、对数据缺乏了解
缺乏数据知识也是一个巨大的难题,但这一问题可以延伸到传统的统计技术方法。数据采集中的误差——如量化误差、测量不确定性和智能体变量的使用,这是主要的问题。

次优数据也常常会造成一些问题,但是了解什么样的数据适合使用什么样的算法也是非常重要的,并且这一选择可能会对结果产生重大影响。一次简单的回归检验就可以很轻松地证明这一点。

通常地,在实验中会出现参数多于数据点的现象(这在基因组学中是非常正常的,因为我们有很多基因,很少数据点),如果我们使用线性回归方法,那么我们选择的正则化方式会严重影响被视作为重要的参数。

如果我们使用套索回归( LASSO Regression),该回归方法趋向于将明显不重要的变量统统变为零,从而从回归中将它们消除并提供一些变量选择。

如果我们使用岭回归( Ridge Regression),该回归方法倾向于将这些不重要的参数缩小到足够小,以至于它们可以忽略不计,但同时将它们从数据集中删除也是有必要的。

如果我们使用弹性网络回归( Elastic Net Regression,套索回归和岭回归的组合),我们将再次得到非常不同的答案。

如果我们不使用任何回归,那么由于我们有比数据点更多的变量,算法显然会使得数据过拟合,因此算法将繁琐地对所有数据点进行拟合。

显然,在线性回归中,可以通过置信区间、p-检验等统计测试来评估它的准确性。然而,对于神经网络来说,这些评估方式只能是一种奢侈的幻想,是不存在的。那么我们怎样才能确定我们通过神经网络得来结论的准确性如何呢?我们目前所能做的就是详细的陈述模型的架构和超参数,并将代码开源,以供其他科学家进行分析或对这个模型重新使用。

3、对结果的误解
对结果的误解在科学界很常见。其中一个原因是相关性并不意味着因果关系,一般来说,两个变量A和B可能存在关联的原因有以下几点:
1)A可能是由B的出现引起的
2)B可能是由A的出现引起的
3)A和B可能是由另一个混杂变量C引起的
4)A和B可能是伪相关性
两值间的相关性很容易显现出来,但产生这种结果的原因很难确定。通过在谷歌上输入伪相关性,你可以找出一些看起来非常有趣但明显十分荒谬的具有统计意义相关性例子,比如:

image

image

image

这些似乎都是十分荒谬的相关性例子,但我想指出的是,如果将这些变量放到提供给机器学习算法进行训练的数据集中,则该算法不会考虑所述因果关系的有效性或者提出任何问题,而是很轻易地接受此相关性作为因果变量。从这个角度看,该算法很可能是不准确或者错误的,因为软件只负责识别出仅存于该数据集而不是现实世界中的模式。

伪相关性的出现,正是由于人们越来越普遍地使用一些具有成千上万个变量的大型数据集。而近几年来,伪相关性发生的频率也变得惊人的多。

如果我有上千个变量和数百万个数据点,那么这些数据之中不可避免的会出现相关性。算法可以锁定这些因素并将其认定为因果关系,从而有效地执行无意识的 p-hacking,而 p-hacking 是一项还没有在学术界得到认可的技术。

1、什么是 p-hacking
p-hacking的做法包括获取数据集以及尽可能全面地搜索其中具有统计学意义的相关性,并将这些相关性视为科学有效。

你拥有的数据越多,就越有可能在两个变量之间找到伪相关性。

通常来说,科学研究包括了提出假设、收集数据以及通过对数据进行分析以确定假设是否有效。p-hacking 所做的是先进行一个实验,然后通过既得实验结果形成事后假设来解释它们所获得的数据。这样做本身是没有恶意的,但是有些时候,科学家们这么做仅仅是为了让他们能够发表更多的论文。

2、增强相关性
机器学习算法的另一个问题是算法必须能够做出预测,这就好比算法不能在最后说“我什么都没找到”。这种算法框架的脆弱性意味着,无论最终特征结果多不合适,它总能找到某种可以用来解释数据的方法(需要在算法和数据正确设置的前提下实现,否则可能无法收敛)。

目前,我还没听过哪个机器学习算法能够返回用户并告诉他们数据是不合适的,这项工作已经被暗定为科学家的任务——而这并不是什么公平的假设。

“那为什么还使用机器学习呢?”

这是一个很好的问题。机器学习使数据集的分析变得简易,并且 ML 算法可以帮助用户进行大量的工作。在由于数据集太大而无法使用标准统计技术进行有效分析的领域中,这一点就变得弥足珍贵。尽管它加速了科学家的工作进度,但是机器学习在预测质量上存在的问题足以抵消机器学习带来的生产效率上的提高。

三、下一步可以做什么?
机器学习的前景也并非完全黯淡无光。传统统计方法和数据集也一直存在着类似的问题,只是在机器学习中这些问题由于大型数据集和算法的大量使用而被放大了。这些数据集和算法可以自动找到数据的相关性,与传统技术相比,使得我们更难对找到的相关性进行解释。同时,上述这种放大也暴露了科学研究过程中有待克服的弱点。

然而,研究者也在开展下一代机器学习系统的相关工作,以确保它能够评估其预测的不确定性,以及解决它的不可再现性。

话虽这么说,正如只有愚昧的工人才会将他失败的原因归咎于他们使用的工具,科学家们在使用机器学习算法时也需要格外小心,以确保他们的研究结果得到证实和检验。同行评审流程的设计初衷就是为了确保这一点,而这同时也是每个研究人员的责任。研究人员需要弄清他们使用的技术并了解其局限性;如果他们不具备这些专业知识,那么去一趟统计系与某位教授进行一次交流将会让我们都收益匪浅。

Rahimi(他认为 ML是一种 “炼金术”方法)提供了一些建议来判断哪种算法最为有效,在何时最佳。他指出,研究人员应进行消融研究, 即将参数依次移除,以评估其对算法的影响。Rahimi 还呼吁进行切片分析,即分析一个算法的性能,以了解对该算法在某些方面的改进会使其消耗其他方面的成本。最后,他建议运行设置了具有各种不同超参数的算法,并应汇报这些算法的所有性能。这些技术将使用 ML 算法对数据提供更强大的分析。

由于科学研究过程的性质,一旦解决了这些问题,就可以最终发现并纠正以前发现的认为是准确的错误关系。准确的判断当然经受得起时间的考验。

四、结语
由于最终结果缺乏可重复性,机器学习方法在科学学术界确实存在问题。然而,科学家们已经意识到了这些问题,并且正在朝着更具可重复性和可解释性的机器学习模型推进相关工作,而一旦实现这一目标,神经网络将会迎来真正意义上的突破。

Genevera Allen 强调了机器智能面临的一个基本问题:数据科学家仍然不了解机器学习所采取的机制。科学界必须共同努力,以便了解这些算法究竟是如何工作的,以及如何最有效地使用它们,以确保使用这种数据驱动的方法最终得出可靠的、可重复的科学有效的结论。

就连声称机器学习是“炼金术”的 Rahimi 也对其潜力充满希望。他说,“正是由于原始的炼金术才有了后面的冶金学、药物制造、纺织染色以及我们现代的玻璃制造工艺技术的发明。此外,炼金术士也认为,他们可以将普通的金属转化为黄金,而水蛭是治愈疾病的好方法。”

正如物理学家Richard Feynman1974年在加州理工学院的毕业典礼上所说,

“科学的第一个原则是你不能愚弄自己,然而你自己却是最容易被愚弄的人。”

参考文献:
[1] https://science-sciencemag-org.ezp-prod1.hul.harvard.edu/content/sci/365/6452/416.full.pdf
[2] https://research.fb.com/wp-content/uploads/2019/05/The-Scientific-Method-in-the-Science-of-Machine-Learning.pdf?
[3] https://bigdata-madesimple.com/machine-learning-disrupting-science-research-heres/
[4] https://biodatamining.biomedcentral.com/track/pdf/10.1186/s13040-018-0167-7
[5] https://www.sciencemag.org/news/2018/05/ai-researchers-allege-machine-learning-alchemy
[6] https://www.sciencedaily.com/releases/2019/02/190215110303.htm
[7] https://phys.org/news/2018-09-machine-scientific-discoveries-faster.html
[8] https://www.americanscientist.org/blog/macroscope/people-cause-replication-problems-not-machine-learning
[9] https://www.datanami.com/2019/02/19/machine-learning-for-science-proving-problematic/
[10] https://www.quantamagazine.org/how-artificial-intelligence-is-changing-science-20190311/
[11] https://ml4sci.lbl.gov/
[12] https://blogs.nvidia.com/blog/2019/03/27/how-ai-machine-learning-are-advancing-academic-research/
[13] https://towardsdatascience.com/a-quick-response-to-genevera-allen-about-machine-learning-causing-science-crisis-8465bbf9da82#--responses
[14] https://www.hpcwire.com/2019/02/19/machine-learning-reproducability-crisis-science/
via https://towardsdatascience.com/the-machine-learning-crisis-in-scientific-research-91e61691ae76

原文发布时间:2019-12-01
本文作者:Matthew Stewart
本文来自AI科技评论,了解相关信息可以关注“AI科技评论

相关文章
|
机器学习/深度学习 人工智能
【ICML开杠】机器学习研究的四大危机
近期,来自CMU和斯坦福的Zachary C. Lipton和Jacob Steinhardt两位研究员为顶会ICML举办的Machine Learning: The Great Debate发表文章,并指出现在机器学习研究中的四大危机:混淆阐述与推测、无法明确得到较好结果的原因、数学公式堆积以及语言误用。
1687 0
|
25天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
77 4
|
4天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
21 2
|
22天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
39 1
|
1月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
85 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
1月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
37 0
|
1月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
36 0
|
2月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
下一篇
DataWorks