目录
摘要
本周主要进行了基于浅水方程(SWE)简化的扩散波方程,往往用于预测水位和流量的变化。求解其逆问题可以根据观测结果确定关键参数(如曼宁系数、降雨强度等)。文章将改进后的PINN应用于DWM的正解和逆解。在正演问题中,与传统数值方法相比,PINN能够预测任意位置的演化。在反问题中,PINN提供了一个简单高效的求解过程。为了克服DWM的特性在训练过程中引起的梯度爆炸,采用停止梯度技术对神经网络进行训练。
Abstract
This week I focused on a simplified diffusion wave equation based on the Shallow Water Equation (SWE), which is often used to predict changes in water level and flow. To solve its inverse problem, key parameters (e.g., Manning coefficient, rainfall intensity, etc.) can be determined based on the observations. In this paper, the improved PINN is applied to the forward and reverse solutions of DWM. In the forward problem, compared with traditional numerical methods, PINs can predict the evolution of any position.In the inverse problem, the PINN provides a simple and efficient solution process. In order to overcome the gradient explosion caused by the characteristics of DWM in the training process, the stop gradient technique was used to train the neural network.
扩散波模型的物理信息神经网络
文献摘要
扩散波模型(DWM)是浅水方程的非线性二阶简化形式,利用DWM正问题的解可以预测水位和流量的变化。求解其逆问题可以根据观测结果确定关键参数(如曼宁系数、降雨强度等)。文章将改进后的PINN应用于DWM的正解和逆解。在正演问题中,与传统数值方法相比,PINN能够预测任意位置的演化。在反问题中,PINN提供了一个简单高效的求解过程。为了克服DWM的特性在训练过程中引起的梯度爆炸,采用停止梯度技术对神经网络进行训练。****为了改进DWM参数的估计,提出了时间分割的概念,并提出了一种新的网络结构。****为了验证PINN及其改进算法在DWM中的有效性,对7个实例进行了仿真。将正问题的PINN解与经典数值方法的结果进行了比较,并对反问题确定了正确的降水模式。
讨论|结论
波浪传播是明渠流、溃坝流、坡面流和融雪流中常见的现象,我们主要关注的是准确求解控制方程和估计方程参数。这些方程很容易解,也可以与其他问题结合起来。
波浪传播模型为浅水方程,又称动力波动方程。 在水文学和水力学中广泛应用的两个简化方程是运动波动方程,一阶非线性双曲型偏微分方程和扩散波动方程,二阶非线性混合偏微分方程。****基于这两个方程的模型分别称为运动波模型(kinetic wave model, KWM)和扩散波模型(diffusion wave model, DWM)。****对于坡度大于0.002的陡峭河流,运动波动方程可能是模拟自然洪洪波的首选,而扩散波动方程则可以更好地模拟河流和洪泛平原的洪洪波,这些河流和洪泛平原的坡度较小,在0.001和0.0001之间变化。
正演问题是在给定初始条件、边界条件和方程参数的情况下求方程的解,反问题需要估计方程的未知参数,给定一定数量的观测值和初始和边界条件。在KWM和DWM中有实际意义的参数包括曼宁系数和降雨强度。 梯度 可以直接测量, 所以一般不需要估计。该文献中,如何使时间分割的思路更具针对性是研究的重点之一。
对于文章考虑的一维正演DWM问题,与有限差分相比,PINN没有优势。PINN可能会产生好的解决方案,但需要更多的时间。然而,对于不规则域的高维问题,有限差分的求解过程会变得很困难,但对于PINN则不是问题,框架如下图所示:
在扩散波动方程中,在神经网络的自动微分过程中,有两项容易产生非常大的数,从而导致训练失败。****一个是速度项,由于其中包含了高程参数,若地面干燥时,有可能速度项为0,这种水流设定在实际工程中经常出现。另一个是在波速和水力扩散系数中出现的Sf也会产生波动,****因此,为了避免训练失败,文章采用停止梯度技术(停止梯度技术只适用于相关的损耗分量)。但不是整个损失函数。因此,在训练过程中不影响网络的更新。
此外,停止梯度技术只影响网络的自动微分,应用PINN及其改进方案求解以下7个实例:两个实例关于稳态方程,两个实例关于近似速度和扩散率,两个例子关于经典波动方程,最后一个例子是利用观测值学习扩散波动方程中的未知降雨率。将上述正问题的解与四阶Runge-Kutta格式和MacCormark格式等数值方法的解进行了比较,并将反演问题的降水强度与精确值进行了比较。 对比验证了PINN、时间划分PINN(TPINN)、新架构的PINN(fPINN)、新架构时间划分PINN(fTPINN)的效果。对于非稳态情况,使用扩散波动方程的改进解,当波速和扩散率近似为常数时,De Hoog算法的解与数值方法的解吻合较好,但当扩散波动方程不近似且呈现非线性时,结果与数值方法的解相差甚远。
理论知识
扩散波动方程 (曼宁方程)
在不考虑入渗的情况下,坡面流的动力波动方程由以下连续性和动量方程组成:
式中,h为水深,v为波速,I为侧向流入,g为重力加速度,S0为河床斜率,Sf为摩擦斜率。值得注意的是,I可以与空间和时间联系起来,那么它的形式就是I(x,t)。
在DWM中,假设动量方程(2)左边的前两项和右边的第二项可以视为次项,可以忽略。因此,将动量方程简化为:
其中nm为曼宁系数。
将连续性方程与Manning方程相结合,可以得到关于水深的二阶非线性方程扩散波动方程:
其中C,K各有公式可得出:
其中****,当波速C和水力扩散系数K近似为常数时,扩散波动方程将简化为线性对流扩散方程。且在理想的河流中,可以将式(3)进行渲染,表示水面剖面如下:****
梯度停止( Stop-gradient ) 技术
同讨论中出现的两种会出现梯度爆炸的情况,在文章中将采用梯度停止的方式来减少影响,停止梯度技术只适用于相关的损耗分量,如C、K等:
由于是对部分参数进行的停止梯度实验,故不会对影响网络的更新。此外,停止梯度技术只影响网络的自动分化,以SGD优化器为例详细说明。在PINN中,神经网络参数的更新为:
式中,θi为第i个历元的神经网络参数集,η为学习率,L(θi¶1;X)是(i-1)-th历元的损失函数。
图2显示了(12)和(13)给出的损失的自动微分,有和没有停止梯度技术。假设任意项a(θ;X)出现在损失的自动分化过程中。当θ接近于零时,如果这一项变成一个极大的数甚至无穷大,就会出现梯度爆炸问题,使训练过程失败。 为了避免这样的问题,在建议的停止梯度技术中,这一项被视为(x)。也就是说,在计算损失函数时,它的表达式类似于常数。
这里的停止梯度意味着停止计算梯度,但不是简单地将梯度设置为零或停止训练神经网络(图2)。
它允许在反向传播中选择性地将某些项作为常量处理。此外,在训练开始时需要应用停止梯度。因为如果不从第一个历元开始就停止对这些特定项的梯度计算,神经网络的训练就会因为梯度爆炸而直接失败。当该参数接近于零时趋于无穷。在神经网络的训练中,网络参数的初始化服从正态分布N(0, σ2),使得参数接近于0。 因此,这两个项目在训练开始时往往是无穷大的;
梯度爆炸问题不能通过归一化来解决。对于由网络参数推导引起的梯度爆炸,与上述的停止梯度技术相比,归一化解决的是不同的问题。
时分 PINN (TPINN)
在将PINN应用于扩散波的实验中就是如此,随着时间的推移,神经网络的结果与精确解之间的差距越来越大。
在传统的数值方法中,求解是逐级进行的。而神经网络的训练不能有这样的方向,唯一的措施就是最小化损失函数。
在传统的数值方法中,求解是逐级进行的。而神经网络的训练不能有这样的方向,唯一的措施就是最小化损失函数。
共有三种时间划分:
- 根据损失函数根据需要增加搭配点,在同一时间段的训练中逐步增加搭配点,以及将不同时间段划分为不同的网络。
- 将时间段等分,将整个时间空间分成大小相同的部分,按照时间从小到大的顺序排列这些部分对于每一个epoch为常数的情况,在训练过程中依次向网络中添加该section的搭配点,直到所有的section都被添加。
- 先对神经网络进行短时间的预训练,然后根据时间划分逐步优化。目的是根据预训练损失,可以使时间段包含大致相同的训练损失。也是本文章中采取的方法。新思路的流程图如图3所示,表示预训练后的过程。结果表明,第一个子图根据训练损失将预训练过程划分为5个时间段,并将后面的5个子图分别加入到搭配点集中。第三阶段的点分布最密集,第五阶段的点分布最稀疏。该划分基于以下分析:
考虑到降雨强度导致突变,水位高度也应相应变化。然而,在实际实验中,神经网络训练的结果往往趋于。
关于m的选择,有以下几点建议:
-
当m = 1时,它明显退化为原始的PINN方法。随着m的增加,可以使网络训练更有方向性,即沿时间增加的方向进行训练。
-
同时,为了保证每个时间段的训练效果,需要保证高效训练的时代。过多的时间周期会增加计算成本。
-
因此,需要平衡方向性和效率,这意味着m的选择是经验性的。在实验中,可以比较不同m的结果,从而选择最优方案。
新结构(fPINN)
其相邻关系如下:
隐层数和神经元数目前还没有明确的选择标准,因为由于方程和参数设置的不同,每个问题适用于不同的情况:
在求解偏微分方程时,并不意味着网络层数越多,训练效果就越好。适合该问题的网络结构可以简化PINN的求解过程 。
考虑到降雨强度导致突变,水位高度也应相应变化。然而,在实际实验中,由于函数f(x)的整体连续性和平滑性,神经网络训练结果的变化往往比精确解的变化要慢。
加入偏置后,输出为:
与原始PINN中的Eq.(10)不同,网络f(x)的输出由一系列激活函数组成:
从输出的形式来看,解可以用一组低阶激活函数来表示。在这种网络结构中,最后一个线性层起着至关重要的作用。它以线性方式组合不同的隐藏层,因此该层的参数可以自适应地学习隐藏层的数量。在更新网络参数的过程中,可以给更合理的隐藏层数分配更高的权重,这样就不用担心它的选择了。
在确定n的值时,可以考虑以下几点。由于期望从该网络结构中学习适当数量的隐藏层,并且每一层的重要性相等,因此从每一层提取的神经元数量保持相等。
总结:
从TPINN和fPINN的动机和分析不难看出,这两种方法并不仅仅针对DW问题。它们可以用来解决其他一般问题。当其他问题中需要考虑时间方向性,使其配点分布更加合理时,可以考虑TPINN , 当需要提高原始PINN的精度时,fPINN可以是一个很好的选择。
实验设置
对于网络参数设置,每个示例具有相同的50,000个epoch,学习率为0.001,激活函数为tanh。在神经网络的架构设置上,各算法的所有样例之间没有差异。但是,fPINN和fTPINN的架构不同于PINN和TPINN。对于PINN和TPINN,神经网络的隐藏层为4层,包含50个神经元。由于fPINN和fTPINN中的神经元数量逐层递减,考虑到计算成本,后续比较时采用相同的神经元总数。即在fPINN和fTPINN中,隐藏层数为4层,每层神经元数分别为80、60、40、20个。
稳定流问题
基于Eq.(8)作为稳态问题(Lal and Toth, 2013),参考四阶龙格-库塔方法,将PINN和fPINN结果进行对比验证,其中龙格-库塔方法步长为0.005。具体模型参数设置为:这里考虑的计算域为[0,500 m],河床坡度为0.01,曼宁系数为0.03,正常水深为1 m。在不同的边界条件下,得到了不同的水面剖面。这里考虑了两种情况:上游边界条件为h0 = 2.0 m和h0 = 5.0 m。在稳态情况下,由于不涉及时间维度,所以不采用时分的思想。如图5所示,PINN和fPINN给出的解与文献一致:
等速和扩散问题
在这两个例子中,时间步长Δt = 6,空间步长Δx = 3.3。在稳定降雨情况下,在长度为182.88 m的不透水平面上,坡度和降雨条件在宽度范围内相同,则将二维问题简化为一维情况。假设波速为0.11 m/s,扩散系数为0.93 m2 /s。降雨持续时间为30 min,强度为50.8 mm/h,模拟时间为1 h。初始条件为干床,上游边界和无限下游水深为零。
在本例中,分别给出fPINN和TPINN的结果,以突出其各自的作用。从图6可以看出,当降雨量变化时,几个神经网络的结果是有偏差的。fPINN解与PINN解几乎一致,误差更小,且TPINN解在30 min时最接近参考,缓解了PINN在降水分割中的问题 :
当降雨强度不恒定时,问题更接近现实。这里应用和模拟了不同的降雨强度,条件与上一个案例相同。设降雨强度从50.8 mm/h变化到101.6 mm/h,每次降雨周期为20 min。模拟结果如图7所示为下游端水深随时间变化的截面图:
非线性速度和扩散问题
模拟时间为1 h,然后由式确定波速和扩散系数。(6)、(7)为水深、曼宁系数、坡度。在本问题中,PINN、改进PINN和MacCormark的仿真结果如图8所示:
如图8所示,****两种方法在前半段得到的结果与参考解吻合较好。然而,随着时间的推移,PINN的模拟结果开始更快地下降。这可能是由于PINN缺乏训练方向。****这导致PINN首先拟合后半部分的时间,使其符合控制方程,而前半部分的偏差是次要的,其重要性被忽略。在增强神经网络的表达能力和时间段划分思想后,下半年fTPINN的拟合能力得到了显著增强,如图8所示。
在变雨量的情况下,这里考虑的是雨量的连续变化,这比间隔变化的雨量更接近实际情况。****由于PINN结果在域中是连续变化的,而不是仅仅在离散的网格上,因此不需要像传统数值方法那样对网格结果进行处理,即可得到时空域中任意点的解。因此,PINN更适合于连续降雨的情况,这种情况往往没有解析解。****模拟的降雨模式为正弦函数形式,周期为0.5 h,振幅范围为0 ~ 101.6 mm/h。
为了进一步证明算法对损失函数收敛性和训练时间的影响,还研究了PINN、TPINN、fPINN和fTPINN四种算法的损失和时间成本。每500次取损失值。
将PINN、fPINN、TPINN和fTPINN的仿真结果与图9a中的参考溶液(mcaccormark)进行比较:
如图9b所示,由于预训练,TPINN有很好的下降率,fPINN在同一历元下收敛到一个更低的值。综合仿真结果(图9a)和损耗(图9b),认为fTPINN是最优选择。
再一次验证了降水连续变化模式下PINN的可靠性。通过在fTPINN中使用所提出的两种技术,减少了在PINN中发生的误差积累。
反问题
当给定平面、降雨强度、初始条件和边界条件时,可以唯一地确定水深随时间的变化。当降雨量未知时,PINN也可以根据某些观测来学习其模式。这是其中一个主要的。用PINN、fPINN、TPINN和mcaccormark模拟稳定降雨时扩散波动方程的结果。
PINN相对于传统数值方法的优势。也就是说,它可以在同一个框架内学习正反问题,改进的PINN也可以应用于此。
用实例学习了稳定降雨的强度,其精确值为0.0508 m/s。研究了不同观测点数量对降水模式学习的影响。结果如表1所示。选取的观测点分布均匀,表明只需在时空维度上指定点的个数(即Nobs和Nobt)即可确定观测点。在这里,观测域与模拟域相同 :
结果表明,观测点越多,获取的降水信息就越全面,也就越准确。 在给定时空点的情况下,两种改进后的修正后的PINN可以更好地学习降雨模式,尽管原PINN也给出了可以接受的解。PINN和fTPINN的学习误差都可以控制在3% ~ 10%之间,满足实际工程要求。需要注意的是,空间点的选择比时间点的选择要复杂得多 。
总结
由于本周外出进行比赛,关于HEC RAS中的水文模型构建出现的问题没法顺利解决,现考虑计算值与真实值中出现的问题共有三点:(1)河道绘制不接近实际情况;(2)两个站点中出现的桥梁没有进行标出和绘制;(3)没有进行降雨量的描述;将会在下周进行进一步的改善。