CMAME | MOR(模型降阶),变换生成预训练物理信息神经网络(TGPT-PINN),附案例代码

文摘   2024-11-14 19:35   北京  
最近不少道友后台反馈说收不到公众号的推文,我查了相关规则发现,微信公众号发布了新规则,只有点亮小星星才能第一时间收到文章推送,步骤如下:

点击上方蓝字关注我吧!

TGPT-PINN: 利用变换的GPT-PINN进行非线性模型降阶

摘要

我们提出了一种称为变换生成预训练物理信息神经网络(TGPT-PINN)的新方法,以在包含MOR(模型降阶)功能的PINN(物理信息神经网络)框架下实现对以传输为主的偏微分方程的非线性模型降阶。基于近期发展的GPT-PINN(生成预训练物理信息神经网络),该方法通过网络嵌套设计,实现基于快照的模型降阶,我们设计并测试了一种新的非线性模型降阶方法,该方法能够有效应对具有参数依赖不连续性的复杂问题。通过引入一个捕捉冲击的损失函数组件和一个参数依赖的变换层,TGPT-PINN克服了在传输主导场景中线性模型降阶的局限性。我们通过一些具有非平凡参数化的偏微分方程实例展示了该方法在PINN框架下实现非线性模型降阶的新能力。


code:https://github.com/DuktigYajie/TGPT-PINN

1. 引言

降阶模型(ROMs)是计算科学中的核心工具,在设计优化、不确定性量化以及数字孪生构建中发挥着重要作用。ROMs可以加速时间相关场景中一次性计算模型的评估,并在多次查询建模中(例如参数化问题)实现显著的加速。本文探讨了针对偏微分方程(PDE)模型的降阶模型。尽管非线性模型降阶近年来受到了关注,但大多数已建立的ROM理论和算法仍侧重于线性模型降阶技术,这些方法已被证明在以扩散为主的PDE问题中是有效的。然而,在线性降阶方法应用于涉及以传输为主的PDE现象时,常常失效。这种失败源于一个根本的数学限制:对于含不连续项的传输问题,Kolmogorov 𝑛宽度的衰减速度较慢【1】【2】。因此,近年来的ROM发展中,许多研究致力于非线性降阶策略,试图突破线性降阶的局限性。

近年来已经发展出大量非线性降阶方法。第一类方法涉及试验基的变换【3–9】。这些变换虽然提高了代理空间的逼近性能,但往往依赖于问题的附加知识,并且这些变换通常无法自动计算。第二类方法采用神经网络作为其算法的组成部分【10–15】,例如Franco等【11】提出用深度自编码器训练一个从参数到解的降阶表示的神经网络,并对ROM维度选择提供了理论分析。这些方法虽然更具通用性,但往往是纯数据驱动,尝试在潜在空间表示中捕获低维结构,需要大量数据,并在不同程度上取得了成功。第三类方法是基于最优传输的,特别是Wasserstein度量【16–18】。尽管这些方法仍处于初期阶段,且应用范围有限,但它们提供了一种基于数学理论的新视角。另一类方法使用自适应技术,使线性子空间在时间相关问题中逐步更新【9,19,20】。一些现有的工作还采用特定类型的非线性假设(如多项式类型函数和神经网络函数的合理组合)将非线性动力学注入到降阶模型中【21,22】。

本文在物理信息机器学习和非线性降阶模型的交叉领域进行了创新。我们提出了变换生成预训练物理信息神经网络(TGPT-PINN)框架,该框架扩展了物理信息神经网络(PINNs)和降阶基方法(RBM)至非线性模型降阶范畴,同时保留了网络结构及其无监督学习的特点。通过在GPT-PINN中引入一个新的变换层,我们能够处理具有参数依赖的不连续性位置。通过在基于快照的模型降阶中使用PINNs,我们无需对现有PDE求解器进行入侵性分析和操作;在多次查询场景中的“在线”阶段,仅需明确操控一个以强形式表示的PDE残差项以及一个捕捉不连续的变换层。此外,通过反向传播,变换层中的网络参数可与预训练PINN作为降阶网络的超级神经元的权重一起自动确定。最后,我们强调我们提出的方法是数据稀疏的。事实上,TGPT-PINN所需的全阶查询数量等于潜在空间的维度,这远小于训练自编码器恒等映射所需的查询次数【10,11】。由于TGPT-PINN是一种基于快照的模型降阶方法,因此其准确性受限于底层快照解的精度(在此处即为PINN解),当PDE的精确解未知时这一点尤为重要。我们的数值结果显示,随着底层PINN解的改善,TGPT-PINN解的准确性也得到提升。这验证了TGPT-PINN降阶策略的有效性,同时也突出了其对快照精度的依赖,这是任何其他基于快照的降阶模型的共同限制。

我们在多个复杂示例上展示了TGPT-PINN的有效性。首先,在显式参数化函数上进行研究,以展示该方法在非线性模型降阶中的表现力。接下来,我们将TGPT-PINN应用于参数化PDE的解,其中显式解无法获得,而是通过PINN形式化求解。我们同样观察到TGPT-PINN在模型降阶上非常有效,几乎不需要关于PDE的先验知识,甚至不需知道解是否具有不连续性。

作为开发非线性降阶策略的一项创新尝试,我们提出的方法的主要进展在于通过将平移和变换引入神经网络/GPT-PINN框架中,实现了对新开发的GPT-PINN【23】的非线性降阶扩展。这是通过向GPT-PINN中添加一个变换层实现的。这种整合带来了双重优势。首先,训练过程自动继承了GPT-PINN基于贪婪算法的模型降阶能力。其次,变换层的加入使得平移和变换网络参数以及GPT-PINN层的模式系数能够同时训练。一个特别重要的实际改进是,所涉及的神经网络也被超降阶,即该架构的可训练参数数量比【10–14】中少了几个数量级。

所提出的新方法分两步进行测试。首先,为了排除数值求解器(“真实”解)的选择对结果的影响,我们测试了参数化函数集在解析情况下的表现。我们展示了在Kolmogorov宽度由于移动断点或不连续项而缓慢衰减的更具挑战性的情况中,TGPT-PINN能够通过一个或少数几个神经元精确捕获参数依赖(而线性方法,如经验插值法(EIM)【24】,则失效)。接着,我们研究了当𝑢(𝑥, 𝜇)为参数化PDE的数值解时的情况,其中涉及数值求解器的使用。我们展示了在线性降阶失效的示例上,TGPT-PINN使用一个神经元实现了机器精度(例如,具有参数化速度的初始条件不连续的传输方程)。在线性降阶效果良好的示例上,TGPT-PINN通过仅使用一个(非线性反应)或三个(非线性反应-扩散)神经元获得了比使用10个神经元的GPT-PINN更高的精度。此显著改进体现了TGPT-PINN的新颖设计,即在预训练网络的网络中添加一个可训练的变换层。

本文的剩余部分组织如下。第二部分简要概述了背景知识,包括一个动机示例、PINN和GPT-PINN。第三部分给出了主要算法,第四部分详细展示了三类解析给定函数和三类方程的数值结果。第五部分我们得出结论。

2. 背景

本节将简要介绍构成TGPT-PINN的两个关键要素,即快照变换与基于神经网络的参数化PDE模型降阶方法GPT-PINN。

2.1 Kolmogorov 𝑛宽度与障碍

为Banach空间,为我们希望通过维子空间中的元素来逼近的函数集合(或“流形”)。这种线性降阶模型的理论最优性能通过Kolmogorov 宽度来量化,它衡量了中的元素从维线性子空间中逼近的最佳程度:

集合可以是一个参数化的函数集;在本文的设定中,更具代表性的是将视为(参数化)偏微分方程的解流形,即,其中参数化的PDE解算算子,通常为某个的实数子集。

宽度为所有依赖于线性降维的降阶模型(即构建自维子空间的逼近)的精度下界。例如,利用快照或适当正交分解(POD)模式构建时,宽度可视为最佳误差。对于许多具有椭圆或抛物特性的参数化PDE,已知上呈指数级衰减【25】。对于这些情况,具有构造性的(即计算上可行的)贪婪算法已被证明能生成渐近地匹配Kolmogorov 宽度的降阶空间【26,27】。这种宽度的快速衰减以及有效贪婪算法的开发是线性降阶模型及其后续方法(如RBM和GPT-PINN)的驱动力。

然而,对于由传输主导问题生成的解流形,Kolmogorov 宽度衰减得非常慢。Ohlberger和Rave【2】证明了当为某个(相对简单的)传输主导问题的解流形时,。对于传输主导问题,这种极慢的衰减是线性降阶方法无效的根本原因,并促使了非线性降阶方法的开发和应用。

2.2 用于变换快照的激励示例

考虑以下来自文献[3]的示例:

其中,

函数处是不连续的,这导致处不连续。因此,我们面临着不连续位置依赖于参数的情况。传统的基于参数的插值方法(包括经典的多项式插值和EIM——一种用于非线性和非仿射情境的标准降阶工具)在该场景中效果有限,如图1所示。然而,如果我们改变插值结构

其中为任意基函数(例如,与相关的Lagrange基插值函数),我们可以通过设计来消除阶梯效应。在这里,表示从“源”参数到“目标”参数的变换,从而使得跳变位置匹配。对于该示例,选择

可以实现精确重构,且时即有。这表明,足够复杂的变换映射可以恢复降阶模型的表现力。然而,我们进一步观察到,即使是更简单的映射

即在上为线性的映射,也足以确保精确捕捉到不连续的位置。因此,即使是相对简单的映射也能带来显著的效果。所提出的TGPT-PINN方法尝试自动识别该映射。结果表明,TGPT-PINN对该函数的逼近与精确解几乎无异,而标准方法会产生明显的阶梯效应,从而导致较大的插值误差,详见图1。

图 1:左侧显示了在不同值下的9个快照。右侧为时的函数及其三种插值方法:分别是基于的快照的多项式插值,EIM近似,以及TGPT-PINN插值。


图2. GPT-PINN架构 [23]

该GPT-PINN架构为一个超简化网络,它在唯一隐藏层的节点上自适应地嵌入预训练的PINNs。此结构使得在给定的任意参数值下能够快速生成替代解。



2.3. PINN与GPT-PINN

由Raissi等人推广的物理信息神经网络(Physics-informed Neural Networks, PINNs)近年来作为传统偏微分方程(PDE)数值方法的替代方案日益流行。PINNs使用深度神经网络(Deep Neural Networks, DNNs)来近似PDE的解,并将基于物理的PDE先验编码到损失函数中,以约束DNN的输出。与传统数值求解器相比,PINNs的优势包括能够在不离散化时空域的情况下数值求解PDE,并能够利用自动微分【29,30】以算法方式最小化损失中的残差。然而,PINNs也存在一些不足,例如,训练一个标准的PINN通常比使用经典数值方法求解相应的PDE要慢得多。

为了解决这一问题,生成预训练PINN(Generative PreTrained PINNs, GPT-PINNs)被开发为一种针对参数系统的元学习方法,用以简化PINN的架构和相应的训练参数数量,从而减少使用PINNs求解参数PDE的计算时间【23】。GPT-PINN需要在初始阶段(即“离线”阶段)投入成本,专门用于学习参数依赖性,并由一个可靠的数学贪婪算法引导。通过这一初始投资,GPT-PINN能够在多次查询和实时设置中提供显著的计算节约,因为其边际成本远低于单个PINN求解的成本【23】。

如图2所示,GPT-PINN架构是一个“网络中的网络”,其中外部网络唯一的隐藏层的激活函数是自定义选择的。定义激活函数的内部网络是通过PDE解在一组由贪婪算法自适应选择的参数值初始化的完整预训练PINNs。与内部网络相比,对应的外/元网络被超简化,只有一个隐藏层。此外,该元层能够自适应地“学习”系统的参数依赖关系,并可以逐渐扩展其隐藏层,每次增加一个超神经元/网络。GPT-PINN能够在整个参数域上准确、高效地生成参数系统的近似解,且成本与完整PINN的规模无关。


3. TGPT-PINN 算法

在 2.2 节中提出的见解表明,为实现非线性模型降阶,可以通过引入与参数相关的变换来组合快照数据。此方法构成了 TGPT-PINN 的基本思想,其示意设计如图 3 所示。该方法旨在近似 ,公式如下:

所有的量,,都是通过两步训练过程获得的。第一步是“离线”步骤,训练;这一步骤可能较耗时,因为需要对PDE求解获得高分辨率的解,并遍历参数域 以识别参数值 。第二步为“在线”步骤,给定任意,计算,其中 。该步骤的计算效率更高,只需训练一个包含 自由度的神经网络,即与快照数量线性相关,远少于单个快照所需的自由度。具体来说,TGPT-PINN 的两步过程如下:

  1. “离线”步骤:求解PDE/残差,最小化损失函数 ,得到 ,直到达到足够精度。此时
  2. “在线”步骤:对每个 ,最小化损失函数 ,得到 ,并计算出

图 3 中展示了“在线”步骤的流程。此方法的主要优点在于函数组合在神经网络中实现自然且简便——只需添加一层或一个模块,定义变换的网络参数可与 GPT-PINN 模块中的模式系数一起进行训练。损失函数 将在后续章节中介绍。所有的最小化步骤都使用标准的神经网络优化和反向传播过程完成。

3.1. PDE 公式

我们定义如下时间相关的 PDE 问题,其定义域为空间区域 ,边界为 ,参数域为

其中 是微分算子, 表示边界算子【23】。我们的目标是使用 TGPT-PINN 方法计算该 PDE 的数值解。

本节余下部分将详细描述 TGPT-PINN 的具体细节。在 3.2 节中,我们将介绍一种改进 TGPT-PINN 的离线部分的方法,以增强其解决输运主导问题中不连续解的能力。

3.2 离线:PINN 求解器

我们讨论了TGPT-PINN的“离线”过程,该过程计算给定固定时的。具体来说,我们将在TGPT-PINN中使用来计算。由于在本节中是固定的,因此我们在后续的表达式中通常省略对的依赖。

理想化损失函数

我们使用的理想化损失函数对应于标准的PINN损失函数,其形式为:

该损失函数通过将对应于PDE残差、初始值和边界条件的损失项相加而构建,其中域内损失表示为:

激波捕捉加权

为了减轻解在不连续性处出现的梯度爆炸或梯度消失问题,上述公式中引入了一个因子,该因子旨在当解的梯度较大时减小损失。我们因此引入了以下“激波捕捉加权”因子,用于计算PDE残差,这个因子最早由Liu等人提出:

我们选择。PINN方法选择对进行离散化,并通过优化最小化损失函数。像标准的PINN一样,我们使用一个全连接神经网络来逼近,其中的权重和偏置被优化。损失通过一种采样/求积型的过程进行逼近。

离散化损失

实际优化的离散化损失函数为:

其中:

  • 表示时空域内部的采样点集合。
  • 表示时空边界的采样点集合。
  • 表示初始条件的采样点集合。

边界算子通常假定为空间周期性的,以简化计算。

训练点的分布

当解中存在不连续性时,训练点的分布必须谨慎选择。一般来说,训练点的分布会影响网络的性能。尤其是,当训练点密集地集中在不连续性附近时,网络在逼近具有跳跃的PDE解时的性能会显著提高。对于传输方程,通常由参数决定不连续性的位置。因此,为了提高网络性能,实践中需要根据参数以依赖性方式构造训练/采样点。

元神经元优化

最后,我们注意到,以上构建过程优化的是“元神经元”,即GPT-PINN中的网络。在我们的一些测试用例中,特别是在第4.1节中,我们使用了已知的解析公式来计算,在这些示例中,整个PINN框架被显式的函数评估所替代。

3.3 TGPT-PINN

如图3所示,TGPT-PINN的隐藏层首先包含一个变换层,类似于GPT-PINN [23],之后是一个由预训练的PINN作为激活函数的meta-PINN层。该方法的创新点在于变换层,它使得TGPT-PINN能够实现非线性的模型降阶。该变换层使我们能够进一步探索作为激活函数的完整PINNs的潜力,从而显著增强(预训练的)完整PINNs的表达能力,即使在隐藏层的单个神经元中仅使用一个预训练的PINN。这种来自参数依赖的变换层的表达能力提升使我们能够构造一个超降阶神经网络,它由预训练的完整网络组成,具有依赖参数的不连续函数。特别是,我们达到了比Kolmogorov宽度所示的线性降阶方法对传输主导问题的最优解要小得多的外层网络尺寸。

图 3. TGPT-PINN 设计示意图。对于给定的参数值 ,构造一个 依赖的损失,并训练系数 以及变换层 中的权重和偏置。

3.3.1 变换层的设计

在所提议的TGPT-PINN中,源到目标的变换层在(3.1)中的抽象形式为:

原则上,它应该是满射的。在本文中,我们将其设置为:

这里,使得成为一个简单的线性变换,依赖于。特别地,的依赖性是通过“在线”训练强制执行的。此外,为确保的输出范围恰好是,我们应用了元素级的模运算,确保的每个分量都输出到的适当切片。

我们在所有实验中使用了上述特定形式的。然而,TGPT-PINN的通用框架并不限于上述相对简单的选择。例如,本身可以是一个深度神经网络。我们选择这个简单的形式,是基于第2.2节的讨论,证明即使是简单的线性类型映射,对于传输主导的问题也能有效。特别地,可以训练来拉伸或收缩变量,特别是可以训练以扩展频域中的谱内容。因此,如我们在数值示例中所展示的,所提出的架构也适用于更加复杂的问题,而不仅仅是特征具有恒定速度的传输问题。

3.3.2 在线阶段训练

变换(3.5)和TGPT-PINN的假设(3.1)意味着,给定一个包含个PINN(在处预训练)的TGPT-PINN,其具有以下个网络参数需要训练:

类似于GPT-PINN,这些网络参数的数量与用于训练各个PINN的架构参数无关,严格线性依赖于,即快照的数量。使用TGPT-PINN假设的网络形式表示为:

TGPT-PINN的损失函数与完整的PINN损失函数相同,包括三个部分:PDE的残差、初始值条件和边界条件对应的损失。其损失函数为:

其中:

  • 表示在线采样集。
  • 表示在线边界采样集。
  • 表示在线初始条件采样集。

这些在线采样集不必与完整PINN中的采样集相对应,但为了简便起见,在本文中我们假设它们是相同的集合。通过标准的自动微分和反向传播方法来训练。有关这一步骤的更多细节,请参见参考文献[23],其中包括用于快速训练降阶网络的预计算和(T)GPT-PINN的非侵入性。


算法 1 TGPT-PINN 用于参数化PDE:离线阶段

3.3.3. TGPT-PINN的离线训练

如上所述的在线求解器,TGPT-PINN的离线训练就是应用算法1中概述的贪心算法。元网络自适应地“学习”系统的参数依赖关系,并且“增长”TGPT-PINN的隐藏层,每次添加一个神经元和一个变换层。在每个步骤中,我们选择当前元网络最难以近似的参数值。具体地,我们首先在离散化的参数域中随机选择一个参数值,并训练与之相关的(高精度的)PINN。然后,算法通过扫描整个离散参数空间来决定如何“增长”它的元网络,对于每个参数值,训练这个简化的网络(包含一个神经元)。在扫描过程中,它记录每个位置的误差指示符。下一个参数值是生成最大误差指示符的参数值。接着,算法继续训练对应的完整PINN,从而将其隐藏层扩展为两个神经元,并分别使用预训练的激活函数。这个过程一直重复,直到满足停止准则,停止准则可以是误差指示符足够小,或者达到预选的简化网络的大小。


4. 数值结果

在本节中,我们测试了所提出的TGPT-PINN并报告了数值结果。我们通过两类实验进行测试。首先,为了分离PINN求解器的影响,类似于传统RBM方法中的“真值”离散化,我们测试了当是一个已知函数并具有不同类型的规则性时的情况。接着,我们将视为参数化PDE的解,使用PINN求解器进行数值计算。所有这些示例的代码已发布在GitHub上,地址是 https://github.com/DuktigYajie/TGPT-PINN。


注释:

  • 贪心算法:在此背景下,贪心算法是一种迭代过程,每次都选择当前最难处理的参数点,通过逐步增加神经元来改进网络表现,直到满足停止条件。
  • 误差指示符:在每次选择新参数值时,通过计算模型在该点上的误差来决定下一个要训练的参数值。

5. 结论

本文提出并研究了TGPT-PINN,这是一种物理信息非线性模型降阶框架。通过将基于PINN的PDE(偏微分方程)求解的实际效能与GPT-PINN模板的模型降阶相结合,并引入新的近似不连续性策略和非线性变换层,TGPT-PINN能够克服传统线性模型降阶在传输主导的情形下的局限性。该方法在广泛的实际PDE问题中表现出色,尤其是在传统方法可能无法有效处理的更复杂问题中,展示了其强大的潜力。


END


PINNs代码汇总

长按扫码

点赞

关注

在看

💙整理不易,希望各位道友能够多多支持宝库,支持邪云宝库!你的一个点赞、一次转发、 随手分享,都是宝库前进的最大动力~

💛2024,不忘初心,宝库会给大家带来更好的内容,让我们2024,一起暴富!

邪云宝库
用于分享物理科学启发AI的新范式:人工智能的物理科学(PhysicsScience4AI, PS4AI)资料。用于各种debug日志,偏微分方程,物理信息神经网络,算法原理及实现,数据挖掘,机器学习,智能优化算法,多元统计及生活分享。
 最新文章