频登Nature子刊!2025神经网络求解PDE爆火!

2025深度学习发论文&模型涨点之——神经网络求解PDE

基于神经网络的偏微分方程求解方法已成为计算数学与科学机器学习交叉领域的前沿研究方向。传统数值方法(如有限元、有限体积法)虽成熟但面临高维问题计算复杂度骤增("维度灾难")、复杂几何建模困难等固有局限。深度学习通过以下创新路径为PDE求解提供了新范式:

  1. 函数逼近理论视角:深度神经网络作为自适应基函数,通过Universal Approximation Theorem保证了对Sobolev空间函数的逼近能力(Yarotsky, 2017),其非线性表达能力显著优于传统谱方法。

  2. 无网格离散化:物理驱动神经网络(Physics-Informed Neural Networks, Raissi et al., 2019)通过自动微分构建微分算子,避免了传统方法的网格生成问题,特别适用于自由边界问题和移动边界问题。

  3. 高维突破:随机权重分配与傅里叶特征映射(FNO, Li et al., 2021)的结合,使神经网络在求解Boltzmann方程等高维PDE时计算复杂度仅多项式增长。

我整理了一些神经网络求解PDE【论文+代码】合集,需要的同学公人人人号【AI创新工场】发525自取。

论文精选

论文1:

[Nature子刊] Encoding physics to learn reaction-diffusion processes

编码物理知识以学习反应扩散过程

方法

      Physics-encoded Recurrent Convolutional Neural Network (PeRCNN):提出了一种新的深度学习框架PeRCNN,将物理知识编码到网络结构中,用于学习稀疏数据下的时空动力学。

      Π-block(乘积块):网络的核心是Π-block,通过多个并行卷积层的输出进行逐元素乘法操作,用于捕捉系统的非线性动态。

      时间步进与卷积网络结合:利用前向欧拉时间步进方案,将时间演化与卷积网络相结合,实现对反应扩散系统的时空预测。

      边界条件编码:通过卷积操作对边界条件进行编码,确保网络预测严格满足物理边界条件。

      图片

      创新点

      物理知识编码:将已知的物理结构(如扩散项、边界条件)直接编码到网络架构中,避免了传统方法中通过惩罚项软约束物理定律的方式,显著提高了模型的准确性和可解释性。

      数据驱动建模能力:在仅有少量低分辨率和噪声数据的情况下,能够重建高分辨率的时空动力学,展示了强大的数据驱动建模能力。

      性能提升:在多个反应扩散系统的测试中,PeRCNN在预测精度、外推能力和泛化能力上均优于现有的ConvLSTM和PINN方法。例如,在2D FitzHugh-Nagumo系统中,PeRCNN的均方根误差(RMSE)仅为1.2×10⁻⁴,而ConvLSTM和PINN分别为5.1×10⁻⁴和8.7×10⁻³。

      可解释性:通过符号计算可以从训练好的PeRCNN模型中提取出明确的物理方程形式,使模型不仅能够预测,还能解释其背后的物理机制。

      逆问题求解:能够通过将未知系数作为可训练变量,从有限的测量数据中准确识别出反应扩散方程中的未知参数,如在2D Gray-Scott系统中,即使在10%的噪声水平下,平均绝对相对误差(MARE)仅为1.61%。

      图片

      论文2:

      [Nature子刊] A computational framework for neural network-based variational Monte Carlo with Forward Laplacian

      基于神经网络的变分蒙特卡洛方法的计算框架:前向拉普拉斯

      方法

      前向拉普拉斯框架(Forward Laplacian):提出了一种新的计算框架,直接通过前向传播过程计算神经网络的拉普拉斯算子,避免了传统的基于海森矩阵的计算方法。

      稀疏导数矩阵优化:利用前向拉普拉斯框架中的稀疏性,优化了中间导数矩阵的存储和计算,显著提高了计算效率。

      LapNet网络结构:设计了一种新的神经网络结构LapNet,通过引入稀疏导数注意力(SDA)块,进一步提高了前向拉普拉斯方法的效率。

      波函数优化:基于Slater-Jastrow-Backflow ansatz,通过变分蒙特卡洛方法优化波函数,以最小化能量作为损失函数。

      图片

      创新点

        计算效率提升:与传统方法相比,前向拉普拉斯框架将拉普拉斯算子的计算成本大约降低了50%,例如在苯二聚体系统中,训练时间从约10,000 GPU小时缩短到1,800 GPU小时,加速比达到6倍。

        大规模系统适用性:该方法能够扩展到更大的系统,如含有116个电子的尿嘧啶二聚体,而传统方法在处理如此大规模系统时面临巨大挑战。

        能量估计精度:LapNet在估计绝对能量和相对能量方面表现出色,与实验结果和金标准计算方法(如CCSD(T))的平均差异仅为0.7 mHa,达到了化学精度。

        性能提升:LapNet在多个分子系统上的测试中,不仅在能量估计上表现出色,还在离子化势、反应势垒高度和非共价相互作用能量的估计上达到了化学精度,例如在14个不同反应的势垒高度估计中,12个达到了化学精度。

        图片

        论文3:

        Recent advances in metasurface design and quantum optics applications with machine learning, physics-informed neural networks, and topology optimization methods

        机器学习、物理信息神经网络和拓扑优化方法在超表面设计和量子光学应用中的最新进展

        方法

          机器学习方法:利用机器学习技术从大量已知数据集中学习模型变量与光学属性之间的复杂关系,以优化超表面结构。

          物理信息神经网络(PINN):将物理定律(如麦克斯韦方程)纳入神经网络训练过程中,通过损失函数中的物理约束来提高预测精度。

          拓扑优化方法:结合光学理论(如严格耦合波分析,RCWA)和优化算法(如自动微分),在给定空间内优化结构的大小和形状。

          图片

          创新点

          设计效率提升:与传统方法相比,机器学习方法显著减少了超表面设计的计算时间,例如在某些情况下,训练时间从数小时缩短到数分钟。

          精度提升:物理信息神经网络通过引入物理约束,能够使用更少的数据样本训练出具有更好泛化能力的网络,提高了超表面设计的精度。

          自由度增加:拓扑优化方法提供了更高的设计自由度,允许在空间中任意排列结构,从而设计出更复杂和高效的超表面结构。

          性能提升:在量子光学应用中,通过这些智能设计方法优化的超表面能够实现更高的效率和更好的性能,例如在量子纠缠分发和量子态操控中表现出色。

          应用拓展:这些方法不仅适用于超表面设计,还可以扩展到其他光学器件的设计,如光子晶体、光学腔和集成光子电路。

          图片

          ### 使用深度神经网络求解偏微分方程的方法 #### 方法概述 一种基于深度学习的偏微分方程(PDE)发现方法,通过结合数值近似和符号神经网络,能够从未知动态数据中识别出(时变的)PDE。此法不仅具备高度灵活性与强大的表达力,还能捕捉到微分算以及基础PDE模型中的非线性反应特性[^1]。 对于传统的数值计算手段而言,在面对高维PDE挑战时存在诸多局限性。例如有限差分、有限元这类经典算法虽能构建稀疏刚度矩阵,但当涉及更高维度问题时,未知变量数目或网格节点数量会随维度增加而呈现指数级膨胀趋势,进而引发所谓的“维数灾难”。尽管谱方法提供了更高的精确度,却因放弃了稀疏结构并严格依赖于输入函数的高度平滑性质而不利于实际应用推广。因此引入机器学习特别是深度学习技术成为了解决上述难题的新途径之一[^2]。 #### 实现过程 采用Python编程语言配合TensorFlow框架来展示如何利用PINNs(Physics-Informed Neural Networks 物理信息引导型神经网路)架构完成特定形式下泊松方程边值问题的具体编码实例: ```python import tensorflow as tf from scipy.optimize import minimize import numpy as np class PoissonEquationSolver(object): def __init__(self, layers): self.layers = layers # 初始化权重参数 W = [] b = [] layer_dim = len(layers) for i in range(layer_dim - 1): Wi = self.xavier_init(size=[layers[i], layers[i + 1]]) bi = tf.Variable(tf.zeros([1, layers[i + 1]], dtype=tf.float32), dtype=tf.float32) W.append(Wi) b.append(bi) def poisson_equation(x, y_true): u = model.predict(x).flatten() du_dx = tf.gradients(u, x)[0] d2u_dxx = tf.gradients(du_dx, x)[0] residual = d2u_dxx - f(x) loss = tf.reduce_mean(tf.square(residual)) + \ boundary_condition_loss(y_true=y_true, prediction=u) optimizer = tf.train.AdamOptimizer().minimize(loss) sess.run(tf.global_variables_initializer()) losses = [] iterations = 5000 for it in range(iterations): _, l = sess.run([optimizer, loss]) if it % 100 == 0: print('It: %d, Loss: %.3e' % (it, l)) losses.append(l) return losses[-1] if __name__ == '__main__': N_train = 100 lb = [-1.0] ub = [1.0] X_f_train = np.linspace(lb[0], ub[0], num=N_train).reshape((N_train, 1)) Y_u_train = ... # 定义边界条件下的真实解向量Y_u_train layers = [1, 20, 20, 20, 1] model = PoissonEquationSolver(layers=layers) final_loss = poisson_equation(X_f_train, Y_u_train) ``` 这段代码片段展示了创建一个简单的物理信息指导式的神经网络用于一维空间内定义域上的泊松方程求解流程。其中包含了初始化网络层配置、设置损失函数以衡量预测结果同理论真值间的差异程度,并调用优化器迭代更新直至收敛获得最终解答方案的过程[^3]。
          评论
          添加红包

          请填写红包祝福语或标题

          红包个数最小为10个

          红包金额最低5元

          当前余额3.43前往充值 >
          需支付:10.00
          成就一亿技术人!
          领取后你会自动成为博主和红包主的粉丝 规则
          hope_wisdom
          发出的红包
          实付
          使用余额支付
          点击重新获取
          扫码支付
          钱包余额 0

          抵扣说明:

          1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
          2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

          余额充值