VC-PINN Variable coefficient physics-informed neural network for forward and inverse problems

VC-PINN: Variable coefficient physics-informed neural network for forward and inverse problems of PDEs with variable coefficient

变系数问题

考虑实空间中一类具有时变系数的演化方程,如下:
u t = N [ u ] ⋅ C [ t ] T , x ∈ Ω , t ∈ [ T 0 , T 1 ] u_t=\boldsymbol{N}[u]\cdot\boldsymbol{C}[t]^T,\boldsymbol{x}\in\Omega,t\in[T_0,T_1] ut=N[u]C[t]T,xΩ,t[T0,T1]
其中 u = u ( x , t ) u=u(x,t) u=u(x,t) 表示方程的实值解, Ω \Omega Ω R N \mathbb R^N RN 的子集, N N N 维向量 x \boldsymbol{x} x 记为 x = ( x 1 , x 2 , … , x N ) \boldsymbol{x}=(x_1,x_2,\dots,x_N) x=(x1,x2,,xN) ,因此,此方程实际为一个 N + 1 N+1 N+1 维的演化方程。 N [ ⋅ ] \boldsymbol{N}[\cdot] N[] 表示算子向量,即 N [ u ] = ( N 1 [ u ] , N 2 [ u ] , …   ) \boldsymbol{N}[u]=(N_1[u],N_2[u],\dots) N[u]=(N1[u],N2[u],) 其中每个分量 N i N_i Ni 为一个算子。 C [ t ] = ( c 1 ( t ) , c 2 ( t ) , …   ) \boldsymbol{C}[t]=(c_1(t),c_2(t),\dots) C[t]=(c1(t),c2(t),) 是一个系数向量,其分量 c i ( t ) c_i(t) ci(t) 是时间变量 t t t 的函数,并且 C [ t ] \boldsymbol{C}[t] C[t] 的维度与 N [ u ] \boldsymbol{N}[u] N[u] 相同。此外, N [ u ] \boldsymbol{N}[u] N[u] C [ t ] \boldsymbol{C}[t] C[t] 相应分量的乘积表示具有时变系数的算子 ( c i [ t ] N i [ u ] ) (c_i[t]N_i[u]) (ci[t]Ni[u]) 。特别地,这里考虑的可变系数只是时间变量 t t t 的函数。变量系数也与空间变量 x x x 相关的情况将在后文中讨论。

对于连续意义上的前向问题,变量系数的表达式是完全已知的并写入方程中。在处理此类问题时,像常系数问题一样使用标准的PINN方法就足够了。但在工程应用中,充分了解变系数表达式的要求十分苛刻。因此,后续基于正向和逆向问题的讨论都是在离散意义上进行的。具体来说,文中以离散意义上的变量系数是否已知作为区分正问题和逆问题的基础。

变系数条件下偏微分方程的正、反问题的形式化定义

鉴于变系数方程与常系数方程在正、反问题描述上的差异,有必要给出变系数版本下偏微分方程的正、反问题的形式化定义。如下:

  • 在前向问题中,可变系数 c i ( t ) c_i(t) ci(t) 是已知的。具体地, [ T 0 , T 1 ] [T_0, T_1] [T0,T1] 上有限个离散点处的系数 c i ( t ) c_i(t) ci(t) 的值是已知信息。这些系数值对应于实际应用中一些可观测的物理量(具有不同程度的噪声)。因此,可变系数的前向问题可被形式化定义为:使用 u u u 的初始边界值条件(与常数系数一致)和上述离散系数值来求解该区域上的 u u u
  • 在反问题中,待确定的系数不再是几个固定的常数,而是与时间变量 t t t 有关的一组函数。与常系数问题一致,区域内有限离散点处的 u u u 值是已知信息。此外,由于反问题的多解性质,需要提供变量系数 c i ( t ) c_i(t) ci(t) 的边界值 ( c i ( T 0 ) , c i ( T 1 ) ) (c_i(T_0) , c_i(T_1)) (ci(T0),ci(T1))。该边界信息对应于实验中观测到的初始值和终值。综上所述,逆问题可被形式化定义为:利用上述两个已知信息,得到时域 [ T 0 , T 1 ] [T_0,T_1] [T0T1] 上完整的系数变化,即任意时刻 c i ( t ) c_i(t) ci(t) 的离散值。

在这里插入图片描述

网络结构

在变系数问题中,不仅 u u u 需要用神经网络来表示,而且不同数量的自变量的变系数 c i ( t ) c_i(t) ci(t) 也需要用新的网络来近似。不失一般性,在方法描述中,假设方程仅涉及单变量系数,即 C [ t ] = c 1 ( t ) \boldsymbol{C}[t]=c_1(t) C[t]=c1(t) ,对应的算子向量 N [ u ] \boldsymbol{N}[u] N[u] 也简写为 N [ u ] \mathcal N[u] N[u]。该方法同样适用于多变量系数的情况。这种简化只是为了更清晰的描述。下文数值实验中也给出了多变量系数的例子。

由于ResNet在PDE求解中已得到广泛使用,同时,在变系数问题上,ResNet可以更好地统一网络中的线性和非线性,以适应不同的变系数,因此,下文作者选择ResNet来构建整个网络。

首先考虑深度为 D D D的前馈神经网络(FNN)。第 0 0 0 层和第 D D D 层分别称为输入层和输出层,自然有 D − 1 D−1 D1 个隐藏层。在引入快捷连接之前必须考虑的一个特殊要求是要连接的两个向量需要具有相同的维度。常见的做法是使用线性投影来使得尺寸满足上述条件。本着尽可能不引入新的网络参数的原则,可以假设每个隐藏层的节点数为 N d N_d Nd 。那么,一个具有 N B N_B NB个残差块且每个残差块包含 N h N_h Nh 个隐藏层的 ResNet 结构图如下:

在这里插入图片描述

X [ d ] X^{[d]} X[d] 表示第 d d d 层节点的状态向量, R [ i ] R^{[i]} R[i] 既是第 i i i 个残差块的输出,也是第 ( i + 1 ) (i+1) (i+1) 个残差块的输入。第 i 个残差块由网络的第 [ ( i − 1 ) N h + 1 ] [(i − 1)N_h + 1] [(i1)Nh+1] 层到第 ( i N h ) (iN_h) (iNh) 层组成。所以 R [ i ] R^{[i]} R[i]等于第 ( i N h + 1 ) (iN_h+1) (iNh+1) 层节点的状态向量 X [ i N h + 1 ] X^{[iN_h+1]} X[iNh+1]。为了更清晰地展示网络的结构,也为了统一表达ResNet和普通的FNN,更数学化的表达方式如下:
X L [ 0 ] = W [ 0 ] X [ 0 ] + b [ 0 ] , X [ 1 ] = R [ 0 ] = K X L [ 0 ] + ( 1 − K ) F ( X L [ 0 ] ) , X [ i N h + 1 ] = R [ i ] = L i ( R [ i − 1 ] ) + K R [ i − 1 ] , i = 1 , 2 , … , N B , X [ D ] = W [ D − 1 ] X [ D − 1 ] + b [ D − 1 ] , = W [ D − 1 ] R [ N B ] + b [ D − 1 ] , \begin{aligned} X_{L}^{[0]}& =W^{[0]}X^{[0]}+b^{[0]}, \\ X^{[1]}=\mathcal{R}^{[0]}& ={\mathcal K}X_{L}^{[0]}+(1-{\mathcal K}){\mathcal F}(X_{L}^{[0]}), \\ X^{[iN_{h}+1]}={\mathcal R}^{[i]}& =\mathcal{L}_{i}(\mathcal{R}^{[i-1]})+\mathcal{K}\mathcal{R}^{[i-1]},i=1,2,\ldots,N_{B}, \\ X^{[D]}& =W^{[D-1]}X^{[D-1]}+b^{[D-1]}, \\ &=W^{[D-1]}{\mathcal R}^{[N_{B}]}+b^{[D-1]}, \end{aligned} XL[0]X[1]=R[0]X[iNh+1]=R[i]X[D]=W[0]X[0]+b[0],=KXL[0]+(1K)F(XL[0]),=Li(R[i1])+KR[i1],i=1,2,,NB,=W[D1]X[D1]+b[D1],=W[D1]R[NB]+b[D1],
其中 X L [ 0 ] X^{[0]} _L XL[0] 为中间变量,系数 K ∈ { 0 , 1 } \mathcal K \in \{0, 1\} K{0,1} 主要控制是否包含捷径连接。具体来说,当 K = 1 \mathcal K=1 K=1时为ResNet结构, K = 0 \mathcal K=0 K=0 时为普通FNN结构。非线性映射 L i \mathcal L_i Li 是第 i i i 个残差块的输入和输出之间的非线性部分,定义如下:
L i ≜ T i N h ∘ T i N h − 1 ∘ ⋯ ∘ T ( i − 1 ) N h + 1 , i = 1 , 2 , … , N B , T i ( X ) ≜ F ( W [ i ] X + b [ i ] ) , i = 1 , 2 , … , N B N h , \begin{array} {l}\mathcal{L}_i\triangleq\mathcal{T}_{iN_h}\circ\mathcal{T}_{iN_h-1}\circ\cdots\circ\mathcal{T}_{(i-1)N_h+1},i=1,2,\ldots,N_B,\\\mathcal{T}_i(X)\triangleq\mathcal{F}(W^{[i]}X+b^{[i]}),i=1,2,\ldots,N_BN_h, \end{array} LiTiNhTiNh1T(i1)Nh+1,i=1,2,,NB,Ti(X)F(W[i]X+b[i]),i=1,2,,NBNh,
其中, W [ i ] ∈ R N i × N i + 1 W^{[i]}\in\mathbb{R}^{N_{i}\times N_{i+1}} W[i]RNi×Ni+1 b [ i ] ∈ R N i + 1 b^{[i]}\in\mathbb{R}^{N_{i+1}} b[i]RNi+1 分别表示第 i i i 层与第 ( i + 1 ) (i + 1) (i+1) 层网络之间的权重矩阵和偏置向量,其中 N i N_i Ni 为第 i i i 层网络中的节点,且 N i = N d , i = 1 , 2 , . . . , D − 1 N_i = N_d , i = 1, 2, ... , D − 1 Ni=Nd,i=1,2,...,D1

值得注意的是,作者这里使用的是预激活的ResNet。

在这里插入图片描述

为了在后续的介绍中区分不同的网络,具体的ResNet被表示为结构参数列表形式 N N { D , N d , N B , N h } K = 1 NN\{D,N_d,N_B,N_h\}_{\mathcal K=1} NN{D,Nd,NB,Nh}K=1,其中 K \mathcal K K 的定义与先前定义相同。特别地,当 K = 0 \mathcal K = 0 K=0 时,参数列表 N N { D , N d , N B , N h } K = 0 NN\{D,N_d,N_B,N_h\}_{\mathcal K=0} NN{D,Nd,NB,Nh}K=0 表示普通的FNN,则网络结构仅由 D D D N h N_h Nh 决定,因此简写为 N N { D , N h } K = 0 NN\{D, Nh\}_{\mathcal K=0} NN{D,Nh}K=0

本文需要构建两个网络来分别逼近解 u u u 和变量系数 c 1 ( t ) c_1(t) c1(t)。两个网络都将采用上述ResNet结构,称为主干网络 N N u { D u , N d u , N B u , N h u } NN_u\{D_u, N^u_d, N^u_B, N^u_h\} NNu{Du,Ndu,NBu,Nhu} 和分支网络 N N c { D c , N d c , N B c , N h c } NN_c \{D_c , N^c_d, N^c_B, N^c_h \} NNc{Dc,Ndc,NBc,Nhc}

前向问题

考虑涉及单个时变系数的偏微分方程的初始边值问题(狄利克雷边界条件)如下:
u t = c 1 ( t ) N [ u ] , x ∈ Ω , t ∈ [ T 0 , T 1 ] , u ( x , T 0 ) = g 0 ( x ) , x ∈ Ω , u ( x , t ) = g Γ ( x , t ) , x ∈ ∂ Ω , t ∈ [ T 0 , T 1 ] , \begin{aligned} &u_{t}=c_{1}(t)\mathcal{N}[u],x\in\Omega,t\in[T_{0},T_{1}], \\ &u(x,T_{0})=g_{0}(x),x\in\Omega, \\ &u(x,t)=g_{\Gamma}(x,t),x\in\partial\Omega,t\in[T_{0},T_{1}], \end{aligned} ut=c1(t)N[u],xΩ,t[T0,T1],u(x,T0)=g0(x),xΩ,u(x,t)=gΓ(x,t),xΩ,t[T0,T1],
其中 ∂ Ω \partial \Omega Ω表示空间域 Ω \Omega Ω 的边界,第一个方程是PDE的特例,后两个方程分别对应初值条件和狄利克雷边界条件。当 c 1 ( t ) c_1(t) c1(t) 已知(离散意义上已知)时,采用神经网络方法求解初始边值问题,关键是构造优化问题。

主干网络 N N u { D u , N d u , N B u , N h u } NN_u\{D_u, N^u_d, N^u_B, N^u_h\} NNu{Du,Ndu,NBu,Nhu} 用于逼近初边界问题的实值解 u ( x , t ) u(x, t) u(x,t) ,记为 u ~ ( x , t ; θ u ) \tilde{u}(x,t;\theta_u) u~(x,t;θu),用分支网络 N N c { D c , N d c , N B c , N h c } NN_c \{D_c , N^c_d, N^c_B, N^c_h \} NNc{Dc,Ndc,NBc,Nhc} 表示的用于逼近变系数函数 c 1 ( t ) c_1(t) c1(t) ,记为 c ~ ( t ; θ c ) \tilde{c}(t;\theta_c) c~(t;θc) θ u ∈ Θ u \theta_{u}\in\Theta_{u} θuΘu θ c ∈ Θ c \theta_{c}\in\Theta_{c} θcΘc 分别是 N N u NN_u NNu N N c NN_c NNc 两个网络的参数空间(权重和偏置空间)。为了引入损失函数,将方程在点 ( x ~ , t ~ ) (\tilde{x}, \tilde{t}) (x~,t~)处的残差定义如下:
f ( x ~ , t ~ ; u , c ) : = N 0 [ u , c ] ∣ x = x ~ , t = t ~ , N 0 [ u , c ] = ∂ t [ u ] − c N [ u ] . f(\tilde{\mathbf{x}},\tilde{t};u,c):=\mathcal{N}_0[u,c]\Big|_{\mathbf{x}=\tilde{\mathbf{x}},t=\tilde{t}},\mathcal{N}_0[u,c]=\partial_t[u]-c\mathcal{N}[u]. f(x~,t~;u,c):=N0[u,c] x=x~,t=t~,N0[u,c]=t[u]cN[u].
残差由问题的第一个方程导出, N 0 [ ⋅ , ⋅ ] \mathcal N_0[\cdot,\cdot] N0[,] 是由 N [ ⋅ ] \mathcal N[\cdot] N[] ∂ t \partial _t t 组成的新算子。然而, f ( ∼ , ∼ ; u , c ) f (∼, ∼; u, c) f(,;u,c) 被视为函数的函数,用于将函数空间中的点 ( u , c ) (u, c) (u,c) 映射到域 Ω × [ T 0 , T 1 ] \Omega \times [T_0, T_1] Ω×[T0,T1] 上的函数,其中 u = u ( x , t ) u = u( x, t) u=u(x,t) c = c ( t ) c = c(t) c=c(t) 被解释为函数类型参数。因此,上式定义的残差衡量了在给定函数 u ( x , t ) u(x, t) u(x,t) 和系数 c ( t ) c(t) c(t) 的情况下方程在 ( x ~ , t ~ ) (\tilde{x}, \tilde{t}) (x~,t~) 点满足的程度。特别地,若 u 0 u_0 u0 是变系数 c 1 ( t ) c_1(t) c1(t)下初始边值问题的解,则显然 f ( x ~ , t ~ ; u 0 , c 1 ) = 0 , ∀ x ~ ∈ Ω , t ~ ∈ [ T 0 , T 1 ] f(\tilde{x},\tilde{t}; u_0, c_1) = 0, \forall \tilde{x} \in \Omega, \tilde{t} \in [T_0, T_1] f(x~,t~;u0,c1)=0,x~Ω,t~[T0,T1]。参数空间 θ = { θ u , θ c } \theta = \{\theta_u, \theta_c \} θ={θu,θc} 中的每组参数 Θ = { Θ u , Θ c } \Theta_ = \{\Theta_u, \Theta_c \} Θ={Θu,Θc} 定义函数 $ \tilde{u}(x, t; \theta_u)$ 和可变系数 c ~ ( t ; θ c ) \tilde{c}(t; \theta_c ) c~(t;θc)。然而,从参数空间 Θ \Theta Θ 中找到合适的参数 θ ⋆ = θ u ⋆ , θ c ⋆ θ^⋆ = {θ^⋆ _u , θ^⋆ _c } θ=θu,θc 使得残差 f ( x ~ , t ~ ; u ~ ⋆ , c ~ ⋆ ) f(\tilde{x},\tilde{t}; \tilde{u}^⋆, \tilde{c}^⋆) f(x~,t~;u~,c~) 足够接近于零域 Ω × [ T 0 , T 1 ] \Omega \times [T_0, T_1] Ω×[T0,T1] 是优化的目标。同时,若 u ~ ⋆ \tilde{u}^⋆ u~ 满足初始边界条件那么它足够接近初始边值问题的真实解。

为了更好的衡量真实解 u 0 ( x , t ) u_0(x,t) u0(x,t) 与近似解 u ~ ⋆ \tilde{u}^⋆ u~ 之间的差距,损失函数可以设置如下:
L o s s ( θ ) = L o s s I ( θ ) + L o s s b ( θ ) + L o s s f ( θ ) + L o s s c ( θ ) , Loss(\theta)=Loss_{I}(\theta)+Loss_{b}(\theta)+Loss_{f}(\theta)+Loss_{c}(\theta), Loss(θ)=LossI(θ)+Lossb(θ)+Lossf(θ)+Lossc(θ),
其中:
L o s s I ( θ ) = 1 n I ∑ i = 1 n I ∣ u ~ ( x I i , T 0 ; θ u ) − g 0 ( x I i ) ∣ 2 , L o s s b ( θ ) = 1 n b ∑ i = 1 n b ∣ u ~ ( x b i , t b i ; θ u ) − g Γ ( x b i , t b i ) ∣ 2 , L o s s f ( θ ) = 1 n f ∑ i = 1 n f ∣ f ( x f i , t f i ; u ~ ( x , t ; θ u ) , c ~ ( t ; θ c ) ) ∣ 2 L o s s c ( θ ) = 1 n c ∑ i = 1 n c ∣ c ~ ( t c i ; θ c ) − c c i ∣ 2 . \begin{aligned} &Loss_{I}(\theta) =\frac{1}{n_{I}}\sum_{i=1}^{n_{I}}|\tilde{u}(x_{I}^{i},T_{0};\theta_{u})-g_{0}(\mathbf{x}_{I}^{i})|^{2}, \\ &Loss_{b}(\theta) =\frac{1}{n_{b}}\sum_{i=1}^{n_{b}}|\tilde{u}(x_{b}^{i},t_{b}^{i};\theta_{u})-g_{\Gamma}(x_{b}^{i},t_{b}^{i})|^{2}, \\ &Loss_{f}(\theta) =\frac{1}{n_{f}}\sum_{i=1}^{n_{f}}|f(x_{f}^{i},t_{f}^{i};\tilde{u}(x,t;\theta_{u}),\tilde{c}(t;\theta_{c}))|^{2} \\ &Loss_{c}(\theta) =\frac{1}{n_{c}}\sum_{i=1}^{n_{c}}|\tilde{c}(t_{c}^{i};\theta_{c})-c_{c}^{i}|^{2}. \end{aligned} LossI(θ)=nI1i=1nIu~(xIi,T0;θu)g0(xIi)2,Lossb(θ)=nb1i=1nbu~(xbi,tbi;θu)gΓ(xbi,tbi)2,Lossf(θ)=nf1i=1nff(xfi,tfi;u~(x,t;θu),c~(t;θc))2Lossc(θ)=nc1i=1ncc~(tci;θc)cci2.
上式中, L o s s I Loss_I LossI L o s s b Loss_b Lossb分别为初值约束和边界约束, L o s s f Loss_f Lossf为物理约束, L o s s c Loss_c Lossc为变系数问题中的唯一系数约束。

反问题

反问题方程的真实解 u 0 u_0 u0 在离散意义上是已知的,可变系数 c 1 c_1 c1 成为要求解的目标。因此,问题的表述也变为:
u t = c 1 ( t ) N [ u ] , x ∈ Ω , t ∈ [ T 0 , T 1 ] , u ( x , t ) = u r ( x , t ) , ( x , t ) ∈ D , c 1 ( T 0 ) = C 0 , c 1 ( T 1 ) = C 1 , \begin{aligned} &u_{t}=c_{1}(t)\mathcal{N}[u],x\in\Omega,t\in[T_{0},T_{1}], \\ &u(x,t)=u_{r}(x,t),(x,t)\in D, \\ &c_{1}(T_{0})=C_{0},c_{1}(T_{1})=C_{1}, \end{aligned} ut=c1(t)N[u],xΩ,t[T0,T1],u(x,t)=ur(x,t),(x,t)D,c1(T0)=C0,c1(T1)=C1,
其中第一行是原方程,第二行表示 u u u 的离散观测点, u r u_r ur D \mathcal D D 分别是实解和观测点的坐标集。第三行表示变系数的两端条件。在简单的问题中,这个条件可以放宽到单个端点,甚至不需要,而在更具挑战性的问题中,需要两个端点处的更高导数的信息,甚至需要内点信息。这里还给出了高阶导数的条件:
∂ k c 1 ∂ t k ∣ t = T 0 = C 0 ( k ) , ∂ k c 1 ∂ t k ∣ t = T 1 = C 1 ( k ) , k = 1 , 2 , … , \left.\frac{\partial^{k}c_{1}}{\partial t^{k}}\right|_{t=T_{0}}=C_{0}^{(k)},\left.\frac{\partial^{k}c_{1}}{\partial t^{k}}\right|_{t=T_{1}}=C_{1}^{(k)},k=1,2,\ldots, tkkc1 t=T0=C0(k),tkkc1 t=T1=C1(k),k=1,2,,
其中 C 0 ( k ) C_{0}^{(k)} C0(k) C 1 ( k ) C_{1}^{(k)} C1(k) 是两端对应的高阶导数值。在VC-PINN框架下,处理变系数的逆问题与其正问题具有一定的统一性,变化几乎只发生在损失函数的构成上。具体区别如下:
L o s s I ( θ ) + L o s s b ( θ ) → L o s s s ( θ ) , L o s s s ( θ ) = 1 n s ∑ i = 1 n s ∣ u ~ ( x s i , t s i ; θ u ) − u s i ∣ 2 , \begin{aligned} &Loss_I(\theta)+Loss_b(\theta)\to Loss_s(\theta),\\&Loss_s(\theta)=\frac1{n_s}\sum_{i=1}^{n_s}|\tilde{u}(x_s^i,t_s^i;\theta_u)-u_s^i|^2, \end{aligned} LossI(θ)+Lossb(θ)Losss(θ),Losss(θ)=ns1i=1nsu~(xsi,tsi;θu)usi2,
其中,真实解 u 0 u_0 u0 在全时空区域的采样点称为 s s s型点,它们构成集合 { x s i , t s i , u s i } i = 1 n s \{x^i _s, t^i _s, u^i _s \}^{n_s} _{i=1} {xsi,tsi,usi}i=1ns u s i u^i _s usi 为点 ( x s i , t s i ) (x^i _s, t^i _s) (xsi,tsi) 处的真实解 u 0 u_0 u0 s s s 型点代表已知的解信息(实际中视为可观测量)。于是,损失函数可表达如下:
L o s s ( θ ) = L o s s s ( θ ) + L o s s f ( θ ) + L o s s c ( θ ) . Loss(\theta)=Loss_s(\theta)+Loss_f(\theta)+Loss_c(\theta). Loss(θ)=Losss(θ)+Lossf(θ)+Lossc(θ).
在这里插入图片描述

实验结果

作者在正向问题中对变系数Sine-Gordon方程和广义变系数Kadomtsev-Petviashvili方程进行了测试,在反问题中对广义变系数Kadomtsev-Petviashvili方程以及变量系数 Korteweg-de Vries 方程和变量系数 Sawada-Kotera 方程进行了测试。

正问题:变系数Sine-Gordon方程

给出具有可变系数的 SG 方程 (vSG):
u x t + h ( t ) sin ⁡ ( u ) = 0 u_{xt}+h(t)\sin(u)=0 uxt+h(t)sin(u)=0
其中 h ( t ) h(t) h(t) 是一个解析函数,表示方程的系数如何随时间变化。其单孤子解为:
u ( x , t ) = 4 arctan ( e k 1 x − ω 1 ( t ) ) u(x,t)=4\text{arctan}\left(e^{k_1x-\omega_1(t)}\right) u(x,t)=4arctan(ek1xω1(t))
其中, ω 1 ( t ) = ∫ h ( t ) k 1 d t \omega_1(t)=\int\frac{h(t)}{k_1}dt ω1(t)=k1h(t)dt ,因此选择不同的 h ( t ) h(t) h(t) 会产生许多具有丰富动态行为的解,这在常系数问题中是找不到的。接下来,作者讨论了三种形式(线性系数、二次多项式、三角函数)的系数函数,并使用所提出的 VC-PINN 方法获得相应初始边值问题的数据驱动解。

  • 线性系数:假设 h ( t ) = t h(t) = t h(t)=t,并取不定积分中积分常数为0,则该问题的精确解如下
    u 1 ( v S G ) = 4 arctan ⁡ ( e − t 2 2 k 1 + k 1 x ) u_1^{(vSG)}=4\arctan\left(e^{-\frac{t^2}{2k_1}+k_1x}\right) u1(vSG)=4arctan(e2k1t2+k1x)
    在自由参数 k 1 = ± 1 k_1 = \pm1 k1=±1 的情况下,VC-PINN 方法找到的两个数据驱动的解决方案以及伴随的误差结果如下图所示:

    在这里插入图片描述

  • 二次多项式:假设系数函数为 h ( t ) = t 2 h(t) = t^2 h(t)=t2,则方程的精确解为
    u 2 ( v S G ) = 4 arctan ⁡ ( e − t 3 3 k 1 + k 1 x ) u_{2}^{(vSG)}=4\arctan\left(e^{-\frac{t^{3}}{3k_{1}}+k_{1}x}\right) u2(vSG)=4arctan(e3k1t3+k1x)
    在这里插入图片描述

  • 三角函数:当系数函数为具有周期性质的余弦函数,即 h ( t ) = 3 cos ⁡ ( 2 t ) h(t) = 3\cos(2t) h(t)=3cos(2t) 时,对应的精确解为
    u 3 ( v S G ) = 4 arctan ⁡ ( e − 3 sin ⁡ ( 2 t ) 2 k 1 + k 1 x ) u_3^{(vSG)}=4\arctan\left(e^{-\frac{3\sin(2t)}{2k_1}+k_1x}\right) u3(vSG)=4arctan(e2k13sin(2t)+k1x)
    在这里插入图片描述

反问题:广义变系数Kadomtsev-Petviashvili方程

变系数Korteweg-de Vries方程(vKdV)具体形式如下:
u t + f ( t ) u u x + g ( t ) u x x x = 0 u_{t}+f(t)uu_{x}+g(t)u_{xxx}=0 ut+f(t)uux+g(t)uxxx=0
其中 f ( t ) f (t) f(t) g ( t ) g(t) g(t) 是任意解析函数。假设方程中的可变系数满足如下约束条件
g ( t ) = c f ( t ) g(t) = cf(t) g(t)=cf(t)
其中 c c c 是任意常数。那么在这个约束下,其精确解具有以下形式:
u ( x , t ) = 3 c α 2 s e c h 2 [ 1 2 α ( x − c α 2 ∫ f ( t ) d t ) ] u(x,t)=3c\alpha^{2}\mathrm{sech}^{2}\left[\frac{1}{2}\alpha(x-c\alpha^{2}\int f(t)dt)\right] u(x,t)=3cα2sech2[21α(xcα2f(t)dt)]
其中 α \alpha α 是自由参数。显然,一旦确定了变系数 f ( t ) f(t) f(t)、参数 c c c α \alpha α,解析解就完全确定了。令 c = α = 1 c = \alpha = 1 c=α=1,在此参数设置下,作者讨论了3种不同形式的 f ( t ) f(t) f(t) 来测试所提出的方法在反问题上的性能。

  • 线性系数:当系数 f ( t ) f(t) f(t) 是线性时(即 f ( t ) = t f(t) = t f(t)=t ),精确解如下
    u 1 ( v K d V ) = 3 s e c h 2 [ 1 4 ( t 2 − 2 x ) ] u_1^{(vKdV)}=3\mathrm{sech}^2\left[\frac{1}{4}(t^2-2x)\right] u1(vKdV)=3sech2[41(t22x)]
    在这里插入图片描述

  • 三次多项式:假设变系数 f ( t ) f(t) f(t)是三次多项式,即 f ( t ) = t 3 f(t)=t^3 f(t)=t3,则方程的精确解
    u 2 ( v K d V ) = 3 s e c h 2 [ 1 8 ( t 4 − 4 x ) ] u_2^{(vKdV)}=3\mathrm{sech}^2\left[\frac{1}{8}(t^4-4x)\right] u2(vKdV)=3sech2[81(t44x)]
    在这里插入图片描述

  • 三角函数:当系数函数为余弦函数,即 f ( t ) = c o s ( t ) f(t) = cos(t) f(t)=cos(t)时,对应vKdV方程的精确解为
    u 3 ( v K d V ) = 3 s e c h 2 [ 1 2 ( x − sin ⁡ ( t ) ) ] u_{3}^{(vKdV)}=3\mathrm{sech}^{2}\left[\frac{1}{2}(x-\sin(t))\right] u3(vKdV)=3sech2[21(xsin(t))]
    在这里插入图片描述

ResNet 对比

在这里插入图片描述

上图为vKdV方程线性系数和非线性系数下的实验结果, (a) 和 (b) 为不使用ResNet下不同网络层数带来的最终误差, © 和 (d) 为使用ResNet下不同网络层数带来的最终误差

可以看到,使用ResNet带来了更好的表现。

在这里插入图片描述

上表为对线性与非线性的对比,可以看出,ResNet在二者上都有所提升。

变系数凸性与学习的关系

作者在实验中发现特定情况下可变系数也会使神经网络的学习变得极其困难。

为了分析神经网络学习失败的原因,作者考虑观察训练过程中变量系数的预测结果的变化。下图显示了vKdV方程在五个不同变量系数下的学习过程(示例中为成功和失败)。

在这里插入图片描述

上图中五个例子的学习过程有一个共同的规律,即神经网络首先学习变系数的两个端点,然后逐渐学习中间区域。添加到损失函数中的可变系数边界的软约束可以合理地解释这种学习行为。此外,二次和四次多项式下的学习失败,并且神经网络在预学习(学习损失函数中系数的边界约束)后停滞不前。大梯度似乎并不是学习失败的合理解释,因为使用三次多项式系数进行学习是完全成功的。这似乎意味着神经网络的学习在面对强凸目标时受到阻碍。

为了进一步探究神经网络学习失败的原因,作者在前面的二次和四次多项式系数的例子中做出了不同的调整策略。具体如下:(1)减小一侧的时间间隔(从[−4, 4]到[−4, 2]); (2) 减小两侧的时间间隔(从[−4, 4]到[−2, 2]); (3)和(5)Lossc添加中间点信息((0, 0));(4)和(6)添加系数边界的一阶导数信息。

在这里插入图片描述

上图中的(1)和(2)都没有改变曲线,只是缩短了时间范围,曲率最大的 t = 0 t=0 t=0 仍然包含在区间内。但这样的调整使得系数能够成功学习,这说明影响学习的是整个区间的凸性,而不是某一点的凸性。整个区间上凸性的积累使得预学习后的系数曲线与真实的系数曲线相差甚远,可能导致学习失败。

上图中的(3)-(6)涉及的两种调整策略提供了可变系数信息,使得预学习曲线能够更接近真实系数曲线,从而避免凸性积累带来的问题。两种策略提供的信息量很小。例如,中间点的策略只添加一个信息点就可以从失败中学习到成功。这表明预学习曲线和真实系数曲线之间的差距很重要,似乎对学习的成败起着决定性的作用。所有调整策略的二次和四次多项式系数学习都是成功的。 (虽然上图(4)的学习还是有点缺陷)。

总结

本文针对变系数问题提出了VC-PINN结构,并给出了离散形式下的正反问题定义。通过丰富的实验证实了VC-PINN在可变系数问题上的出色表现。同时对ResNet结构与传统FNN进行对比,展示了其在解决梯度消失问题以及统一线性与非线性上的必要性。文章中作者还针对实验中出现的训练失败现象进行了更加深入的研究,并根据实验结果推测系数函数在区间上的累计凸性会影响训练结果的准确性。

这篇文章的实验部分也太过详实了,令人叹为观止。

相关链接:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuelanghanbao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值