AI“解决”Navier-Stokes方程?数学证明标准面临重构
2026/9/16 2:06:56 网站建设 项目流程

最近 OpenAI 放出一个消息,说自己一帮人把 Navier-Stokes 方程搞出了点名堂,还没等数学圈消化完,就有位哲学家专门撰文,分析这件事之后整个数学研究会往哪儿走。一个搞哲学的来谈数学和AI,这组合放在以前挺少见,但这次确实戳中了要害:AI如果真的能“解决”百年未解的偏微分方程难题,那数学这门学科赖以生存的证明标准、可验证性、甚至审美习惯,全都得重新掂量。

这事闹得热,但大多数讨论都停在“AI好厉害”或者“不可能”两个极端。作为这些年一直关注AI和科学计算交叉方向的人,我想从几个角度把这件事拆开聊聊:OpenAI到底做了什么、数学界为什么反应这么大、哲学家担的是什么心,以及如果你自己也想上手跑一跑这类实验,该怎么开始。

1. 一次声明,两个世界的碰撞

1.1 OpenAI做了什么,以及它没做什么

先得把事实捋清楚。Navier-Stokes方程是描述流体运动的核心方程,从水流、气流到血液流动,几乎所有宏观流体现象都能归到它底下。这方程长这样:

ρ(∂u/∂t + u·∇u) = -∇p + ν∇²u + f

其中u是速度场,p是压强,ν是运动粘性系数,f是外力。加上不可压缩流体的连续性方程∇·u = 0,就是一个完整的主控方程组。

这方程难在哪?难在有没有“整体光滑解”这个问题已经困扰了数学家一百多年。所谓整体光滑解,就是给定任意合理的初始条件,是否永远存在一个不产生奇点、速度不变成无穷大的解。2000年Clay数学研究所把它列为千禧年七大难题之一,悬赏一百万美元。搞流体力学的工程师们其实不太在乎这个,因为不管数学上有没有严格证明,飞机照样设计、管道照样铺设,数值模拟早就变成工业界日常操作。但纯数学家盯着这个问题的本质不撒手,因为它背后牵扯到偏微分方程理论里最基础的存在性、唯一性、正则性问题。

OpenAI这次的做法,据公开资料看,不是说“我证明了解整体存在且光滑”,而是用类似深度学习的方法,在特定条件下找到了构造解的新路径,或者说给出了一种在数值意义下极其可靠的逼近方案。声明本身并没有宣称拿下一百万美元,这点必须先讲清楚。但耐人寻味的是,他们用了“solution”这个词,在英文语境里既可以指“解”,也可以指“解决方案”。数学界看到标题吓了一跳,点进去发现是机器学习做的逼近,情绪就从震惊变成了质疑。

哲学家阿兰·哈维克在那篇文章里倒是看得挺开:不管OpenAI声称的是哪种意义上的“解决”,这件事已经打开了潘多拉盒子。因为以前数学界默认“用计算机解方程”是“数值试验”,是工程的事,不是数学本身的事。但这次一家做AI的公司跳出来,直接站在偏微分方程这个纯数学的核心议题旁边,往里面扔了一个深度学习方案。这个动作本身,就已经改变了数学研究的生态位。

1.2 Navier-Stokes方程凭什么让人头疼

很多人不理解,一个方程而已,为什么一百多年都没搞定。我试着用大白话解释一下。

Navier-Stokes方程描述的流体运动,既有非常“乖”的层流状态,也有极其“叛逆”的湍流状态。湍流的特点就是多尺度:大涡套小涡,小涡套更小的涡,能量一层一层往小尺度传递,直到粘性把它们耗散成热量。如果某一天粘性不够、尺度坍缩到底,理论上就可能出现速度梯度变成无穷大的奇点。奇点意味着什么?意味着流体的运动在某个瞬间某个点失去数学描述能力,物理上也可能出现无法预测的“断崖式”变化。

数学家们想证明的无非两件事:第一,不管初始条件怎么给,解不会在有限时间内爆掉;第二,即便存在某种奇点,它也不能造成能量或者涡量无界增长。这俩命题听着简单,但涉及到的数学工具极其深,需要调和分析、微局部分析、重整化群等等一大堆高射炮打蚊子的技术。一百多年来,法国学派、苏联学派、现代偏微分方程专家们一批一批地投入,最接近的结论也只是在某些特定条件或者低维情形下证明了部分结果,三维情形下的完整证明至今遥遥无期。

工程上的数值模拟倒是一直在进步,但数值解不是严格证明。你做网格剖分,把空间时间离散化,然后算出近似结果,哪怕误差控制到小数点后十位,依然只是证据,而不是证明。哲学家担心的正是这一点:如果人们开始接受“用深度学习跑出来的极其精确的数字结果”作为某种意义上的数学答案,那么未来数学的“证明”二字,含义会不会悄悄改变。

2. 哲学家视角:什么才算“解决”

2.1 机器学习给出的结果,算证明吗

这大概是整场讨论的核心。数学证明有一个基本要求:任何一步推理都必须能被人类理解、检验、重放。你可以用计算器算999999×999999,但你不能说“因为计算器告诉我结果,所以它正确”。你得能给出手算规则、解释进位原理,或者至少说明这个计算器验证的算法是对的。数学证明的可验证性,是这门学科的立身之本。

但机器学习给出的结果完全不一样。训练一个神经网络需要大量数据、随机初始化、随机梯度下降、各种超参数……最后得到一个黑箱函数。这个函数拟合了方程的解,然后你说“我找到了Navier-Stokes方程的一个高精度近似解”。数学家会怎么反应?第一反应肯定是:你怎么验证?靠另一套数值网格交叉验证?那就是循环论证,因为你依然没有绕开“数值计算不等于证明”的质疑。

哲学家会追问一个更根基的问题:知识到底是不是一定要人脑可以理解?如果是,那AI给的结果顶多算“数据”,不是“知识”。如果不是,数学就变成了一个“黑盒学科”,数学家的工作退化为设计网络结构、跑训练、检查输出,剩下的事情全权委托给优化算法。这听上去有点惊悚,但按目前AI发展的势头确实无法回避。

四色定理当年被计算机辅助证明的时候,数学界就吵过一轮。但四色定理的证明本质上还是人可以逐步检查的:图论问题枚举成几千种情形,每种情形用确定性的算法检查。Leaning Tower of Hanoi那种离散问题还好办,Navier-Stokes这类的连续偏微分方程完全不是一回事:无限维空间、可能存在的奇异集、各种复杂的先验估计……这里面的矛盾在于,机器学习恰恰是一个从有限数据学习无限维映射的概率性工具。用概率性工具去逼近一个确定性命题,然后把它叫做“解决”,哲学上很难让人安心。

2.2 数学界真正怕的不是错,是无从下手

我看了不少数学家的反应,发现他们真正的焦虑不只是“AI的答案对不对”,而是“AI的答案不可审查”。如果DeepMind那套AlphaFold在蛋白质结构预测上的成功还算“经验科学”的领地,那么数学这个学科不一样:数学不靠实验,靠推理。你可以说AlphaFold给出一个结构,然后生物学家去实验室验证;但你不能说神经网络给Navier-Stokes方程一个解,然后数学家想办法验证——因为验证这个解本身,可能比找解更难。

哲学家在这块塞了一针见血的概念:数学中的“透纳测试”。你从一张粗糙的初始条件出发,让AI不断给出后续演化,它看起来是对的,能量守恒也满足,边界条件也不错,但这些“看起来”连在一起,不等于从逻辑上推导出一条纯粹的链。数学家怕的就是这个:没有链,只有一堆相互印证的经验证据。

更微妙的是审美层面的问题。好的数学证明不仅仅是一个结论正确,还应该提供一个洞见:为什么这个结论是对的?结构上藏着什么?证明过程往往会让背后的理论框架变得清晰,比如调和分析里的振荡积分技巧、椭圆方程里的正则性理论。一个黑箱网络训练出来的“解”,没有给出任何结构性的启示。即使结果是对的,数学家也学不到东西。这就好比有人告诉你“宇宙外面还有一个平行宇宙”,你问他怎么知道的,他说“我训练了一个大模型,它告诉我,而且你要检查它怎么知道的,你得再训练一个更大的模型”。数学这门学科如果走到这一步,确实挺荒诞的。

3. 数学走向:工具变了,标准也会跟着变

3.1 从“证明定理”到“发现规律”

抛开纯哲学争论,现实中AI已经在帮数学家发现新规律了。比如图论和组合学领域,深度学习和搜索算法联手帮研究者找到了一些人类从未观察到的模式。再比如代数几何里,用AI做奇点分类或者构造反例的事也已经有了先例。未来的数学研究很可能变成两条腿走路:一条腿是人脑直觉驱动的猜想和证明,另一条腿是AI在高维空间里探索结构、生成候选定理。

Navier-Stokes事件最微妙的地方在于,它把这个趋势从“AI发现新知识”推向了“AI生成可被验证的构造”。OpenAI那帮人大概率不是想去抢千禧年大奖,他们真正想做的是展示一个范式:在偏微分方程的求解上,深度学习方法可以做到传统数值方法做不到的精度和泛化能力。如果这种范式被数学界接受,那么接下来所有人都会开始往同一个方向卷:用神经网络去构造以前够不着的解,哪怕暂时拿不出严格证明。

我个人的判断是,这条路短期内不会替代传统偏微分方程理论,但一定会催生一门“计算发现的数学”或者叫“算法偏微分方程理论”的分支。这个分支里,机器生成的结果经过形式化验证之后,会被赋予类似“已证定理”的地位。这条路走通的话,数学的产出效率会有质的飞跃,但代价是数学家得接受“我的研究对象里面有一环是机器推理的结果,我没法人肉验证”这个事实。

3.2 形式化验证会变成硬门槛

如果AI生成的结果想被数学界纳入知识体系,光靠训练日志和数值误差肯定不行,必须得有一层“翻译器”把AI的输出变成逻辑上可以机械检查的证明。这就是形式化验证(formal verification)和证明助手(proof assistant)的作用。

Lean、Coq、Isabelle这些工具,本质上都是把数学证明变成一种高级类型语言的程序,然后由机器逐步检查每一步类型推导是否正确。这里面有个关键点:证明助手不是靠“统计拟合”来判断对错,而是靠确定性的规则,一步接一步从公理推出目标。换句话说,这种验证方式在哲学上仍然是“可重放”的,只不过重放的主体是机器。数学界对这种方式接受度远高于机器学习黑箱,因为四色定理的计算机辅助验证,本质上就接近这种模式。

所以未来很可能会出现一个标准工作流:先用神经网络或者强化学习生成一个候选解或者候选证明,再把候选结果翻译成Lean的定理,然后用证明助手去机械验证。验证通过之后,即使没有人完整“看懂”每一个步骤,数学界也可以把这个结果当作一个可靠结论编入数据库。

这听起来很美,但有一个巨大的现实问题:把神经网络的结果翻译成形式化语言,难度不亚于让一个会说但不会写的文盲完成一篇学术论文。神经网络内部的结构是连续数值权重的组合,和离散的逻辑推理之间隔着一条巨大的鸿沟。OpenAI如果真的在偏微分方程上做了实质工作,那接下来他们会面对一个修罗场:必须提供形式化证据,否则数学家不会买单。历史上有人做深度学习“证明”了某条定理,最终被形式化验证卡住了,只能无限期挂着预印本。这应该是所有想用AI攻数学的人必须提前攒的经验。

3.3 数值实验与理论证明的边界重构

退一步看,用数值实验辅助数学Public研究并不是新鲜事。现代数学里面很多猜想的产生都源于大规模数值计算,比如统计力学里的重整化群猜想,比如某些数论函数分布的猜想。数值证据一直被视为“试探性支持”,不是终点。但如果数值证据由AI给出、且精度远超普通数值方法,它带来的说服力就会上升一个数量级。于是边界开始模糊:到底什么叫“足够多的证据”?

在Navier-Stokes这个具体例子里,如果AI能极其精确地逼近某类临界情况下的解,并且在大量随机初始条件下都不出现爆点,那任何人都很难忽视这个证据。问题是这距离“解整体存在”的普遍性命题还很远。你可以证明一万个具体情形,但无法证明第一万零一个。除非你能用形式化验证把“神经网络给出的解是整体光滑的”这个命题变成可机械检查的结论——这也就回到了上一节的逻辑。

所以从实际研究方向看,未来偏微分方程领域里“理论派”和“计算派”的分工不会消失,但“计算派”的队伍会庞大很多。很多人会专门研究一种新工具:把网络架构、损失函数、训练算法都当成某种“假设”,然后用严格的先验估计去证明这种假设确实能逼近真解。这个方向已经有人在做了,比如关于深度网络逼近连续函数的泛函分析结果、关于物理信息神经网络收敛性的论文这两年越来越多。

4. 如果你想亲自上手:最小可复现的PINN示例

说了这么多形而上的东西,该落地了。如果你对“用AI解偏微分方程”这件事感兴趣,最值得尝试的就是物理信息神经网络(Physics-Informed Neural Networks,简称PINN)。它就是让神经网络去拟合PDE的解,同时把PDE的残差作为损失函数的一部分。OpenAI那类工作虽然复杂得多,但核心思路和PINN一脉相承。我自己跑过几个类似实验,踩了不少坑,下面把最小可复现的流程写出来,你照着敲一遍就能看到效果。

4.1 从一个比Navier-Stokes简单但思路一致的方程开始

直接跑Navier-Stokes对于新手来说太重了,推荐从一维Burgers方程开始。它长这样:

u_t + u * u_x = ν * u_xx

其中u = u(x, t),ν是扩散系数。这个方程既有非线性对流项,又有扩散项,很多跟湍流相关的数学结构它都有,理解起来又不至于掉进复杂的矢量分析里。

我这里的示例用的是PyTorch,环境要求无非是numpy、torch、matplotlib。网络结构不需要多花哨,一个四五层的全连接网络,激活函数用tanh,输入是(x, t)二维坐标,输出是u的预测值。

import torch import torch.nn as nn import numpy as np import matplotlib.pyplot as plt # 定义网络 class PINN(nn.Module): def __init__(self): super().__init__() self.net = nn.Sequential( nn.Linear(2, 64), nn.Tanh(), nn.Linear(64, 64), nn.Tanh(), nn.Linear(64, 64), nn.Tanh(), nn.Linear(64, 1) ) def forward(self, x, t): return self.net(torch.cat([x, t], dim=1))

训练的核心是把三个损失加在一起:初始条件损失、边界条件损失、PDE残差损失。PDE残差用自动微分算,这是整个方法最关键的地方。

def pde_residual(model, x, t, nu=0.01): x = x.clone().requires_grad_(True) t = t.clone().requires_grad_(True) u = model(x, t) u_t = torch.autograd.grad(u, t, grad_outputs=torch.ones_like(u), create_graph=True)[0] u_x = torch.autograd.grad(u, x, grad_outputs=torch.ones_like(u), create_graph=True)[0] u_xx = torch.autograd.grad(u_x, x, grad_outputs=torch.ones_like(u_x), create_graph=True)[0] residual = u_t + u * u_x - nu * u_xx return residual

训练的时候,在区域[-1, 1] × [0, 1]里面随机撒一些点,初始条件用 -sin(pi * x),边界条件让位置在两端时 u 等于0。这样就是一个标准的PINN训练闭环。

4.2 关键参数与调优经验

很多人跑PINN出来的loss死活不降,一个很重要的原因是损失权重没配平。PDE残差的数值量级通常很大,初始条件和边界条件也各不相同,叠在一起如果不加权,梯度方向就会被量级大的loss带跑偏。我自己常用的方法是在训练初期给残差损失乘一个0.01或者0.1的系数,等边界和初始条件拟合得差不多了再慢慢把权重修正过来。如果你用的框架是DeepXDE,它自带很多权重策略,但自己手撸网络的话一定要记得处理这一步。

另一个影响非常大的点是激活函数的选择。ReLU这类线性分段激活函数在求解PDE时特别容易出问题,因为二阶导基本是0,直接让残差计算垮掉。我的实测经验是tanh最稳,偶尔用sin也能跑出不错的结果。原因也好理解,PDE求解需要足够光滑的逼近空间,tanh无穷次可微,ReLU连二阶导数都指望不上,天然不适合这个场景。

训练步数至少五千步起步,一万步左右会比较靠谱。别指望几十步就能看到漂亮的波包,PINN收敛速度跟普通图像分类任务完全不在一个量级。这里有个实操小技巧:把训练过程中的loss曲线画出来,如果前期初始条件loss降得很快、但PDE残差loss一直平着不动,大概率是权重失衡或者网络容量不够。加层也好,调权重也好,总得动一头。

4.3 复现时的常见问题和排查

问题一:loss出现NaN。这事我在GPU环境里踩过好多次。图像分类里梯度爆炸可以用gradient clipping解决,PINN里也适用,但更重要的是把学习率调低,默认的1e-3对PINN来说经常偏高, 降到1e-4或者5e-4会稳很多。

问题二:解在边界处震荡。这个问题通常出现在x接近两端的时候,网络输出的u值边缘处拟合不准确,边界条件没法精确满足。解决办法是把边界点做稠密采样,或者直接修改网络输出结构,比如加一个保边界的映射层,让输出在边界上自动为0。

问题三:训练时间太长。PINN最大的痛点之一就是每个训练轮次都要做高阶自动微分,计算图又深又重。我试过一个有点效果的做法:先在粗网格上用少量点训练一个粗略解,再用这个解的权重初始化细网格上的网络,这样收敛确实能快不少。这种方法本质上是课程学习(curriculum learning)的思路,在PINN实践中很实用。

我在实操中还有一个体会,就是要多做“残差可视化”。训练完别只盯着loss曲线,直接画解的云图,看看预测出的u和真解到底差多少。很多网络训练时loss看似在降,但速度场在局部区域已经出现明显假形变,就是一个盆地一个坑那种。你一旦眼能识别出这种pattern,对调试是真的有帮助。

5. 工具的成熟度:接下来该学什么

如果你觉得手撸网络太费劲,可以了解一下DeepXDE这个库。它把PINN的采样、损失加权、边界条件封装得比较完善,底层同时支持TensorFlow和PyTorch。想做更接近工业级的偏微分方程求解实验,Neural Operator的路线也很值得关注,FNO(傅里叶神经算子)和DeepONet是这两年最火的两个方向,它们不再是单点求解,而是学习一个从初始条件到解的映射,测试时遇到新的初始条件也能不用重训直接出结果。OpenAI那类工作里面有一些思路跟neural operator是共通的,都是用数据驱动的方式简化传统数值计算。

如果你既想搞数学又想搞AI,那除了这些工具之外,最好还耐着性子补一补偏微分方程的基础理论。我的感觉是,很多人被工程上“反正能跑出漂亮的图”迷惑,实际上对守恒律、弱解、正则性这些概念一脸懵,这导致他们在写论文或者做分析的时候总是差点意思。现在这个领域不缺会调参的人,缺的是既能翻译偏微分方程理论、又能把网络架构落到实处的人。

6. 最后说几句实在话

哲学家撰文这件事,本质上是在替数学共同体踩一脚刹车:大家别急着欢呼AI解决了几百年难题,先想清楚什么算解决、什么算证明、什么算知识。数学家们对AI的态度这两年明显在升温,但不可能一步从“数值结果”跨到“定理”,中间必须架一座形式化或者可机械检查的桥。

我个人的看法是,OpenAI声称解决Navier-Stokes的细节最终也许经不起严格的数学推敲,但这不重要。重要的是它把AI和纯数学之间的距离又压缩了一层。你可以不把它的输出当作证明,但你不能否认,那个文档的出现让一大群做了多年偏微分方程的人开始认真学习神经网络是怎么训练的了。学术范式的转移往往就是这个样子:不是靠某一个石破天惊的绝对突破,而是靠一次又一次的边界碰撞,让“不可能”悄悄让位给“值得再想想”。

如果你想参与进来,别急着冲进最硬的题目。先跑通一个PINN,感受一下自动微分在PDE求解里有多强、也感受一下它有多不靠谱,再去看OpenAI的声明、哲学家的文章,你的理解会完全不同。技术的东西经常几年就翻篇,但桌面底下那股“数学何为”的追问,永远值得琢磨。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询