物理信息神经网络病态性的分析与解决
摘要
物理信息神经网络(PINNs)近年来作为求解涉及偏微分方程(PDEs)的正问题和反问题的新颖且受欢迎的方法而兴起。然而,在许多情况下,确保稳定训练并获得准确结果仍然具有挑战性,通常归因于PINNs的病态问题。尽管如此,针对该问题的深入分析仍然缺乏,阻碍了PINNs在复杂工程问题中的进展和应用。受传统数值方法中病态问题分析的启发,我们建立了PINNs的病态性与PDE系统Jacobian矩阵之间的紧密联系。具体来说,对于任何给定的PDE系统,我们构建了一个可控系统,该系统允许在保持与原系统相同解的前提下调整Jacobian矩阵的条件数。我们的数值实验表明,随着Jacobian矩阵的条件数降低,PINNs表现出更快的收敛速度和更高的准确性。基于这一原理以及对可控系统的扩展,我们提出了一种通用方法来缓解PINNs中的病态问题,从而成功模拟了雷诺数为5000的M6机翼周围的三维流动。据我们所知,这是PINNs首次成功模拟此类复杂系统,为解决工业复杂性问题提供了一种有前途的新技术。我们的研究结果还为未来PINNs的发展提供了宝贵的指导。
关键词. PINNs,病态性,可控系统,Jacobian矩阵,条件数
TSONN论文:TSONN: 求解偏微分方程的面向时间步进神经网络
1 引言
物理信息神经网络(PINNs)[1]、深度Ritz方法[2]和深度Galerkin方法[3]等创新技术正在改变求解正问题和反问题的偏微分方程(PDEs)的方式。通过同时最小化PDEs、边界条件和初始条件的损失,这些方法能够直接获得解——无需网格划分、空间离散化和复杂的编程。随着深度学习和计算能力的进步,许多类似于PINN的方法相继提出,并在计算科学与工程的多个问题中取得了显著成果[4-7]。作为一种基于优化的PDE求解器,PINNs为解决PDE约束的优化问题提供了一个自然的框架,并产生了重要的研究成果,包括流动可视化[8-10]、最优控制[11-13]以及用于拓扑优化的反向设计[14]。此外,类似于PINN的方法在解决参数问题方面也取得了显著成功[3, 15-18]。
尽管PINNs在广泛的物理现象和应用中具有潜力,但在许多复杂问题中训练PINNs仍然充满挑战[4]。一个典型的问题是,许多与流体相关的应用受限于较低的雷诺数[15, 19, 20]。一些研究[21, 22]将PINNs的病态问题归因于PDE残差与边界条件残差之间的不平衡,提出在训练过程中平衡损失组件。然而,这种解释仅部分解决了PINNs的病态问题,正如[19]所指出的,即使严格执行边界条件,挑战仍然存在。此外,一些研究人员将PINNs的病态问题归因于基于PDE的软约束[23, 24]。尽管如此,对PINNs病态问题的全面分析仍然不足,这极大地限制了PINNs在解决复杂工程问题中的进展,并削弱了人们对这一新兴技术的信心。
在本研究中,我们从传统数值方法中的病态问题出发,探索了PINNs的病态问题。我们考虑一个动态系统,表示为:
其中,表示时间导数,表示动态系统的解,包括PDE算子和边界条件算子。我们专注于获得动态系统的稳态解,其满足
在传统的基于网格的数值方法中,第一步是将系统在给定网格上离散化,得到一个大型离散系统
其中,表示描述域中每个网格点解的状态变量集合,是可微分的,表示离散残差。接下来,求解这一离散系统通常涉及求解线性系统。在许多数值方法中,例如基于牛顿法的方法,矩阵是Jacobian矩阵,对应于离散残差在处的线性化:
Jacobian矩阵是动态系统中的一个大型稀疏矩阵。的特征值刻画了系统的稳定性。追求稳态解通常意味着系统是稳定的,这意味着的所有特征值的实部小于零。的条件数是系统病态性的指示器。许多迭代方法的收敛速度基于矩阵的谱特性,因此病态系统可能会收敛缓慢[25]。因此,在传统的数值方法中,多年来已经开发出无数的预处理技术,以缓解病态问题并加快收敛。过去几十年积累的计算经验表明,一个好的预处理器是有效迭代求解器的关键[25-27]。
受到传统数值方法中病态问题分析的启发,我们提出了一个合理的假设:PINNs的病态问题是否也源于Jacobian矩阵的病态问题。尽管PINNs本质上是一个优化问题,我们旨在将PINNs的收敛性与PDE系统的Jacobian矩阵相关联,而不是与损失函数的Hessian矩阵相关联。这是为了将PINNs的病态问题归因于复杂的非线性方程,而不是神经网络,因为神经网络逼近非线性函数的能力已被广泛证明。
我们的主要贡献可以总结如下:
我们提出了一个具有可调Jacobian矩阵条件数的可控系统,使我们能够可视化Jacobian矩阵病态性与PINNs病态性之间的关联。 基于对病态性的分析和可控系统的扩展,我们提出了一种通用方法来缓解PINNs的病态问题。 我们成功模拟了雷诺数为5000的三维M6机翼周围的流动,代表了在此形状上不可压缩层流的几乎最大允许雷诺数。
本文的其余部分安排如下。第2节简要介绍PINNs并重构其损失函数。第3节中,我们构建了一个可控系统,以可视化Jacobian矩阵的病态性与PINNs病态性之间的关联。第4节提出了一种缓解PINNs病态性的方法并进行了验证。最后,第5节给出了总结性意见,并提出了未来研究的方向。
2 物理信息神经网络
在本节中,我们简要介绍PINNs,并重构其损失函数以便后续分析。一个典型的PINN使用全连接深度神经网络架构来表示动态系统的解。网络将空间状态和时间状态作为输入,并输出近似解。对于大多数物理问题,空间域通常具有1、2或3个维度,而时间域对于时间无关的(稳态)问题可能不存在。PINNs的结果由网络参数决定,在训练过程中通过PINNs的损失函数进行优化。
为了获得由方程(1)表示的动态系统的稳态解,计算残差在一系列个配置点上,通过自动微分法[28],然后最小化损失函数(见方程(4)):
需要注意的是,不同于传统的基于网格的数值方法,边界条件被精确嵌入,PINNs中的边界条件通常作为软约束来处理。因此,包括PDE残差和边界条件残差,这需要通过适当的相对权重和在不同的组件之间进行权衡,其表达式如下:
其中,和分别表示PDE残差和边界条件残差的维度。的引入是为了平衡配置点数量的影响,从而确保与标准PINNs的损失函数等价。对于时间相关问题,还应包括初始条件残差。
3 病态性在物理信息神经网络中的分析
3.1 可控系统
受到传统数值方法中病态性分析的启发,我们假设PINNs的病态性源于Jacobian矩阵的病态性。不幸的是,在PINNs中获得并分析显式Jacobian矩阵是非常困难的。这一限制阻碍了我们建立PINNs收敛性问题与Jacobian矩阵病态性之间的联系。为了解决这一问题,我们构建了一个可控系统。该系统通过基于控制理论[29]添加线性强迫项到原系统中,来修改Jacobian矩阵的特征值。修改后的系统表示为:
其中,是系统的参考解,是控制增益。需要注意的是,在本节中我们使用传统数值方法来获得,并将其代入可控系统,仅仅是为了分析可控系统的性质。在实际的PDE求解应用中,并不可用。显然,可控系统与原系统具有相同的解,但可控系统的Jacobian矩阵的所有特征值都等于原系统的特征值减去控制增益。对于稳定的系统,Jacobian矩阵的所有特征值的实部都小于零。因此,随着增益的增加,所有特征值在负方向上同步偏移,远离零,从而使系统的病态性得到缓解。
因此,尽管难以获得显式的Jacobian矩阵及其条件数,我们可以通过调整可控系统的增益来缓解其病态性。当增益趋近于无穷大时,原始的PDE求解任务将退化为一个监督学习任务,这是一个众所周知的条件良好的问题。通过观察不同增益下PINNs的收敛速度和精度,我们可以建立PINNs的病态性与Jacobian矩阵的病态性之间的关系。
3.2 两个示例
在本小节中,我们通过不同增益下的可控系统求解,来可视化Jacobian矩阵对PINNs病态性的影响。在所有案例中,我们采用全连接DNN架构,并使用有限内存的Broyden-Fletcher-Goldfarb-Shanno (LBFGS)优化器进行训练。我们使用双曲正切(tanh)激活函数,其平滑性和可微性有助于确保导数的稳定性和精度,这也是其在PINNs中最为广泛使用的原因。关于详细的训练设置,请参阅附录A。
A. 驱动腔流
我们考虑一个驱动腔问题,这是计算流体力学(CFD)中的经典基准问题。该系统由二维不可压Navier-Stokes方程控制:
其中,是速度向量,是压力。计算域是一个二维方腔,是顶部边界,是其他三侧。尽管几何形状简单,随着Re数的增加,驱动腔流在腔的角落中表现出多个逆时针旋转的循环区域[30]。在此示例中,我们选择Re = 2500。这是标准PINNs无法解决的流动区域。我们通过使用具有5个隐藏层、每层128个神经元的网络,在不同增益下求解可控系统。我们使用500*500的均匀网格来施加PDE残差和边界条件残差,并评估相对L2误差。相对L2误差定义为预测值与参考值之间的相对误差:
相对权重,。为了便于比较,我们还使用有限差分法(FDM)结合Newton-Krylov迭代来求解可控系统。我们自制的二阶FDM求解器用于流动模拟。迎风格式用于离散对流项,而标准的二阶中心差分格式用于黏性项。由于存储和计算大规模问题Jacobian矩阵的困难,自动微分结合矩阵着色技术[31]被用于高效获取稀疏Jacobian矩阵。GMRES被用于在每次非线性迭代时求解大型稀疏线性方程组。
FDM求解器允许我们推导出显式的Jacobian矩阵,并计算其在不同增益下的条件数。通过观察FDM中Jacobian矩阵的条件数变化,我们可以估计PINNs中Jacobian矩阵的条件数变化。对于PINNs,可控系统的稳态解通过在非常精细的网格(10001000)上使用FDM获得。在FDM的情况下,为了推导出显式Jacobian矩阵并计算其条件数,同时跟踪收敛历史,我们简单地使用粗网格(8080),并将其自身的解作为可控系统中的稳态解。
图1(a)和(b)分别展示了通过PINNs和FDM获得的不同增益下的可控系统的收敛历史。我们观察到FDM对于任何增益都能实现稳定的线性收敛。随着增益的增加,可控系统Jacobian矩阵的条件数显著降低(见表1),从而带来了更快的收敛速度。PINNs未能为原系统(即的可控系统)提供任何有意义的结果,这与之前的观察结果一致[32]。随着增益的增加以及隐式Jacobian矩阵条件数的减少,PINNs的收敛速度逐渐接近FDM。尽管PINNs通常难以实现稳定的线性收敛,但我们仍观察到,在任何给定的误差水平下,较大的增益对应于更快的收敛速度,这与FDM中的收敛行为一致。
为了消除关于可控系统的快速收敛可能是由于线性强迫项直接将驱动到,而不是缓解Jacobian矩阵病态性的担忧,我们还展示了负增益下的收敛行为,如图2所示。由于负增益可能导致特征值非常接近或大于0,它们通常会恶化Jacobian矩阵的条件数(见表1),从而导致FDM中的收敛行为不可预测(图2(b))。对于基于优化的求解器如PINNs,引入参考解通常会在初始优化阶段迅速减少误差。然而,由于负增益未能减少Jacobian矩阵的条件数,所有误差最终会停滞,阻止稳定下降,如图2(a)所示。在此示例中,由于PINNs完全未能解决原始系统,我们无法观察负增益对收敛行为的有害影响。在下一个示例中,我们将考虑一个条件良好的优化问题,以说明这一点并进一步验证Jacobian矩阵病态性对PINNs收敛行为的显著影响。
B. 对流方程
尽管我们的分析从考虑时间无关的动态系统开始,但第3.1节中提出的分析显然也可以扩展到时间相关问题。在这里,我们进一步考虑一维对流问题,这是一种常用于模拟传输现象的双曲型PDE:
初始条件和边界条件分别为:
这是一个可以被PINNs有效求解的条件良好的问题,能够直观地观察负增益如何影响收敛。我们使用具有4个隐藏层、每层128个神经元的网络,在不同增益下求解可控系统。我们使用128*101的均匀网格来施加P
DE残差和边界条件残差。相对权重为,,。
图3 (a)和(b)分别展示了通过PINNs获得的不同正负增益下可控系统的收敛历史。表2显示了FDM中不同增益下Jacobian矩阵的条件数,从而粗略估计PINNs中的Jacobian矩阵条件数。我们观察到,对于正增益,随着增益的增加,Jacobian矩阵的条件数降低,PINNs实现了越来越快的收敛,这与图1中的观察结果一致。然而,对于正增益,可控系统的快速收敛可能由两个因素驱动:一方面,线性强迫项缓解了Jacobian矩阵的病态性;另一方面,线性强迫项直接驱动趋近于。这两个因素交织在一起,无法精确分离。相反,对于负增益,强迫项加剧了Jacobian矩阵的病态性(见表2),使得这两个因素的效果相反。正如图3(b)所示,我们观察到随着增益绝对值从0增加到5,尽管强迫项以更大的权重驱动趋近于,但它也加剧了Jacobian矩阵的病态性,导致更大的收敛误差。当增益绝对值极大时(),系统几乎完全退化为监督学习任务,导致非常小的收敛误差。这些结果再次清楚地证明了Jacobian矩阵病态性对PINNs收敛的有害影响。
4 PINNs病态问题的解决方案
4.1 面向时间步进的神经网络
如前一节所观察到的,缓解Jacobian矩阵的病态性对于使PINNs能够解决复杂问题至关重要。事实上,可控系统不仅可视化了PINNs中的病态性,还提供了一种解决方案。关键挑战在于如何在可控系统中将已知量替代为,因为在实际应用中它通常是不可用的。一种简单的策略是使用神经网络在第步优化时的输出替代,从而得到:
对于初始条件算子或Dirichlet边界条件算子,可以直接用已知的目标值替代。我们最小化方程(9)的残差,称为内迭代。一旦在次迭代后达到适当的收敛,我们将继续下一步优化,更新为最新的网络输出,这称为外迭代。算法1详细描述了这些步骤。我们建议使用LBFGS优化器,并将每次优化步的最大迭代次数设置为,以便轻松实现内迭代。在每次外迭代中,我们重启优化器以适应损失函数的变化,同时随机重新采样配置点。如果在模型训练期间遇到NaN(非数值)或其他错误,我们会丢弃当前模型并加载前一个外迭代步的模型继续训练。根据我们的经验,这些策略极大地提高了训练的鲁棒性。此外,这些策略还解决了LBFGS优化器与批处理之间的不兼容性,消除了在每个训练周期提供全解数据集的必要性。这使得能够解决大规模问题,例如高维参数问题[18]。
算法1被称为面向时间步进的神经网络(TSONN),因为方程(9)可以容易地转换为以下隐式伪时间步进方案,其中增益等价于。因此,TSONN本质上将原本病态的PINNs问题分解为一系列给定伪时间间隔上的条件良好的子问题。
我们称之为伪时间步进而非时间步进有三点原因。首先,该算法适用于时间无关和时间相关问题,后者已经涉及物理时间维度。其次,我们并不关心TSONN的收敛历史是否准确地遵循时间演化过程,而仅关注收敛解的精度。第三,当TSONN方法与体积加权PDE残差(将在下一小节介绍)结合时,它等同于为每个配置点使用不同的时间步长。因此,TSONN的收敛历史不再代表沿物理时间的演化过程。这与计算流体力学(CFD)中的局部Courant数[33]密切相关。
当算法1与时间步进相关联时,其全局收敛性由动力学的一个主要原理确保,即稳定的动态系统对于任何初始值在足够长的时间后都会收敛到其稳态解。此外,负增益意味着“反时间”系统,它是病态的,因为不可能从稳态解推导出流动历史。有关TSONN与时间步进方案之间联系的更多细节,请参阅预印本[32],我们在其中开源了TSONN代码,并提供了将PINNs与显式时间步进方案结合的潜在方法。
需要注意的是,的正确形式对于TSONN至关重要。在PINNs中,方程(5)可以用四种等价的形式表达,如方程(11)所列。然而,它们的Jacobian矩阵不同,只有其中一种形式可以确保系统的所有特征值都是负的。一个简单的指导原则是确保PDE算子、边界条件算子和初始条件算子(如适用)的Jacobian矩阵具有负特征值。一些典型的例子是,对于形式,Burgers方程应为:
泊松方程应为:
而初始条件和Dirichlet边界条件算子应为:
其中是已知目标值。
预印本[32]中的额外结果已经证明,TSONN可以成功求解Allen-Cahn方程(时间相关系统)和雷诺数范围为100到5000的驱动腔流(时间无关系统)。在本文中,我们考虑由不可压Navier-Stokes方程控制的复杂工程问题。
其中, 是PDE残差, 是边界条件残差,和分别是PDE和边界条件的权重,和分别表示PDE残差和边界条件残差的维度。
这些形式不同之处在于它们的Jacobian矩阵,只有其中一种形式能够确保系统的特征值全部为负。
4.2 NACA0012翼型周围的流动
我们首先考虑经典NACA0012翼型周围的流动,雷诺数为5000。尽管TSONN继承了PINNs的无网格特性,我们仍然使用背景网格中的网格点(图4)作为配置点。网格分布为边界层提供了基本的洞察。墙面边界条件为。速度入口边界条件为,其中是迎角。压力出口边界条件为。我们采用了体积加权的PDE残差,该方法已被验证在非均匀网格分布中表现更好,并成功解决了雷诺数为400的翼型流动[20]。因此,被重新定义为:
其中,向量表示每个残差点的网格体积,方程(12)中的分母规范化了的影响。需要注意的是,体积加权和相对加权都改变了底层Jacobian矩阵的条件数。因此,作为缓解病态性的一般策略,伪时间步进应位于损失函数的最外层。这也是我们重新定义PINNs损失为方程(4)的根本原因。我们使用具有5个隐藏层、每层128个神经元的网络,选择不同的伪时间步来求解该系统。相对权重为和。
图5(a)和(b)展示了不同伪时间步下相对L2误差的收敛历史。我们观察到,PINNs无法获得任何有意义的结果,这突显了其病态性。当时间步长较大()时,TSONN的收敛历史几乎与PINNs相同,这验证了当伪时间步趋近于无穷大(即增益趋近于0)时,PINNs是TSONN的一种特例。随着伪时间步的减小(即增益增加),PDE系统变得更加条件良好,从而实现更稳定的收敛。在图1的可控系统中,参考解的引入使得较小的伪时间步下收敛更快。然而,对于TSONN,较小的伪时间步意味着需要更多的迭代次数才能从初始值演化到稳态解,可能导致收敛速度变慢,如图5所示。此外,较小的伪时间步通常意味着收敛历史中会出现更明显的振荡,这与CFD的经验一致。最终,TSONN达到了3%的相对误差。压力等高线图和壁面压力系数分布分别展示在图7和图8中。
为了进一步确认TSONN的有效性是由于缓解了Jacobian矩阵的病态性,而不是在子优化中引入了对的松弛,我们引入了一种松弛的PINN方法,保持与TSONN相同的设置,除了损失函数,它定义为:
图5中的结果表明,松弛的PINN方法未能缓解PINNs的病态性,且未能产生任何有意义的结果。此外,我们研究了使用不同伪时间步在之前已收敛的TSONN结果基础上继续训练的收敛历史,初始伪时间步为。结果(见图6)显示,较大的时间步无法充分缓解病态性,反而导致训练发散。
4.3 M6机翼周围的流动
接下来,我们考虑一个复杂的三维问题,即M6机翼周围的流动,这是CFD中的一个基准几何形状。我们考虑雷诺数为5000,这几乎是层流允许的最大雷诺数。更高的雷诺数需要将Navier-Stokes方程与湍流模型耦合,这将在未来的研究中考虑。图9展示了背景网格。边界条件与二维NACA0012翼型的情况类似。为了增强神经网络的表示能力,我们将网络的隐藏层从5层增加到8层。根据作者的经验,相似类型的问题通常可以共享相同的相对权重[34],因此相对权重仍设置为和。我们选择伪时间步。
如图10所示,我们成功地求解了该流动问题,壁面压力分布的相对误差为6%。我们观察到在机翼根部前缘出现了较大的误差,这与局部流动的急剧过渡相吻合。为了更清楚地进行比较,图11展示了在不同坐标处的x-p线图。除了机翼根部前缘(即)处存在显著差异外,TSONN获得的结果与参考解在其他位置非常吻合。
5 结论
本研究从物理角度揭示了PINNs的病态性问题。我们构建了一个具有可调Jacobian矩阵条件数的可控系统,验证了PINNs的病态性与Jacobian矩阵的病态性密切相关。随着Jacobian矩阵条件数的降低,PINNs表现出更快的收敛速度和更高的准确性。因此,我们建议缓解PINNs的病态性应主要集中在缓解Jacobian矩阵的病态性,尽管神经网络架构和优化算法等机器学习技术对PINNs的积极贡献不应被忽视。
基于这一理解以及可控系统的自然扩展,我们提出了一种将PINNs的病态优化问题转化为一系列条件良好的子优化问题的方法。从物理角度来看,该算法可以解释为使神经网络的收敛过程与物理系统的(伪)时间演化对齐,因此被称为面向时间步进的神经网络(TSONN)。我们成功解决了雷诺数为5000的M6机翼流动问题。我们的分析和结果表明,当时间步趋向无穷大时,PINNs可以看作是TSONN的一个特例。在TSONN中,较小的时间步会产生条件更好的子优化问题,但可能需要更多的步骤来收敛到稳态解。
在未来的研究中,TSONN的自适应时间步或局部时间步可能是值得探索的方向。此外,我们还建议研究预处理技术,以进一步缓解PINNs的病态性,从而可能实现更高效的收敛。
💙整理不易,希望各位道友能够多多支持宝库,支持邪云宝库!你的一个点赞、一次转发、 随手分享,都是宝库前进的最大动力~
💛2024,不忘初心,宝库会给大家带来更好的内容,让我们2024,一起暴富!