Py学习  »  机器学习算法

ML如何做科学发现?牛津大学268页博士论文详述科学机器学习内涵

新智元 • 1 年前 • 193 次点击  



  新智元报道  

作者:专知
编辑:桃子
【新智元导读】现在,AI4Science是个热门的话题。如何把机器学习方法用在科学领域是个比较实际的问题。科学机器学习(SciML)的领域。SciML的中心目标是将现有的科学理解与ML更紧密地结合起来,生成强大的ML算法,这些算法由我们的先验知识提供信息。非常值得关注!

机器学习(ML)已经使我们实践科学的方式发生了根本性的转变,许多人现在把从数据中学习作为他们研究的重点。随着我们想要研究的科学问题的复杂性的增加,以及当今科学实验产生的数据量的增加,ML正在帮助自动化、加速和增强传统的工作流程。站在这场革命前沿的是一个被称为科学机器学习(SciML)的领域。SciML的中心目标是将现有的科学理解与ML更紧密地结合起来,生成强大的ML算法,这些算法由我们的先验知识提供信息。

论文地址:https://ora.ox.ac.uk/objects/uuid:b790477c-771f-4926-99c6-d2f9d248cb23

目前存在大量将科学原理纳入ML的方法,人们对SciML解决科学中一些最大挑战的期望越来越高。然而,该领域正在蓬勃发展,许多问题仍在出现。一个主要的问题是SciML方法是否可以扩展到更复杂的现实问题。许多SciML研究正处于概念验证阶段,在这个阶段,技术将在简化的、简单的问题上进行验证。然而,了解它们在更复杂的问题上的可扩展性对于它们的广泛应用至关重要。这个问题是本文的中心问题。

首先,针对月球科学和地球物理领域的三个复杂的、真实的、特定领域的案例研究设计了多种不同的物理知识机器学习方法,并评估了它们的性能和可扩展性。其次,评估和改进了物理信息神经网络(一种流行的通用SciML方法)求解具有大区域和高频解的微分方程的可扩展性。讨论了这些研究的共同观察结果,并确定了显著的优势和潜在的限制,突出了设计可扩展的SciML技术的重要性。

导论


机器学习(ML)在科学领域引起了一场革命。传统上,科学研究围绕着理论和实验:一个人提出一个手工制作的和定义良好的理论,然后使用实验数据不断完善它,并分析它以做出新的预测。但今天,许多人都把从数据中学习作为他们研究的重点。在这里,世界的模型是通过ML算法从数据中学习的,现有的理论是不需要的。这种转变的发生有多种原因。

首先,ML领域在过去十年中经历了指数级增长,这一激增背后的主要驱动因素通常被归因于深度学习的突破[Goodfellow et al.,2016]。一些重要的发现,如使用更深层次的网络设计和更好的训练算法,以及更强大的计算架构的可用性,已经导致深度学习技术在广泛问题上的性能迅速提高[Dally et al.,2021年]。现代ML算法现在能够学习和解决难以置信的复杂任务,从自动驾驶汽车[Schwarting et al.,2018年]到击败世界级围棋选手[Silver et al.,2018年]。

伴随着这些进步,今天的科学实验产生了越来越多的数据,研究越来越复杂的现象[Baker et al., 2019, Hey et al., 2020]。人类和我们的传统工作流程对所有这些数据进行分析和理论化正在迅速变得不可能,不久之后,科学实验很可能会受到他们从已有数据中提取见解的能力的限制,而不是他们可以收集什么数据[Baker et al., 2019]。鉴于ML可以提供强大的工具,许多研究人员正在转向ML来帮助自动化、加速和增强传统的工作流程。在过去十年中,新的ML算法和数据可用性的结合导致了一些重大的科学进步。例如,ML已经被用于比以往任何时候都更准确地预测蛋白质结构[Jumper et al., 2021],从神经活动合成语音[anummanchipalli et al., 2019],以及改进量子多体系统的模拟[Carleo和Troyer, 2017]。事实上,现代的ML算法现在已经被应用到科学的几乎每一个方面,这个时代的一个决定性研究问题已经变成:「解决问题X,并将ML应用到它上面」,随之而来的是有趣且常常令人兴奋的结果。

然而,尽管有这些进步,但ML,特别是深度学习算法的各种缺点在ML领域已经具体化。例如,尽管它们能够学习高度复杂的现象,但深度神经网络通常被视为「黑箱」,人们缺乏对它们如何表示和推理世界的理解。这种不可解释性是一个关键问题,特别是对于需要对网络预测进行论证的安全关键应用[Gilpin et al.,2019,Castelvecchi, 2016]。此外,关于如何设计适合特定任务的深度学习算法,几乎没有理论指导。深度神经网络架构的选择主要是根据经验进行的,尽管元学习和神经架构搜索领域开始提供更多自动化的方法[Elsken et al.,2019年,Hospedales et al.,2021年]。最后,尽管深度神经网络表达能力很强,但它们受到训练数据的限制,在训练分布之外通常表现不佳。学习在新任务中表现良好的世界可泛化模型是更通用人工智能(AI)系统的一个关键特征,也是ML领域的一个关键突出挑战[Bengio et al.,2021]。

当在科学问题中使用ML时,研究人员开始遇到这些限制[Ourmazd, 2020, Forde和Paganini, 2019]。鉴于深度神经网络的泛化能力较差,一个关键问题是它们是否真正「学习」了科学原理。一个好的科学理论被期望能在实验数据之外做出新颖而准确的预测,然而深度神经网络在训练数据之外很难做出准确的预测。即使一个网络可以做出可靠的预测,考虑到它们的不可解释性,从它们中提取任何有意义的科学见解可能是具有挑战性的。

另一个主要问题是,许多当前的机器学习工作流完全用学习的模型取代了传统的科学模型。虽然这可能很有用,但这些纯数据驱动的方法「抛弃」了我们大量的先验科学知识。

重要的一点是,对于许多问题,有一个现有的理论可以建立,而不是从头开始。在一个传统上基于明确的理论和实验之间紧密相互作用的领域,一些人认为上述限制使当前的ML方法不可接受。这些担忧促使形成了一个快速发展的新领域,称为科学机器学习(SciML) [Baker et al., 2019, Karniadakis et al., 2021, Willard et al., 2020, Cuomo et al., 2022, Arridge et al., 2019, Karpatne et al., 2017a]。SciML的目标是将现有的科学知识和ML融合在一起,生成更细微的ML算法,这些算法由我们的先验知识提供信息,如图1.1所示。这一领域的关键论点是,通过这样做,我们将最终获得更强大的科学研究方法。传统方法和ML方法各有优缺点,两者的结合可能比其中一种更有效。例如,在进行数据同化时(例如在气候模型中),可以使用传统物理模型提供先验知识,而ML可用于解释数据依赖性和其他未知物理。

图1.1:科学机器学习(SciML)概述。SciML旨在将ML与科学知识紧密结合,以便为科学研究生成更强大、鲁棒和可解释的ML方法。

人们对这一领域的期望正在迅速增长,目前正在提出和研究大量的方法和许多创新策略,以将科学知识融入ML。这些方法的范围从预期的科学任务(例如模拟、反演和控制方程发现),到不同的方法来合并科学原理(例如通过深度神经网络的架构、其损失函数和混合模型的使用),以及科学原理被强加的程度(例如通过硬约束或软约束)。我们将在第2章中详细回顾这些方法。许多方法使用来自物理学的思想来通知其在SciML的子领域称为物理信息机器学习(PIML)的ML算法[Karniadakis等人,2021]。

到目前为止,SciML 取得了一些初步的成功。它帮助我们进行了强大的模拟[Raissi al.,2019],发现了复杂物理系统的控制方程[Kutz和Brunton, 2022],在反演问题中精确地反演基础参数[Arridge等人,2019],并在广泛的领域中无缝地将传统工作流与学习过的组件[Rackauckas等人,2020,Thuerey等人,2021]。尽管有早期的希望,但SciML领域仍处于起步阶段,出现了许多重要的问题,例如;我们应该如何实施科学原则?我们应该如何平衡数据驱动模型的可解释性的缺乏和现有理论的清晰性?是否存在可以跨科学学科应用的总括的SciML技术?SciML能否为ML领域提供新的视角和思路?对于复杂的现实世界问题,SciML技术的扩展性有多好?本文主要研究最后一个问题,具体讨论如下。

在本文中,我们主要采用两种方法来研究上述子问题。首先,针对前3个子问题,使用复杂的、真实的、特定领域的案例研究来考察多种不同的PIML方法的性能和可扩展性。对于每个子问题,我们提出了一个案例研究,提出了一种PIML技术(或各种PIML技术)来解决它,并评估该技术如何扩展到这种设置。其次,针对最后一个子问题,我们专注于单一的通用PIML技术,并评估和改进其可扩展性。前三个子问题分别在本论文的单独一章(分别为第3 ~ 5章)中进行研究,其案例研究均来自月球科学和地球物理学领域。最后一个子问题将在第6章进行研究。最后,我们在第七章中讨论和总结了每一章对我们主要研究问题的影响。

SciML方法谱系。这张图显示了本章中介绍的不同类型的SciML方法对科学知识的「强」程度。注意,科学约束的强度是一个相当模糊的概念;在这个图中,我们将其定义为SciML方法与传统工作流的接近程度。中间的方法同样将ML与传统工作流的某些方面结合起来,例如在循环方法中,将传统迭代求解器与ML模型交织在一起。此外,我们的作业有些主观,所以这个数字只是为了表达总体趋势。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/148044
 
193 次点击