2025.10.19——PINN文献阅读
周报
- 一、文献阅读
- 题目信息
- 摘要
- 创新点
- 物理背景
- 网络框架
- 实验
- 实验一:直道稳定流条件
- 实验二:环状网络中的非稳定流条件
- 结论
- 缺点及展望
- 总结
一、文献阅读
题目信息
- 题目:《Enhanced physics-informed neural networks for efficient modelling of hydrodynamics in river networks》
- 期刊: Hydrological Processes
- 作者: Xiao Luo, Saiyu Yuan, Hongwu Tang, Dong Xu, Qihua Ran, Yuhao Cen, Dongfang Liang
- 发表时间: 2024
- 文章链接:https://www.researchgate.net/publication/379763912_Enhanced_physics-informed_neural_networks_for_efficient_modelling_of_hydrodynamics_in_river_networks
摘要
在河网水动力过程研究中,数值模拟是研究常用方法,但存在计算复杂、数据处理等问题。随着计算技术发展,一维水动力模型虽能模拟河网非恒定流,但计算需求有时较高。传统的机器学习算法发展为物理系统建模有着很大的帮助,计算效率高,但存在缺乏物理可解释性、等问题。物理信息神经网络将物理定律引入机器学习,在解决物理的偏微分方程方面有非常大的作用,但目前的PINNs用于河流水动力建模的研究非常有限,特别是在复杂河网的全面应用方面更是少之又少,因此本篇论的目的就是在探索将PINNs应用于河网非恒定流建模,作者过增强PINNs架构,有效模拟具有不规则横截面的真实河网的水动力特性。作者首先对水力参数进行预处理以优化训练速度,同时引入层归一化解决梯度消失问题。此外,还引入了水位范围和节点方程等物理约束确保训练能够有效收敛的同时还加入其他物理约束。最后,作者通过两个实验证明了增强后的PINNs架构能以较少数据预测河网水动力,同时其对时间步长敏感性低,这种PINNs机构是模拟复杂河网水动力过程的有效方法。
创新点
- 预处理水力参数提升训练速度
- 引入层归一化解决梯度消失
- 增加水位范围和节点方程等物理约束,确保收敛的同时加入更多物理规律
物理背景
本论文使用一维的Saint-Venant方程作为物理模型,Saint-Venant方程被广泛用于描述河流中的水流。
这些方程基于质量和动量守恒原理,适用于同一河段的两段之间。
然而,当涉及到河网中的交叉点时,需要替代方程来准确描述这些点的水力条件。
利用质量连续性原理,在没有源或汇的情况下,流入某一点的流体质量必须等于流出该点的流体量。可以直接推导出方程(3)来描述结点处的水力条件:
Akan和Yen(1981)进行了一项研究,他们在研究中证明,当接点处的流量为亚临界时,能量方程可以用水级相等来近似,在交叉点处,流入和流出的水面高程可以认为是相等的。如式(4)所示:
网络框架
构建增强型PINNs框架,包括采用全连接深度神经网络近似未知解、预训练水力参数、PINNs近似SVE、增加物理信息(水位软约束和节点方程约束)、选择激活函数与层归一化、特定的模型训练和评估方法。
作者提出的增强型PINN的架构图如下图所示:
下面我们对作者提出的PINN框架进行分析:
-
该论文DNN的结构是一个全连接的前馈神经网络来得出 U ( x , t ) U(x, t) U(x,t)和 Z ( x , t ) Z(x,t) Z(x,t)的值
在数学上可以理解为:
U ( x , t ) ≈ U ^ ( x , t ; θ ) , Z ( x , t ) ≈ Z ^ ( x , t ; γ ) , \begin{array}{l}U(x, t) \approx \widehat{U}(x, t ; \theta),\\Z(x, t) \approx \widehat{Z}(x, t ; \gamma),\end{array} U(x,t)≈U (x,t;θ),Z(x,t)≈Z (x,t;γ),
x = [ x 1 , x 2 , … , x N c ] x = [x_1,x_2,\dots,x_{N_c}] x=[x1,x2,…,xNc]表示空间坐标向量,t表示时间坐标向量。 N c N_c Nc为截面总数。 θ θ θ和 γ γ γ是网络的参数。
-
此外,作者认为天然的河道是非常复杂的(因为其形状常常是不规则的),因此求解此类系统的SVEs需要根据每个断面的实际地形计算各种中间变量(即为每个横截面计算水力特性)。这种复杂的计算对模型的训练速度造成了很大的影响。
因此,作者提出一种预训练方法:通过计算横截面的水力参数(如流量面积和水面高程)与横截面几何形状之间的关系来简化计算。
具体步骤如下:
首先,作者在训练关键变量之前,对水位进行分层处理,并使用插值函数来近似每个分层水平的水力特征。 然后,预计算的数据集将作为深度神经网络的输入,目的是逼近不同横截面区域的流量面积 A(Z)、河流宽度 B(Z) 和输水能力函数 K(Z)。
其中:
A ( Z ) ≈ A ^ ( Z ^ ( x , t ; γ ) , α ) , B ( Z ) ≈ B ^ ( Z ^ ( x , t ; γ ) , β ) , K ( Z ) ≈ K ^ ( Z ^ ( x , t ; γ ) , δ ) , \begin{aligned} &A(Z) \approx \widehat{A}(\widehat{Z}(x, t ; \gamma), \alpha),\\ &B(Z) \approx \widehat{B}(\widehat{Z}(x, t ; \gamma), \beta),\\ &K(Z) \approx \widehat{K}(\widehat{Z}(x, t ; \gamma), \delta), \end{aligned} A(Z)≈A (Z (x,t;γ),α),B(Z)≈B (Z (x,t;γ),β),K(Z)≈K (Z (x,t;γ),δ),
这些近似值是通过调整 α、β 和 δ来实现。
获得了近似的流量面积 A ( Z ) A(Z) A(Z),就可以求得 Q ^ ( Z ) \widehat{Q}(Z) Q (Z),其中 Q ^ ( Z ) = A ( Z ) U ^ ( x , t ; γ ) \widehat{Q}(Z)=A(Z) \widehat{U}(x, t ; \gamma) Q (Z)=A(Z)U (x,t;γ)。
-
构建完DNN后,就开始定义损失函数
首先需要定义式(1)和式(2)的残差项:
f c ( x , t ) ≈ ∂ Q ^ ∂ x + B ^ ∂ Z ^ ∂ t = f ^ c ( x , t ; θ , γ ) , f m ( x , t ) ≈ ∂ Q ^ ∂ t + ∂ Q ^ U ^ ∂ x + g A ^ ( ∂ Z ^ ∂ x + Q ^ ∣ Q ^ ∣ K ^ 2 ) = f ^ m ( x , t ; θ , γ ) . \begin{array}{l}f_{c}(x, t) \approx \frac{\partial \widehat{Q}}{\partial x}+\widehat{B} \frac{\partial \widehat{Z}}{\partial t}=\widehat{f}_{c}(x, t ; \theta, \gamma),\\f_{m}(x, t) \approx \frac{\partial \widehat{Q}}{\partial t}+\frac{\partial \widehat{Q} \widehat{U}}{\partial x}+g \widehat{A}\left(\frac{\partial \widehat{Z}}{\partial x}+\frac{\widehat{Q}|\widehat{Q}|}{\widehat{K}^{2}}\right)=\widehat{f}_{m}(x, t ; \theta, \gamma) .\end{array} fc(x,t)≈∂x∂Q +B ∂t∂Z =f c(x,t;θ,γ),fm(x,t)≈∂t∂Q +∂x∂Q U +gA (∂x∂Z +K 2Q ∣Q ∣)=f m(x,t;θ,γ).
总体的损失函数如下:
L ( θ , γ ) = λ u L u ( θ ) + λ z L z ( γ ) + L f ( θ , γ ) , L(\theta, \gamma)=\lambda_{u} L_{u}(\theta)+\lambda_{z} L_{z}(\gamma)+L_{f}(\theta, \gamma), L(θ,γ)=λuLu(θ)+λzLz(γ)+Lf(θ,γ),
其中 L u ( θ ) L_{u}(\theta) Lu(θ)与 L z ( γ ) L_{z}(\gamma) Lz(γ)分别用于计算U和Z的真实值与DNN预测值之间的差异。
L f ( θ , γ ) L_{f}(\theta, \gamma) Lf(θ,γ)是残差的损失项。
损失函数的具体形式如下:
L u ( θ ) = 1 N u ∑ i = 1 N u ( U ^ ( x , t ; θ ) − U ) 2 , L z ( γ ) = 1 N z ∑ i = 1 N z ( Z ^ ( x , t ; γ ) − Z ) 2 , L f ( θ , γ ) = 1 N f [ ∑ i = 1 N f f ^ c 2 ( x , t ; θ , γ ) + ∑ i = 1 N f f ^ m 2 ( x , t ; θ , γ ) ] , \begin{array}{c}L_{u}(\theta)=\frac{1}{N_{u}} \sum_{i=1}^{N_{u}}(\widehat{U}(x, t ; \theta)-U)^{2}, \\L_{z}(\gamma)=\frac{1}{N_{z}} \sum_{i=1}^{N_{z}}(\widehat{Z}(x, t ; \gamma)-Z)^{2}, \\L_{f}(\theta, \gamma)=\frac{1}{N_{f}}\left[\sum_{i=1}^{N_{f}} \widehat{f}_{c}^{2}(x, t ; \theta, \gamma)+\sum_{i=1}^{N_{f}} \widehat{f}_{m}^{2}(x, t ; \theta, \gamma)\right],\end{array} Lu(θ)=Nu1∑i=1Nu(U (x,t;θ)−U)2,Lz(γ)=Nz1∑i=1Nz(Z (x,t;γ)−Z)2,Lf(θ,γ)=Nf1[∑i=1Nff c2(x,t;θ,γ)+∑i=1Nff m2(x,t;θ,γ)], -
在使用PINN模型预测Z(水位)时会有一个问题:在观测值有限的情况下,预测的水位很可能会出现负值(即低于河床的高度),同时Z的不准确就会导致其他变量(如:A、B、K)不准确。
为了确保这样错误的计算不会产生连锁反映,在计算水力参数之前,作者对预测的水位值进行了限制(如果它们低于河床高度,就会将其设置为等于河床高度)。但是,这种方法是有缺点的,当预测的水位低于河床高度时,对应的偏微分方程会自动简化为零。这并不符合真实的物理规律。
为了解决这个问题,作者在原来的损失函数基础上加入了一个软约束项,其通过惩罚预测水位超出期望范围的情况来增强模型的物理一致性。通过这种约束的设置,可以让模型的预测结果更加具有科学性。
L f ( θ , γ ) = 1 N f [ ∑ i = 1 N f f ^ c 2 ( x , t ; θ , γ ) + ∑ i = 1 N f f ^ m 2 ( x , t ; θ , γ ) ] + ω 1 N f ∑ i = 1 N f f s 2 ( x , t ) L_{f}(\theta, \gamma)=\frac{1}{N_{f}}\left[\sum_{i=1}^{N_{f}} \widehat{f}_{c}^{2}(x, t ; \theta, \gamma)+\sum_{i=1}^{N_{f}} \widehat{f}_{m}^{2}(x, t ; \theta, \gamma)\right]+\omega \frac{1}{N_{f}} \sum_{i=1}^{N_{f}} f_{s}^{2}(x, t) Lf(θ,γ)=Nf1 i=1∑Nff c2(x,t;θ,γ)+i=1∑Nff m2(x,t;θ,γ) +ωNf1i=1∑Nffs2(x,t)
其中ω表示惩罚系数,设为10-5。惩罚系数变大可以直接加强这个约束,从而减少水位超出范围的可能性。
f s ( x , t ) f_{s}(x, t) fs(x,t)的具体形式为:
f s ( x , t ) = { Z ^ − Z max , if Z max ≤ Z ^ 0 , if Z min ≤ Z ^ < Z max Z min − Z ^ , if Z ^ < Z min f_{s}(x, t)=\left\{\begin{array}{clc}\hat{Z}-Z_{\max }, & \text { if } & Z_{\max } \leq \widehat{Z} \\0 , & \text { if }& Z_{\min } \leq \widehat{Z}<Z_{\max } \\Z_{\min }-\widehat{Z}, & \text { if } & \widehat{Z}<Z_{\min }\end{array}\right. fs(x,t)=⎩ ⎨ ⎧Z^−Zmax,0,Zmin−Z , if if if Zmax≤Z Zmin≤Z <ZmaxZ <Zmin
Zmin和Zmax分别为截面的最低点和最高点标高。如果预测的水位超出了期望的范围,这个约束就会起到作用;如果预测的水位在期望范围内,这个惩罚项就会变为零。
-
网状的河流由多个河道组成,每个河道都有单独的空间坐标。此外,在河道交汇的地方,水流会分成多个部分,这些交叉点在模型中被视为内部边界。在传统的数值模型中,处理这些交汇点会增加模型的复杂性和计算量。但在PINNs中,通过实施“水位相等”原则,增加了结点约束的同时又不会增加模型的复杂性。 这种方法在观测数据缺乏的情况下,降低了无法收敛的风险的同时也提高了预测的准确性。
作者通过引入了一个与这些结方程相关的约束项 L j ( θ , γ ) L_{j}(\theta, \gamma) Lj(θ,γ),其具体形式如下:
L j ( θ , γ ) = 1 N j [ ∑ i = 1 N j g ( Z ^ i in , Z ^ iout ) ] + 1 N j [ ∑ i = 1 N j ( Q ^ in − Q ^ out ) ] , L_{j}(\theta, \gamma)=\frac{1}{N_{j}}\left[\sum_{i=1}^{N_{j}} g\left(\widehat{Z}_{i_{\text {in }}}, \widehat{Z}_{\text {iout }}\right)\right]+\frac{1}{N_{j}}\left[\sum_{i=1}^{N_{j}}\left(\widehat{Q}_{\text {in}}-\widehat{Q}_{\text {out }}\right)\right], Lj(θ,γ)=Nj1 i=1∑Njg(Z iin ,Z iout ) +Nj1 i=1∑Nj(Q in−Q out ) ,
其中Nj表示河网中结点的总数。 g ( ) g() g()表示满足与连接点相连的横截面上的水位的函数关系。
实验
作者利用HEC-RAS生成训练数据并引入少量随机白噪声(0.2%),采用数值实验,通过RMSE和MAPE评估模型性能。
实验一:直道稳定流条件
实验一的条件是在稳态条件下的单个河流河段。作者通过创建一个受控环境,从而可以对增强后的PINNs方法进行评估。
在实验一中应用预训练方法评估横截面水力参数,以C1截面为例预训练后DNN预测值与插值计算结果贴合,收敛时达到足够精度,验证了预训练方法的有效性。
其中,图(a)展示了流量面积(A)的真实值和预测值的对比,图(b)展示了图(a)在训练时的损失变化。图©展示了输水能力函数(K)的真实值和预测值的对比,图(d)展示了图(b)在训练时的损失变化。结果表面:
此外,作者通过不同的观测横截面数量(12、6、4、2)进行训练,评估PINNs在不同数据量下的表现。其中,神经网络架构设为三个隐藏层,每层50个神经元,激活函数采用Tanh,损失函数为均方误差(MSE),并对水位数据集进行z - score标准化。优化策略的初始阶段,AdamW学习率根据Lc的值动态调整,训练共20,000个周期,之后用L - BFGS - B优化器确保收敛。
在不同的横截面数量中,模型的参数如下:
作者使用12个横截面的观测数据,通过对比HEC-RAS和PINNs的结果,验证PINNs能捕捉到水流横截面内的水文动力特征,包括速度和深度等水动力特性的空间变化和分布。对于Z和U变量,RMSE分别为 2.63 × 1 0 − 3 2.63×10^{-3} 2.63×10−3和 2.97 × 1 0 − 4 2.97×10^{-4} 2.97×10−4,MAPE分别为0.003%和0.02%,Q的最大绝对误差为 1.83 m 3 / s 1.83 m^{3}/s 1.83m3/s,能量坡度也能准确捕捉水动力过程。
此外,作者还对预训练对导数计算的影响进行了分析,目的是确定预训练对导数计算精度的影响。 对比有无预训练方法的变量Q和QU的导数计算,发现预训练对导数计算精度影响不大,验证了预训练模型可整合到计算框架中。
在实验一的最后,作者还对观测横截面数量对模型结果的影响进行了探究。随着用作约束的横截面数量减少,模型的预测精度下降。
实验结果表明,当受6个横截面观测约束时,U的MAPE为7%,Z的RMSE为0.14m;约束为4个横截面观测时,U的MAPE变为20.5%,Z的RMSE为0.36m。在10次实验中,传统神经网络和PINN在不同观测截面数量下进行评估,结果显示随着约束数据减少,两者误差均上升,但PINN在不同约束下表现出更稳定的精度和计算稳定性。
实验二:环状网络中的非稳定流条件
实验二目的是评估PINNs在捕捉真实世界环形河道系统中复杂的流动模式和边界交互能力。研究背景是在一个环形河道网络中的非稳定流动态。主河道分为两个子河道,然后再下游重新汇合。
如下图所示:
利用预训练技术,模型增加了河宽作为变量以适应非稳定流条件,从结果来看,模型预测值和实际训练值高度一致,证明了模型的有效性。
实验二的神经网络包含三个隐藏层,每层30个神经元,激活函数和损失函数分别为Tanh和MSE。AdamW优化器初始学习率为0.001,训练过程中衰减率为0.001,经过20,000次迭代训练达到稳定收敛后,再用L - BFGS - B优化器进行微调。实验二中使用了水位相等约束方程和节点处的流量守恒约束。
参数如下:
作者在实验二中研究了时间间隔对预测精度的影响。在10分钟内,以不同时间间隔进行实验,该评估显示,数据约束间隔的减少并不会导致预测准确性的明显下降。虽然物理约束可在一定程度上弥补数据稀疏,但数据过度缺乏会使精度有所下降。在 Δ o b s = 10 m i n \Delta obs = 10min Δobs=10min时,U和Z的最大误差分别为0.033m/s和0.018m,相比PINNs在1D稳态明渠案例中的水位误差(可达1m)。
此外,作者还分析了PDE约束间隔对模型性能的影响。作者通过分析不同时间步长间隔下观测数据和PDE残差约束时26个不同横截面的模型评估指标(U的MAPE和Z的RMSE),结果表明模型在部分组表现较好,部分组精度有不同程度下降,其中数据约束最少的第四组和第八组表现最差,但在一定范围内PDE约束的时间间隔对计算精度影响不明显。
结论
预训练水力参数可加速训练,新物理约束确保收敛且加深物理理解,增强后的PINNs在河网水动力建模中高效且数据需求少、对时间步长敏感度低。作者通过改进PINNs方法对实际场景中具有不规则横截面的河网水动力进行有效建模。此外,预处理水力参数提升了训练速度的同时也没有牺牲精度,层归一化解决梯度消失问题,新物理约束确保训练收敛并丰富物理内涵。实验表明,改进后的PINNs方法数据需求少,且对时间步长敏感度低,是河网水动力建模的有效方法。
缺点及展望
缺点:
作者提出本论文的实验比较简单,未涵盖真实河网的全部复杂性。此外,使用PINNs处理时间相关PDE时局限于固定时域,无法计算超出边界的解,缺乏泛化能力。
研究展望:
可以将增强后的PINNs架构研究更多河段,验证模型的泛化能力;优化模型种训练算法和网络架构,提升模型的性能;研究在增强后的PINN框架的在实际种的应用,如洪灾防范、水资源和环境保护等。
总结
本周主要精读了一篇PINN的文献和复现了之前论文的代码。
本周阅读的文献中提出了一种增强型PINNs方法,其通过预处理水力参数、引入层归一化以及增加水位范围和节点方程等物理约束,有效解决了传统PINNs在河网水动力建模中的局限性,且增强后的PINNs架构能够以较少的数据预测河网水动力,且对时间步长的敏感性低,是一种有效的模拟方法。此外,在代码实现部分详细介绍了网络架构的设计、物理损失、边界条件损失和初始条件损失的定义,以及模型的训练过程。