# CanPINNsBeatFEM读书笔记 **Repository Path**: Mooooi/can-pins-beat-femreading-notes ## Basic Information - **Project Name**: CanPINNsBeatFEM读书笔记 - **Description**: CanPINNsBeatFEM的读书笔记: 翻译+少量个人理解 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-25 - **Last Updated**: 2024-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: PINNs, FEM, 计算数学 ## README # Can physics-informed neural networks beat the finite element method? 偏微分方程(PDEs)在物理、生物和其他科学中的许多过程和系统的数学建模中起着基本的作用。为了模拟这种过程和系统,偏微分方程的解通常需要用数值方法来近似。例如,有限元法是一种常用的标准方法。最近深度神经网络在各种近似任务上的成功激发了它们在偏微分方程数值解中的应用。这些所谓的物理素形成的神经网络及其变体已经被证明能够成功地近似一个大范围的偏微分方程。到目前为止,物理信息神经网络和有限元方法主要是相互隔离研究的。在这项工作中,我们比较了在一个系统的计算研究中的方法。实际上,我们采用这两种方法来数值求解各种线性和非线性偏微分方程:一维、二维和三维的泊松,一维的Allen-Cahn,一维和二维的半线性薛定谔。然后,我们比较了计算成本和近似精度。在求解时间和精度方面,基于物理信息的神经网络在我们的研究中并不能优于有限元方法。在一些实验中,他们能够更快地评估已求解的偏微分方程。 ## 1. Introduction **偏微分方程(偏微分方程)是数学建模和可能应用的数学本身的基石。**它们被用于模拟许多物理(Lin&Segel,1988年)、生物(克利福德·亨利·陶贝斯,2008年)、社会经济(Burger等人,2014年)和金融(Heston,2015年)的系统和过程。除了经典模型,PDEs也能描述特定随机过程的演化,被用于图像重构,以及动力系统的滤波(Kushner,1964)和最优控制(Bellmann,1954). 潜在的理念总是相同的:我们的目标是通过一个描述过程在空间和时间上的行为的函数来表示某个过程。偏微分方程是这个函数应该满足的定律的集合。一个明显的问题是,这些定律以及适当的初始和边界条件是否足以唯一地指定这个函数(Launese,2010)。一旦建立了唯一性甚至适性(阿达玛,1902),问题是如何找到满足这些定律的函数,最终将成为数学模型。*当下面提到偏微分方程时,我们假设它们有合适的初始条件和边界条件。* 在许多实际情况下,不可能找到封闭形式的解,它们需要用数值方法来找到。在过去的几十年里,人们提出并分析了几种数值方法来求解偏微分方程,特别是==有限元法(FEM)==(Courant,1943;赫伦尼科夫,2021),这可能是大量偏微分方程的标准方法。其他技术有,例如==有限差分(Iserles,2008)==,==有限体积(Eymard等人,1997)==和==谱元素(Patera,1984)方法==。这些方法通常从理论角度很好地理解:有现有的误差估计,以及收敛和稳定性保证。此外,给定的离散问题通常以一种很容易用数值方法解决的形式:依赖于大型但稀疏的线性系统或具有良好初始猜测和收敛保证的牛顿求解器。虽然从头开始实现有限元求解器可能相当乏味,但多年来已经出现了一些多用途的计算库,如FEniCS(Alnæs et al.,2015)或DUNE(Sander,2020)。 这种**经典方法的一个明显的缺点是,它通常依赖于空间离散化,例如空间网格或大型多项式基础**,因此,让它遭受维度的诅咒:在三个空间维度,它已经很难使用,例如有限元,看,如邦格茨和格里贝尔(2004)的讨论。在滤波和最优控制中,我们很容易对出现在数百或数千个维数中的偏微分方程感兴趣——在这里,经典的方法很少可以被使用。此外,某些非线性和非光滑的偏微分方程很难离散,例如有限元,因为行为需要在一个非常细的网格上解决,一般的非光滑行为,或奇点。由于有限元是一种基于网格的求解器,在某些不规则域上获得快速收敛的解决方案需要设计和解决具有挑战性的定制方法,例如Egger等人(2014)对于具有重入角的域。在不规则域上,虚元法(Beirao da Veiga et al.,2013)可能比有限元法更合适。 > 虚元法(Virtual Element Method, VEM)是一种数值方法,主要用于求解偏微分方程(PDEs),特别适用于复杂几何和不规则网格问题。它是一种在有限元方法(FEM)基础上发展的新型方法,结合了有限元的强大功能和更高的灵活性。 > > ### 虚元法的基本概念 > > 虚元法的核心思想是:与传统的有限元方法不同,虚元法不要求元素的形状函数是多项式形式。传统有限元方法依赖于元素的节点和形状函数来构造整个求解域的离散化。而虚元法则通过“虚拟”的形式来构建试探解空间和试验空间,允许不规则形状的元素使用更灵活的形状。即便元素的形状复杂,它仍然能够在保证精度的同时,减少几何建模的复杂性。 > > 在虚元法中,解的逼近空间不仅依赖于元素的几何信息,还利用了虚拟元素内的局部行为来进行近似。这种方法并不强制要求形状函数具有特定的解析表达式,从而可以在复杂的几何域上更方便地进行网格划分。 > > ### 虚元法与有限元法的对比 > > 1. **元素形状函数**: > - **有限元法(FEM)**:要求定义明确的元素形函数,通常这些形状函数是多项式形式,并且必须满足某些连续性要求(如C0连续性)。有限元法的元素一般是简单的几何形状(如三角形或四边形等)。 > - **虚元法(VEM)**:不要求形状函数是多项式形式。虚元法的元素不一定具有明确的解析表达式或简单形状,它可以使用不规则形状的元素,而且不强制要求它们的形状函数具有特定的形式。 > 2. **网格要求**: > - **有限元法**:有限元方法通常要求网格具有较高的规则性(例如,所有的元素都是形状规则的三角形、四边形等),并且在边界处要满足特定的条件。 > - **虚元法**:由于虚元法不依赖于传统意义上的形状函数,它可以处理不规则网格或复杂的几何域,适应更加灵活和复杂的网格形态,特别适合于具有复杂边界条件或大变形问题的情况。 > 3. **计算复杂度**: > - **有限元法**:计算过程中需要构造和求解稀疏的刚度矩阵和载荷向量。对复杂几何问题,需要非常细致的网格划分,这可能导致较大的计算量。 > - **虚元法**:虽然虚元法不要求网格具有规则性,但在构造局部虚拟元素时,可能会引入一些额外的计算步骤。然而,由于其不需要复杂的形状函数,它在某些情况下可以减少网格的复杂度,从而降低整体计算量。 > 4. **适用性**: > - **有限元法**:适用于多种类型的偏微分方程,特别是在较为规则的几何域上。对于复杂边界和几何形状,可能需要采用高阶的有限元方法或细致的网格。 > - **虚元法**:适合处理复杂几何、不可预测形状或动态网格问题(例如自适应网格划分或变形问题)。虚元法特别适用于无法用传统有限元方法高效解决的复杂几何问题。 > > ### 总结: > > - **虚元法**是有限元方法的一种扩展,它通过不依赖于传统的多项式形状函数,能够处理更加复杂和不规则的几何形状,适合更广泛的应用场景。 > - **有限元法**有着明确的形状函数要求,适用于较为规则的几何问题,并且在现有的工程应用中已非常成熟。 > > 两者各有优缺点,虚元法在某些特定的复杂问题上展现了更大的优势,尤其是在解决复杂几何问题时。 近年来,深度学习方法已成为各种偏微分方程数值解的常用方法。它们有潜力克服经典方法所面临的一些挑战。也就是说,神经网络的优势是一般不依赖于网格,类似于经典的无网格方法,如Liu(2009)。通过利用自动分化(Baydin et al.,2018),它们消除了离散化的需要。此外,神经网络能够代表比有限元基更一般的功能,并且它们显示了战胜维度诅咒的证据,见Wojtowytsch &Weinan(2020);Hu等人(2024)。虽然神经网络的训练可能变得需要计算,特别是当它包含一个非凸优化问题时,但它在评估训练后的新数据点时是非常有效的。在这个用于近似偏微分方程解的深度学习的新兴领域中,最接近经典方法的一类方法是函数近似方法(Tanyu et al.,2023)。他们本质上是将解建模为一个深度神经网络,并训练网络的参数来近似解。这些方法如Deep Ritz法(Weinan& Bing,2018)或Deep Galerkin法(西波洛斯,2018)。本类中一个广泛使用和适应的方法是所谓的*physics-informed neural networks*(PINNs)(Raissi et al.,2019),这将是本文的重点 Raissi等人最初分为两部分(Raissi等人,2017a,b),Raissi等人开发了PINNs方法(Raissi等人,2019)——我们将在整个工作中将他们的方法称为vanilla PINNs。PINNs背后的基本思想是最小化一个能量泛函,即偏微分方程的残差及其初始和边界条件。神经网络本身根据底层的偏微分方程建模给定输入变量t和x的解函数u(t,x)。它在许多不同类型的偏微分方程上取得了巨大的成功(Mao等人,2020年;史密斯等人,2021年),并已扩展到各种特定类型(哈拉兹米等人,2019年;Jagtap等人,2020年;Yang等人,2021年;Cuomo等人,2022年)。 虽然偏微分方程的深度学习方法在过去几年中获得了很大的关注,并被越来越多地应用,但它们带来了一系列挑战。因此,在这项工作中,我们系统地比较了有限元法和PINNs的计算研究。在给出以下内容的完整大纲之前,我们回顾了最近关于PINNs的工作。 ### 1.1 PINNs: state of the art 与有限元法相比,PINNs的理论基础较少。Shin等人给出了关于训练点数的收敛结果的第一个工作(Shin等人,2020年)。对于线性二阶椭圆型和抛物型偏微分方程,证明了它们在i.i.d.的C0中的强收敛性采样的训练数据。Mishra等人(Mishra & Molinaro,2022)根据偏微分方程的一些稳定性假设,提出了PINNs泛化误差的上界。Ryck等人(De Ryck等人,针对特定的偏微分方程)研究了不可压缩的Navier-Stokes方程,并给出了总误差的上界。然而,他们的考虑仅限于具有两个隐藏层和tanh激活函数的网络。尽管仍然需要更广泛的理论工作,PINNs已经被扩展到许多不同的方向。Jagtap等人(Jagtap et al.,2020)开发保守的PINNs(cPINNs),通过将空间域分解为独立的部分,并训练单独的PINNs来合并复杂的非规则几何。 > i.i.d. : **Independent and identically distributed** 独立同分布 > > 一组[随机变量](https://zh.wikipedia.org/wiki/随机变量)中每个变量的[概率分布](https://zh.wikipedia.org/wiki/概率分布)都相同,且这些随机变量互相[独立](https://zh.wikipedia.org/wiki/独立_(概率论))。 这项工作已经被推广到==extended PINNs(XPINNs)==(Jagtap&Karniadakis,2020),以允许时空域分解,可以应用于任何类型的PDE,并在训练中实现并行化。PINNs的另一种域分解方法是==hp-VPINNs==(Kharazmi等人,2021)。这项工作是基于变分PINNs(Kharazmietal.,2019),其灵感来自于求解偏微分方程的经典方法。以勒让德多项式作为测试函数的变分形式形成损失函数,因此,例如偏微分方程中的某些非平滑,也允许更有效的训练。Bayesian PINNs(Yangetal.,2021)采用贝叶斯神经网络。==Finite basis PINNs==(Moseley等人,2023年)将PINNs思想与有限元法相结合,旨在减少PINNs中的谱偏差(Rahaman等人,2019年)。值得注意的是这项工作(fabianianietal.,2021),它使用一个具有随机权值的神经网络来构建一个可以有效求解偏微分方程的基础。PINNs的有趣应用出现在*流体动力学(Mao等人,2020年)、电磁学(Kovacs等人,2022年)、弹性材料变形(Li等人,2021年)和地震学(Smith等人,2021年)*。为了对PINNs及其应用和扩展形式进行更广泛的回顾,我们可以参考Cuomo等人的调查(Cuomo等人,2022年)。克里什纳普里安等人(克里什纳普里安等人,2021年)记录了PINNs的一些缺点,他们发现PINNs在更具有挑战性的偏微分方程体系中难以学习相关物理。然而,他们同时提出了解决这些问题的想法。Chuang和Barba(2022)记录了PINNs在计算流体动力学中的其他缺点。 PINNs是考虑到物理应用而创建的。由于它们的灵活性,主构建块可以在许多物理问题上通过对架构进行较小的调整来保持不变。自专用的软件包发布以来,如DeepXDE, NVIDIA Modulus和NeuroDiffEq,框架的实现变得更加平易近人 ### 1.2 Contributions and outline 如上所述,本工作的主要目标是系统地比较偏微分方程解的PINNs方法和有限元方法。事实上,我们已经考虑到了 * the elliptic Poisson equation in one, two and three space-dimensions, * the parabolic Allen–Cahn equation in one space-dimension and * the hyperbolic semilinear Schrödinger equation in one and two space dimensions. 我们选择这些模型问题来覆盖大范围的偏微分方程类。**我们在求解时间、评估时间和精确性方面比较了PINNs和有限元。**我们使用了不同的有限元基,以及大量的网络架构。文献中讨论了vanilla PINNs的一些改进。由于这些要么仍然基于相同的思想,或者代表了经典方法和PINNs的混合,我们在下面的文本中关注vanilla PINNs。在整个这项工作中,我们选择了一个实验设置,它应该模仿实践者使用PINNs和有限元法的方式,例如计算科学家和工程师、机器学习者和数学建模者等等。 > vanilla PINNs: 原版PINNs 本工作的结构如下。我们在第2节中讨论偏微分方程、有限元法和PINNs。我们在第3节中介绍我们的比较方法,在第4、5和6节方程中,我们在第3节方程的计算结果。我们将在第7节中讨论我们的结果并总结工作。 ## 2. Mathmatical background 假设读者已对PDE理论, FEM方法和PINNs有了基本认知, 本节略。 > Review: > > L-BFGS(Limited-memory Broyden–Fletcher–Goldfarb–Shanno)算法和Adam(Adaptive Moment Estimation)算法都是常用的优化算法,但它们的设计理念和应用场景有所不同。它们之间的关系可以从以下几个方面进行比较: > > ### 1. **优化方法的类型** > > - **L-BFGS**:属于**二阶优化算法**,即通过使用梯度和部分的二阶信息(Hessian矩阵的近似)来优化目标函数。L-BFGS主要适用于目标函数相对较平滑的情况,可以较快地收敛。它的优势在于能够利用较高阶的信息进行高效优化,但计算二阶信息较为复杂,因此L-BFGS通常用于参数较少、规模相对较小的优化问题。 > - **Adam**:属于**一阶优化算法**,通过结合梯度的一阶矩(均值)和二阶矩(方差)的估计来调整每个参数的学习率。Adam自适应地调整不同参数的学习率,使得每个参数的更新速度更加高效。Adam具有较强的鲁棒性,适合深度学习中大规模数据和复杂模型的训练。 > > ### 2. **计算复杂度** > > - **L-BFGS**:L-BFGS通过近似计算Hessian矩阵的逆来实现二阶优化,通常需要存储和计算Hessian的近似信息。尽管它是有限内存版本,但计算上相对较复杂,尤其对于大规模深度学习任务。 > - **Adam**:Adam计算过程中,只需要维护每个参数的梯度的均值和方差,这使得它的计算相对高效,适用于大规模深度学习训练,特别是在大数据集和深层神经网络中,Adam在性能和内存消耗上较为优秀。 > > ### 3. **应用领域** > > - **L-BFGS**:通常用于一些优化问题规模较小、计算资源相对较丰富的场景。由于L-BFGS需要近似计算二阶导数信息,它在深度学习中不如Adam广泛使用。然而,在一些优化精度要求较高、数据量不大的情况下,L-BFGS可能是一个不错的选择。例如,在一些小规模的神经网络(如少量层数的神经网络)或少量数据集的优化中,可以考虑使用L-BFGS。 > - **Adam**:Adam更适用于深度学习中的大规模问题,如复杂的深度神经网络、大规模数据集和高维参数空间。Adam算法通过自适应调整学习率,在训练过程中能够快速收敛,并且在不同任务中表现出良好的鲁棒性,尤其在处理噪声较大的梯度估计时。 > > ### 4. **收敛速度** > > - **L-BFGS**:通常在凸优化问题中,L-BFGS的收敛速度较快,因为它可以利用二阶信息来加速收敛。但是,在深度学习中,神经网络的非凸性使得L-BFGS的表现不一定比一阶方法如Adam更好。 > - **Adam**:通常具有较好的收敛性能,尤其是在复杂的非凸优化问题中,Adam能够以较高的效率和稳定性进行训练。因此,Adam在深度学习任务中比L-BFGS更为常用,尤其是在没有明确凸性假设的情况下。 > > ### 5. **稳定性和鲁棒性** > > - **L-BFGS**:对于目标函数的平滑性要求较高,当目标函数或梯度非常不平滑时,L-BFGS可能会遇到数值稳定性问题。 > - **Adam**:Adam算法通常对超参数的设置不那么敏感,因此具有较高的鲁棒性。在许多深度学习任务中,即使超参数调节得不完全精准,Adam仍然能够表现出良好的性能。 > > ### 6. **在深度学习中的应用** > > - **L-BFGS**:虽然L-BFGS在机器学习和优化中有应用,但在深度学习中,由于神经网络参数多且优化问题非凸,L-BFGS的效果常常不如一阶优化方法。特别是对于大规模网络,L-BFGS可能由于内存和计算资源的限制而难以应用。 > - **Adam**:Adam广泛应用于深度学习中,尤其是在训练复杂的深度神经网络时(如卷积神经网络、循环神经网络等)。它的自适应学习率使得训练过程更加稳定且收敛速度快,因此被认为是深度学习中最常用的优化算法之一。 > > ### 7. **理论背景** > > - **L-BFGS**:L-BFGS是基于牛顿法的二阶优化方法,它使用历史梯度信息来近似计算Hessian矩阵的逆,因此能够更好地描述目标函数的曲率。 > - **Adam**:Adam则是一种基于动量的优化方法,结合了梯度的一阶矩(均值)和二阶矩(方差)的估计,通过对每个参数自适应调整学习率,能够更好地适应目标函数的稀疏性和噪声特性。 > > ### 总结 > > L-BFGS和Adam都属于优化算法,但它们有不同的优化理念和适用场景: > > - **L-BFGS**:通常用于小规模优化问题,依赖于二阶信息,适合凸优化问题和相对平滑的目标函数。 > - **Adam**:是一阶优化方法,适用于深度学习中的大规模、高维、非凸优化问题,具有较强的鲁棒性和计算效率。 > > 在实际应用中,Adam更常见于深度学习任务,尤其是在大规模数据和复杂网络结构下,而L-BFGS主要在小规模优化问题和传统机器学习中较为常用。 ## 3. Method of comparison 在本节中,我们将概述实验设计和我们所考虑的比较有限元法和PINNs的措施。我们研究的主要特征是求解偏微分方程的时间和结果的准确性。因此,我们提出了这样一个问题,即哪种方法的计算速度更快、更准确和最有效。我们研究了不同复杂度的不同类型的偏微分方程,并于维数覆盖广泛的偏微分方程,并检查两种方法的计算速度和准确性是否根据偏微分方程类型而变化。 ### 3.1 Experimental set-up 现在我们来讨论我们的计算研究的实验设置。我们首先讨论真解(ground truth solutions),然后描述有限元和PINNs的设置,以及我们比较它们的指标。事实上,为了对有限元和PINNs进行系统的比较,我们需要一个偏微分方程的真解来比较解的近似并评估它们的准确性。因此,第一步是确定这些基本真实的解决方案。对于泊松方程,我们有解析解,我们可以用来确定近似方法的精度。然而,艾伦-卡恩方程和半线性薛定谔方程都没有解析解。相反,**我们在一个非常精细的网格上使用有限元法来计算一个非常精确的参考解**,我们将使用它作为真解;时间步进是使用隐式欧拉方法执行的。有限元的优点之一是,我们对大量的偏微分方程的收敛有广泛的理论基础,包括艾伦-卡恩方程,如Feng&Hai-jun(2005)和半线性薛定谔方程,如Shi等人(2016)。因此,一个精细网格的有限元解可以保证误差很小。 现在让我们讨论在比较中考虑的有限元的细节和规范。如前所述,更细的网格将导致更高的精度,尽管计算时间更慢。因此,我们求解不同网格尺寸的偏微分方程,以了解计算时间和精度之间的关系。对于随时变化的偏微分方程、艾伦-卡恩和半线性薛定谔方程,我们选择了一种半隐式的离散化策略,详见第2.1小节。所有的有限元解决方案近似都是使用Python工具箱**FEniCS**(版本2019.1.0)实现的(Logg等人,2012;Alnæs等人,2015)。 对于PINNs,我们严格遵循Raissi等人所描述的vanilla方法(Raissi等人,2019年)。也就是说,我们设计了损失函数(2.6),并在Allen-Cahn损失中选择权重,在其他地方它们等于1。我们首先使用Adam优化器(Kingma & Ba,2015)和L-BFGS(Liu & Nocedal,1989)来细化优化。这两种优化器的组合允许进行快速的粗优化,然后是计算成本昂贵的优化。我们观察到这一点是为了提高准确性。在每个偏微分方程中,启发式地选择了最优结果的学习速率。损失函数中的所有导数都使用自动微分法进行计算。在Adam优化过程中,使用拉丁语超立方体采样(Stein,1987)对构成神经网络输入的配置点进行新的采样。这样,我们就能够覆盖更多的采样空间,提高训练网络的通用性。L-BFGS不允许在迭代之间重新采样,因此我们在使用拉丁超立方采样再次优化之前只对配置点采样一次。配置点的数量是启发式地选择的,我们在Adam中不使用迷你批处理。PINNs允许基于底层PDE灵活地设计神经网络结构。因此,我们在不同大小的架构上运行网络训练,即使用不同数量的层和节点。PINNs训练和评估的代码是用Python神经网络库jax编写的(布拉德伯里等人,2018年),可以在github: https://github.com/TamaraGrossmann/FEM-vs-PINNs.上获得 我们考虑了三个主要的特征来进行比较。也就是说,我们根据有限元法和PINNs方法的**solution time, evaluation time and accuarcy**进行评估。 > solution time理解为方法用于近似整体解的时间. > > 引入evaluation time的原因是: > > FEM方法:The solution can be approximated beyond the mesh by evaluation of the basis functions and/or interpolation—we always use linear interpolation in time. > > 但PINNs的结果是通过对配置点进行训练而得到,训练也非常慢,但对于训练好的网格传入参数,正向传播非常快的就可以得到求解结果。因此求解和推理的时间分开进行考虑。 > > FEM我们考虑组装矩阵和求解弱形式的时间作为solution time, 将evaluation time定义为在不同的网格上插值解。 > > PINNs将solution time定义为训练时间,将evaluation time定义为训练新配置点的时间。 解时间是指每种方法近似一般解所需的时间。由于有限元法和PINNs近似解的方式不同,我们区分了解和evaluation time。FEM,通常近似固定网格上的PDE。该解可以通过计算基函数和/或插值来近似解,我们总是在时间上使用线性插值。另一方面,对于PINNs,一个神经网络是在一组配置点上进行训练的。然后,训练后的网络可以在域中的任何时间点进行评估。**虽然PINNs的训练时间可能相当慢,但神经网络的优点之一是,一旦对新输入数据的评估进行训练,只需要对神经网络进行正向评估,这是非常快的**。因此,我们同时考虑这两个时间。对于有限元法,这意味着解时间是指在固定网格上组装矩阵并求解偏微分方程的弱形式。有限元法是在CPU上运行的。考虑PINNs,解时间是指在GPU上运行的神经网络的训练时间。反过来,有限元法中的评价时间是在不同网格上插值解的时间。 在PINNs中,评估时间是评估训练后的神经网络对一组新的配置点的时间。我们测量了两种方法在同一网格上的精度,并与真解进行了比较。对于艾伦-卡恩方程和薛定谔方程,选择评价网格作为得到地面真实求解的细网格。精度的度量是L2误差。所有实验都在两台规格相同的机器上运行: 12个CPU内核(Intel®Xeon®CPUE5-2643v3@3.40 GHz)和一个Nvidia Quadro P6000 GPU,基本时钟速度为1506MHz。这些代码运行了10次,报告的解决方案和评估时间是10次记录时间的平均值。 要找到一个适合于比较PINNs和有限元法的实验装置并不容易。根据上面解释的设置,我们的目的是比较PINNs和有限元法在申请人打算使用的方式。FEM有时可以使用GPU加速来显著加速,例如Kiran等人(2023)。然而,有限元法的标准操作模式似乎是基于cpu的。类似地,现代自动分化库是基于gpu加速的反向传播,如Sierra-Canto等人(2010)。如果我们应用纯粹基于cpu的反向传播,我们将假设PINNs的训练时间要慢得多。因此,我们使用的比较方法是合适的,因为它代表了申请者使用PINNs和FEM的通常方式。 > PINNs用GPU训练, FEM用CPU求解 ## 4. Approximating the Poisson equation 让我们首先研究一维、二维和三维空间中的泊松方程。我们考虑的每个方程都有一个解析解,我们可以用来评估有限元和PINNs近似的准确性。比较不同维度的相同类型的偏微分方程,也可以让我们得出由于偏微分方程的维度而导致的成本和精度影响的结论。 ### 4.1 1D ![image-20241220145326075](assets/image-20241220145326075.png) ![image-20241220145409097](assets/image-20241220145409097.png) 4.1.1 FEM.如第2.1节所述,用有限元求解(4.1)的第一步是推导出偏微分方程的弱公式,我们已经在(2.4)中对泊松方程所做了。在这里,当然是f (x) =(4x3−6x)exp(−x2)。接下来,我们需要定义有限元网格。我们在域[0,1]上选择一个规则网格,它的单元数为不同的∈{64、128、256、512、1024、2048、4096}。当然,更多的单元格对应于一个更细的网格,在此上面求解PDE,随后导致一个更准确,但计算成本更高的解决方案。我们所使用的有限元是标准的线性拉格朗日元素,即**分段线性帽函数(P1)**。随后,我们利用不完全LU分解的共轭梯度法,用(4.1)中规定的狄利克雷边界条件求解(2.4)中的变分问题。所有规范都使用python工具箱FEniCS实现(Logg等人,2012;Alnæs等人,2015)来计算一个近似的偏微分方程解。 4.1.2 PINNs. 为了用PINNs求解一维泊松方程,我们在训练前需要指定三个设计参数。第一步是选择一个损失函数。遵循普通的PINNs方法,我们使用偏微分方程、边界和初始条件上的离散的L2能量或均方误差来评估解的优度。特别地,我们定义损失函数为 ![image-20241220145727290](assets/image-20241220145727290.png) ![image-20241220145958266](assets/image-20241220145958266.png) 4.1.3结果 将有限元和PINNs的一维泊松方程的解近似与512个网格点的[0,1]网格上的解析解进行了比较。(4.1)中的一维泊松方程的地真值解及其近似值如图1(a).所示同样,对于有限元和平式神经网络的所有网格尺寸和体系结构,GT(Ground Truth)解与近似解的差异如图1(b)所示。**PINNs近似中的一种结构使结果具有较大的相对误差:单隐层和一个节点的PINNs甚至不能以满足边界条件的方式学习解决解。然而,所有其他的解近似与GT解只有轻微的不同**。 让我们比较一下使用有限元和PINNs来求解或近似偏微分方程所需的时间与在一组新的网格点上产生的相对误差。对于有限元法,解时间是求解线性系统的时间,而对于PINNs,我们考虑训练神经网络的时间。结果如图2(a).所示我们可以清楚地表明,总体有限元法在其解近似中更快、更准确。虽然有一些PINNs体系结构能够实现比更粗糙的有限元近似相似甚至更低的相对误差,但它们的训练时间比有限元近似高2到3个数量级。考虑到评估时间,即在不同网格上插值有限元解并在测试集上评估训练后的PINNs的时间,我们可以看到类似的关系;见图2(b).有限元解近似总体上更快、更准确。最后,我们考虑了层数与解时间和相对误差之间的关系。我们观察到,训练一个PINNs的时间相对于层数是相似的。然而,每个网络的精度与层中的节点数量有关。也就是说,我们不能证明具有更多层的网络通常能在一维泊松模型中获得更好的结果。 > 左图是训练时间(FEM: 计算刚度矩阵, 解线性方程组; PINNs: 网络训练) > > 右图是插值时间(输入坐标求方程近似解的时间?) ### 4.2 2D 考虑方程 $$ \begin{aligned}\Delta u(x,y)&=2(x^4(3y-2)+x^3(4-6y)+x^2(6y^3-12y^2+9y-2)\\&-6x(y-1)^2y+(y-1)^2y)&(x,y)\in(0,1)^2\end{aligned} $$ 边界条件设置为 $$ \partial_{\vec{n}}u(0,y)=0\quad y\in[0,1]\\ \partial_{\vec{n}}u(1,y)=0\quad y\in[0,1]\\ u(x,0)=0\quad x\in[0,1]\\ \partial_{\vec{n}}u(x,1)=0\quad x\in[0,1] $$ 解析解为 $$ u_{true}=x^2(x-1^2)y(y-1)^2, (x,y)\in(0,1)^2 $$ 对比结果 ![image-20241220151223550](assets/image-20241220151223550.png) FEM使用P1元,利用不完全LU分解的共轭梯度法求解线性方程组 PINNs损失函数定义为 $$ \begin{aligned}&\operatorname{Loss}(\theta)\\&=\frac{1}{N_{f}}\sum_{i=1}^{N_{f}}\left\|\Delta u_{\theta}(x_{f}^{i},y_{f}^{i})-2((x_{f}^{i})^{4}(3y_{f}^{i}-2)+(x_{f}^{j})^{3}(4-6y_{f}^{i})+(x_{f}^{i})^{2}(6(y_{f}^{i})^{3}-12(y_{f}^{i})^{2}+9y_{f}^{i}-2)\right\|_{2}^{2}\\&+\frac{1}{N_g}\sum_{j=1}^{N_g}\left(\left\|\partial_{\vec{n}}u_\theta(0,y_g^j)\right\|_2^2+\left\|\partial_{\vec{n}}u_\theta(1,y_g^j)\right\|_2^2+\left\|u_\theta(x_g^j,0)\right\|_2^2+\left\|\partial_{\vec{n}}u_\theta(x_g^j,1)\right\|_2^2\right).\end{aligned} $$ 2D求解结果对比 ![image-20241220151431808](assets/image-20241220151431808.png) 4.2.3 Results. 图3显示了在Ground Truth解旁边有2000×2000个单元的网格上得到的解近似的一个例子。二维泊松方程的时间与精度图如图4(a)和图4(b).所示考虑到求解时间,有限元法在精度和计算时间上都明显优于所有的PINNs近似。利用有限元得到偏微分方程解的速度要快一到3个数量级。然而,当我们查看图4(b)中的评估时间时,关系发生了变化。也就是说,计算一个PINNs的时间比在一个新网格上的有限元插值快2到3个数量级。我们在同一图中额外绘制了有限元解时间,PINNs评估速度更快,但幅度更小。有趣的是,有限元的求解时间比有限元计算时间快;这可能是由于低效的插值代码。即使对训练过的神经网络的评估在时间上有所改进,但PINNs近似的精度仍然较低。 ### 4.3 3D Poisson Equation定义为 $$ \begin{aligned}&\Delta u(x,y,z)=-3\pi^2\sin(\pi x)\sin(\pi y)\sin(\pi z),\quad(x,y,z)\in(0,1)^3,\\&u(x,y,z)=0,\quad(x,y,z)\in\partial(0,1)^3.\end{aligned} $$ 其真解为 $$ u_{\mathrm{true}}(x,y,z)=\sin(\pi x)\sin(\pi y)\sin(\pi z),\quad(x,y,z)\in(0,1)^3. $$ 求解效果对比 ![image-20241220153213718](assets/image-20241220153213718.png) ### 4.3 3D choose a PDE on the **unit cube** with Dirichlet boundary conditions, as follows: $$ \Delta u(x,y,z)=-3\pi^2 sin(\pi x)sin(\pi y)sin(\pi z),\ (x,y,z)\in (0,1)^3,\\ u(x,y,z)=0,\ (x,y,z)\in\partial (0,1)^3. $$ Analytical Solution: ``` u_{true}(x,y,z)=sin(\pi x)sin(\pi y)sin(\pi z)\ (x,y,z)\in\partial (0,1)^3. ``` ![image-20241225100711485](assets/image-20241225100711485.png) #### 4.3.1 FEM 有限元方法网格定义在$[0,1]\times[0,1]\times[0,1]$,$n$取{16, 32, 64, 128}. 使用分段线性有限元(P1),利用共轭梯度法和不完全LU分解作为预调节器,解决了该弱问题。 #### 4.3.2 PINNs #### 4.3.3 Results ![image-20241225101236335](assets/image-20241225101236335.png) 在150×150×150网格点的网格上进行评估,示例结果如图5所示。时间与精度之间的关系图见图6。正如预期的那样,计算时间较慢的有限元结果具有较低的相对误差,因为它们可以在较细的网格上求解,如图6(a)所示。 虽然PINNs近似在训练时间上大约慢了一到三个数量级,这取决于我们所比较的有限元网格解,但在大多数情况下,它们能够达到相同甚至更高的精度。另一方面,当考虑到图6(b)所示的评价时间时,**PINNs的性能优于FEM在新网格上插值**。**有限元法的时间比PINNs的评估时间慢2到3个数量级**。此外,PINNs能够在粗糙的有限元近似的情况下,达到相同或更高的精度分数。如果我们也考虑了有限元求解时间,我们再次发现这比评估时间要快。然而,它比PINNs的评估要慢。因此,与有限元解和评价时间相比,训练后的PINNs的评价计算时间更短。 ## 5. Approximating the Allen–Cahn equation 考虑下面的一维Allen-Cahn方程 $$ \begin{aligned}\frac{\partial u(t,x)}{\partial t}&=\epsilon\Delta u-\frac{2}{\epsilon}u(t,x)(1-u(t,x))(1-2u(t,x)), x\in\Omega=[0,1],t\in[0,T],\\u(t,0)&=u(t,1), t\in[0,T],\\u(0,x)&=\frac{1}{4}\left(\sin(2\pi x)+\sin(16\pi x)\right)+\frac{1}{2}, x\in\Omega,\end{aligned} $$ where $$ T=0.005, \epsilon=0.01. $$ 正如在第2节中提到的,我们注意到较小的解将产生接近分段常数的解,而较大的解总体上将更平滑。 > Review: 当$\epsilon$足够小时,Allen-Cahn方程近似将区域$\Omega$分为$u\approx 0$和$u\approx 1$的小块。在这些小块之间,在所谓的扩散界面上,它是平滑的。这些小块可以代表二元合金;或者,例如,在Ω中具有像素的图像中的不同片段;Allen-Cahn方程也是平均曲率流的松弛,它收敛于ε↓0. ![image-20241225102947350](assets/image-20241225102947350.png) 在这种情况下选择的方法是由于PINNs无法用更小的值来近似Allen-Cahn解。我们已经训练神经网络用$\epsilon=0.001$解决Allen-Cahn,它通常能够处理不连续解。然而,PINNs无法恢复接近地面真实解的结果。我们将在下面进一步讨论这个案例。目前,研究结果参考了$\epsilon=0.01$. ![image-20241225102632133](assets/image-20241225102632133.png) #### 5.0.1 FEM 与泊松方程相反,Allen-Cahn方程有一个时间依赖性,我们需要在离散化中考虑。如第2.1节所述,我们使用隐式欧拉策略来近似解。具有齐次狄利克雷边界u∂=0的一维艾伦-卡恩方程的半离散形式的弱公式可以写成 $$ \int_{0}^{1}(u_{k+1}(x)-u_{k}(x))v(x)\mathrm{d}x+\epsilon\int_{0}^{1}\langle\nabla u_{k+1}(x),\nabla\nu(x)\rangle\mathrm{d}x+\frac{2}{\epsilon}\int_{0}^{1}u_{k+1}(x)(1-u_{k+1}(x))(1-2u_{k+1}(x))\nu(x)\mathrm{d}x=0, \tag{5.2} $$ for $v\in H^1_0([0,1])$. 时间由$dt=10^{-3}$的距离离散。对于空间上的有限元网格,我们在域[0,1]上选择一个区间网格,单元数n∈{32,128,512,2048}。对于一维泊松问题,我们采用分段线性有限元函数(P1)。利用牛顿求解器求解了具有周期边界条件的非线性变分问题(5.2)。有限元方法使用Python工具箱FEniCS实现了5.2。 #### 5.0.2 PINNs 我们遵循一般的PINNs方法,基于偏微分方程残差、边界残差和初始条件残差设计损失。此外,我们还引入了不同术语的权重在损失函数中。我们启发式地发现,这个权重可以得到最好的结果(注意这个1000是调参数调出来的)。 $$ \begin{aligned}\operatorname{Loss}(\theta)&=\frac{1}{N_{f}}\sum_{i=1}^{N_{f}}\left\|\frac{\partial u_{\theta}(t_{f}^{i},x_{f}^{i})}{\partial t}-\epsilon\Delta u_{\theta}(t_{f}^{i},x_{f}^{i})+\frac{2}{\epsilon}u_{\theta}(t_{f}^{i},x_{f}^{i})\left(1-u_{\theta}(t_{f}^{i},x_{f}^{i})\right)\left(1-2u_{\theta}(t_{f}^{i},x_{f}^{i})\right)\right\|_{2}^{2}\\&+\frac{1}{N_g}\sum_{k=1}^{N_g}\lVert u_\theta(t_g^j,0)-u_\theta(t_g^j,1)\rVert_2^2\\&+\frac{1000}{N_h}\sum_{k=1}^{N_h}\left\|u_\theta(0,x_h^k)-\frac{1}{4}\left(\sin(2\pi x_h^k)+\sin(16\pi x_h^k)\right)+\frac{1}{2}\right\|_2^2,\end{aligned} $$ with $u_\theta$ the neural network and $\theta$ the trained weights. 我们在$N_f=20000$个配置点$(t^i_f,x^i_f)\in[0,0.005]\times[0,1]$上训练网络,这些配置点使用拉丁文超立方体采样。Ng = 250边界和Nh = 500边界的训练点也采用拉丁超立方采样。该网络结构是一个具有坦克激活函数的前馈密集神经网络。我们考虑了以下14种不同大小的: [20,20,20,1],[100,100,100,1],[500,500,500,1],[20,20,20,20,1],[100,100,100,100,1],[500,500,500,500,1],[20,20,20,20,20,1],[100,100,100,100,100,1],[500,500,500,500,500,1],[20,20,20,20,20,20,1],[100,100,100,100,100,100,1],[500,500,500,500,500,500,1],[20,20,20,20,20,20,20,1]和[100,100,100,100,100,100,100,1]的架构。对于大小为[500,500,500,500,500,500,500,1]的网络,我们在可用的GPU上的内存不足。这就构成了我们培训的限制。对于优化,我们首先运行Adam优化器,学习速率为10−4,周期为7000个初始损失。我们发现,当以完全损失直接运行优化时,网络很难学习初始条件。在优化了初始损失的7000个周期之后,我们在完全损失函数(5.3)上运行了50,000个周期的Adam优化器。最后,我们使用L-BFGS进行了优化。 #### 5.0.3 Results FEM和PINNs的近似解在: [0, 1]上7993个网格点,$dt=\frac13\times 10^{-4}$到$T=0.05$上比较. 利用隐式欧拉方法推导出了真解的精细网格有限元逼近。对于不同网格尺寸和网络架构的情况,有限元近似和与真解的PINNs近似如图7所示。有限元法能够恢复所有网格尺寸下的偏微分方程的解。*然而,对尺寸为32的网格的结果显示,沿扩散界面有轻微的误差*。另一方面,PINNs能够很好地近似偏微分方程解的能力取决于体系结构和要确定的自由参数或权重的数量。**而所有有20个节点的架构(cf。图7列1)无法恢复任何解决方案,每层有100个节点的网络可以被训练得到解决方案**。我们可以清楚地观察到一个基于层数的进展。最后,每层有500个节点的神经网络都能很好地近似求解。 让我们比较一下求解和评价时间与有限元和PINNs近似的精度,如图8所示。对于求解时间,即用有限元求解偏微分方程的时间和在PINNs中训练神经网络的时间,**有限元比PINNs快5到6个数量级。这主要是由于神经网络的大小**。在这里,**偏微分方程的复杂性需要更大的体系结构才能能够捕获解决方案**。一些PINNs架构可以做到了实现了与有限元法相似的相对误差(把网络堆的更加复杂)。对于每层有100或500个节点的网络尤其如此,如图7所示。将PINNs的评价时间与有限元的评价时间和有限元的求解时间分别绘制在图8(b).中与解时间相比,有限元计算的计算时间优势下降到一个数量级。虽然神经网络的评估比训练快得多,但有限元在解和评估时间上仍然更快。 ![image-20241225112244073](assets/image-20241225112244073.png) 与我们在本研究中考虑的其他偏微分方程相比,Allen-Cahn方程需要稍作修改,即只对损失进行加权,只对部分损失函数进行预训练。需要修改的原因是,我们发现该网络在学习偏微分方程解方面存在困难。此外,我们应该注意到,我们也曾尝试为Allen-Cahn(5.1)训练一个$\epsilon=0.001$的PINNs。如图9所示的解在一定时间后接近二进制(间断现象很明显,梯度变化大,网络学的不太顺利)。*我们已经在第2节中讨论过了这种效应*。 这将在解决方案中呈现出非常大的梯度。我们用不同的激活功能训练PINNs,如`softplus`或`ReLU`,这些功能通常能够处理不连续性。 > Review $$ softplus(x)=log(1+e^x)\\ ReLU(x)=max(0,x) $$ 然而,所有的结果都不足以被认为是一个近似值。这说明了原始的PINNs不能很好地处理不连续解的假设;这也可能是由于PINNs解强偏微分方程,而不是弱形式。vanilla PINNs方法的变化可能能够获得令人满意的近似。然而,由于我们只考虑普通的方法,这超出了本文的范围。我们注意到,有限元法能够用$\epsilon=0.001$近似于Allen-Cahn,尽管我们应该预期使用更精细的网格来准确地表示扩散界面。 ![image-20241225113350858](assets/image-20241225113350858.png) ![image-20241225113427144](assets/image-20241225113427144.png) ## 6. Approximating the semilinear Schrödinger equation 最后,我们研究了一维和二维空间中的半线性薛定谔方程。一维情况的规格取自Raissi等人的原始PINNs论文(Raissi等人,2019)`这篇文章是PINNs的原文`。请注意,半线性薛定谔方程具有复值解;进一步增加了其近似的难度。 ![image-20241225115052518](assets/image-20241225115052518.png) ### 6.1 1D 在一维情况下,我们考虑具有周期边界条件的半线性薛定谔方程,如下: $$ \begin{gathered}\mathrm{i}\frac{\partial h(t,x)}{\partial t}=-0.5\Delta h(t,x)-|h(t,x)|^2h(t,x)x\in[-5,5],t\in[0,\pi/2],\\h(0,x)=2\mathrm{sech}(x),x\in[-5,5],\\h(t,-5)=h(t,5),t\in[0,\pi/2],\\\frac{\partial h(t,-5)}{\partial x}=\frac{\partial h(t,5)}{\partial x},t\in[0,\pi/2].\end{gathered} $$ 相同的问题被Raissi *et al.* (2019)考虑过:半线性的薛定谔方程求解将$h(t,x)$视作复值函数 $$ h(t,x):=u_R(t,x)+iu_I(t,x) $$ 其中$u_I$为虚部,$u_R$为实部,结果可视化由计算$h(t,x)$的模$|h(t,x,y)|=\sqrt{u_R^2(t,x,y)+u_I^2(t,x,y)}$进行。 #### 6.1.1 FEM 与我们所考虑的一维艾伦-卡恩方程相似,我们使用半隐式欧拉策略在时间上近似一维薛定谔方程。然后我们可以写出偏微分方程的实部和虚部的形式,假设Dirichlet边界条件$u_\partial=0$分别对所有test functions: $v^R,v^I\in H^1_0(\Omega)$. 时间被$dt=5\times 10^{-4}$离散, 在[-5,5]上定义有限元网格,网格剖分为$n\in\{32,128,512,2048\}$. 我们再次使用P1元并利用广义最小残差法(gmres)求解半隐式格式中的线性问题。求解使用的弱形式: $$ \int_{-5}^{5}(u_{k+1}^{I}(x)-u_{k}^{I}(x))\nu^{R}(x)\mathrm{d}x-0.5\int_{-5}^{5}\langle\nabla u_{k+1}^{R}(x),\nabla\nu^{R}(x)\rangle\mathrm{d}x-|h_{k}(x)|^{2}\int_{-5}^{5}u_{k+1}^{R}(x)\nu^{R}(x)\mathrm{d}x=0,\\ \int_{-5}^{5}(u_{k+1}^{R}(x)-u_{k}^{R}(x))\nu^{I}(x)\mathrm{d}x+0.5\int_{-5}^{5}\langle\nabla u_{k+1}^{I}(x),\nabla\nu^{I}(x)\rangle\mathrm{d}x+|h_{k}(x)|^{2}\int_{-5}^{5}u_{k+1}^{I}(x)\nu^{I}(x)\mathrm{d}x=0, $$ #### 6.1.2 PINNs 现在让我们定义在偏微分方程解的神经网络近似中使用的损失函数。再次,我们考虑偏微分方程的残差,初始条件和边界条件如下: $$ \begin{aligned} \mathrm{Loss(}\theta )&=\frac{1}{N_f}\sum_{i=1}^{N_f}{(}\parallel \frac{\partial u_{\theta}^{I}(t_{f}^{i},x_{f}^{i})}{\partial t}-\epsilon \Delta u_{\theta}^{R}(t_{f}^{i},x_{f}^{i})-|h_{\theta}(t_{f}^{i},x_{f}^{i})|^2u_{\theta}^{R}(t_{f}^{i},x_{f}^{i})\parallel _{2}^{2}\\ &+\parallel \frac{\partial u_{\theta}^{R}(t_{f}^{i},x_{f}^{i})}{\partial t}+\epsilon \Delta u_{\theta}^{I}(t_{f}^{i},x_{f}^{i})+|h_{\theta}(t_{f}^{i},x_{f}^{i})|^2u_{\theta}^{I}(t_{f}^{i},x_{f}^{i})\parallel _{2}^{2})\\ &+\frac{1}{N_g}\sum_{k=1}^{N_g}{\left\| u_{\theta}^{R}(t_{g}^{j},-5)-u_{\theta}^{R}(t_{g}^{j},5)\parallel _{2}^{2}+\parallel u_{\theta}^{I}(t_{g}^{j},-5)-u_{\theta}^{I}(t_{g}^{j},5)\parallel _{2}^{2} \right)}\\ &+\frac{1}{N_g}\sum_{k=1}^{N_g}{\left( \left\| \frac{\partial u_{\theta}^{R}(t_{g}^{j},-5)}{\partial x}-\frac{\partial u_{\theta}^{R}(t_{g}^{j},5)}{\partial x} \right\| _{2}^{2}+\left\| \frac{\partial u_{\theta}^{I}(t_{g}^{j},-5)}{\partial x}-\frac{\partial u_{\theta}^{I}(t_{g}^{j},5)}{\partial x} \right\| _{2}^{2} \right)}\\ &+\frac{1}{N_h}\sum_{k=1}^{N_h}{\left\| u_{\theta}^{R}(0,x_{h}^{k})-2\sech\mathrm{(}x_{h}^{k})\parallel _{2}^{2}+\parallel u_{\theta}^{I}(0,x_{h}^{k})\parallel _{2}^{2} \right)},\\ \end{aligned} $$ 其中$h_\theta(t,x)=[u^R_\theta(t,x),u^I_\theta(t,x)]$是神经网络,产生权重为$\theta$的网络输出偏微分方程解的实部和虚部。网络在$N_f=20000$个配置点$(t^i_f,x^i_f)\in[0,\frac{\pi}{2}]\times[-5,5]$上进行训练,边界上有$N_g=50$,初始条件为$N_h=50$,使用拉丁超立方体采样。该网络结构是一个具有tanh激活函数的前馈密集神经网络。在这些规范中,我们遵循了原始的PINNs论文(Raissi等人,2019年)。我们研究了八种网络架构的性能: [20,20,20,2]、[100,100,100,2]、[20,20,20,20,2]、[100,100,100,100,2]、[20,20,20,20,20,2]、[100,100,100,100,100,2]、[20,20,20,20,20,20,2]和[100,100,100,100,100,100,2]。我们使用Adam优化器为50,000个epochs,学习速率为1e-4。然后,我们使用L-BFGS优化器来细化训练结果。 #### 6.1.3 Results 在大小为7993个单元格和时间域$dt=\frac13\times 10^{-4}$的真解网格上比较了有限元和PINNs近似的结果。$|h(t,x)| =\sqrt{u^2_R(t,x)+ u^2_I(t,x)}$的结果近似值如图10所示。在视觉上,我们已经注意到,在更大的时间实例下,PINNs近似比有限元近似略不精确。从定量上来说,时间与精度图给出了每种方法性能的更广泛的概述。该图如图11所示。针对模$|h|$,有限元都具有较低的两个数量级的解时间和相对误差,如图11(c).所示仅考虑到两种方法的评价时间,有限元法在时间和准确性上仍然优于PINNs。 ![image-20241225150615854](assets/image-20241225150615854.png) 尽管如此,有限元法仍然对模$|h|$产生更高精度的结果。近似结果对$u^I$的准确性稍低。然而,在那里,有限元解以更快的速度达到相同或更好的精度,如图11(b)和11(e)所示。 ### 6.2 2D 最后,让我们进入二维半线性薛定谔方程。我们考虑了周期边界条件,并定义了初始条件如下: $$ \begin{aligned}\mathrm{i}\frac{\partial h(t,x,y)}{\partial t}&=-0.5\Delta h(t,x,y)-|h(t,x,y)|^2h(t,x,y),x,y\in[-5,5],t\in[0,\pi/2]\\h(0,x,y)&=\mathrm{sech}(x)+0.5\mathrm{sech}(y-2)+0.5\mathrm{sech}(y+2),x,y\in[-5,5]\\h(t,-5,y)&=h(t,5,y),t\in[0,\pi/2],y\in[-5,5]\\h(t,x,-5)&=h(t,x,5),t\in[0,\pi/2],x\in[-5,5]\\\frac{\partial h(t,-5,y)}{\partial x}&=\frac{\partial h(t,5,y)}{\partial x},t\in[0,\pi/2],y\in[-5,5]\\\frac{\partial h(t,x,-5)}{\partial y}&=\frac{\partial h(t,x,5)}{\partial y}t\in[0,\pi/2],x\in[-5,5].\end{aligned} $$ PDE是复值的,我们近似解为$h(t,x,y)=:u_R(t,x,y)+iu_I(t,x,y)).$ 模的近似为$|h(t,x,y)|=\sqrt{u_R^2(t,x,y)+u_I^2(t,x,y)}$. ![image-20241225151200077](assets/image-20241225151200077.png) #### 6.2.1 FEM 与薛定谔方程的一维情况相似,我们将偏微分方程的弱公式(同样是狄利克雷$u_\partial = 0$边界)分割成它的实部和虚部: $$ \begin{gathered}\int_{-5}^5\int_{-5}^5(u_{k+1}^I(x,y)-u_k^I(x,y))v^R(x,y)\mathrm{d}x\mathrm{d}y-0.5\int_{-5}^5\int_{-5}^5\langle\nabla u_{k+1}^R(x,y),\nabla\nu^R(x,y)\rangle\mathrm{d}x\mathrm{d}y\\-\left|h_k(x,y)\right|^2\int_{-5}^5\int_{-5}^5u_{k+1}^R(x,y)\nu^R(x,y)\mathrm{d}x\mathrm{d}y=0,\\\int_{-5}^5\int_{-5}^5(u_{k+1}^R(x,y)-u_k^R(x,y))\nu^I(x,y)\mathrm{d}x\mathrm{d}y+0.5\int_{-5}^5\int_{-5}^5\langle\nabla u_{k+1}^I(x,y),\nabla\nu^I(x,y)\rangle\mathrm{d}x\mathrm{d}y\\+|h_k(x,y)|^2\int_{-5}^5\int_{-5}^5u_{k+1}^I(x,y)v^I(x)\mathrm{d}x\mathrm{d}y=0,\end{gathered} $$ 对于所有的test function: $v^R, v^I\in H^\Omega_0.$ 时间离散为$dt=10^{-3}$. 有限元定义在矩形域$[-5,5]\times[-5,5].$ 考虑网格为$\{(16, 16),(32, 32),(40, 40),(64, 64),(128, 128)\}$正方形,每个正方形被分为两个三角形,每个三角形应用P1元,我们再次使用gmres求解线性系统。 #### 6.2.2 PINNs 定义了实部和虚部的神经网络近似的损失函数: $$ \begin{aligned}\mathrm{Loss}(\theta)&=\frac{1}{N_f}\sum_{i=1}^{N_f}(\|\frac{\partial u_\theta^I(t_f^i,x_f^i,y_f^i)}{\partial t}-\epsilon\Delta u_\theta^R(t_f^i,x_f^i,y_f^i)-|h_\theta(t_f^i,x_f^i,y_f^i)|^2u_\theta^R(t_f^i,x_f^i,y_f^i)\|_2^2\\&+\|\frac{\partial u_\theta^R(t_f^i,x_f^i,y_f^i)}{\partial t}+\epsilon\Delta u_\theta^I(t_f^i,x_f^i,y_f^i)+|h_\theta(t_f^i,x_f^i,y_f^i)|^2u_\theta^I(t_f^i,x_f^i,y_f^i)\|_2^2) \\ &+\frac{1}{N_g}\sum_{k=1}^{N_g}(\|u_\theta^R(t_g^j,-5,y_g^j)-u_\theta^R(t_g^j,5,y_g^j)\|_2^2+\|u_\theta^I(t_g^j,-5,y_g^j)-u_\theta^I(t_g^j,5,y_g^j)\|_2^2\\&&& \\ &+\|u_\theta^R(t_g^j,x_g^j,-5)-u_\theta^R(t_g^j,x_g^j,5)\|_2^2+\|u_\theta^I(t_g^j,x_g^j,-5)-u_\theta^I(t_g^j,x_g^j,5)\|_2^2)\\&&& \\ &+\frac{1}{N_g}\sum_{k=1}^{N_g}\left(\left\|\frac{\partial u_\theta^R(t_g^j,-5,y_g^j)}{\partial x}-\frac{\partial u_\theta^R(t_g^j,5,y_g^j)}{\partial x}\right\|_2^2+\left\|\frac{\partial u_\theta^I(t_g^j,-5,y_g^j)}{\partial x}-\frac{\partial u_\theta^I(t_g^j,5,y_g^j)}{\partial x}\right\|_2^2\right)\\&&& \\ &+\frac{1}{N_g}\sum_{k=1}^{N_g}\left(\left\|\frac{\partial u_\theta^R(t_g^j,x_g^j,-5)}{\partial y}-\frac{\partial u_\theta^R(t_g^j,x_g^j,5)}{\partial y}\right\|_2^2+\left\|\frac{\partial u_\theta^I(t_g^j,x_g^j,-5)}{\partial y}-\frac{\partial u_\theta^I(t_g^j,x_g^j,5)}{\partial y}\right\|_2^2\right)\\&&& \\ &+\frac{1}{N_h}\sum_{k=1}^{N_h}\left(\|u_\theta^R(0,x_h^k,y_h^k)-\mathrm{sech}(x_h^k)-0.5\mathrm{sech}(y_h^k-2)-0.5\mathrm{sech}(y_h^k+2)\|_2^2\right),\end{aligned} $$ 对于$h_\theta(t,x,y)=[u^R_\theta(t,x,y),u^I_\theta(t,x,y)]$,神经网络的实部和虚部的输出大小为2,$\theta$是由训练确定的网络权值。损失函数优化基于拉丁次立方体采样配置点$(t^i_f,x^i_f,y^i_f)\in[0,\frac{\pi}{2}]\times[-5,5]\times[-5,5]$,$\Omega$上$N_f=20000$,边界上有$N_g=100$,初始条件为$N_h=100$的初始条件。我们在架构设计中选择了具有激活功能的前馈密集神经网络。结果比较了六种不同的神经网络大小: [20,20,20,2]、[100,100,100,2]、[20,20,20,20,2]、[100,100,100,100,2]、[20,20,20,20,20,2]和[100,100,100,100,100,2]。在使用L-BFGS优化器之前,Adam优化器运行了50,000个epoch,学习率为$10^{-3}$。 #### 6.2.3 Results **利用P2基函数**,在257个cells的网格上用有限元法导出了地面真实解。时间步长到$T = \pi/2$被选择为$dt = 5×10^{-4}$。首先看看图12中$t = \pi/4$和$t = \pi/2$的可视化结果显示,PINNs很难恢复,特别是波型形状和$t = \pi/2$峰的正确直径。 ![image-20241225153116252](assets/image-20241225153116252.png) 即使在较早的时间实例,较小的网络架构并不总是能够准确地分离出图像中的两个峰。当架构足够大时,PINNs能够再现偏微分方程解决方案的主要特征,但所示的示例缺少包含边缘和不连续性的详细特征。对于有限元法,我们观察到粗网格同样无法恢复精细细节。我们还观察到,粗网格下,峰的对称性并没有保持。然而,对于更细的网格,有限元近似似乎是很好的。考虑到图13中时间与精度的量化结果,实际部分PINNs与有限元之间的精度差异变得不那么谨慎。然而,对于图11中的求解时间(a)-13(c)和图11(d)-13(f)中的评价时间明显比PINNs高出2个数量级和1个数量级。考虑到有限元解时间,我们可以看到PINNs在评价时间上略优于它们,且相对误差相似。让我们还注意到,复值偏微分方程解的虚部的PINNs近似的精度明显低于有限元方法。 ## 7. Discussion and conclusions 在单独研究了每个偏微分方程之后,现在让我们从整个结果中进行讨论并得出结论。考虑到求解的时间和准确性,在我们的研究中,PINNs不能击败有限元法。在我们研究的所有例子中,有限元解在相同或更高的精度下都更快。 现在,我们将试图通过简要讨论有限元法和PINNs训练的计算复杂性来解释这一结果。当使用多重网格方法时,一个椭圆方程通常可以在O(NDoF)浮点运算中求解,其中NDoF是离散化过程中的自由度数,参见Iserles(2008)中的第13章。我们通常期望非自然自由度会随维度呈指数级增长。在这项工作中,我们既没有使用几何也没有使用代数多重网格方法;我们使用的算法实际上比多重网格慢,但我们仍然争论多重网格方法的理论代价。如果我们忽略GPU架构,我们可以根据权重和偏差来估计一个单一梯度评估的复杂性,并在PINNs中给出一个数据点为 $$ O(dN_e+N_lN_e^2+N_e), \tag{7.1} $$ where $N_l\in\mathbb{N}$描述隐藏层层数(除了输入层和输出层的层数). 简化表示,我们假设$N_e(l)=N_e$对于所有层$l=1,...,N_l$, 且$N_e\in\mathbb{N}$. 第一层的大小是$d\times N_e$, 最后一层的大小是$N_e\times 1$并且所有的中间层大小是$N_e\times N_e$.(d是维数) 我们根据Higham & Higham(2019)中反向传播算法的简洁总结导出了这个复杂性,我们注意到PINNs中的梯度计算实际上需要每一步进行多次反向传播,但这个有限的数量并不会增加渐近复杂度。当使用Adam优化器时,没有mini-batching的单步的复杂度成本正是(7.1)中给定的成本;一个Adam epoch的成本由$N_f + N_g + N_h$乘以(7.1)中的成本给出。在L-BFGS中,我们同样在每一步中产生一个Adam历元的代价,并且在不改变渐近性的参数空间的大小上产生线性代价。因此,分别用$N_{Adam}$和$N_{L-BFGS}$来表示Adam epochs和L-BFGS的步数,完全代价可以表示为 $$ O((dN_e+N_lN_e^2+N_e)(N_{\mathrm{Adam}}+N_{\mathrm{L-BFGS}})(N_f+N_g+N_h)). $$ 这似乎在维度d的尺度上很好(维数增加,计算量增加的不明显),但自然地$N_l, N_e, N_{Adam}, N_{L-BFGS},N_f,N_g,N_h$可能依赖于d。通常的GPU加速反向传播,大大降低了这些操作的计算成本。此外,特别是在高维度,我们通常预计:能够选择数量和大小的层的组合大小权重矩阵$dN_e+N_l N_e^2+N_e$大大小于自由度在通常的有限元近似。对计算代价的最大贡献可能是在非凸学习问题中需要大量必要的Adam和L-BFGS步骤。 在求解偏微分方程后,**PINNs有时在各自解的点态计算时更快:我们只能在三维泊松检验中证明这一点**,其中解后的有限元计算相当慢(注意这里是evaluation的时间更快,solve还是FEM更快)。因此,当需要在一个非常好的网格上计算一个PDE时,我们可以考虑求解一个PINNs。尽管,在我们的例子中,有限元的求解时间要快得多,以至于在不同适应的网格上继续用有限元求解偏微分方程可能仍然比求解和评估PINNs要快得多。此外,我们认为,使用更合适的插值方法,可以显著加快FEM的evaluation time(Lin & Lee(2005);Zhang et al.(2021))。 我们特别惊讶的是,PINNs在使用小$\epsilon$的艾伦-卡恩方程上有困难。这可能是由于在扩散界面上的接近不连续的行为,这可能在PINNs旨在解决的强形式的偏微分方程中更为明显。我们预计PINNs的表现将优于有限元:Allen-Cahn方程的解具有分类的风格(见Budd等人(2021));有限元需要一个非常精细的网格来解决扩散界面。在一个类似的情况下,我们惊讶于PINNs没有优于有限元法的例子是薛定谔二维的例子,其中偏微分方程解同样包含了非常精细的结构区域。在这两种情况下,自适应PINNs方法或变分PINNs(Kharazmi等人,2019)可能会有所帮助。后者还将允许具有弱导数的激活函数。 在整个工作中我们没有考虑的评估时间的一个方面是用神经网络求解参数化偏微分方程的可能性,即所谓的算子近似器。例如,参见傅里叶神经算子(Li等人,2021)和DeepONets(Lu等人,2021a)。虽然有限元在改变参数时需要连续解偏微分方程,但神经网络可以将参数作为额外的输入,并在所有参数中进行训练——我们已经看到,PINNs评估有时比有限元解更快。如果偏微分方程需要足够频繁地解决,它们可以很好地作为替代品;参见Tanyu等人(2023)。在未来的工作中,这些应该与参数化偏微分方程的经典方法进行比较,如简化基(Quarteroni等人,2016)或低秩张量方法(Kressner & Tobler,2011)。同样,必须仔细考虑构建或训练参数化模型的离线阶段的时间。 PINNs擅长向更高维数的过渡:在二维和三维中,泊松方程的计算成本没有增加。我们所考虑的三维泊松方程是完全各向同性的,这是一个PINNs似乎能够很容易地使用的结构。一个基本的有限元方法不能利用它。在更复杂的各向异性甚至规则的空间变化环境中,我们预计有限元的计算成本和速度类似,但不能对PINNs做出任何预测。这暗示了PINNs在某些高维环境下的效率,在这种环境下,经典技术(如有限元法)是非常昂贵的。例如,Kunisch & Walter(2021)和Hu等人(2024)就考虑到了这一点。总的来说,PINNs开辟了许多有趣的新研究方向,特别是当用于解决高维偏微分方程或将偏微分方程与数据结合时。对PINNs的分析既非常具有挑战性,也非常有趣。我们的研究表明,对于经典方法适用的某些类偏微分方程,PINNs不能优于它们。