第二十六周机器学习笔记:PINN求正反解求PDE文献阅读——正问题

server/2024/12/23 15:37:51/

第二十六周周报

  • 摘要
  • Abstract
  • 文献阅读《Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations》
    • 1. 引言
    • 2. 问题的设置
    • 3.偏微分方程的数据驱动解
      • 3.1 连续时间模型
        • 3.1.1 Example:Schrödinger方程(薛定谔方程)
      • 3.2 离散型时间模型
        • 3.2.1 Example:Allen-Cahn方程
  • 总结

摘要

本周周报主要详细分析了一篇PINN求正反解的经典文献,文献主要讲述了作者是如何利用PINN正反解求PDE的。之前的深度神经网络在缺乏数据的情况下很容易发生过拟合现象且缺乏鲁棒性。相比较之下,PINN的优势在处理这些问题时,就只需要少量的训练数据就可以训练出一个精确度较高的预测模型。其中,PINN的核心思想是通过在损失函数中构造物理规律的残差项,来对网络的预测值进行限制,然后再通过自动微分、反向传播技术使其不断优化模型,最终使得深度神经网络的预测的值即有精度的同时又符合当下的物理规律。PINN模型它不仅能够进行传统意义上的监督学习任务,还能够在训练过程中强制遵守物理定律,特别是由一般非线性偏微分方程(PDEs)描述的物理定律。同时作者也提出了PINN可能会遇到的问题即,处理高维问题中可能会有点吃力,虽然这对一个或两个空间维度的问题没有造成重大问题,但它可能会在高维问题中引入严重的瓶颈,因为在高维空间的情况下,偏微分方程所需的搭配点总数将呈指数增长。

Abstract

The weekly report this week provided a detailed analysis of a classic literature on PINN for both forward and inverse solutions. The literature primarily discusses how the authors utilized PINN to solve PDE. Traditional deep neural networks are prone to overfitting and lack robustness in the absence of data. In contrast, PINN offer significant advantages in handling these issues, requiring only a small amount of training data to train a highly accurate predictive model. The core idea of PINN is to construct residual terms of physical laws in the loss function to constrain the network’s predictions, and then to continuously optimize the model through automatic differentiation and backpropagation techniques, ultimately ensuring that the deep neural network’s predictions are not only accurate but also comply with the prevailing physical laws. PINN models are not only capable of performing traditional supervised learning tasks but also enforce adherence to physical laws during training, especially those described by general nonlinear partial differential equations (PDE).

文献阅读《Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations》

在摘要中,这篇文章首先介绍了Physics-Informed Neural Networks (PINNs) 是一种特殊的神经网络,它不仅能够进行传统意义上的监督学习任务,还能够在训练过程中强制遵守物理定律,特别是由一般非线性偏微分方程(PDEs)描述的物理定律。
论文解决了两类问题:

  1. 数据驱动的偏微分方程(PDEs)求解(已知模型和条件,目的是求解模型)
  2. 数据驱动的偏微分方程发现(不确定模型和条件,目的是确认模型)

为了解决这两类问题,根据数据的特性提出了两种算法(连续型和离散型),每个算法都有其自身的应用场景和优势

最后通过一系列经典问题来对框架的有效性进行验证。
在这里插入图片描述

1. 引言

随着深度学习机器学习的发展,计算所需的资源和训练所需的数据集数量都得到了极大的提升。
但是在研究一些复杂的物理问题、生物工程问题中或者是一些冷门的问题上,可获取的数据实在难得,想要获取数据就要付出高昂的成本,对于研究来说是非常耗时耗力的。

在这种小数据体制下,多数机器学习技(深度学习、卷积神经网络等) ,模型在缺乏数据的情况下很容易发生过拟合现象,缺乏鲁棒性。

在这种情况下训练一个机器学习的模型,效果肯定是不好的。但是对于一些物理和生物工程问题,我们有大量的已经验证过的知识目前还没有被机器学习实践所利用。(例如一些物理公式)
这些先验信息都可以作为正则化代理(regularization agent),将可接受的解空间限制在可管理的大小。

PINN的核心思想其实就是把一种将物理定律和约束整合到神经网络训练过程的损失函数中。
这种方法通过在损失函数中加入物理方程的约束,使得神经网络的预测不仅依赖于数据,还受到物理规律的约束。

例如,在流体动力学问题中,可以通过加入这样的约束去过滤掉违反质量守恒原理的且流动解。将这种结构化信息编码到学习算法中,可以放大算法所看到的数据的信息内容,使其能够快速地将自己导向正确的解决方案,所以即使数据量稀少,也能够很好地进行泛化。
在这里插入图片描述
在这里作者提到了利用结构化先验信息来构建数据高效且物理信息丰富的学习器,解决线性问题时的表现非常出色,例如,作者使用了高斯过程回归来设计针对特定线性算子的函数表示,并且能够准确推断解决方案并为数学物理中的几个原型问题提供不确定的估算。
但是其如果应用在在非线性问题中存在着一些问题:

  1. 第一个问题是作者在对时间上非线性项进行线性化,这限制了所提方法的应用范围到离散时间领域,且强非线性情况下不利于预测的准确性。
  2. 第二个问题是高斯过程回归的贝叶斯特性要自己设置先验概率,这可能会限制模型的表示能力,并在非线性问题会降低模型的鲁棒性。

拓展:
刚刚提到了到正则代理,就想起了正则化,正则化知识的复习:
正则化,是用于防止模型过拟合,提高模型的泛化能力。PINN看似跟正则化很像实际上却不是正则化。
正则化通过在模型的训练过程中(通常在损失函数/代价函数中)添加一个惩罚项来实现,这个惩罚项通常与模型的复杂度相关。

比如在线性回归问题,增加了惩罚项的代价函数如下:
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right] J(θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]

λ ∑ j = 1 n θ j 2 就是惩罚项 \lambda \sum_{j=1}^{n} \theta_{j}^{2}就是惩罚项 λj=1nθj2就是惩罚项

以下线性回归和逻辑回归的正则化:
在这里插入图片描述

2. 问题的设置

  • 为了解决上述非线性而产生的问题,作者使用了深度神经网络(DNN),因为其通过不断的叠加能够拟合出任何复杂的非线性模型,所以其能够很好的解决非线性的问题,而且其不需要事先做出线性化或假设出局部时间步进。
    在这里插入图片描述
  • 此外,作者还使用自动微分技术(反向传播)对神经网络对输入坐标和模型参数进行微分,从而创建出物理信息神经网络(PINNs),至于PINN的特性这里就不再赘述了。
    在这里插入图片描述
    作者的目标是为建模和计算建立一个新的模型,将深度学习与数学物理的发展相结合。
    作者使用了相对简单的前馈神经网络架构,其具有双曲正切激活函数,且损失函数没有额外的正则化(例如L1/L2惩罚、dropout等)。
    所以,作者将将论文分为两部分:
  1. 介绍他们在数据驱动的偏微分方程解(即求模型的解) 的工作。
  2. 介绍他们数据驱动的偏微分方程发现(即如何确认模型) 的工作。
    在这里插入图片描述
    作者提出的是一般形式的偏微分方程,这个方程涵盖了包括守恒定律、扩散过程、平流-扩散-反应系统和动力学方程在内的数学物理中的广泛问题。
    方程如下:在这里插入图片描述
    其中,作者使用一维Burgers方程来举例
    在这里插入图片描述
    什么是一维Burgers方程呢?
    在这里插入图片描述
    所以当一维Burgers方程对应于作者提出的一般形式的偏微分方程有如下关系:
    U t + N [ u ; λ ] = U t + λ 1 u u x − λ 2 u x x ,下标表示时间或空间的偏导数。 U_{t}+N[u;\lambda] = U_{t}+\lambda_1 u u_x - \lambda_2 u_{xx} ,下标表示时间或空间的偏导数。 Ut+N[u;λ]=Ut+λ1uuxλ2uxx,下标表示时间或空间的偏导数。
    当 λ 1 = 1 和 λ 2 = ν 时, U t + N [ μ , λ ] = 0 就变回了标准的一维 B u r g e r s 方程。 当 λ _1 =1 和 λ _2=ν 时,U_{t}+\mathcal{N}[\mu, \lambda]=0就变回了标准的一维Burgers方程。 λ1=1λ2=ν时,Ut+N[μ,λ]=0就变回了标准的一维Burgers方程。

对于测量出系统的噪声值,作者对此提出了两个问题。

  1. 第一个问题是偏微分方程的数据驱动解法
    即正问题:方程和定解条件均已知是求解模型,除初始/边界外,解u未知,目的是求解模型
  2. 第二个问题是偏微分方程的数据驱动发现
    即反问题:方程或定解条件中存有目的是确定模型未知因素,通常有内点处u的信息,目的是确定模型

3.偏微分方程的数据驱动解

3.1 连续时间模型

作者通过上面提到的一般形式的偏微分方程,并通过例子来解释方程的适用性

u t + N [ u ] = 0 , x ∈ Ω , t ∈ [ 0 , T ] u_{t}+\mathcal{N}[u]=0, x \in \Omega, t \in[0, T] ut+N[u]=0,xΩ,t[0,T]

然后作者定义f(t, x)(一般叫做残差项) 建立了一个等式为: f : = u t + N [ u ] f:=u_{t}+\mathcal{N}[u] f:=ut+N[u]
深度神经网络逼近u(t, x)这个假设与方程f(t,x)一起得到了一个物理信息神经网络
该网络可以通过使用自动微分(反向传播)对函数组成进行微分的链式法则推导出来,其参数与表示u(t, x)的网络相同。
尽管由于微分算子n的作用而具有不同的激活函数,但神经网络u(t, x)和f(t, x)之间的共享参数可以通过最小化均方误差损失来学习

作者给出了其损失函数的方程,可以看到作者将其将算是函数分为了两部分:

  1. 计算真实值与网络预测值的误差项MESu(对应于初始数据和边界数据)
  2. 计算预测值与物理规律的误差项MESf(在有限的一组搭配点所施加的结构)
    Loss  = M S E u + M S E f = 1 N u ∑ i = 1 N u ∣ u ^ ( t u i , x u i ) − u i ∣ 2 + 1 N f ∑ i = 1 N f ∣ f ( t f i , x f i ) ∣ 2 \color{red} \text { Loss }={M S E_{u}+M S E_{f}}=\frac{1}{N_{u}} \sum_{i=1}^{N_{u}}\left|\hat{u}\left(t_{u}^{i}, \mathbf{x}_{u}^{i}\right)-u^{i}\right|^{2}+\frac{1}{N_{f}} \sum_{i=1}^{N_{f}}\left|f\left(t_{f}^{i}, \mathbf{x}_{f}^{i}\right)\right|^{2}  Loss =MSEu+MSEf=Nu1i=1Nu u^(tui,xui)ui 2+Nf1i=1Nf f(tfi,xfi) 2
    在这里插入图片描述
    其中参数的含义解释如下:
    { t u i , x u i , u i } i = 1 N u \left\{t_{u}^{i}, x_{u}^{i}, u^{i}\right\}_{i=1}^{N_{u}} {tui,xui,ui}i=1Nu表示初始和边界训练数据。
    在这里插入图片描述
    ( t f i , x f i ) (t_{f}^{i}, \mathbf{x}_{f}^{i}) (tfi,xfi)表示的是用于强制执行物理规律的配置点。
    在这里插入图片描述
    配置点是什么?
    如论文中所提到的, ( t f i , x f i ) (t_{f}^{i}, \mathbf{x}_{f}^{i}) (tfi,xfi)被称为配置点。一开始看到配置点这个概念,我十分的困惑,于是便去探究这个概念是什么?
    配置点:配置点是指那些网络需要在这些点上进行预测的特定时间和空间位置,用于确保网络的预测在这些点上满足物理方程,而不是基于实际观测数据。
    简单来说,就是在变量定义域内(如x∈[-1,1],t∈[0,Π/2]),我们就需要在定义域内采样变量,作为配置点。
    配置点的采样也是需要具体问题进行具体分析,比如一些问题中,某些点(如:边界条件上的点)的影响比较大,我们就需要对这些点进行采样作为配置点,来验证.

从论文给出的损失函数中有这么一项: 1 N f ∑ i = 1 N f ∣ f ( t f i , x f i ) ∣ 2 \frac{1}{N_{f}} \sum_{i=1}^{N_{f}}\left|f\left(t_{f}^{i}, \mathbf{x}_{f}^{i}\right)\right|^{2} Nf1i=1Nf f(tfi,xfi) 2,其被称为残差项,这也是PINN的核心所在,残差项要尽可能的趋于0。
其解释如下:
在这里插入图片描述
补充拓展:
什么是初始条件和边界条件?
刚刚在Loss function中,提到了MSEu中的数据是表示初始和边界训练数据,那到底初始和边界的概念是什么呢?
在这里插入图片描述
初始条件和边界条件提供了问题约束,使得DNN的预测结果不仅满足物理方程,而且符合问题的实际情况。如果没有初始条件和边界条件,PDE的解将不唯一,网络的预测也将失去意义。

复习:
说到残差项,我想起了之前学习深度学习时候,提到的一个残差结构(其用于防止梯度爆炸和梯度消失),我就想这两个概念是不是有联系,但其实它们之间是属于两个概念,区别如下:
在这里插入图片描述

3.1.1 Example:Schrödinger方程(薛定谔方程)

作者通过利用Schrödinger方程(薛定谔方程)例子,来突出作者方法处理周期边界条件、复值解以及控制偏微分方程中不同类型非线性的能力。

非线性薛定谔方程是一个经典的场方程,用于研究量子力学系统
其包括光纤和/或波导中的非线性波传播、玻色-爱因斯坦凝聚态和等离子体波。
在光学中,非线性项来自于给定材料的折射率对强度的依赖。
对于玻色-爱因斯坦凝聚态,非线性项是相互作用的N体系统的平均场相互作用的结果。

1. Schrödinger方程(薛定谔方程)方程,初始条件、边界条件如下:
i h t + 0.5 h x x + ∣ h ∣ 2 h = 0 , x ∈ [ − 5 , 5 ] , t ∈ [ 0 , π / 2 ] , 其中 h ( t , x ) 是复值解。 周期性边界条件为: h ( 0 , x ) = 2 sech ⁡ ( x ) , h ( t , − 5 ) = h ( t , 5 ) , h x ( t , − 5 ) = h x ( t , 5 ) , \begin {array}{l}i h_{t}+0.5 h_{x x}+|h|^{2} h=0, \quad x \in[-5,5], \quad t \in[0, \pi / 2],其中 h(t,x) 是复值解。 \\周期性边界条件为: \\h(0, x)=2 \operatorname{sech}(x), \\h(t,-5)=h(t, 5), \\h_{x}(t,-5)=h_{x}(t, 5), \end{array} iht+0.5hxx+h2h=0,x[5,5],t[0,π/2],其中h(t,x)是复值解。周期性边界条件为:h(0,x)=2sech(x),h(t,5)=h(t,5),hx(t,5)=hx(t,5),
补充:什么是复值解?
在这里插入图片描述
2. 作者将残差项定义 f ( t , x ) f(t, x) f(t,x)为:
f : = i ℏ ∂ h ∂ t + 0.5 ∂ 2 h ∂ x 2 + ∣ h ∣ 2 h f := i\hbar \frac{\partial h}{\partial t} + 0.5 \frac{\partial^2 h}{\partial x^2} + |h|^2 h f:=ith+0.5x22h+h2h
作者在 h(t, x)上放置一个复值神经网络先验。如果 u 表示 h 的实部,v 表示虚部,那么在 h ( t , x ) = [ u ( t , x ) v ( t , x ) ] h(t, x) =[u(t, x) \quad v(t, x)] h(t,x)=[u(t,x)v(t,x)] 上放置一个多输出神经网络先验。
(由于复值解h(t,x) 被分解为实部和虚部,作者设计了一个神经网络,它有两个输出:一个用于实部 u(t,x),另一个用于虚部 v(t,x)。这种网络被称为多输出神经网络。)

3. 作者将损失函数定义如下:
M S E = M S E 0 + M S E b + M S E f M S E 0 是初始数据的损失 ; M S E b 强制执行周期性边界条件的损失 M S E f 网络预测值中采样配置点在薛定谔方程的损失 M S E 0 = 1 N 0 ∑ i = 1 N 0 ∣ h ( 0 , x 0 i ) − h 0 i ∣ 2 , M S E b = 1 N b ∑ i = 1 N b ( ∣ h i ( t b i , − 5 ) − h i ( t b i , 5 ) ∣ 2 + ∣ h x i ( t b i , − 5 ) − h x i ( t b i , 5 ) ∣ 2 ) , M S E f = 1 N f ∑ i = 1 N f ∣ f ( t f i , x f i ) ∣ 2 MSE=MSE_{0}+MSE_{b}+MSE_{f} \\ MSE_0 是初始数据的损失; \\ MSE_b强制执行周期性边界条件的损失 \\ MSE_f网络预测值中采样配置点在薛定谔方程的损失 \\ \begin{array} {l}MSE_{0}=\frac{1}{N_{0}} \sum_{i=1}^{N_{0}}\left|h\left(0, x_{0}^{i}\right)-h_{0}^{i}\right|^{2}, \\ MSE_{b}=\frac{1}{N_{b}} \sum_{i=1}^{N_{b}}\left(\left|h^{i}\left(t_{b}^{i},-5\right)-h^{i}\left(t_{b}^{i}, 5\right)\right|^{2}+\left|h_{x}^{i}\left(t_{b}^{i},-5\right)-h_{x}^{i}\left(t_{b}^{i}, 5\right)\right|^{2}\right), \\ MSE_{f}=\frac{1}{N_{f}} \sum_{i=1}^{N_{f}}\left|f\left(t_{f}^{i}, x_{f}^{i}\right)\right|^{2} \end{array} MSE=MSE0+MSEb+MSEfMSE0是初始数据的损失;MSEb强制执行周期性边界条件的损失MSEf网络预测值中采样配置点在薛定谔方程的损失MSE0=N01i=1N0 h(0,x0i)h0i 2,MSEb=Nb1i=1Nb( hi(tbi,5)hi(tbi,5) 2+ hxi(tbi,5)hxi(tbi,5) 2),MSEf=Nf1i=1Nf f(tfi,xfi) 2

  1. 为了验证PINN方法的精度,作者使用传统的谱方法模拟了薛定谔方程,创建了一个高分辨率的数据集。
    作者从初始状态 h ( 0 , x ) = 2 sech ( x ) h(0, x) = 2 \text{sech}(x) h(0,x)=2sech(x)开始,假设周期性边界条件 h ( t , − 5 ) = h ( t , 5 ) h(t, -5) = h(t, 5) h(t,5)=h(t,5) h x ( t , − 5 ) = h x ( t , 5 ) h_x(t, -5) = h_x(t, 5) hx(t,5)=hx(t,5),使用Chebfun软件包,通过256模式的谱傅里叶离散化和Fourth-order explicit Runge–Kutta temporal integrator‌,时间步长为 Δ t = π / 2 × 1 0 − 6 \Delta t = \pi/2 \times 10^{-6} Δt=π/2×106,积分到最终时间 t = π / 2 t = \pi/2 t=π/2

     离散傅里叶变换(Discrete Fourier Transform,DFT)傅里叶分析方法是信号分析的最基本方法傅里叶变换是傅里叶分析的核心,通过它把信号从时间域变换到频率域,进而研究信号的频谱结构和变化规律。Fourth-order explicit Runge–Kutta temporal integrator‌是一种常用的数值方法用于求解常微分方程(ODEs)的近似解。该方法通过迭代计算来逼近真实解,具有较高的精度和较好的稳定性。
    

在数据的设置方面,作者所观察到的都是 { x 0 i , h 0 i } i = 1 N 0 \{x_0^i, h_0^i\}_{i=1}^{N_0} {x0i,h0i}i=1N0在时间t = 0时潜在函数h(t, x)的测量值。在配置点采样中,作者设置 N f = 20 , 000 N_f =20,000 Nf=20,000 个随机采样的配置点用于在解的域内强制执行方程: f : = i ℏ ∂ h ∂ t + 0.5 ∂ 2 h ∂ x 2 + ∣ h ∣ 2 h f := i\hbar \frac{\partial h}{\partial t} + 0.5 \frac{\partial^2 h}{\partial x^2} + |h|^2 h f:=ith+0.5x22h+h2h

这些点是通过空间填充拉丁超立方抽样策略生成的,这是一种确保采样点在空间中均匀分布的方法

‌拉丁超立方抽样(Latin Hypercube Sampling,简称LHS)
是一种从多元参数分布中近似随机抽样的方法,属于分层抽样技术‌。

在数据集的设置中,训练集由 N 0 = 50 N_0=50 N0=50 个从高分辨率数据集中随机抽取的数据点和 N b = 50 N_b=50 Nb=50 个用于强制执行周期性边界条件的配置点组成。

在神经网络结构上,作者使用一个5层深的神经网络,每层有100个神经元,激活函数为双曲正切函数,来联合表示潜在函数 h ( t , x ) = [ u ( t , x ) v ( t , x ) ] h(t, x) = [u(t, x) \ v(t, x)] h(t,x)=[u(t,x) v(t,x)]

实验结果解读如下:

  1. 图中的颜色代表了函数 ∣h(t,x)∣ 的幅度,颜色条(color bar)显示了幅度值的范围,从0.5到3.5。颜色从浅黄色到深蓝色,表示幅度从小到大。
  2. 横轴表示空间空间x的范围,从-5到5。
  3. 纵轴表示时间时间t的范围,从0到1.4。
  4. 图中的黑色叉号×表示用于训练物理信息神经网络(PINN)的150个数据点。
    这些数据点是初始状态 h(0,x) 的测量值。
  5. 图中的虚线可能表示了特定的时间点,这些时间点可能是用于评估或比较预测解与精确解的时间点。

图中的颜色变化显示了PINN预测的薛定谔方程解随时间和空间的演变。
从图中可以看出,预测的解在 x=0 附近有一个明显的幅度变化,这是薛定谔方程的波函数在该区域的干涉或相位变化。且波形在 x 轴中心附近较为集中,随着时间的推移,波形可能会发生扩散或干涉现象,这是量子力学中波函数的典型行为。
在这里插入图片描述
此外,作者给出了不同时刻t = 0.59, 0.79, 0.98的精确解和预测解之间的比较。仅使用少量初始数据,物理信息的神经网络就可以准确地捕获Schrödinger方程的复杂非线性行为。
在这里插入图片描述

作者随后提出了PINN可能会遇到的问题即,处理高维问题中可能会有点吃力,虽然这对一个或两个空间维度的问题没有造成重大问题,但它可能会在高维问题中引入严重的瓶颈,因为全局执行物理通知约束**(即,在我们的情况下是偏微分方程)所需的搭配点总数将呈指数增长。)**
此外,我还去搜索了一下PINN解PDE会遇到的困难:

3.2 离散型时间模型

此外,作者还针对离散型数据提出了一般形式的模型:
在这里插入图片描述
在离散型的时间模型中作者使用了Runge-Kutta方法

Runge-Kutta方法:是一种用于求解常微分方程的数值方法
它通过在每个时间步长内进行多个中间步骤(或阶段)来提高求解的精度。
作者提到的是具有 q 阶的一般形式的Runge-Kutta方法。

u n + c i = u n − Δ t ∑ j = 1 q a i j N [ u n + c j ] , i = 1 , … , q u n + 1 = u n − Δ t ∑ j = 1 q b j N [ u n + c j ] \begin{array}{l}u^{n+c_i} = u^n - \Delta t \sum_{j=1}^{q} a_{ij} \mathcal{N}[u^{n+c_j}], \quad i = 1, \ldots, q \\ u^{n+1} = u^n - \Delta t \sum_{j=1}^{q} b_j \mathcal{N}[u^{n+c_j}] \end{array} un+ci=unΔtj=1qaijN[un+cj],i=1,,qun+1=unΔtj=1qbjN[un+cj]
这是作者提出Runge-Kutta方法的一般形式,其用于数值求解常微分方程。
其中 u n u^n un 表示在时间步 n n n 的解, Δ t \Delta t Δt 是时间步长, q q q 是阶段数, a i j a_{ij} aij b j b_j bj 是方法的权重系数, N \mathcal{N} N 表示微分方程的非线性部分。

其可以等价的表示为: u n = u i n , i = 1 , … , q , u n = u q + 1 n \begin{array}{l}u^{n}=u_{i}^{n}, \quad i=1, \ldots, q, \\u^{n}=u_{q+1}^{n}\end{array} un=uin,i=1,,q,un=uq+1n

作者说明了在Runge-Kutta方法中,当前时间步的解 u n u^n un 可以由前一个时间步的解 u n + c j u^{n+c_j} un+cj通过加权和的方式计算得出。
其中 u i n : = u n + c i + Δ t ∑ j = 1 q a i j N [ u n + c j ] , i = 1 , … , q , u q + 1 n : = u n + 1 + Δ t ∑ j = 1 q b j N [ u n + c j ] . \begin{array}{l}u_{i}^{n}:=u^{n+c_{i}}+\Delta t \sum_{j=1}^{q} a_{i j} \mathcal{N}\left[u^{n+c_{j}}\right], \quad i=1, \ldots, q, \\u_{q+1}^{n}:=u^{n+1}+\Delta t \sum_{j=1}^{q} b_{j} \mathcal{N}\left[u^{n+c_{j}}\right] .\end{array} uin:=un+ci+Δtj=1qaijN[un+cj],i=1,,q,uq+1n:=un+1+Δtj=1qbjN[un+cj].

然后作者使用一个多输出神经网络来预测 u n + c 1 ( x ) u^{n+c_1}(x) un+c1(x) u n + 1 ( x ) u^{n+1}(x) un+1(x) 的值,又通过将神经网络的预测结果与方程 u i n : = u n + c i + Δ t ∑ j = 1 q a i j N [ u n + c j ] , i = 1 , … , q u q + 1 n : = u n + 1 + Δ t ∑ j = 1 q b j N [ u n + c j ] . \begin{array}{l}u_{i}^{n}:=u^{n+c_{i}}+\Delta t \sum_{j=1}^{q} a_{i j} \mathcal{N}\left[u^{n+c_{j}}\right], \quad i=1, \ldots, q\\u_{q+1}^{n}:=u^{n+1}+\Delta t \sum_{j=1}^{q} b_{j} \mathcal{N}\left[u^{n+c_{j}}\right] .\end{array} uin:=un+ci+Δtj=1qaijN[un+cj],i=1,,quq+1n:=un+1+Δtj=1qbjN[un+cj].结合,得到一个物理信息神经网络,这个网络以变量 x x x 作为输入,并输出 u 1 n ( x ) u_1^n(x) u1n(x) u q + 1 n ( x ) u_{q+1}^n(x) uq+1n(x)

3.2.1 Example:Allen-Cahn方程

作者通过引用Allen-Cahn方程,强调提出的离散时间模型处理控制偏微分方程中不同类型非线性的能力。Allen-Cahn方程是一个在反应扩散系统中描述多组分合金系统中相分离过程的偏微分方程。用于描述相分离过程,包括有序-无序转变。方程如下:
u t − 0.0001 u x x + 5 u 3 − 5 u = 0 , x ∈ [ − 1 , 1 ] , t ∈ [ 0 , 1 ] u_t - 0.0001 u_{xx} + 5u^3 - 5u = 0, \quad x \in [-1, 1], \quad t \in [0, 1] ut0.0001uxx+5u35u=0,x[1,1],t[0,1]

初始条件为: u ( 0 , x ) = x 2 cos ⁡ ( π x ) u(0, x) = x^2 \cos(\pi x) u(0,x)=x2cos(πx)
周期性边界条件为: u ( t , − 1 ) = u ( t , 1 ) u x ( t , − 1 ) = u x ( t , 1 ) \begin{array}{l}u(t,-1)=u(t, 1) \\u_{x}(t,-1)=u_{x}(t, 1)\end{array} u(t,1)=u(t,1)ux(t,1)=ux(t,1)

在网络模型的设计中,作者使用了一个具有4个隐藏层和每层200个神经元的离散时间物理信息神经网络。网络的输出层预测了101个作者感兴趣的量,对应于100个Runge-Kutta阶段 u n + c i ( x ) u^{n+c_i}(x) un+ci(x)和最终时间的解 u n + 1 ( x ) u^{n+1}(x) un+1(x)

实验结果如下:
从 $ = 0.1$的平滑初始数据开始,可以在单步时间步长内预测 t = 0.9 t = 0.9 t=0.9 的几乎不连续解,相对 L 2 L_2 L2误差为 6.99 × 1 0 − 3 6.99 \times 10^{-3} 6.99×103
在这里插入图片描述
在这里插入图片描述
作者表示通过使用PINN和Runge-Kutta方法,可以在保持稳定性和高预测精度的同时,使用大时间步长来解决复杂的时空问题。

总结

在本周的周报中,我精读了一篇关于物理信息神经网络(PINNs)的经典文献,文献讲述了PINN在求解正反问题中涉及非线性偏微分方程(PDEs)的应用。PINNs作为一种特殊的深度学习框架优势在于,即使在数据稀缺的情况下,也能通过物理规律配合少量训练数据训练出高精度的预测模型,从而避免了传统深度神经网络在数据不足时容易发生的过拟合现象和缺乏鲁棒性的问题。
文献中提出的PINNs核心思想是在损失函数中加入物理规律的残差项,通过自动微分和反向传播技术不断优化模型,使得网络预测的值既准确又符合物理规律。这种方法将物理定律和约束整合到神经网络训练过程中,使得神经网络的预测不仅依赖于数据,还受到物理规律的约束,从而提高了模型的预测精准度和鲁棒性。作者通过一系列经典问题验证了PINNs框架的有效性,并提出了两种算法(连续型和离散型)来解决数据驱动的PDEs求解和发现问题,每种算法都有其特定的应用场景和优势。同时作者也在各种例子中,展示了如何构建通过初始条件、周期性边界条件、物理方程来构建PINN的loss function,特别是在Schrödinger方程和Allen-Cahn方程的应用中,PINN展现了求解方程解u的能力。
这一周大致把PINN的正问题弄懂了,主要物理基础比较薄弱,看公式的时候需要不断地进行课外学习科普,下一周计划继续阅读文献把文献的如何确认模型的部分(PINN求反问题)弄懂的然后再对实验的内容进行复现,理解论文中PINN的代码部分,从而更深入的理解PINN。之后打算结合水文方向的论文一起看,学习一下PINN在水文方面的预测应用。


http://www.ppmy.cn/server/152526.html

相关文章

MMAudio - 自动给视频配音效

MMAudio 在给定视频和/或文本输入的情况下生成同步音频。我们的关键创新是多模式联合训练,它允许对广泛的视听和音频文本数据集进行训练。此外,同步模块将生成的音频与视频帧对齐。 419 Stars 26 Forks 2 Issues NA 贡献者 MIT License Python 语言 代码…

分布式系统架构3:服务容错

这是小卷对分布式系统架构学习的第3篇文章,虽然知道大家都不喜欢看纯技术文章,写了也没多少阅读量,但是个人要成长的话,还是需要往深一点的技术上去探索的 1.为什么需要容错 分布式系统的本质是不可靠的,一个大的服务…

服务器数据恢复—RAIDZ离线硬盘数超过热备盘数导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境: ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组,每组8块硬盘,共组建了3组RAIDZ,每组raid都配置了热备盘。 服务器存储故障: 服务器存储运行过程中突然崩溃,排除人为误操…

键盘常见键的keyCode和对应的键名

常见键的keyCode和对应的键名 键名keyCode描述Enter13回车键Escape27Esc键Backspace8退格键Tab9Tab键Space32空格键Arrow Up38向上箭头Arrow Down40向下箭头Arrow Left37向左箭头Arrow Right39向右箭头Shift16Shift键Control17Ctrl键Alt18Alt键Caps Lock20大写锁定键F1112F1键F…

基于单片机的步进电机控制系统的设计研究

摘要 :随着我国社会经济结构的不断优化与升级,加工制造工业得到了长足发展 。 加工制造工业体系的日益成熟,使得步进电机应用的范围越来越广泛,逐渐成为工业生产与社会生活中必不可少的工业组成。 因此如何提升步进电机的性能、 实现步进电机控制系统的科学设计,就成为现阶…

鸿蒙操作系统简介

华为鸿蒙系统(HUAWEI HarmonyOS),是华为公司于2019年8月9日在东莞举行的华为开发者大会(HDC.2019)上正式发布的面向全场景的分布式操作系统,可以创造一个超级虚拟终端互联的世界,将人、设备、场…

Linux驱动开发应用层 2 点亮一个LED

目录 先来聊聊sysfs sysfs的具备的优势 LED在哪里? 先来聊聊sysfs 我们下面首先简单聊一下sysfs。他很重要的原因是因为我们跟底下的设备打交道,就是可以透过我们的sysfs来操作我们底层的设备, sysfs是Linux内核中的一个虚拟文件系统&…

【Python系列】Python 中的逻辑表达式解析:`not all(...)`的应用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…