基于PhyCRNet求解时空域PDEs

作者:于璠

背景

由偏微分方程(Partial Differential Equation)建模的复杂时空系统在许多学科中普遍存在,例如应用数学、物理、生物、化学和工程。在多数情况下,我们都无法获得用以描述这些复杂物理系统的PDE的解析解,因此数值求解方法被大量地研究,这其中就包括:有限元,有限差分,等几何分析(IGA)等方法。尽管这些传统数值方法能通过基函数很好地近似方程的精确解,但是在数据同化和反问题的求解上仍存在着巨大的算力开销。

近些年,用以求解非线性系统正反问题的各种深度学习方法层出不穷,利用DNN来建模物理系统的研究可以被大致划分为以下两类:连续性网络和离散型网络。连续性网络的典型代表就是PINNs:将PDE的残差作为神经网络的软约束,通过一个全连接层来逼近方程的解,并且使得模型可以在小的数据规模甚至是无标签的采样数据上进行训练。尽管如此,PINNs往往局限于低维度的参数化,并且在面对有陡峭梯度和局部形态复杂的PDE系统时显得捉襟见肘。近期有少量的试点研究发现离散型网络相比连续性学习有着更好的可扩展性和更快的收敛速度,比如对于时间无关的系统CNN可以作为矩形域的代理模型;PhyGeoNet通过物理和参考域间的坐标转换来几何自适应地求解稳态偏微分方程,而对于时间相关的系统,大部分的神经网络求解方法还是基于数据驱动和网格剖分上。

由中国人民大学高瓴人工智能学院孙浩教授团队联合东北大学(美国)和圣母大学提出的PhyCRNet[1]是一种通过物理先验知识和卷积递归网络架构求解多维时空域PDE的非监督学习方法,它结合了ConvLSTM(提取低维空间特征、学习时间演进),全局残差连接(严格映射方程解在时间轴上的变化)以及高阶有限差分的时空滤波(确定构建残差损失函数所需的PDE导数)的能力,使得其能够作为一种在面对反问题和有稀疏、含噪数据时的一种基本的解决方案。

1、问题定义

考虑多维非线性含参偏微分方程的一般形式如下:

图片

其中u(x, t)代表方程在时间域T和空间域Ω中的解,F是带参数λ的非线性泛函。

**2、**模型方法

ConvLSTM

ConvLSTM是一个时空序列到序列的学习框架,从LSTM及其变体 LSTM encoder-decoder预测架构(它们具有对随时间演变的长周期依赖性进行建模的优势)扩展而来。本质上,记忆单元通过正在访问的输入和状态信息进行更新,通过巧妙设计的控制门来完成记忆的积累和清除。基于这样的设置,普通的循环神经网络(RNN)的梯度消失问题得以缓解。ConvLSTM继承了LSTM的基本结构(即cell单元和gates)用于控制信息流,并修改全连接神经网络(FC-NN)考虑到 CNN 具有更好的空间连接表示能力,对 CNN 进行门控操作。作为一类特殊的RNN,LSTM可以作为一种隐性的数值方法来求解时间相关的PDE方程。单个ConvLSTM单元的结构图示如下:

图片图 1:在时间为t时的单个ConvLSTM单元

更新一个ConvLSTM单元的数学表示如下:

图片

其中,* 代表卷积操作,⊙ 代表哈达玛乘积;W是filter的权重参数,b表示偏置向量。

Pixel Shuffle

Pixel Shuffle是一种高效的亚像素卷积(sub-pixel convolution)操作,将低分辨率(LR)的图像通过上采样获得高分辨率(HR)的图像。假设一个LR特征张量的维度为(C x r^2, H, W),其中C代表通道数,{H, W}是图像的高度和宽度,r是upscale系数,通过重新组合对齐,可以得到一个维度为(C, H x r, W x r)的HR张量。图片图 2:Pixel Shuffle层

Pixel Shuffle的高效性体现在:(1)仅在卷积的最后一层提升分辨率,这样子可以避免在例如deconvolution中需要使用更多的卷积层才能将图像提升到目标分辨率;(2)在上采样层之前的所有特征提取层中,可以使用更小的filter来处理这些低分辨率的张量。

PhyCRNet

PhyCRNet由encoder-decoder模块,残差连接,自回归过程,和一个基于过滤的微分方法构成。其中encoder包含三个卷积层用以从某一个时刻的状态变量Ui中学习低维的隐特征,并通过ConvLSTM让其随着时间进行演进。由于是在低维的变量上进行变换,内存开销也会相应减少。另外,受启发于前向欧拉方法,我们可以在输入变量Ui和输出变量Ui+1之间增加了一个全局的残差连接,单步学习过程就可以被表示为Ui+1 = Ui + δt x N[Ui; θ],其中N[·]表示经过训练的神经网络算子,δt为单元时间间隔。因此,这种递归关系可以被视为一种简单的自回归过程。

图片图 3:PhyCRNet网络结构图

在这里U0为初始条件,U1到UT是需要模型预测的离散解,从输入到输出的时间演进,相比于传统的数值方法,ConvLSTM可以采用更大的时间间隔。对于各个微分项的计算,我们使用固定的卷积核[1]来表示它们的差分数值,在PhyCRNet中采用了二阶和四阶的差分项来计算U对于时间和空间的导数。为了更进一步优化计算性能,我们可以在一个大小为T的周期内跳过encoder的部分,除了每个周期的第一个时刻,示意图如下:

图片图 4:PhyCRNet-s网络结构图

I/BC硬约束

相较于PINNs方法将物理的初边界条件作为软约束(其残差作为Loss的一部分进行优化),PhyCRNet采用了将I/BC硬编码进模型中的方式(初始条件作为ConvLSTM的输入U0,边界条件通过padding编码),使得物理条件不在是一种软约束,从而提升模型的精度和收敛速度。对于狄利克雷边界条件(Dirichlet BC),已知的常数边界值可以直接作为空间域的padding进行填充;而对于诺依曼边界条件(Neumann BC),可以在空间域的周围添加一层幽灵元素(ghost elements),它们的值在训练过程中用差分的方式去近似计算。

图片图 5:边界条件硬约束图示

损失函数

由于I/BC已经在模型中被硬性的约束了,损失函数只需要包含PDE的残差项,以一个二维的PDE系统为例,损失函数可以被表示为:

图片

其中n和m代表网格的高和宽,T是总的时间步数,R(x, t; θ)为PDE的残差:

图片

**3、**结果分析

评估全域的模型误差,在时间为τ时的累积均方根误差(a-RMSE)计算如下:

图片

其中Nτ为在[0, τ]中的时间步数,u*(x, t)是方程的参考解。

二维 Burgers方程

考虑流体力学中的经典问题,给定以下形式的二维Burgers方程:

图片

我们选取4个时间点:训练(t = 1.0, 2.0)和外推(t = 3.0, 4.0)对PhyCRNet和PINN方法在解的精度和外推能力上进行比较:

图片图 6:PhyCRNet对比PINNs对于二维Burgers方程的训练和外推结果

λ-ω RD方程

第二个案例,考虑一个二维的λ-ω RD系统(常用于表示多尺度的生物化学过程):

图片

其中u,v是二个场变量满足:

图片

λ,ω为两个实值函数:

图片

通过光谱法生成在区域为[-10, 10]内,共801个时间步数的参考解;经过在[0, 5]时间段内200个时间步数的训练,对[5, 10]的时段进行预测,比较PhyCRNet和PINN的预测结果如下:

图片图 7:PhyCRNet对比PINNs对于λ-ω RD方程的训练和外推结果

下图是PhyCRNet和PINNs在上述两个PDE系统中在训练和外推时的误差传播曲线,可以明显地看到PhyCRNet在两个阶段(尤其是外推阶段)表现更优。

图片图 8:对比PhyCRNet和PINNs的误差传播

参考文献

[1] Ren P, Rao C, Liu Y, et al. PhyCRNet: Physics-informed convolutional-recurrent network for solving spatiotemporal PDEs[J]. Computer Methods in Applied Mechanics and Engineering, 2022, 389: 114399.

[2]https://www.sciencedirect.com/science/article/abs/pii/S0045782521006514?via%3Dihub

90后程序员开发视频搬运软件、不到一年获利超 700 万,结局很刑! 谷歌证实裁员,涉及 Flutter、Dart 和 Python 团队 中国码农的“35岁魔咒” Xshell 8 开启 Beta 公测:支持 RDP 协议、可远程连接 Windows 10/11 ​MySQL 的第一个长期支持版 8.4 GA 开源日报 | 微软挤兑Chrome;阳痿中年的福报玩具;神秘AI能力太强被疑GPT-4.5;通义千问3个月开源8模型 Arc Browser for Windows 1.0 正式 GA Windows 10 市场份额达 70%,Windows 11 持续下滑 GitHub 发布 AI 原生开发工具 GitHub Copilot Workspace JAVA 下唯一一款搞定 OLTP+OLAP 的强类型查询这就是最好用的 ORM 相见恨晚
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4736317/blog/11082887