论文阅读:Variable linear transformation improved physics-informed neural networks to solve thin-layer flow problems
Variable linear transformation improved physics-informed neural networks to solve thin-layer flow problems
问题设置
薄层流动问题
为了尽可能清楚地说明先验知识在确定 VLT 参数时的重要性,本文选择一类先验知识较强的问题来讨论:薄层流问题,该问题在实际中经常遇到,例如射流、尾流、混合层和边界层流,其薄层主要由自由剪切或壁面剪切引起。对于一些简单的燃烧问题,化学反应对高温的敏感性也会导致薄层,即火焰表面。研究薄层流的另一个意义是,它们通常是许多更复杂流的基本单元,如下图所示,工程中的常见配置可能包含所有上述流类型。因此,用 PINN 解决薄层流是将其应用于更复杂流的基础。
从更数学的角度来说,薄层流的特点是,至少在一个维度上,流场仅在一个狭窄的区间内表现得非常复杂,而在其余部分则表现得很简单。这里的复杂度是指大梯度、多尺度、高非线性、高频等。此外,“至少一个“意味着在某些维度上可能不存在狭窄的复区间。例如,射流在 x x x 和 y y y 维度上分别具有局部大的 x x x 梯度和 y y y 梯度,而边界层仅具有后者(这里 x x x 代表主流方向)。
本文测试了 10 个薄层流动问题的案例,如下表所示,包括它们的控制方程、计算域、BC 和理论解雷诺数的参数。
案例 1-8 包括自由射流、尾流、混合层和边界层流(如上图所示),它们由边界层方程(BL-Eqs)控制:
{
∂
u
∂
x
+
∂
v
∂
y
+
n
v
y
=
0
u
∂
u
∂
x
+
ν
∂
u
∂
y
=
(
ν
+
ν
t
)
(
∂
2
u
∂
y
2
+
n
1
y
∂
u
∂
y
)
u
∂
T
∂
x
+
ν
∂
T
∂
y
=
(
ν
Pr
+
ν
t
Pr
t
)
(
∂
2
T
∂
y
2
+
n
1
y
∂
T
∂
y
)
\begin{cases} \dfrac{\partial u}{\partial x}+\dfrac{\partial v}{\partial y}+n\dfrac{v}{y}=0\\ u\dfrac{\partial u}{\partial x}+\nu\dfrac{\partial u}{\partial y}=\left(\nu+\nu_t\right)\biggl(\dfrac{\partial^2u}{\partial y^2}+n\dfrac{1}{y}\dfrac{\partial u}{\partial y}\biggr)\\ u\dfrac{\partial T}{\partial x}+\nu\dfrac{\partial T}{\partial y}=\biggl(\dfrac{\nu}{\Pr}+\dfrac{\nu_t}{\Pr_t}\biggr)\biggl(\dfrac{\partial^2T}{\partial y^2}+n\dfrac{1}{y}\dfrac{\partial T}{\partial y}\biggr) \end{cases}
⎩
⎨
⎧∂x∂u+∂y∂v+nyv=0u∂x∂u+ν∂y∂u=(ν+νt)(∂y2∂2u+ny1∂y∂u)u∂x∂T+ν∂y∂T=(Prν+Prtνt)(∂y2∂2T+ny1∂y∂T)
其中,对于笛卡尔坐标系,
n
n
n 为 0,对于轴对称坐标系,
n
n
n 为 1,
ν
t
ν_t
νt 是湍流粘度,对于湍流情况,其与空间相关,而对于层流情况,则为零。这里假设
y
y
y 是“薄方向”并且等于轴对称情况下的半径
r
r
r。由于温度是被动标量,因此也可以只求解前两个偏微分方程以获得
u
u
u 和
v
v
v,就像对案例 5-8 所做的那样。对于尾流,
y
y
y 动量方程可以进一步简化为
U
∞
∂
u
∂
x
=
(
ν
+
ν
t
)
(
∂
2
u
∂
y
2
+
n
1
y
∂
u
∂
y
)
U_\infty\frac{\partial u}{\partial x}=\left(\nu+\nu_t\right)\left(\frac{\partial^2u}{\partial y^2}+n\frac1y\frac{\partial u}{\partial y}\right)
U∞∂x∂u=(ν+νt)(∂y2∂2u+ny1∂y∂u)
其中
U
∞
U_\infty
U∞ 是远场中的速度。请注意,由于在这项工作中关注稳定流,因此在测试用例中不存在不稳定行为(例如流体动力学不稳定、尾流振荡)。此外,还包括湍流情况(案例 3 和 4),以显示本文的方法在具有大雷诺数的薄层流中的有效性,尽管它们的湍流是在时间平均意义上描述的。
这 8 种情况都有理论解。前6种情况有解析解。对于案例 7,数值解可以在参考文献中找到。 而对于案例 8,使用了著名的 Blasius 解。需要注意的是,由于所有这些解对于近场(小 x x x)来说在物理上都是无效的,所以所有这些解都用 x + Δ ( Δ > 0 ) x + \Delta (\Delta > 0) x+Δ(Δ>0) 代替,这可以被认为是右移坐标系。
Kovasznay 流满足二维稳态不可压缩纳维-斯托克斯方程 (NS-Eqs):
{
∂
u
∂
x
+
∂
v
∂
y
=
0
u
∂
u
∂
x
+
ν
∂
u
∂
y
=
−
∂
p
∂
x
+
ν
(
∂
2
u
∂
x
2
+
∂
2
u
∂
y
2
)
u
∂
ν
∂
x
+
ν
∂
ν
∂
y
=
−
∂
p
∂
y
+
ν
(
∂
2
ν
∂
x
2
+
∂
2
ν
∂
y
2
)
\begin{cases} \dfrac{\partial u}{\partial x}+\dfrac{\partial v}{\partial y}=0\\ u\dfrac{\partial u}{\partial x}+\nu\dfrac{\partial u}{\partial y}=-\dfrac{\partial p}{\partial x}+\nu\Bigg(\dfrac{\partial^2u}{\partial x^2}+\dfrac{\partial^2u}{\partial y^2}\Bigg)\\ u\dfrac{\partial\nu}{\partial x}+\nu\dfrac{\partial\nu}{\partial y}=-\dfrac{\partial p}{\partial y}+\nu\Bigg(\dfrac{\partial^2\nu}{\partial x^2}+\dfrac{\partial^2\nu}{\partial y^2}\Bigg) \end{cases}
⎩
⎨
⎧∂x∂u+∂y∂v=0u∂x∂u+ν∂y∂u=−∂x∂p+ν(∂x2∂2u+∂y2∂2u)u∂x∂ν+ν∂y∂ν=−∂y∂p+ν(∂x2∂2ν+∂y2∂2ν)
其理论解如下:
{
u
=
1
−
e
ζ
x
cos
(
2
π
y
)
v
=
ζ
2
π
e
ζ
x
sin
(
2
π
y
)
p
=
1
2
(
1
−
e
2
ζ
x
)
w
i
t
h
ζ
=
1
2
ν
−
1
4
ν
2
+
4
π
2
\begin{cases} u=1-e^{\zeta x}\cos(2\pi y)\\ v=\frac{\zeta}{2\pi}e^{\zeta x}\sin(2\pi y)\\ p=\frac{1}{2}\Big(1-e^{2\zeta x}\Big)\quad\mathrm{with}\quad\zeta=\frac{1}{2\nu}-\sqrt{\frac{1}{4\nu^2}+4\pi^2} \end{cases}
⎩
⎨
⎧u=1−eζxcos(2πy)v=2πζeζxsin(2πy)p=21(1−e2ζx)withζ=2ν1−4ν21+4π2
为了构造薄层的情况,本文将解扩展为:
{
u
=
1
−
a
e
ζ
x
cos
(
2
π
b
y
)
ν
=
a
ζ
2
π
b
e
ζ
x
sin
(
2
π
b
y
)
p
=
a
2
2
(
1
−
e
2
ζ
x
)
w
i
t
h
ζ
=
1
2
ν
+
(
−
1
)
m
1
4
ν
2
+
4
π
2
b
2
\begin{cases} u=1-ae^{\zeta x}\cos\left(2\pi by\right)\\ \nu=\frac{a\zeta}{2\pi b}e^{\zeta x}\sin\left(2\pi by\right)\\ p=\frac{a^2}2\Bigl(1-e^{2\zeta x}\Bigr)\quad\mathrm{with}\quad\zeta=\frac1{2\nu}+\Bigl(-1\Bigr)^m\sqrt{\frac1{4\nu^2}+4\pi^2b^2} \end{cases}
⎩
⎨
⎧u=1−aeζxcos(2πby)ν=2πbaζeζxsin(2πby)p=2a2(1−e2ζx)withζ=2ν1+(−1)m4ν21+4π2b2
方法
所提出的 VLT 方法来自于不仅在机器学习中而且在数值模拟和其他领域广泛使用的原理:归一化原理(PON),这表明归一化对于许多问题始终是必要且有效的。其中PON有不同的方式,包括最小-最大归一化、标准化和无量纲化,可以应用于输入数据/自变量和输出数据/因变量,前者以图像和时空坐标为例,后者以回归任务为例后者。在许多领域中,经常存在多量级、多尺度或各向异性的问题,归一化的必要性和有效性得到验证和凸显,逐渐成为普遍原理。由于PINN可以被认为是机器学习(NN部分)和数值模拟(DE系统部分)的结合,归一化的应用可能与一般情况有所不同,对于本研究中讨论的问题需要额外考虑,如下面将讨论。
PDE系统中的VLT
大多数研究使用 PINN 来解决流体流动问题中的无量纲偏微分方程,其中自变量和因变量通过以下公式无量纲化:
t
∗
=
t
τ
,
x
∗
=
x
L
,
y
∗
=
y
L
,
u
∗
=
u
U
,
v
∗
=
v
U
,
p
∗
=
p
ρ
U
2
⋯
t^*=\frac t\tau,~x^*=\frac xL,~y^*=\frac yL,~u^*=\frac uU,~v^*=\frac vU,~p^*=\frac p{\rho U^2}\cdots
t∗=τt, x∗=Lx, y∗=Ly, u∗=Uu, v∗=Uv, p∗=ρU2p⋯
其中
τ
、
L
\tau、L
τ、L 和
U
U
U 是相应的特征参数。这种方法并不灵活,因为有时我们没有任何特征参数。更重要的是,我们希望在各向异性问题中对不同维度使用不同的特征长度,在多量级问题中对不同速度分量使用不同的特征速度,这是合理的。换句话说,无量纲偏微分方程在各向异性和多量级问题上无法本质上满足PON。
由于输入数据始终针对神经网络的稳健训练进行标准化,因此一些研究通过以下方式将相同的操作应用于 PINN:
t
∗
=
t
−
μ
t
σ
t
,
x
∗
=
x
−
μ
x
σ
x
,
y
∗
=
y
−
μ
y
σ
y
⋯
t^*=\frac{t-\mu_t}{\sigma_t},~x^*=\frac{x-\mu_x}{\sigma_x},~y^*=\frac{y-\mu_y}{\sigma_y}\cdots
t∗=σtt−μt, x∗=σxx−μx, y∗=σyy−μy⋯
其中
μ
\mu
μ 和
σ
\sigma
σ 分别是相应的平均值和标准导数。然而,这种方法从全局角度应用PON,因此神经网络可能无法捕获流场的局部信息,而这正是本研究的重点。
由于大多数归一化(无论是无量纲化还是标准化)都是线性变换,因此我们可以将上述方法扩展到更通用的形式:
{
u
∗
=
α
u
u
,
ν
∗
=
α
v
ν
,
T
∗
=
α
T
T
,
p
∗
=
α
p
p
⋯
t
∗
=
β
t
(
t
+
δ
t
)
,
x
∗
=
β
x
(
x
+
δ
x
)
,
y
∗
=
β
y
(
y
+
δ
y
)
⋯
ν
∗
=
γ
v
ν
⋯
\begin{cases} u^*=\alpha_uu,\mathrm{~}\nu^*=\alpha_v\nu,\mathrm{~}T^*=\alpha_TT,\mathrm{~}p^*=\alpha_pp\cdots\\ t^*=\beta_t\left(t+\delta_t\right),\mathrm{~}x^*=\beta_x\left(x+\delta_x\right),\mathrm{~}y^*=\beta_y\left(y+\delta_y\right)\cdots\\ \nu^*=\gamma_v\nu\cdots& \end{cases}
⎩
⎨
⎧u∗=αuu, ν∗=αvν, T∗=αTT, p∗=αpp⋯t∗=βt(t+δt), x∗=βx(x+δx), y∗=βy(y+δy)⋯ν∗=γvν⋯
其中包括因变量
(
u
)
(u)
(u)、自变量
(
z
)
(z)
(z) 和物理相关参数
(
λ
)
(λ)
(λ) 的变换。对于
u
u
u 和
λ
\lambda
λ 我们忽略它们的平移,因为它们不如
z
z
z 的平移重要,并且它们会极大地改变非线性偏微分方程,而
z
z
z 的平移在大多数情况下会消失,因为它们总是以微分的形式出现。
可以导出变换变量的偏微分方程。变换后的 BL 方程由下式给出
{
k
1
(
∂
u
∗
∂
x
∗
+
c
y
∂
v
∗
∂
y
∗
+
c
y
m
v
∗
y
∗
−
β
y
δ
y
)
=
0
k
2
(
u
∗
∂
u
∗
∂
x
∗
+
c
y
v
∂
u
∗
∂
y
∗
)
=
k
2
c
y
y
(
ν
∗
γ
ν
+
ν
t
)
(
∂
2
u
∗
∂
y
∗
2
+
n
y
∗
−
β
y
δ
y
∂
u
∗
∂
y
∗
)
k
3
(
u
∗
∂
T
∗
∂
x
∗
+
c
y
v
∂
T
∗
∂
y
∗
)
=
k
3
c
y
y
(
ν
∗
γ
ν
ν
∗
Pr
+
ν
t
Pr
t
)
(
∂
2
T
∗
∂
y
∗
2
+
n
y
∗
−
β
y
δ
y
∂
T
∗
∂
y
∗
)
\begin{aligned} \begin{cases} k_1\bigg(\frac{\partial u^*}{\partial x^*}+c_y\frac{\partial v^*}{\partial y^*}+c_y\frac{mv^*}{y^*-\beta_y\delta_y}\bigg)=0\\ k_2\bigg(u^*\frac{\partial u^*}{\partial x^*}+c_yv\frac{\partial u^*}{\partial y^*}\bigg)=k_2c_{yy}\bigg(\frac{\nu^*}{\gamma_\nu}+\nu_t\bigg)\bigg(\frac{\partial^2u^*}{\partial y^{*2}}+\frac{n}{y^*-\beta_y\delta_y}\frac{\partial u^*}{\partial y^*}\bigg)\\ k_3\bigg(u^*\frac{\partial T^*}{\partial x^*}+c_yv\frac{\partial T^*}{\partial y^*}\bigg)=k_3c_{yy}\bigg(\frac{\nu^*}{\gamma_\nu}\frac{\nu^*}{\Pr}+\frac{\nu_t}{\Pr_t}\bigg)\bigg(\frac{\partial^2T^*}{\partial y^{*2}}+\frac{n}{y^*-\beta_y\delta_y}\frac{\partial T^*}{\partial y^*}\bigg) \end{cases} \end{aligned}
⎩
⎨
⎧k1(∂x∗∂u∗+cy∂y∗∂v∗+cyy∗−βyδymv∗)=0k2(u∗∂x∗∂u∗+cyv∂y∗∂u∗)=k2cyy(γνν∗+νt)(∂y∗2∂2u∗+y∗−βyδyn∂y∗∂u∗)k3(u∗∂x∗∂T∗+cyv∂y∗∂T∗)=k3cyy(γνν∗Prν∗+Prtνt)(∂y∗2∂2T∗+y∗−βyδyn∂y∗∂T∗)
变换后的 NS 方程由下式给出:
{
k
1
(
∂
u
∗
∂
x
∗
+
c
y
∂
v
∗
∂
y
∗
)
=
0
k
2
(
u
∗
∂
u
∗
∂
x
∗
+
c
y
ν
∗
∂
u
∗
∂
y
∗
)
=
−
k
2
c
p
x
∂
p
∗
∂
x
∗
+
k
2
ν
∗
γ
ν
(
c
x
x
∂
2
u
∗
∂
x
∗
2
+
c
y
y
∂
2
u
∗
∂
y
∗
2
)
k
3
(
u
∗
∂
v
∗
∂
x
∗
+
c
y
ν
∗
∂
v
∗
∂
y
∗
)
=
−
k
3
c
p
y
∂
p
∗
∂
y
∗
+
k
3
ν
∗
γ
ν
(
c
x
x
∂
2
v
∗
∂
x
∗
2
+
c
y
y
∂
2
v
∗
∂
y
∗
2
)
\begin{aligned} \begin{cases} k_1\bigg(\frac{\partial u^*}{\partial x^*}+c_y\frac{\partial v^*}{\partial y^*}\bigg)=0\\ k_2\bigg(u^*\frac{\partial u^*}{\partial x^*}+c_y\nu^*\frac{\partial u^*}{\partial y^*}\bigg)=-k_2c_{px}\frac{\partial p^*}{\partial x^*}+k_2\frac{\nu^*}{\gamma_\nu}\bigg(c_{xx}\frac{\partial^2u^*}{\partial x^{*2}}+c_{yy}\frac{\partial^2u^*}{\partial y^{*2}}\bigg)\\ k_3\bigg(u^*\frac{\partial v^*}{\partial x^*}+c_y\nu^*\frac{\partial v^*}{\partial y^*}\bigg)=-k_3c_{py}\frac{\partial p^*}{\partial y^*}+k_3\frac{\nu^*}{\gamma_\nu}\bigg(c_{xx}\frac{\partial^2v^*}{\partial x^{*2}}+c_{yy}\frac{\partial^2v^*}{\partial y^{*2}}\bigg) \end{cases} \end{aligned}
⎩
⎨
⎧k1(∂x∗∂u∗+cy∂y∗∂v∗)=0k2(u∗∂x∗∂u∗+cyν∗∂y∗∂u∗)=−k2cpx∂x∗∂p∗+k2γνν∗(cxx∂x∗2∂2u∗+cyy∂y∗2∂2u∗)k3(u∗∂x∗∂v∗+cyν∗∂y∗∂v∗)=−k3cpy∂y∗∂p∗+k3γνν∗(cxx∂x∗2∂2v∗+cyy∂y∗2∂2v∗)
其中
c
y
=
α
u
α
ν
β
y
β
x
,
c
x
x
=
α
u
β
x
,
c
y
y
=
α
u
β
y
2
β
x
,
c
p
x
=
α
u
2
α
p
,
c
p
y
=
α
u
α
ν
α
p
β
y
β
x
c_y=\frac{\alpha_u}{\alpha_\nu}\frac{\beta_y}{\beta_x},~c_{xx}=\alpha_u\beta_x,~c_{yy}=\alpha_u\frac{\beta_y^2}{\beta_x},~c_{px}=\frac{\alpha_u^2}{\alpha_p},~c_{py}=\frac{\alpha_u\alpha_\nu}{\alpha_p}\frac{\beta_y}{\beta_x}
cy=αναuβxβy, cxx=αuβx, cyy=αuβxβy2, cpx=αpαu2, cpy=αpαuανβxβy
k
i
k_i
ki 是不影响偏微分方程精度的系数,但会影响 PINN 的训练,因为
k
2
k^2
k2 会出现在损失项中,可以看作相应的损失权重。实际上,由于
k
i
k_i
ki 是与损失权重相关的超参数,因此它们的选择可能是一个棘手且依赖于案例的问题。尽管如此,在对本研究中的 10 个案例进行一些测试后,我们发现当我们将
k
i
k_i
ki 设置为
k
i
=
k
=
max
{
1
,
c
y
−
1
}
k_i=k=\max\left\{1,c_y^{-1}\right\}
ki=k=max{1,cy−1} 时,这确保了偏微分方程中对流项的系数与原始系数相比不会减小,并将用作我们的默认值。变换后的变量的BC也可以导出,但比较简单,因此不再详细讨论。现在,线性变换的偏微分方程系统代替原来的系统可以通过 PINN 来求解,我们将其命名为 VLT-PINN
显然,与上述两种归一化方式相比,无论从先验知识还是实验来看,VLT方法都更加灵活,通过调整变换参数可以更好地满足PON。在数学上,变换后的偏微分方程系统将其原始变量空间变换到一个新的空间,因此系统的属性必须改变,例如幅度、梯度、频率和统计属性,这可能有助于新空间中的求解过程,通过传统方法或 PINN,只要转换设计得当。相比之下,另一种也可以分别将 z ∗ z^* z∗ 和 u ∗ u^* u∗ 作为神经网络的输入和输出的方法是输入输出变换,其中 z z z 被显式变换为 z ∗ z^* z∗ 作为神经网络的输入,而神经网络的输出 u ∗ u^* u∗ 将转换为 u u u,以便可以计算 PDE 残差。虽然它改善神经网络输入和输出的目的与我们的一致,但它解决的偏微分方程系统仍然是原始的,可能性能较差并导致发散。最后,应该注意的是, λ \lambda λ 的变换不会影响前向问题,因为它不存在于变量空间中。对于逆问题,当我们直接学习 λ ∗ = γ λ \lambda^* = \gamma \lambda λ∗=γλ 时, γ \gamma γ 的作用是相互改变 λ \lambda λ 的学习率。
神经网络的 VLT:先验分析
在讨论变换参数的确定之前,有必要首先研究 VLT 对神经网络本身的影响,我们希望这能为 PINN 的更好设计提供一些见解。
考虑最简单的全连接神经网络 (FNN),其表示形式:
z
2
=
W
1
z
∗
+
b
1
z
l
+
1
=
W
l
σ
(
z
l
)
+
b
l
,
l
=
2
,
3
,
.
.
.
,
L
−
1
u
θ
∗
=
z
L
\begin{aligned} &\mathbf{z}_2=\mathbf{W}_1\mathbf{z}^*+\mathbf{b}_1 \\ &\mathbf{z}_{l+1}=\mathbf{W}_l\sigma\left(\mathbf{z}_l\right)+\mathbf{b}_l,l=2,3,...,L-1 \\ &\mathbf{u}_{\theta}^{*}=\mathbf{z}_{L} \end{aligned}
z2=W1z∗+b1zl+1=Wlσ(zl)+bl,l=2,3,...,L−1uθ∗=zL
其中
σ
\sigma
σ 是激活函数,
L
−
1
L-1
L−1 是网络深度。输出到输入(雅可比矩阵)的一阶导数由下式给出
d
u
θ
∗
d
z
∗
=
W
L
−
1
d
i
a
g
[
σ
′
(
z
L
−
1
)
]
W
L
−
2
d
i
a
g
[
σ
′
(
z
L
−
2
)
]
⋅
⋅
⋅
W
2
d
i
a
g
[
σ
′
(
z
2
)
]
W
1
\frac{\mathrm{d}\mathbf{u}_{\mathbf{\theta}}^*}{\mathrm{d}\mathbf{z}^*}=\mathbf{W}_{L-1}\mathrm{diag}{\left[\sigma^{\prime}\left(\mathbf{z}_{L-1}\right)\right]}\mathbf{W}_{L-2}\mathrm{diag}{\left[\sigma^{\prime}\left(\mathbf{z}_{L-2}\right)\right]}\cdotp\cdotp\cdotp\mathbf{W}_2\mathrm{diag}{\left[\sigma^{\prime}\left(\mathbf{z}_{2}\right)\right]}\mathbf{W}_1
dz∗duθ∗=WL−1diag[σ′(zL−1)]WL−2diag[σ′(zL−2)]⋅⋅⋅W2diag[σ′(z2)]W1
这是 PINN 计算 PDE 损失的基础。基于这些方程,我们从初始化和训练两个方面粗略地研究了 VLT 对神经网络的影响。
我们的神经网络采用了著名的 Glorot 初始化,其目的是确保每层的方差相等,从而减轻梯度爆炸和消失。该目标的前提是输入数据落入激活函数的线性区间,这通常不需要额外考虑,因为总是应用数据标准化。然而,如果对输入数据应用局部归一化,则等方差可能会失败,因为输入数据的范围可能很大或很小。在这种情况下,输出数据的均值和方差的推导可能会很复杂,因此我们通过数值实验进行了研究
如上图所示,从中可以得出两个结论。首先,随着 L 的增加, L < 10 L<10 L<10 时输出的方差会增加,因为输入落入激活函数的线性区间,但由于激活函数的范围有限, L > 10 L>10 L>10 时输出的方差不会发生太大变化。这个结果表明,对于较大的 β \beta β, u θ ∗ 和 u ∗ u_\theta^*和 u^* uθ∗和u∗之间的初始差不会随着 β \beta β 的变化而发生很大变化,因此 β \beta β 的选择不会影响 α \alpha α 的选择,这就是本文的情况。其次,对于 tanh \tanh tanh 和大 L L L,随着 L L L 的增加,偏微分方程算子的初始分布变得更接近于零,这意味着更多的物理初始化,而对于小 L L L,初始场变得更少物理。该结果表明选择较大的 β \beta β 并选择 tanh \tanh tanh 而不是 sin \sin sin 作为激活函数,因为“更多物理初始化”对于 sin \sin sin 来说并不正确。 tanh \tanh tanh 和 sin \sin sin 的差异行为可以用上述一阶导数等式来解释。对于大输入,虽然 σ ’ \sigma’ σ’ 对于 sin \sin sin 不会变得接近于零,但对于 tanh \tanh tanh 会变得接近于零,从而导致导数和 PDE 运算符接近于零。此外,选择 tanh \tanh tanh 而不是 sin \sin sin 的另一个原因来自于物理直觉:本文讨论的流场除了一个狭窄的区间外,具有相对简单的分布,这自然与 tanh \tanh tanh 的形状相匹配,因此也可以被视为基于物理学的选择。
VLT 解决薄层流问题的三个原则
基于以上分析,我们提出了VLT参数确定的三个原则,其中前两个原则也是PON的自然应用:
- 原则一:因变量的幅度归一化,即 u u u。具体来说,对因变量进行变换,使其最大绝对值的数量级 (OOM) 均为 O(1),即在范围[1,10]内。 α \alpha α 的选择满足了这一原则。
- 原则二:自变量的局部标准化,即 z z z。具体来说,对自变量进行变换,使得在每个维度上,唯一的窄复薄层区间尽可能与激活函数的线性区间匹配,对于 tanh \tanh tanh 来说约为 [-2, 2]。通过 β \beta β 和 δ \delta δ 的选择可以满足这一原则。其背后的机制是,神经网络在激活函数的线性区间内学习样本的能力很强,但对于区间外的样本学习能力较弱,因为那里的损失梯度几乎消失。由于窄区间外的简单流场很容易学习,因此梯度消失不会对那里的学习产生太大影响。
- 原则三:适当缩放物理相关参数,即 λ \lambda λ。具体来说,通过 λ i ∗ = γ i λ i \lambda_i^* = \gamma_i\lambda_i λi∗=γiλi 将物理相关参数缩放到适当的大小。背后的原因是需要分别为幅度较小和较大的 λ \lambda λ 分量设置较小和较大的学习率。由于 γ \gamma γ 以倒数的方式改变 λ \lambda λ 的学习率,小 λ \lambda λ 需要大 γ \gamma γ,大 λ \lambda λ 需要小 γ \gamma γ,这相当于将 λ ∗ \lambda^* λ∗ 设置为合适的大小。只有在学习 λ \lambda λ 的反问题时才需要考虑这个原则。
以案例 1 和案例 10 为例,如下图所示。
对于案例1, u u u 和 v v v 的最大绝对值约为 0.05 和 0.01,因此我们根据原则一设置 α u = 100 \alpha_u = 100 αu=100 和 α v = 1000 \alpha_v = 1000 αv=1000。同样,对于案例10,设置 α u = 1 \alpha u = 1 αu=1 和 α v = 0.01 \alpha v = 0.01 αv=0.01。至于 β \beta β 和 δ \delta δ 的选择,薄层的位置是显而易见的。对于案例 1,解在 [0, 0.02] 中的 x x x 具有较高的 x x x 梯度,在 [0, 0.02] 中的 y y y 具有较高的 y y y 梯度,这是一个粗略的观察,因此我们可以简单地设置 β x = β y = 100 \beta_x = \beta_y = 100 βx=βy=100 和 δ x = δ y = 0 \delta_x = \delta_y = 0 δx=δy=0。对于案例 10,解在 [0.18, 0.2] 中的 x x x 具有较高的 x x x 梯度,但在整个 y y y 维度上表现平滑,这是一种各向异性,因此我们可以设置 β x = 100 \beta_x = 100 βx=100,根据原理二, β y = 1 、 δ x = 0.2 \beta_y = 1、\delta_x = 0.2 βy=1、δx=0.2 且 δ y = 0 \delta_y = 0 δy=0。
对于所有情况,上表中列出了解的范围和狭窄复杂薄层区间的位置,根据类似于上述的分析,可以确定因变量和自变量的 VLT 参数。从下表可以看出,一些计算域被转换为[0, 100],这是相当宽的,显示了我们的VLT和传统VLT之间的区别,其中域总是转换为单位域,例如[0 , 1] 或 [-1, 1]。
对于未知 ν \nu ν 反问题中 γ \gamma γ 的确定,对于我们的情况,我们发现 ν ∗ = γ ν ν \nu^* = \gamma_\nu \nu ν∗=γνν 的适当 OOM 为 O ( 1 0 − 3 ) O(10^{-3}) O(10−3) 到 O ( 1 0 − 1 ) O(10^{-1}) O(10−1),这将在稍后详细讨论,我们默认取 O ( 1 0 − 1 ) O(10^{-1}) O(10−1) 。下表显示了 γ ν \gamma_\nu γν 的确定,其中我们假设 ν t r u e ν_{true} νtrue的 OOM 已知,因此可以设置初始值 ν 0 ν_0 ν0。
可以清楚地看到,这三个原则都是为了鲁棒的学习过程:原则一可以通过避免太大或太小的损失梯度来有利于训练,原则二需要更好的匹配薄层区间到激活函数的线性区间,而原则三可能更明显,其目的是为不同大小的物理相关参数设置合适的学习率。此外,虽然原则二是针对薄层流动问题而设计的,但原则一和三没有这种限制,并且可以适用于任何问题,这说明了我们方法的普适性。值得强调的是,这些原则旨在给出粗略但适当大小的VLT参数,而不是具有许多精确数字的值。因此,所需的先验知识非常容易,包括因变量和物理相关参数的近似大小,以及薄层的近似位置和厚度。
其他设置
我们基于 PINN 库 DeepXDE实现计算,并使用 Pytorch 作为后端。我们采用的神经网络都是最简单的全连接前馈神经网络,有6个隐藏层,每层50个神经元,默认激活函数是 tanh \tanh tanh。方程中的损失权重 w w w 均设为 1。对于所有情况,我们使用 Adam 优化器训练 20000 次迭代,初始学习率为 0.001,每 1000 次迭代的衰减率为 0.8。此外,对于所有轴对称情况,偏微分方程都乘以项 ( y ∗ − β y δ y ) (y^*-\beta_y\delta_y) (y∗−βyδy) 以避免分母为零。
对于训练点,虽然它们通常以随机方式采样,但我们根据狭窄复杂薄层区间的近似位置的先验知识来更精细地进行采样。例如,当射流的复区间薄层接近 x = 0 x = 0 x=0 和 y = 0 y = 0 y=0 时,PDE 和 BC 残差点以指数方式朝这些位置变得更密集,如下图所示。
对于流场在 x x x 维度上表现简单的情况,例如边界层,残差点在该维度上均匀排列。对于所有情况,PDE 和 BC 剩余点的数量分别为 18000 和 480,但案例 7 除外,其中由于其周长较长,分配了 560 BC 残差点。值得一提的是,虽然在高梯度区域上采样更多点很简单,但单独使用这种网格聚类实践的有效性是有限的。只有与 VLT 相结合,降低高梯度并改善薄层引起的内在病理学,PINN才能成功解决问题。在反演问题中,BC残差点被丢弃(以及BC损失),观测点以2cm的间距均匀分布,如上图所示。采用均匀观测,排除任何特殊的采样策略,这也类似于实际实验中传感器的分布。
结果
正问题
上表总结了前向问题的评估指标结果,表明采用VLT技巧时PINN具有良好的整体性能。由于未知原因,该模型对于尾流的 v 分量(情况 5 和 6)表现相对较差,尽管它是使用不同 VLT 参数的计算中最好的性能。由于结果并没有那么糟糕,并且 v 分量在尾流中不如 u 分量重要,因此我们没有付出额外的努力来改进此结果。在本节中,为了证明VLT的有效性并验证所提出的原理,给出了一些比较研究,包括α、β、δ和激活函数的效果。补充材料中给出了所有 10 个案例的完整结果,包括以等值线图和线图形式对预测流场和参考流场进行比较。
α \alpha α的作用
上图给出了不同 α \alpha α 的 VLT-PINN 解的结果,其中选择案例 5 和案例 7 是因为它们具有特征速度,以便可以使用基于无量纲速度的结果进行比较。可以看出,VLT原则一提出的 α \alpha α 的OOM结果在不同OOM的结果中表现最好,说明了VLT原则一的正确性。值得强调的是,使用无量纲速度的VLT-PINN,即 α u = α v = 1 / ( 特征速度 ) \alpha_u = \alpha_v = 1/(特征速度) αu=αv=1/(特征速度),无法解决问题,说明并不总是建议常用的无量纲方法,特别是对于不同OOM的速度分量的问题,使用相同的比例因子不能满足PON。下图比较了具有两组不同 α \alpha α 的 VLT-PINN 之间的预测场,进一步说明了上述结论。
β \beta β 的作用
上图给出了不同 β \beta β 的 VLT-PINN 解的结果,其中 β = 5 \beta=5 β=5 的选择是将 0.2 缩放到 1,从而构造一个单位计算域 [0, 1]×[0, 1] 或 [-1 , 0]×[0, 1],这是一种全局归一化。下图将 VLT-PINN 之间的预测场与全局归一化和 VLT 原理 2(局部归一化)建议的 β \beta β 进行了比较。
从这两个图中,VLT原则二的有效性和全局标准化的失败是显而易见的。此外,与案例 1 相比,案例 9 的各向异性更强,因为场仅在 x x x 维度快速变化,这就是为什么其结果对 β y \beta_y βy 的敏感度不如案例 1。更重要的是,案例 9 的结果还说明了对于各向异性问题,在不同维度上使用不同的特征长度( 1 / β 1/\beta 1/β)的重要性。
δ \delta δ 的作用
对于 δ \delta δ 的影响,我们只比较了窄复区间薄层是否平移到接近零的结果。
如上图所示,从中可以看出这种平移的必要性。这种转换的主要机制是将狭窄的复杂薄层区间与激活函数的线性区间相匹配,如 VLT 原则二中所述。出于同样的原因, δ = − μ \delta = -\mu δ=−μ 的结果可能会很糟糕,其中相应的自变量被变换为具有零均值,这是缺乏先验知识的常见做法。
激活函数的作用
上表将 VLT-PINN 解决方案的结果与 tanh \tanh tanh 和 sin \sin sin 的激活函数进行了比较,其中 tanh \tanh tanh 在大多数情况下优于 sin \sin sin。对于案例4、5和9,虽然 sin \sin sin 的结果比 tanh \tanh tanh 好一点,但后者已经相当不错了。因此,前面提到的 tanh \tanh tanh 比 sin \sin sin 更合适的猜想得到了定量的证实,这来自于 tanh \tanh tanh 的形状更符合本文讨论的问题类型的物理直觉。为了更清楚地说明这一点,下图比较了案例 2 中使用 tanh \tanh tanh 和 sin \sin sin 的解决方案,在使用 sin \sin sin 的情况中,它的表现最差。可以看出,两个激活函数都能很好求解小 x x x 的问题。然而,使用 sin \sin sin 的解在远场中表现出强烈的波动,而 tanh \tanh tanh 则没有,这与它们的远场特性完全吻合。
反问题:流场重建和粘度学习
上表总结了反演问题的结果。与 NN 数据拟合相比,VLT-PINN 不仅可以更准确地重建流场,而且可以从无噪声或有噪声的稀疏观测中推断出未知的粘度。尽管某些推断的粘度很差,但可以通过更密集的观察来改善它们,这不是我们的重点。接下来,我们将介绍一些 VLT 参数的比较研究,包括未讨论的 γ \gamma γ。
α \alpha α 和 β \beta β 的效果
上图给出了 VLT-PINN 对未知粘度反问题的求解结果,从中我们可以看出, α \alpha α 和 β \beta β 不仅影响流场重建的精度,而且还影响粘度推断的精度。在这 16 组参数中,VLT 原理建议的具有 α \alpha α 和 β \beta β 的 VLT-PINN 的性能分别是案例 5 和案例 1 中最好的和前三名,因此我们可以得出结论,VLT 原则一和二适用于逆问题以及。可以预见的是, δ \delta δ 和激活函数的影响与前向问题类似,所以我们没有研究这个。
γ \gamma γ 的效果
上表列出了案例 1 和案例 9 在不同 γ ν \gamma_\nu γν下的结果,
上图比较了具有两种不同 γ ν \gamma_\nu γν 的VLT-PINN之间的重建场。可以看出,只有适当大小的 γ ν \gamma_\nu γν 才能使 VLT-PINN 成功地重建流场并学习粘度,这证实了VLT原则三的正确性。在 γ ν = 1 \gamma_\nu = 1 γν=1 下推断出的负粘度表明,如果我们直接学习原始的物理相关的参数,这是 PINN 的默认做法,结果可能完全不物理。对于这两种情况, ν ∗ = γ ν ν \nu^* = \gamma_\nu \nu ν∗=γνν 的适当 OOM 可以是 O ( 1 0 − 3 ) O(10^{-3}) O(10−3) 到 O ( 1 0 − 1 ) O(10^{-1}) O(10−1),但这可能不是普遍建议,因为学习策略可能不同(例如学习率和优化器) ),它在学习粘度方面起着关键作用,超出了本文的范围。事实上, γ ν \gamma_\nu γν的机制正是以倒数的方式改变 ν \nu ν 的学习率。在下图中可以清楚地看到,它表明 γ ν \gamma_\nu γν 越大,学习过程变慢,说明小 γ ν \gamma_\nu γν 和大 γ ν \gamma_\nu γν 的失败分别是由于学习不稳定和收敛缓慢。
总结
本文提出了 VLTPINN 来求解线性变换变量的 DE 系统,而不是原始变量。在对 VLT 对 NN 初始化和训练的影响进行粗略的先验分析后,确定了确定 VLT 参数的三个原则:因变量的幅度归一化(原则 1)、自变量的局部归一化(原则 2)以及适当的缩放反演问题中与物理相关的参数(原则 3)。前两个原则基于归一化原则 (PON) 以及 DE 系统与神经网络偏好的更好匹配:原则 1 可以通过引入适当大小的损失梯度来有利于训练,而原则 2 则导致狭窄的复杂薄层区间与激活函数的线性区间更好的匹配。原则3可能更明显,其机制是为不同大小的物理相关参数设置合适的学习率。
文中也提到过输入输出变换不太合适,但在后面的实验中并没有体现出二者的差别。个人认为除了PDE参数的放缩外,其余部分与输入输出变换没有区别。而且参数的确定极度依赖先验知识,这在正问题中似乎很难得到满足,在反问题中或许可以借助已知数据使其具有一定的可行性,但对于PDE参数的放缩系数并没有给出较为合理的解释(“经试验观察”)。
相关链接: