有限基函数物理信息神经网络(FBPINNs):一种可扩展的域分解方法用于求解微分方程FINITE BASIS PHYSICS-INFORMED NEURAL NETWORKS (FBPINNS): A SCALABLE DOMAIN DECOMPOSITION APPROACH FOR SOLVING DIFFERENTIAL EQUATIONS
摘要
近年来,物理信息神经网络(Physics-Informed Neural Networks,PINNs)为解决与微分方程相关的问题提供了一种强大的新范式。与经典数值方法相比,PINNs具有多个显著优势,例如其能够提供微分方程的无网格解,以及其能够在同一个优化问题中同时进行正向建模和逆向建模的能力。然而,尽管具有很大的潜力,PINNs迄今为止在准确且高效地求解大域问题和/或多尺度解的问题上仍面临着关键的限制,而这些能力对其在真实世界中的应用至关重要。
这一问题的产生受到多个重要且相关因素的影响,包括:随着问题规模的增长,底层PINN优化问题的复杂性显著增加,以及神经网络的频谱偏置(spectral bias)。在本文中,我们提出了一种新的、可扩展的方法,用于解决与微分方程相关的大规模问题,称为有限基函数PINNs(Finite Basis PINNs, FBPINNs)。
FBPINNs 的灵感来源于经典的有限元方法,在该方法中,微分方程的解被表示为具有紧支撑的有限组基函数的和。在 FBPINNs 中,神经网络被用于学习这些基函数,这些基函数被定义在小而重叠的子域上。
FBPINNs 通过以下方式应对神经网络的频谱偏置问题:对每个子域分别进行输入归一化;并通过采用多个较小的神经网络实现并行的分治策略,从而降低底层优化问题的复杂性。我们的数值实验表明,FBPINNs 在求解小规模和大规模多尺度问题方面均表现出色,在精度和计算资源需求方面均优于标准 PINNs。这为 PINNs 在解决真实世界中的大规模问题的应用铺平了道路。
关键词
物理信息神经网络 · 域分解 · 可学习基函数 · 频谱偏置问题 · 多尺度建模 · 正向建模 · 微分方程 · 并行计算
code: https://github.com/benmoseley/FBPINNs
1 引言
求解与微分方程相关的正问题和逆问题一直是数十年来研究的重点之一。实际上,许多科学领域都依赖我们准确求解这些问题的能力,例如从气候建模到理解基本粒子物理 [Giorgi, 2019; Prein et al., 2015; Agostinelli et al., 2003]。经典方法如有限差分、有限元和谱方法已成为主流方法,并在过去几十年中取得了显著的性能提升。如今,这些方法能够求解高度复杂的大规模问题,通常通过复杂的自适应并行算法实现,利用了数千个CPU和GPU核心 [Jasak, 2009; Nissen-Meyer et al., 2014]。
尽管功能强大,经典方法也存在一些长期的局限性。例如,许多当代应用需要研究多物理场、多尺度系统,这些系统通常难以准确建模,并且需要自适应方案和子网格参数化 [Nochetto et al., 2009; Rasp et al., 2018]。此外,经典方法通常需要大量的计算资源,使得许多现实世界的应用变得不可行。第三,经典方法的实现通常非常复杂,可能需要数百万行代码,增加了跨代维护的挑战 [Jasak, 2009]。
近年来,研究人员开始转向机器学习的快速进展,试图解决这些挑战。一种策略是用完全基于数据的算法完全替代经典方法(例如参见 Moseley et al., [2020a]; Kasim et al., [2020]),这种方式可以显著提高计算效率,但也暴露了当前机器学习技术的重要缺陷,例如泛化问题和对大量训练数据的需求。另一种更近期的策略是将物理原理与传统算法和机器学习方法相结合,以更精细的方式创建更强大的模型,这也是新兴的科学机器学习(Scientific Machine Learning, SciML)领域的研究重点 [Baker et al., 2019]。
其中一种受到广泛关注的方法是物理信息神经网络(Physics-Informed Neural Networks, PINNs)[Lagaris et al., 1998; Raissi et al., 2019; Karniadakis et al., 2021],可以用来求解与微分方程相关的正问题和逆问题。PINNs使用深度神经网络表示微分方程的解,通过直接惩罚底层方程残差的损失函数进行训练。与经典方法相比,PINNs具有多个优势,例如提供近似的无网格解,且拥有可解析的梯度,同时提供一种优雅的方式在同一优化问题中实现联合的正向和逆向建模 [Raissi et al., 2019]。
PINNs的许多基本概念最早由 Lagaris et al. [1998] 和其他研究者提出,而 Raissi et al. [2019] 则利用现代深度学习技术对其进行了实现和扩展。自这些研究以来,PINNs已被应用于多个领域,例如流体流动模拟 [Raissi et al., 2020; Sun et al., 2020],心脏激活映射 [Sahli Costabal et al., 2020],波物理建模 [Moseley et al., 2020b],甚至预测咖啡杯的温度分布 [Cai et al., 2021]。
此外,PINNs的扩展方法也被广泛研究。例如,Yang et al. [2021] 提出了贝叶斯PINNs,使用贝叶斯神经网络来估计解的不确定性;Kharazmi et al. [2019] 基于微分方程的变分形式构建了一种替代优化问题;Zhu et al. [2019], Geneva and Zabaras [2020], Gao et al. [2021] 则通过有限差分滤波器构建PINN的损失函数残差来训练卷积神经网络(CNN)和循环神经网络(RNN),这些模型近似在网格上求解微分方程。类似地,Lu et al. [2021] 提出了 DeepONets,旨在使PINNs基于初始条件学习解的家族。
尽管流行且有效,PINNs也存在一些重要的局限性。例如,与经典方法相比,PINNs的理论收敛性尚未得到充分理解。此外,PINNs在计算效率上也存在不足:每次求解都需要重新训练模型,这在正向建模任务中使PINNs通常远不如经典方法高效。
另一个重大挑战是将PINNs扩展到大域问题。主要困难包括随着域规模的增加,解的复杂性也增加,需要更大的神经网络(更多的自由参数)以保证表达能力;以及神经网络的频谱偏置问题,即神经网络倾向于更慢地学习高频特征 [Xu et al., 2019; Rahaman et al., 2019]。此外,解决多尺度问题时频谱偏置问题尤为严重 [Wang et al., 2020c]。
最近的研究开始尝试解决这些问题,例如 Wang et al. [2020c] 通过引入傅里叶输入特征来缓解频谱偏置;Liu et al. [2020] 提出了多尺度深度神经网络,通过频率域中的输入变量径向缩放实现多尺度问题的均匀收敛。
为了解决PINNs优化问题的复杂性,域分解方法日益受到关注,这些方法从有限元等经典方法中汲取灵感。例如,Jagtap 和 Karniadakis [2020] 提出了 XPINNs,将问题域划分为多个子域,每个子域使用独立的神经网络来学习解。虽然有效,这种方法在子域接口处的连续性仅被弱约束,从而可能导致不连续性。
本文工作
本文提出了一种新的域分解方法,称为有限基函数PINNs(FBPINNs),用于解决与微分方程相关的大规模多尺度问题。与现有方法相比,FBPINNs通过严格的数学构造方式在子域边界上强制连续性,从而不需要额外的接口损失项。同时,FBPINNs针对频谱偏置问题采用每个子域的单独归一化方法,并通过灵活的训练策略来加速收敛。此外,本文还提出了一种并行训练算法,使FBPINNs具有更高的计算可扩展性。
数值实验表明,FBPINNs在求解小规模和大规模问题(包括多尺度问题)时均优于标准PINNs,在精度和计算资源方面均表现出显著提升。所有代码已开源,地址为:github.com/benmoseley/FBPINNs。
论文结构
第2节:介绍标准PINNs实现及相关变体。 第3节:通过学习方程 的解,展示PINNs失效的简单例子。 第4节:详细描述FBPINNs的方法学。 第5节:通过数值实验比较FBPINNs与标准PINNs在多个问题(如Burgers方程和波动方程)上的性能。 第6节和第7节:讨论本文工作影响并总结结论。
2 基于物理约束的神经网络(Physics-Informed Neural Networks, PINNs)
PINNs 旨在求解一般形式的微分方程 [Raissi et al., 2019]:
其中,是一个微分算子,是一组边界算子,是微分方程的解,是驱动函数,是一组边界函数,是定义在域中的输入向量(即是一个维向量),表示的边界,是微分算子的可选参数向量。许多物理系统都可以用这种形式表示,包括时间相关或时间无关的问题、线性或非线性微分算子,以及诸如Dirichlet和Neumann条件等不同类型的初始和边界条件。
例如,具有Dirichlet和Neumann边界条件的非齐次波动方程在时可表示为:
其中是波速(注意,为了便于阅读,在本文中对所有时间相关问题单独标记时间维度与空间输入向量的维度)。
对于式 (1) 和 (2) 所定义的问题,PINNs通过训练一个神经网络来直接逼近微分方程的解,用表示神经网络,其中是神经网络的自由参数,因此有。为了解决这一问题,通过最小化以下损失函数对网络进行训练:
其中
其中是一组在整个域中采样的训练点,而是与每个边界条件相关的边界采样点集合。我们将第一项称为“物理损失”,将第二项称为“边界损失”。直观上,物理损失使神经网络学习与微分方程一致的解,而边界损失通过匹配边界条件确保解的唯一性。
对于上述波动方程,式 (6) 的具体形式为:
训练 PINNs 时的重要注意事项
采样训练点:需要选择足够数量的训练点和,以使网络能够在整个域上学习一致的解。对于大规模域,训练点通常以小批量(mini-batch)的方式采样,从而将优化问题转化为随机优化问题。 梯度计算:在评估损失函数时,需要神经网络对输入的梯度。这些梯度通常通过自动微分工具直接获得,从而可以对进行梯度下降优化。 数据需求:尽管在评估边界损失时需要解及其导数在边界上的已知值,但评估物理损失仅需要输入向量的采样点。因此,从数据需求的角度看,PINNs 实际上是一个高度数据高效的模型。 逆问题扩展:PINNs 可以自然扩展到逆问题,例如估计微分方程的参数。在这种设置下,通常会额外添加一个“数据损失”项,用于惩罚网络解与域内观测点的解之间的误差,同时对和进行联合优化。
2.1 弱约束与强约束的 PINNs
上述 PINN 方法的一个缺点是,式 (6) 中的损失函数对边界条件的约束是弱约束,可能导致学习的解不一致。此外,理论和实验结果表明,PINN 优化问题可能因为损失函数中两个项的相互竞争而变得刚性,甚至无法收敛 [Wang et al., 2020a,b; Sun et al., 2020]。
一种替代方法由 Lagaris 等人 [1998] 提出,通过将神经网络作为解的假设函数(ansatz)来严格满足边界条件。例如,对于上述波动方程问题,与直接定义神经网络不同,可以使用以下假设函数定义 PINN 的近似解:
可以直接验证,该假设函数自动满足式 (3)-(5) 中的边界条件。因此,在优化问题中仅需要包含物理损失,从而将约束优化问题简化为一个无约束优化问题。这一方法已被扩展到不规则域 [Berg and Nyström, 2018],并提出了构建合适假设函数的通用方法 [Leake and Mortari, 2020]。
在本文的后续示例中,我们将使用这种策略,但需要注意,FBPINN 框架不仅限于这种方法,也可以使用两种形式。
3 一个激励示例
如第1节所述,将PINNs扩展到大域是一个主要挑战。本节将通过一个简单的1D经验示例展示这一困难,进而引出FBPINN框架的动机。具体而言,我们考虑以下问题:
其中,其精确解为:
我们使用以下PINN解形式:
来求解该问题。我们选择在解的形式中引入函数,因为它在远离边界条件时的值趋于,这样神经网络无需在远离边界的区域对函数进行大的调整。此外,我们大致匹配函数的宽度与精确解的波长,从而使得网络在靠近边界区域需要学习的补偿频率与解的频率相似。在后续实验中,我们发现这两种策略均有助于PINNs在大域和不同解频率下的收敛。
PINN通过以下无约束损失函数进行训练:
该损失函数由公式(4)推导而来。
3.1 低频情况()
首先,我们在的情况下训练上述PINN。我们使用一个全连接网络,其包含2个隐藏层,每层16个隐藏单元,并采用激活函数。在域上均匀分布200个训练点。在输入网络之前,输入变量被归一化到,网络的输出在用于公式(10)中的解形式时,通过乘以进行反归一化。
PINN采用Adam优化器[Kingma和Ba, 2014]进行梯度下降训练,学习率为0.001。所有代码使用PyTorch库实现,并利用其自动微分功能[Paszke等人,2019]。图1(a)和(e)展示了训练后的PINN解及其相较于精确解的误差(通过在域内均匀分布的1000个测试点计算)随训练步数的变化。我们发现PINN能够快速且准确地收敛到精确解。
3.2 高频情况()
接下来,保持实验设置不变,仅对两个方面进行调整:将解的频率增加到,并将均匀分布的训练点数量增加到200 × 15 = 3000个。图1(b)和(e)分别展示了结果PINN解及其收敛曲线(使用5000个测试点计算)。我们发现,在这种情况下,PINN无法准确地学习解,仅能捕捉边界条件附近的前几个周期。
随后,我们使用更大的网络尺寸重新训练PINN,分别增加到4层64个隐藏单元和5层128个隐藏单元。结果如图1(c)和(d)所示。我们发现,仅5层128个隐藏单元的PINN能够完整地模拟所有周期,但其最终的相对误差远高于的情况,其收敛曲线也更慢且不稳定。需要注意的是,的PINN使用了321个自由参数,而的PINN(5层128个隐藏单元)使用了66,433个自由参数。
3.3 备注
虽然PINN在低频情况下表现良好,但在高频情况下表现较差;高频PINN需要更多自由参数、收敛速度更慢且精度更低。这一问题有多个重要且相关的原因。一方面,随着解的复杂性增加,网络需要更多的自由参数来准确表示解,从而使优化问题更加困难。另一方面,随着频率增加,需要更多的训练样本点以充分采样域,这也使优化问题更加困难。此外,神经网络的频谱偏置(spectral bias)是一个已被严格研究的特性,即神经网络倾向于更慢地学习高频信息。
这些因素叠加的结果是,随着网络规模、训练点数量以及收敛时间的增长,所需的计算资源显著增加。
需要指出的是,对于该问题,将频率提高相当于扩大域的大小。由于我们在输入网络之前将变量归一化到,保持并将域的大小扩大15倍并重新归一化,实际上会给神经网络带来与将改为15相同的优化问题。实际上,增加域的大小和提高频率是相关问题,上述案例研究揭示了PINNs的一般现象:随着域的增大,PINN优化通常变得更困难并且收敛时间更长。
另一个重要的观察是,传统方法在扩展到大域/高频时也通常表现较差。例如,在求解上述问题时,标准有限差分(FD)方法所需的网格点数量会按增长。然而,FD方法不会遭遇上述与PINN相关的问题,例如优化问题中更多的自由参数和因频谱偏置导致的较慢收敛。
在下一节中,我们将介绍FBPINNs。正如我们将在第5节中看到的,与本文研究的PINNs相比,FBPINNs能够以更高的精度和效率解决上述案例问题。
4 有限基PINNs(FBPINNs)
4.1 工作流程概述
FBPINNs是一种用于解决与微分方程相关的大规模、多尺度问题的通用域分解方法。FBPINNs的主要目标是解决上述PINNs的扩展问题,通过结合域分解、子域归一化和灵活的训练计划来实现。在本节中,我们将概述FBPINNs的工作流程,并在第4.2节中给出详细的数学描述。
FBPINNs的工作流程如图2所示。在FBPINNs中,问题域被划分为具有重叠区域的多个子域。每个子域中布置一个神经网络,使其在子域中心学习完整解,而在重叠区域内,解定义为所有重叠网络的求和。在求和之前,每个网络乘以一个平滑、可微的窗口函数,将其局部限制在对应的子域内。此外,每个网络的输入变量在其子域范围内单独归一化,我们还可以定义灵活的训练计划,以限制每次梯度下降训练步骤中被更新的子域网络(第4.3节中详细描述)。
通过将域划分为多个子域,一个大型PINN优化问题被分解为多个较小的子域优化问题。通过单独的子域归一化(以及适合解复杂度的域分解),可以确保每个子域优化问题看到的有效解频率较低。灵活的训练计划允许我们依次专注于解决域中的较小部分,而不是一次性处理整个域。我们的假设是,这三种策略共同缓解了上述的扩展问题,使得全局优化问题变得更容易。
对于任何域分解技术,确保单个神经网络解在子域接口处通信并匹配是很重要的。在FBPINNs中,训练期间,神经网络在子域之间的重叠区域中共享其解,并通过将全局解构造为这些解的求和,自动确保解在子域之间连续。与其他域分解方法(例如Jagtap和Karniadakis [2020])相比,这种方法使FBPINNs能够使用类似于PINNs的损失函数,而无需额外的接口损失项。
最后,FBPINNs可以以高度并行的方式进行训练,从而缩短训练时间。我们将在第4.4节中展示实现这一点的算法。FBPINNs的灵感来自经典有限元法(FEM),其中微分方程的解表示为具有紧支集的有限基函数的求和,但需要注意的是,FBPINNs使用的是控制方程的强形式,而非FEM的弱形式。
4.2 数学描述
现在我们给出FBPINNs的详细数学描述。在FBPINNs中,问题域被划分为个重叠子域。FBPINNs可以使用任何类型的划分(规则或不规则),以及任意宽度的重叠区域,只要子域之间存在重叠即可。一种划分示例是规则的超矩形划分,如图2(a)所示。为简单起见,我们在本文中使用这种划分方式。
给定子域的定义,以下FBPINN解形式被用于定义由公式(1)描述的问题的近似解:
其中,
且是布置在每个子域中的单独神经网络,是一个平滑、可微的窗口函数,将每个网络局部限制在其子域内,是一个约束算子,为解形式添加适当的“硬”约束以满足边界条件(按照第2.1节所述的方法),表示每个子域输入向量的单独归一化,表示对每个神经网络输出的公共反归一化,。
窗口函数的作用是将每个神经网络解局部限制在其子域内。任何可微函数都可以作为窗口函数,只要它在子域外部(几乎接近于)零,在子域内部大于零即可。对于本文中研究的超矩形子域,窗口函数定义为:
其中表示输入向量的每个维度,和表示每个维度中左、右重叠区域的中点(,如图2(a)中的黑线所示),是Sigmoid函数,是一组参数,使得窗口函数在重叠区域外(几乎接近于)零。
每个子域内的单独归一化通过在子域内将输入向量的每个维度归一化到实现,而公共输出反归一化被选为使每个神经网络的输出保持在范围内,其值依赖于解本身。任何神经网络都可以用于定义;本文中为了简单起见,仅考虑全连接神经网络。
基于公式(12)定义的解形式,FBPINNs通过以下无约束损失函数进行训练:
其中训练点集均匀分布在整个域内。此损失函数与第2.1节中强约束PINNs使用的损失函数形式相同,且由于解形式的设计,不需要额外的接口项。或者,可以移除FBPINN解形式中的约束算子,并使用对应的“弱”损失函数(参见公式(3))来训练FBPINNs,与PINNs类似。
4.3 灵活的训练计划
除了第3节中描述的将PINNs扩展到大域的问题外,另一个问题是确保远离边界的PINN解与边界条件一致的难度。更具体地说,在训练的早期阶段,PINN可能会收敛到与边界条件不一致的某种特解,尤其是在离边界较远的位置。这是因为网络可能尚未在靠近边界的区域学到一致的解,从而无法对远离边界的解施加约束。如果网络在不同区域分别学习到两个不同的特解,优化问题可能陷入局部最小值,使得问题更加难以优化。我们的数值实验(特别是第5.2.4节和第5.5节)提供了这一现象的证据。因此,对于某些问题,按顺序从边界向外“逐步”学习解可能是有意义的,这类似于经典方法中使用的时间推进方案。
FBPINNs的域分解特性使其能够轻松实现这一功能。在训练的任何时刻,我们可以限制被更新的子域网络,从而设计灵活的训练计划以适应特定的边界问题。如图3所示,给出了一个训练计划示例。在训练计划中,我们定义了“活动”模型(当前正在更新的网络)、“固定”模型(已经训练完成并冻结其自由参数的网络)以及“非活动”模型(尚未训练的网络)。在每一步训练中,仅活动模型及其固定的邻域模型会对FBPINN解形式的求和作出贡献,并且仅采样活动子域内的训练点。
4.4 并行实现
公式(15)定义的FBPINN优化问题通过梯度下降法求解,与PINNs类似。虽然可以在单一的全局优化循环中简单地实现,但实际上,FBPINNs可以利用域分解以高度并行的方式进行训练,从而提高数据效率并显著减少训练时间。本节描述了FBPINNs的并行实现,其伪代码如图4所示。
并行化FBPINNs需要考虑两个关键点。首先,在每个神经网络的子域之外,应用窗口函数后其输出总为零,这意味着子域外的训练点在更新其自由参数时不会提供梯度。因此,仅需使用子域内的训练点来训练对应的网络,这大大提高了训练的数据效率。其次,每次训练步骤的多个部分可以并行实现:在计算每个网络的输出及其相对于输入变量的梯度时,可以为每个网络分配一个独立的线程;一旦重叠区域的网络输出完成求和,就可以为每个网络分配独立的线程以反向传播损失函数并更新其自由参数。这使得训练时间得以显著缩短。
我们现在详细描述并行训练算法。我们使用一个标准的梯度下降训练算法,其中包含若干相同的梯度下降步骤,实现在一个for循环内。每个训练步骤的伪代码如图4(a)所示,训练步骤如何影响各子域的示意图如图4(b)所示。每个训练步骤包括以下三个独立阶段:
子域内训练点的采样与处理:在每个子域内采样训练点,将其归一化后输入子域网络。网络输出被反归一化后乘以窗口函数,并利用自动微分计算其相对于输入变量的梯度(根据具体问题)。 重叠区域内网络输出和梯度的共享与求和:对于位于子域重叠区域内的训练点,共享网络输出和梯度,并在各子域间求和。 约束操作与自由参数更新:对每个子域,将约束算子应用于求和后的解和梯度,利用这些量计算损失函数,并通过反向传播更新网络的自由参数。
需要注意的是,由于每个网络有独立的一组自由参数,反向传播时可以丢弃(或“分离”)所有共享的重叠区域输出中的计算图,仅保留当前网络的输出计算图。这使得反向传播操作可以并行实现。此外,在重叠区域中,必须确保每个网络使用相同的训练数据点,以便它们的解可以被正确求和。
6 讨论
上述数值测试表明,FBPINNs为将PINNs扩展到大域提供了一种有前景的方法。在所有规模较小和较大的问题中,FBPINNs都能准确求解,而在许多情况下标准PINN表现不佳。在较小域的问题(如Burgers方程和低频正弦波问题)中,FBPINNs的性能通常与PINNs相当;而在较大域的问题(如波动方程和高频正弦波问题)中,FBPINNs优于PINNs。尤其是在高频正弦波问题中,FBPINNs在所有测试中都以更高的精度和更少的训练步数收敛。对于波动方程问题,FBPINNs更稳健地收敛至解。结果表明,通过结合域分解、单独的子域归一化和灵活的训练计划,FBPINNs能够缓解将PINNs扩展到大域时的一些主要问题。
FBPINNs在数据效率方面也优于标准PINNs。在所有实验中发现,FBPINNs能够通过其子域中的较小网络规模实现收敛,而PINNs所需的网络规模更大。在训练期间,FBPINNs所需的总前向推断FLOPS仅取决于子域网络的规模,而与子域数量无关(见附录A.1的证明)。因此,本文研究的FBPINNs所需的计算量远少于PINNs。这可能归因于其“分而治之”的策略:每个子域仅需少量自由参数即可求解一个较易优化的问题。事实上,使用更多子域且子域网络规模更小的FBPINNs可能更高效。未来我们计划详细研究进一步减少子域规模对精度的影响,以及是否存在最优的子域和网络规模(类似于有限元法中的h-p加密)。
需要注意的是,每个问题都需要不同的FBPINN配置才能很好地收敛。例如,对于一阶高频正弦波问题,“全激活”训练计划的FBPINN表现良好,而对于二阶变体,则需要“向外学习”训练计划才能得到准确解。同样,2层16隐藏单元的子域网络适用于所有问题,除了波动方程问题,该问题因其子域定义需要更大的网络规模。因此,根据具体问题微调FBPINN的配置似乎很重要,这可能是因为不同的扩展问题以不同方式影响每个问题。
我们还发现,当子域接口与Burgers方程解中的不连续性重合时,FBPINNs的表现略差。因此,选择子域划分时需谨慎。
尽管本研究重点关注PINNs扩展到大域的问题,但另一个重要考虑是其扩展到高维的问题。与经典方法类似,一个主要挑战可能是随着维数的增加,需要指数级增长的(训练)点来采样域。需要注意的是,域分解可能仍然有助于降低随之而来的优化问题的复杂性,实际上,FBPINNs在所有研究的1D、2D和3D问题中都表现良好。然而,FBPINNs仍然需要与标准PINNs相同数量的训练点,因此计算负担增加等问题可能仍然存在。具体到FBPINNs,当使用超矩形划分时,子域重叠区域内求和的重叠模型数量随维数指数增长,这可能对FBPINN的优化问题产生负面影响。我们计划在未来研究FBPINNs扩展到高维问题的表现。
未来研究方向
1. 多线程实现
未来需要详细研究FBPINNs的多线程实现性能。对于本文中使用的单线程并行训练算法,FBPINNs的训练速度通常比对应的PINNs慢2到10倍,尽管FBPINNs的数据效率更高。这是因为单线程依次更新每个子域网络,同时每个子域的网络规模较小且训练点数量较少,未能充分利用GPU的并行性。多线程实现(如第4.4节所述)应能将训练时间减少一个与子域数量成比例的因子,从而显著提升性能。
2. 不规则域与子域
未来还需测试FBPINNs在不规则域与子域上的表现。这是许多经典方法的关键步骤,FBPINNs在这一方面具有良好的扩展性。可以使用相同的FBPINN框架,仅需修改采样子域点、定义子域邻居及定义子域重叠区域的函数(如图4(a)所示)。进一步地,可以借鉴经典方法中的自适应网格,用于求解多尺度问题;在FBPINNs中,自适应调整子域定义和/或子域网络以动态适应解可能是有用的。与经典方法相比,网格加密可能相当复杂,而在FBPINNs的无网格环境中实现这一点可能相对简单。
3. 更多应用与改进
FBPINNs还有许多其他可能的应用与改进方向。例如,可将FBPINNs用于解决反问题,与PINNs一样,并比较其表现。此外,还可以测试其他类型的微分方程。本文仅使用了简单的全连接子域网络,但可以探索其他网络结构和激活函数。另一个有前景的方向是结合灵活的训练计划使用迁移学习,例如用固定的相邻模型初始化新激活模型的自由参数,这可能进一步提高精度并减少训练时间。
SciML领域的一个主要目标是提供可用于现实问题的机器学习工具,以扩展或补充现有的经典方法。对于PINNs,一个关键的挑战仍然是计算效率;训练一个PINN通常需要比使用有限差分方法或有限元法更多的计算资源。例如,在第5.5节中的波动方程问题中,训练PINN或单线程FBPINN需要约10小时(单个GPU),而有限差分法(FD)在单核CPU上仅需约1分钟。我们注意到,随着子域网络规模的减小,FBPINNs的数据效率提高,因此具有足够小的网络规模和多线程实现的FBPINNs可能达到有限差分法或有限元法的效率。
另一个潜在的强大方向是将FBPINNs与DeepONets等方法结合,以便学习一系列解,而无需为每个解重新训练FBPINNs。最终,这可能产生比经典方法更快且更准确的方案,为许多新的潜在应用打开大门。
我们还认为,建立标准的基准测试以便更稳健地比较PINNs及其各种衍生方法非常重要,这将有助于该领域实现上述目标。
7 结论
本文提出了FBPINNs,这是一种解决与微分方程相关的大规模问题的可扩展方法。通过结合域分解、单独的子域归一化和灵活的训练计划,FBPINNs能够缓解PINNs在扩展到大域和/或多尺度解时遇到的一些问题,例如优化问题的复杂性增加和神经网络的频谱偏置。我们发现,FBPINNs能够准确地求解研究中的大小规模问题,包括多尺度解。此外,FBPINNs比PINNs更具数据效率,并且可以以并行方式进行训练,这可能最终使其与有限差分法或有限元法等经典方法竞争。
未来工作中,我们计划研究FBPINNs多线程版本的性能,以及自适应子域加密以进一步提高其精度和效率。
💙整理不易,希望各位道友能够多多支持宝库,支持邪云宝库!你的一个点赞、一次转发、 随手分享,都是宝库前进的最大动力~
💛2024,不忘初心,宝库会给大家带来更好的内容,让我们2024,一起暴富!