
几个世纪以来,发现支配我们宇宙的基本方程一直依赖于人类的直觉和天才。但如果我们能将这一过程自动化呢?这正是方程发现所承诺的未来——一个新兴领域,其目标是让机器学习不仅能进行预测,更能实现真正的科学理解。与那些提供答案却不作解释的“黑箱”人工智能模型不同,方程发现旨在生成可解释的模型——即那些构成科学基石的、优雅而简洁的方程。这种方法弥合了预测能力与真正洞察力之间的关键鸿沟,为将海量数据集转化为可理解的知识提供了一条途径。
本文将探索自动化科学发现这个激动人心的世界。首先,在“原理与机制”一章中,我们将深入探讨使方程发现成为可能的核心思想,从简约性这一指导原则到SINDy和遗传编程等用于探寻自然法则的强大算法。我们还将直面确保这些发现稳健且有意义所必需的重大挑战和统计严谨性。然后,在“应用与跨学科联系”一章中,我们将穿越科学版图,见证这些工具如何被用于重新发现经典定律、完善现有理论,以及在物理学、生物学和经济学等不同领域开辟知识的新前沿。
想象一下我们是侦探,宇宙是一个犯罪现场。周围散落着各种线索——来自我们实验的闪烁数据点:行星的轨道、反应器中化学物质的浓度、电路中的电压。几个世纪以来,科学的巨大挑战一直是观察这些线索并推断出潜在的自然法则,即支配现场的规则。一位科学家经过多年的研究、直觉和灵光一闪,可能会高呼“尤里卡!”,然后写下一个优美简洁的方程,如 或 。但如果我们能制造一台能够拥有自己“尤里卡!”时刻的机器呢?如果我们能将科学发现的过程本身自动化呢?
这便是方程发现所带来的诱人前景。这是一个新的前沿领域,我们将机器学习的原始能力与物理学和数学的深层原理相融合,以构建一个能够筛选数据并提出描述数据规律的“机器人科学家”。但这并非典型的“黑箱”人工智能。黑箱模型或许能以惊人的准确性预测未来,但它不会告诉你为什么。它就像一个神秘的预言家,总能给出正确答案却从不透露其推理过程。对科学而言,这还不够。我们不仅想要预测,更渴望理解。我们寻求的是可解释的模型,是能讲述背后机制故事的模型。
我们如何着手构建这样一台发现机器呢?我们并非从一个答案开始,而是从一个充满可能性的图书馆开始。想象一个方程就像一个由数学词汇构成的句子。这个词汇库包括:
我们的任务是从这个词汇库中找到正确的句子——正确的方程。但可能的句子数量是惊人的、天文数字般的浩瀚。如果我们试图逐一测试,我们的计算机将运行到时间的尽头。我们需要一个指导原则。
这个原则就是简约性(parsimony),即奥卡姆剃刀的现代名称:在所有其他条件相同的情况下,最简单的解释是最好的。自然,似乎是一位含蓄而非恶意的建筑师;她的设计往往优雅而经济。一个包含一百个项的方程或许能完美拟合我们的数据,但它可能只是对噪声的复杂描述。真正的定律更有可能是隐藏在下面的那个简单而强大的法则。
这引导我们采用一种称为非线性动力学的稀疏辨识(Sparse Identification of Nonlinear Dynamics),简称SINDy的强大技术。想象我们创建了一个巨大的字典,包含所有可能描述我们系统的数学项——、、、、等等。然后我们向计算机提出一个非常具体的问题:“你能否仅用这个巨大字典中的极少数项来解释我系统的变化?” 算法随后会执行一种回归,但它强烈倾向于将大多数字典项的系数设为零。最终剩下的是一个稀疏模型——一个只有少数几个活动项的方程。它自动地从复杂性的海洋中找到了拟合数据的最简约组合,一条简约的定律。
整个过程可以建立在最小描述长度(MDL)原则这一非常坚实的理论基础上。MDL原则将模型选择问题框定为数据压缩问题。它认为,最好的模型是那个能提供对数据最短描述的模型。这个“总描述”包括两部分:
目标是找到使总长度 最小化的模型 。这个优美的权衡是奥卡姆剃刀的数学体现。它优雅地平衡了我们对简约性()的渴望与对准确性()的需求。
即使有简约性作为我们的向导,可能的方程搜索空间仍然过于庞大,无法进行穷尽式探索。我们需要一种巧妙的搜索策略。其中最优美直观的方法之一其灵感源于生物学本身:遗传编程(Genetic Programming)。
想象我们从一百个完全随机、毫无意义的方程群体开始。大多数都很糟糕,完全不能描述我们的数据。但有少数几个,纯粹出于偶然,比其他的稍微好一点。这些就是我们“最适应”的个体。然后我们让这个群体“演化”:
一代又一代,这个选择和变异的过程塑造着种群。坏的想法被淘汰。好的想法得以生存、组合和改进。如果一切顺利,最终浮现的是一个既高度适应(它能准确描述数据)又常常惊人地简单的方程,因为它在选择压力下被剔除了不必要的复杂性。这是有指导的演化,只不过对象是数学。
这个自动化过程看似神奇,但对于粗心的人来说,它充满了微妙的陷阱。构建一个可靠的发现机器需要对这些挑战有深刻的认识。
最阴险的问题之一是我们候选库中的共线性(collinearity)。当我们的字典中有两个或更多项并非真正独立时,就会发生这种情况。例如,微积分的链式法则告诉我们, 的导数,写作 ,完全等于 。如果我们天真地将 和 都包含在字典中,我们实际上是给了算法两个不同的词来表示同一个东西。算法无法决定如何归因它们的效果,结果就会变得不稳定且毫无意义。
这种情况也可能以更微妙的方式发生。如果我们测量的信号恰好是一个简单的正弦波,比如 ,它的二阶导数就是 。在这种情况下, 项与 项完全成正比!算法会将它们视为功能上相同,从而产生另一种歧义。成功需要一个精心构建的、没有这些隐藏冗余的字典。
一个更深刻的问题是可辨识性(identifiability)。有时,一个模型的结构存在根本性的歧义。可能两组完全不同的参数值,比如 和 ,对于你可能进行的任何实验都会产生完全相同的输出。这被称为结构不可辨识性。模型本身存在缺陷,再多完美的数据也无法解决这种歧义。
更常见的是实际不可辨识性问题。模型在理论上可能没有问题,但我们拥有的数据不足以确定参数。也许我们的测量噪声太大,或者我们的实验不够“刺激”,未能探测到系统的所有行为。这是一个至关重要的见解:方程发现不仅仅是算法问题,它与实验设计密切相关。要发现一个系统的规律,我们必须以恰当的方式去戳它、探它,才能让它揭示自己的秘密。
拥有如此强大的计算能力,在无数模型中进行搜索,我们很容易找到一个能完美拟合现有数据但实际上毫无价值的方程。这就是过拟合(overfitting)。我们如何确保发现的模型具有真正的预测能力呢?
答案是严格的交叉验证。但对于随时间演化的数据,比如一杯咖啡的冷却过程或钟摆的运动,我们必须小心。我们不能简单地将数据随机分成训练集和测试集,因为这意味着用未来预测过去,这是一个会导致结果极度乐观的致命错误。相反,我们必须尊重时间之箭。一种稳健的方法是滚动原点验证(rolling-origin validation)。我们在从开始到某个时间点(比如 )的数据上训练模型。然后测试它预测未来的能力,比如从 到 。接着,我们向前“滚动”窗口,用直到 的所有数据进行训练,并在 到 的时间段上进行测试。通过重复这个过程,我们可以得到一个关于我们的发现程序在处理全新数据时表现如何的诚实评估。
最后,当我们的搜索产生了几个有希望的候选方程时,我们如何选择最终的胜出者?这时,来自统计学的工具如赤池信息准则(AIC)和贝叶斯信息准则(BIC)就派上了用场。它们都是简约原则的实现,都会对模型的复杂性进行惩罚。但它们的目标不同:
方程发现的旅程本身就是科学过程的一个缩影——一场在创造力与严谨性之间、在提出假设与无情检验之间的舞蹈。这是一场将数据转化为洞见、将噪声转化为知识、将一串数字转化为一个简单、优雅且强大方程的探索。
既然我们已经窥探了方程发现原理的内部机制,现在让我们开启一段跨越科学领域的旅程,看看这些强大的工具正将我们引向何方。你可能会认为这只是物理学家在拥有过多数据时玩的一种小众技巧,但你错了。我们即将看到的是一种通用翻译器,一种将原始、常常令人困惑的数据语言,转化为简洁、优雅的数学定律散文的方法。这是一个关于重新发现、完善和启示的故事,从宇宙的时钟装置延伸到生命本身的混沌之舞。
想象你是一位天体观测者。你继承了大量详述行星位置和轨道周期的天文图表,但所有 Newton 和 Kepler 的著作都已失传。你所拥有的只有数字。你会如何开始理解它们?你可能会像四个世纪前的 Johannes Kepler 那样,尝试绘制图表,寻找模式。他花费了数年艰苦的努力才揭示出他的行星运动三定律。
今天,我们可以让一台机器成为我们的 Kepler。我们可以给它输入数据——各个天体的半长轴()和轨道周期(),并给它一个简单的任务:找出它们之间的数学关系。通过符号回归的过程,机器开始实验。它首先尝试简单的想法: 是否与 成正比?不,数据拟合得不好。 是否与 成正比?更近了一步,但仍未成功。那么 对 呢?突然间,数据点完美地排列成一条直线。机器找到了它:。
这不是一个假设的游戏;它是任何方程发现算法的标准测试()。即使我们向数据中添加模拟的“测量噪声”,以模仿现实世界望远镜的不完美,算法也能穿透静电干扰,找到潜在的定律。这其中最美妙的是,机器没有任何关于引力、质量或动量的概念。它是一个纯粹、无偏见的模式匹配器,在寻找最简单、最准确描述的过程中,重新发现了一个天体力学的基石。它证实了自然法则不仅存在于我们的教科书中,它们也印刻在数据本身之中,等待被解读。
如果这个工具能解读宇宙的法则,它还能翻译哪些其他语言呢?令人愉快的答案是,自然的数学主题在最意想不到的地方重复出现。
思考一下活细胞的复杂世界。在细胞内部,激活分子促进其他物质的产生,而抑制分子则阻止它们。这听起来极其复杂,但让我们换一种说法。想象一个有兔子()和狐狸()的生态系统。兔子()自行繁殖,但狐狸()捕食它们。捕食的速率取决于狐狸遇到兔子的频率,这个频率与它们种群数量的乘积 成正比。这就得到了著名的 Lotka-Volterra 方程,它描述了捕食者与猎物之间振荡的舞蹈。
现在,让我们回到细胞。如果一个抑制分子的作用方式是与一个激活分子结合并使其失活呢?它们的“相遇率”同样与它们浓度的乘积成正比。数学形式是相同的!一个被输入了这类基因调控网络时间序列数据的符号回归算法,可以发现这个关键的双线性相互作用项 ()。通过简单地将一个包含此项的模型与一个不包含此项的模型进行比较,算法仅凭数据就能断定这种“捕食”机制正在起作用。同样的数学结构支配着星系的命运、动物种群的兴衰,以及单个细胞内的精妙调控。
这种普适性甚至延伸到经济学的抽象世界。金融市场是出了名的难以建模,但这并不妨碍我们尝试。我们可以使用一种更复杂的贝叶斯方法进行方程发现,而不是假设一个特定的资产定价模型然后仅仅拟合其参数。在这里,我们可以要求算法探索一个包含各种可能模型的宇宙——线性项、二次项、相互作用项——并报告在给定数据的情况下,哪种模型结构最有可能()。这是一个深刻的转变,从仅仅验证我们自己先入为主的想法,转变为让数据提出全新的想法。
从零开始发现定律是令人兴奋的,但在许多成熟的科学领域,我们已经有了非常好但并非完美的模型。在这里,方程发现作为一种完善工具大放异彩,用于寻找我们现有理论所忽略的细微修正。
以原子核为例。源于“液滴模型”类比的半经验质量公式,在预测大多数原子核的结合能方面做得相当不错。但它并不完美。物理学家知道它的预测存在结构性偏差,尤其对于具有“幻数”个质子或中子的原子核,这是量子壳层效应的标志。我们可以给符号回归算法一个特定的任务:检查液滴模型的误差,并为这些误差找到一个可解释的公式。算法可能会返回一系列小的修正项()。其中一项可能取决于与最近幻数的距离,另一项可能取决于质子和中子的配对。机器扮演着一个不知疲倦的助手,仔细研究残差,揭示简单液滴模型所忽略的、潜在量子力学的微弱数学低语。
这种既有理论与数据驱动发现之间的合作,在整个工程领域也被证明是无价的。在固体力学中,弯曲梁的行为由古老的理论描述,但这些理论包含一些经验修正因子,比如 Timoshenko 梁理论中的“剪切修正因子” 。我们可以使用方程发现来为 找到一个精确的公式,而不是依赖于旧的表格值()。通过指导算法尊重能量一致性和量纲分析等基本原则,我们可以引导它的搜索。结果不仅仅是一个数字,而是一个清晰的解析公式,揭示了修正因子如何依赖于梁的横截面形状和材料属性。
也许整个经典物理学中最大的挑战是湍流。管道中的水流或机翼上的气流是各种尺度相互作用的涡流的漩涡。我们不可能模拟每一个分子。相反,工程师使用“封闭模型”来近似小尺度、未解析涡流对大尺度流动的影响。寻找好的封闭模型是一个长达一个世纪的探索。现在,我们可以对一小块湍流进行超高保真度的模拟(直接数值模拟),并利用其数据让符号回归算法为我们发现封闭模型([@problem_tunc]:4037740)。这是一个前沿应用,充满了高维度和噪声数据的挑战,但它代表了解决科学中最顽固问题之一的新希望。
一个算法,如果任其自为,只是一个函数拟合器。它没有物理现实感。它可能会找到一个拟合得非常漂亮但恰好违反了宇宙基本定律的方程。这时,科学家必须重新介入循环,充当物理原则的守门人。
想象我们的算法正在研究一个化学反应网络。它可能会提出了一个包含 这样一项的速率定律()。这个方程可能与数据拟合得很好,但化学家知道,对于基元反应来说,这是无稽之谈。反应速率源于分子碰撞,导致浓度的乘积(例如,,),而不是比率。通过利用我们的领域知识来限制可能的方程的“语法”,我们可以确保机器不会在物理上不合理的答案上浪费时间,或向我们呈现这样的答案。
一个更深刻的检验来自热力学定律。考虑发现一种材料的本构律——其应力 和应变 之间的关系。算法可能会为一种粘性材料找到一个简单的定律,如 ()。它看起来很无害。但是,当我们用热力学第二定律来检验它时——该定律要求任何耗散过程都不能无中生有地创造能量——我们发现了一个致命的缺陷。对于某些运动(当 时),这个方程预测了负耗散——材料会自发地产生自由能!它是一个伪装的永动机。通过将第二定律作为过滤器强制执行,我们可以立即拒绝这类不可接受的模型,无论它们与数据的拟合程度有多好。这是经典的十九世纪热力学与二十一世纪机器学习的美妙结合。
到目前为止,我们已经看到方程发现如何找到描述系统做什么的规律。但科学中最深刻的问题往往是关于为什么。为什么一个系统是稳定的?是什么导致了某个特定的效应?值得注意的是,这些相同的工具可以帮助我们探讨这些更深层次的问题。
考虑一个生物系统,比如一个维持稳定内部状态的细胞——这个过程称为体内平衡。我们可以使用符号回归来发现控制内部化学物质浓度的方程。但之后我们可以采取第二个、更深刻的步骤:我们可以要求算法为这些方程找到一个“李雅普诺夫函数”(Lyapunov function)()。李雅普诺夫函数就像是系统的“虚拟能量”。如果我们能找到这样一个函数,它能保证随着系统的演化总是减小,那么我们就从数学上证明了系统是稳定的,并且总是会回到其平衡点。在这里,我们已经从一个描述性模型,走向了对系统组织原则的更深层次的理解。
这就把我们带到了终极问题:因果关系。我们都被教导说,相关性并不意味着因果关系。如果我们看到物种 和物种 总是一起振荡,是 导致了 ,还是 导致了 ,或者存在一个隐藏的共同原因 ?仅仅将被动观测的数据拟合到一个方程上,本身并不能解决这种模糊性。
然而,通过将问题置于因果推断的严谨语言框架内,我们可以陈述在何种条件下,一个学到的模型可以被因果地解释()。我们需要强有力的假设:我们没有遗漏任何重要变量(没有未测量的混杂因素),我们的时间分辨率足够快,等等。但即便如此,证明因果关系的黄金标准是干预。如果你的算法表明 的变化率依赖于 ,那么决定性的检验就是进行一个实验。使用所谓的 do-算子,我们可以问:如果我们 do(A = a_0),即我们干预以将 的浓度固定在一个定值上,会发生什么?如果 的动态如预测般改变,我们就有了支持因果联系的强有力证据。这将方程发现从一个被动的数据分析工具,转变为科学方法中的一个积极伙伴,不仅提出假设,还提出检验这些假设的关键实验。
从行星无声的华尔兹到我们经济中熙熙攘攘的市场,从生命的蓝图到物质的结构本身,宇宙是用数学的语言写成的。几个世纪以来,我们一直在学习阅读它。现在,我们正在构建工具来帮助我们编写词典。人类直觉与算法发现之间这种新的伙伴关系,有望加速我们理解周围世界和我们内心世界的探索,其方式我们才刚刚开始想象。