作为业内首个多学科、系统化的AI4S工程实战宝典,“AI4S实战派”栏目立足开放生态、持续演进,致力于“手把手”带你率先跑通科学大模型,将复杂、多学科的AI模型转化为能跑、能用、能创新的生产力工具,帮助科研人员和开发者零门槛上手,加速科学新发现。

如果说表征学习是AI理解世界的“数字身份证”、生成式模型是AI重构世界的“造物主之手”,那么物理信息神经网络(PINN, Physics-Informed Neural Network)就是将自然法则刻进AI灵魂的“立法者”。

3月19日晚,由上海科学智能研究院(下称上智院)、复旦大学、魔搭社区、Datawhale联合策划的《AI4S实战派》第三期线上开讲。

耶鲁大学助理教授、DeepXDE核心作者陆路,带我们深度拆解了如何用神经网络求解物理方程,将能量守恒、对称性等物理定律融入AI的训练过程,使其理解物理世界。

今天,我们来一起温故知新,视频回放可以点击以下地址

https://aistudio.ai4s.com.cn/partner/research-plaza/research-plaza-web/sais-community/course/2046488983070769152

PINN是什么?从数据驱动到物理约束

以往的深度学习依赖海量数据,但在科研场景中,数据往往昂贵、稀缺、甚至无法获取。陆路用一个核心问题开启了分享:“当数据不够时,我们还能用什么来训练神经网络?”

答案是:物理信息。

PINN的核心思想是:不仅要用数据训练,更要将已知的物理方程(如偏微分方程PDE、对称性、守恒律等)作为约束条件,加入神经网络的损失函数中。这样,即使数据稀疏,物理定律本身就能提供足够的先验知识。

陆路用一个比喻来解释:传统方法是在边界和内部取大量网格点,用有限元或有限差分求解;而PINN方法则是在区域内随机取点,让神经网络学习满足方程和边界条件。

图片

PINN的核心原理:把方程变成Loss

PINN究竟是如何在没有大量数据的情况下解方程的?其秘诀在于对损失函数(Loss Function)的巧妙设计。

陆路用一个简单的传热方程为例,拆解了PINN的操作流程:

第一步:定义神经网络

输入是坐标(x, y, z, t),输出是物理量u(温度、速度、压力等)

第二步:构建Loss函数

Total Loss = PDE Loss + Boundary Loss
  • PDE Loss:在内部随机取点,计算方程左边减右边的残差

  • Boundary Loss:在边界取点,确保边界条件被满足

第三步:自动微分求导

神经网络的导数计算,不是对权重求导,而是对输入求导。通过自动微分(Autograd),可以轻松计算一阶导、二阶导,而核心代码只需一行:

u_xx = dde.grad.hessian(y, x)  # 二阶导数

第四步:优化求解

用标准的Adam优化器训练,最终得到的神经网络就是方程的解。

图片

进阶技巧:让神经网络“天生”懂物理

在PINN训练中,多Loss项不平衡是常见问题。除了把物理方程作为Loss(软约束),陆路还分享了更高级的 “硬约束”(Hard Constraints)玩法——无需训练,让网络架构自带物理属性,五种核心技巧如下:

1. 硬约束边界条件

核心思路:设计包装函数(Wrapper function),让边界条件天生满足:

u(x) = g(x) + l(x) × NN(x)
  • g(x):满足边界条件

  • l(x):边界为零、区域内为正

例子:U(0)=0, U(1)=1时,设u(x)=x+x(1-x)×NN(x),边界条件自动成立!

扩展应用:周期性边界用傅里叶基函数,不可压缩流体用旋度恒等式。

2. 自适应权重平衡

面对“多Loss权重如何选”的问题,可以使用Dynamic Weighting方法,动态计算各Loss梯度范数比值,自动调整权重系数,从而无需手动调参。

3. 梯度增强PINN

PDE的各阶导数也等于零,将这些导数加入Loss,提供免费的监督信息。实测误差可降低一个数量级。

4. 自适应采样(RAR)

在PDE残差大的区域自动加密采样点,类似错题本策略,以最少的算力实现全局高精度逼近。

5. 区域分解

复杂几何可切分子区域并行求解,加速收敛。

PINN的杀手级应用:反问题与高维挑战

相比正问题求解,PINN在某些场景下展现出传统方法无法比拟的优势。

1.反问题求解:从结果反推原因

传统困境:当物理方程中存在未知参数(如热导率k)时,传统方法需要复杂的伴随方法,编程实现困难。

PINN解法:将未知参数也作为可学习变量,结合极少测量数据,神经网络在拟合解的同时,精准反推未知参数。

例子:已知方程在6个测量点的解,反推方程中的未知系数k。

2.高维问题:破解“维度诅咒”

传统困境:网格方法在高维问题中计算量呈指数爆炸,10维以上几乎无解。

PINN优势:脱离网格限制,在100~200维的复杂偏微分方程上依然高效,成为填补高维物理求解空白的利器。

代码实操:10行代码跑通PINN

陆路演示了用DeepXDE库求解一维Poisson方程:

# 1. 定义几何geom = dde.geometry.Interval(-1, 1)
# 2. 定义PDEdef pde(x, y):    u_xx = dde.grad.hessian(y, x)    return -u_xx - np.pi**2 * tf.sin(np.pi * x)
# 3. 定义边界条件bc = dde.icbc.DirichletBC(geom, lambda x: 0, boundary)
# 4. 构建模型并训练data = dde.data.PDE(geom, pde, bc, num_domain=16, num_boundary=2)net = dde.nn.FNN([1] + [50]*3 + [1], "tanh", "Glorot uniform")model = dde.Model(data, net)model.compile("adam", lr=0.001)model.train(iterations=10000)

结果是,在一个5年前的普通CPU上,仅需10秒、不到20行核心代码,就跑通了高精度的偏微分方程求解。

DeepXDE:PINN的开源利器

陆路团队开发的DeepXDE库是目前的主流PINN实现工具。

它不仅支持TensorFlow、PyTorch、JAX和PaddlePaddle等多种后端,还具备丰富的几何处理能力,可支持对任意复杂几何形状进行布尔运算(如并集、交集、差集)。

该库提供了完善的文档,其官网包含了详细的API说明和大量示例代码。项目托管于GitHub,便于开发者访问和使用: https://github.com/lululxvi/deepxde

结语:当物理定律成为AI的常识

PINN正在推动AI超越单纯的数据拟合,使其能够深度融合并理解物理规律,从而构建起兼具数据驱动与机理透明的新范式。

在流体力学、量子物理、材料设计、生物医学等诸多领域,PINN都在开启一种新的研究路径:让AI在物理定律的约束下,以更少的实验数据,实现更可靠的科学预测。

🚀 下期预告:从理解到预测

PINN让AI开始学会理解物理定律,那么理解之后呢?

台风路径的演化、蛋白质构象的跃迁等自然现象,都遵循着复杂的时空动力学规律。自回归时空模型正是为此而生,它通过学习时间序列中隐含的依赖结构,使AI能够依据历史观测数据,一步步推演出系统未来的状态。

因此,第四课我们将聚焦于“层级表征与自回归模型——如何预判系统的‘下一秒’”。

复旦大学助理教授、上智院AI科学家姜若曦将在课程上探讨:残差连接如何影响模型的生成能力,以及如何在信息尺度与模型表达能力之间取得平衡。

理解世界,再预测世界。 敬请期待!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐