论文阅读:Reliable extrapolation of deep neural operators informed by physics or sparse observations
Reliable extrapolation of deep neural operators informed by physics or sparse observations
深度神经算子的外推
神经网络通常仅限于解决插值问题,即推理仅对于训练集分布内的输入是准确的,而如果新输入超出训练集的分布(即,外推)则神经网络的预测会出现较大的误差。
上图中提供了一个说明性示例,其中训练了两个全连接神经网络(三个隐藏层、每层 64 个神经元和 ReLU 激活函数)来学习真实函数 y = sin ( 2 π x ) y = \sin(2\pi x) y=sin(2πx)。训练数据是 [ 0 , 1 ] [0, 1] [0,1] 域内的 100 个等距点。训练后,两个神经网络在插值区域表现良好。然而,这两个网络在外推区域 ( x < 0 或 x > 1 ) (x < 0 或 x > 1) (x<0或x>1)具有非常大的预测误差。在 DeepONets 中也观察到了这种外推困难。
DeepONet
为了明确算子学习的定义,考虑在域
D
⊂
R
d
D\subset\mathbb{R}^d
D⊂Rd 上定义的函数
v
v
v 的函数空间
V
\mathcal{V}
V:
v
:
D
∋
x
↦
v
(
x
)
∈
R
v:D\ni x\mapsto v(x)\in\mathbb{R}
v:D∋x↦v(x)∈R
以及定义在域
D
′
⊂
R
d
′
D'\subset\mathbb{R}^{d'}
D′⊂Rd′ 上的函数
u
u
u 的另一个函数空间
U
U
U :
u
:
D
′
∋
ξ
↦
u
(
ξ
)
∈
R
u:D^{\prime}\ni\xi\mapsto u(\xi)\in\mathbb{R}
u:D′∋ξ↦u(ξ)∈R
设
G
\mathcal{G}
G 是将
V
\mathcal{V}
V 映射到
U
\mathcal{U}
U 的运算符:
G
:
V
→
U
,
v
↦
u
\mathcal{G}:\mathcal{V}\to\mathcal{U},\quad v\mapsto u
G:V→U,v↦u
DeepONet根据神经网络的万能逼近定理来学习算子
G
\mathcal G
G 。
如上图所示DeepONet 由两个子网络组成:主干网络和分支网络。对于
D
D
D 中
m
m
m 个分散位置
{
x
1
,
x
2
,
…
,
x
m
}
\{x_1, x_2, \dots , x_m\}
{x1,x2,…,xm} ,分支网络采用函数结果
[
v
(
x
1
)
,
v
(
x
2
)
,
…
,
v
(
x
m
)
]
[v(x_1), v(x_2), \dots, v(x_m)]
[v(x1),v(x2),…,v(xm)] 作为输入,分支网络的输出为
[
b
1
(
v
)
,
b
2
(
v
)
,
…
,
b
p
(
v
)
]
[b_1(v), b_2(v), \dots, b_p(v)]
[b1(v),b2(v),…,bp(v)],其中
p
p
p 是神经元的数量。主干网络以
ξ
\xi
ξ 作为输入,输出
[
t
1
(
ξ
)
,
t
2
(
ξ
)
,
…
,
t
p
(
ξ
)
]
[t_1(\xi), t_2(\xi),\dots, t_p(\xi)]
[t1(ξ),t2(ξ),…,tp(ξ)]。然后,通过主干和分支输出的内积,DeepONet 的输出为:
G
(
v
)
(
ξ
)
=
∑
k
=
1
p
b
k
(
v
)
t
k
(
ξ
)
+
b
0
\mathcal{G}(v)(\xi)=\sum_{k=1}^pb_k(v)t_k(\xi)+b_0
G(v)(ξ)=k=1∑pbk(v)tk(ξ)+b0
其中
b
0
∈
R
b_0\in\mathbb{R}
b0∈R 是偏差。
具体来说,
示例一:考虑如下ODE:
d
u
(
x
)
d
x
=
v
(
x
)
,
x
∈
[
0
,
1
]
\frac{du(x)}{dx}=v(x),\quad x\in[0,1]
dxdu(x)=v(x),x∈[0,1]
初始条件为
u
(
0
)
=
0
u(0) = 0
u(0)=0。DeepONet 需要学习如下解算子,即反导算子:
G
:
v
(
x
)
↦
u
(
x
)
=
∫
0
x
v
(
τ
)
d
τ
.
\mathcal{G}:v(x)\mapsto u(x)=\int_0^xv(\tau)d\tau.
G:v(x)↦u(x)=∫0xv(τ)dτ.
示例二:考虑如下扩散反应方程:
∂
u
∂
t
=
D
∂
2
u
∂
x
2
+
k
u
2
+
v
(
x
)
,
x
∈
[
0
,
1
]
,
t
∈
[
0
,
1
]
\frac{\partial u}{\partial t}=D\frac{\partial^2u}{\partial x^2}+ku^2+v(x),\quad x\in[0,1],t\in[0,1]
∂t∂u=D∂x2∂2u+ku2+v(x),x∈[0,1],t∈[0,1]
初始条件和边界条件为零。在此示例中,
k
k
k 和
D
D
D 设置为
0.01
0.01
0.01。 DeepONet 经过训练,可以学习从源项
v
(
x
)
v(x)
v(x) 到解
u
(
x
,
t
)
u(x, t)
u(x,t) 的映射:
G
:
v
(
x
)
↦
u
(
x
,
t
)
\mathcal{G}:v(x)\mapsto u(x,t)
G:v(x)↦u(x,t)
插值与外推的定义
当使用 DeepONets 学习算子
G
:
v
(
x
)
↦
u
(
ξ
)
\mathcal{G}:v(x)\mapsto u(\xi)
G:v(x)↦u(ξ) 时,通常通过从零均值高斯随机场(GRF;或高斯过程(GP))空间中随机采样输入函数
v
v
v 来生成训练数据集具有预定义的协方差核
k
l
(
x
1
,
x
2
)
k_l(x_1, x_2)
kl(x1,x2):
v
(
x
)
∼
G
P
(
0
,
k
l
(
x
1
,
x
2
)
)
v(x)\sim\mathcal{GP}(0,k_l(x_1,x_2))
v(x)∼GP(0,kl(x1,x2))
核的典型选择是径向基函数核(或平方指数核、高斯核):
k
l
(
x
1
,
x
2
)
=
exp
(
−
∥
x
1
−
x
2
∥
2
2
l
2
)
k_l(x_1,x_2)=\exp\left(-\frac{\|x_1-x_2\|^2}{2l^2}\right)
kl(x1,x2)=exp(−2l2∥x1−x2∥2)
其中
l
>
0
l > 0
l>0 是相关长度。
l
l
l 的值决定了采样函数的平滑度,
l
l
l 越大,函数越平滑。从不同
l
l
l 的 GRF 空间中随机采样的几个函数如下图所示:
可以看到较大的 l l l 会导致函数更平滑。因此,如果训练的相关长度 ( l t r a i n l_{train} ltrain) 与测试的相关长度 ( l t e s t l_{test} ltest) 不同,则为外推 (Ex.)。外推的程度可以通过 l t r a i n l_{train} ltrain 和 l t e s t l_{test} ltest 之间的差异来表示。
对于这两个问题,本文选择范围为 { 0.1 , 0.2 , … , 1.0 } \{0.1, 0.2, \dots ,1.0\} {0.1,0.2,…,1.0}。训练数据集大小选择为1000。在具有不同 l t r a i n l_{train} ltrain 和 l t e s t l_{test} ltest 的数据集上训练和测试的DeepONets的 L 2 L^2 L2相对误差如下所示。
如A和B所示。当
l
t
r
a
i
n
=
l
t
e
s
t
l_{train} = l_{test}
ltrain=ltest 时(A和B,对角虚线),训练函数和测试函数是从同一空间采样的,因此是插值,误差小于
1
0
−
2
10^{−2}
10−2。在右下
l
t
r
a
i
n
>
l
t
e
s
t
l_{train} \gt l_{test}
ltrain>ltest 的区域,DeepONet 的误差较大。当
l
t
r
a
i
n
<
l
t
e
s
t
l_{train} \lt l_{test}
ltrain<ltest 时(A和B,左上区域),虽然是外推,但DeepONet仍然有很小的误差,即DeepONet可以准确地预测更平滑的函数。因此,有如下三种情况:
Prediction
=
{
Interpolation( In.)
,
when
l
t
r
a
i
n
=
l
t
e
s
t
,
Ex.
−
,
when
l
t
r
a
i
n
<
l
t
e
s
t
,
Ex.
+
,
when
l
t
r
a
i
n
>
l
t
e
s
t
.
\text{Prediction}=\begin{cases} \text{Interpolation( In.)} ,& \text{when}\,\,l_{train}=l_{test},\\ \text{Ex.}^-,& \text{when}\,\,l_{train}<l_{test},\\ \text{Ex.}^+,& \text{when}\,\,l_{train}>l_{test}.\\ \end{cases}
Prediction=⎩
⎨
⎧Interpolation( In.),Ex.−,Ex.+,whenltrain=ltest,whenltrain<ltest,whenltrain>ltest.
这里,具有较小
l
l
l(即,不太平滑)的函数的外推由
Ex.
+
\text{Ex.}^+
Ex.+ 表示,而具有较大
l
l
l(即,更平滑)的函数的外推由
Ex.
−
\text{Ex.}^-
Ex.− 表示。
同时,本文使用不同级别的外推测试了 DeepONet。为了量化外推复杂度,本文使用 2-Wasserstein (W2) 度量测量两个 GRF 之间的距离。
考虑在空间
X
X
X 上定义的两个高斯过程
f
1
∼
G
P
(
m
1
,
k
1
)
f_1\sim\mathcal{GP}(m_1,k_1)
f1∼GP(m1,k1) 和
f
2
∼
G
P
(
m
2
,
k
2
)
f_2\sim\mathcal{GP}(m_2,k_2)
f2∼GP(m2,k2),其中
m
1
,
m
2
m_1, m_2
m1,m2 是均值函数,
k
1
,
k
2
k_1, k_2
k1,k2 是协方差函数。协方差函数
k
i
k_i
ki 与协方差算子
K
i
:
L
2
(
X
)
→
L
2
(
X
)
K_i:L^2(X)\to L^2(X)
Ki:L2(X)→L2(X) 相关联,由下式给出:
[
K
i
ϕ
]
(
x
)
=
∫
X
k
i
(
x
,
s
)
ϕ
(
s
)
d
s
,
∀
ϕ
∈
L
2
(
X
)
[K_i\phi](x)=\int_Xk_i(x,s)\phi(s)ds,\quad\forall\phi\in L^2(X)
[Kiϕ](x)=∫Xki(x,s)ϕ(s)ds,∀ϕ∈L2(X)
然后两个 GPs
f
1
f_1
f1 和
f
2
f_2
f2 之间的
W
2
W_2
W2 度量为:
W
2
(
f
1
,
f
2
)
:
=
{
∥
m
1
−
m
2
∥
2
2
+
Tr
[
K
1
+
K
2
−
2
(
K
1
1
2
K
2
K
1
1
2
)
1
2
]
}
1
2
W_2(f_1,f_2):=\left\{\|m_1-m_2\|_2^2+\text{Tr}\left[K_1+K_2-2\left(K_1^{\frac{1}{2}}K_2K_1^{\frac{1}{2}}\right)^{\frac{1}{2}}\right]\right\}^{\frac{1}{2}}
W2(f1,f2):={∥m1−m2∥22+Tr[K1+K2−2(K121K2K121)21]}21
其中
T
r
Tr
Tr 是迹。根据定义,
W
2
W^2
W2 距离越大表示两个 GRF 空间之间的差异越大。
在上图A、B、C中显示了具有不同相关长度的每对 GRF 之间的测试误差。其误差与
W
2
W^2
W2距离的关系如D、E 和 F所示。可以发现外推误差随着两个 GRF 空间之间的
W
2
W^2
W2 距离而增加。特别地,对于 ODE 问题,有:
Error
∝
W
2
1.7
\text{Error }\propto W_2^{1.7}
Error ∝W21.7
对于系数
k
=
0.01
k = 0.01
k=0.01 的扩散反应方程,有:
Error
∝
W
2
2.1
\text{Error }\propto W_2^{2.1}
Error ∝W22.1
对于系数
k
=
0.5
k = 0.5
k=0.5 的扩散反应方程,有:
Error
∝
W
2
1.9
\text{Error }\propto W_2^{1.9}
Error ∝W21.9
因此,训练空间和测试空间之间的
W
2
W^2
W2距离可以用作外推复杂度的度量。
可以发现,不同问题的测试误差收敛速度不同。对于扩散反应方程, k k k 的值对收敛速度有影响。为了进一步确认 k k k 对收敛速度的影响是否显着,计算上述两个收敛速度的 95% 置信区间为 [2.01, 2.25] 和 [1.79, 1.92],以及两个的 p 值双面 T 检验为 0.0001,这意味着收敛速度差异显着。此外,可以观察到,对于较大的 k k k 值,外推误差增长较慢,这是一个令人惊讶的结果,因为较大的 k k k 会导致偏微分方程更强的非线性。这只是初步结果,还需要在今后的工作中进一步研究。
外推误差
为了进一步理解外推误差,本文以扩散反应方程为例,研究导致外推误差的几个因素。除非另有说明,本文使用以下超参数。 DeepONet 有一个用于分支网络的隐藏层和两个用于主干网络的隐藏层,每层有 100 个神经元。分支网络和主干网络的激活函数都是 ReLU。训练数据集的相关长度为 l t r a i n = 0.5 l_{train} = 0.5 ltrain=0.5。在这种情况下, l t e s t < 0.5 、 l t e s t > 0.5 l_{test} \lt 0.5、l_{test} \gt 0.5 ltest<0.5、ltest>0.5 和 l t e s t = 0.5 l_{test} = 0.5 ltest=0.5 分别表示 Ex. + \text{Ex.}^+ Ex.+ 、 Ex. − \text{Ex.}^- Ex.− 和插值。 DeepONets 使用 Adam 优化器进行训练,学习率为 0.001,迭代次数为 500,000 次。
观察上图可以发现
- 与插值测试误差的经典 U 形偏差-方差权衡曲线类似, Ex. + \text{Ex.}^+ Ex.+ 对于网络大小和训练迭代次数也有 U 形曲线。与插值相比, Ex. + \text{Ex.}^+ Ex.+ 具有较大的误差和较早的过渡点。
- 增加训练数据集大小可以提高 Ex. + \text{Ex.}^+ Ex.+ 的准确性。
- 不同的激活函数对于 Ex. + \text{Ex.}^+ Ex.+ 的表现不同。逐层局部自适应激活函数(L-LAAF)稍微优于相应的非自适应激活函数。
外推法的偏差-方差权衡
机器学习的核心原则之一是偏差-方差权衡 ,这意味着随着模型容量的增长,插值测试误差呈 U 形曲线,而训练误差单调下降。 U 形曲线的底部是在平衡偏差和方差的过渡点处实现的。在转换点的左侧,模型欠拟合,在右侧,模型过拟合。有几个因素会影响模型容量,例如网络大小和训练迭代。在这里,发现 Ex. + \text{Ex.}^+ Ex.+ 的测试误差也有一个U形曲线。
为了研究网络大小的影响,选择从 1 到 500 的不同网络宽度。使用较小的训练数据集 100,以便更容易地观察过度拟合。测试数据集的相关长度在0.2到0.6之间选择。对于固定的测试数据集,可以观察到 U 形曲线(图 B)。此外, Ex. + \text{Ex.}^+ Ex.+ 的欠拟合和过拟合之间的过渡点(如图 B 中的箭头所示)比插值出现得更早。
接下来,研究 DeepONet 训练过程中欠拟合和过拟合的两个阶段。使用由 0.1 到 0.5 之间的不同相关长度 l test l_\text{test} ltest 生成的五个测试数据集。如图C所示,较小的 l test l_\text{test} ltest 会导致整个训练过程中较大的外推误差。此外,对于较小的 l test l_\text{test} ltest ,欠拟合和过拟合之间的过渡点(如图 C 中的箭头所示)出现得更早。
在这里,观察了插值和外推测试误差的经典 U 形曲线。然而,最近在神经网络中观察到了“双下降”测试误差曲线,即当模型容量进一步增加时,在某一点之后测试误差会再次下降。本文没有观察到 DeepONet 的双重下降行为,一个可能的原因是模型容量不够大。
训练数据集大小
接下来,探讨训练数据集大小在内插和外推情况下的影响。数据集大小范围从10到2000,在图D中显示了四个数据集的测试误差。众所周知,更大的训练数据集可以带来更好的插值精度。如图 D 所示,对于外推法,较大的训练数据集仍会导致较小的测试误差。然而,随着数据集大小的增大,改进呈现出递减的趋势。
激活函数
DeepONet 的准确性取决于的另一个因素是激活函数。为了评估激活函数的效果,对于主干网络,考虑深度学习中广泛使用的四种激活函数,包括双曲正切(tanh)、修正线性单元(ReLU、max(0, x))、sigmoid 线性单位 (SiLU,
x
1
+
e
−
x
\frac{x} {1+e^{−x}}
1+e−xx ) 和高斯误差线性单位 (GELU,
x
⋅
1
2
[
1
+
erf
(
x
/
2
)
)
]
x· \frac 1 2 [1 + \text{erf}(x/\sqrt2)) ]
x⋅21[1+erf(x/2))])。此外,本文还探索了由下式定义的帽子激活函数:
Hat
(
x
)
:
=
{
0
,
x
<
0
o
r
x
≥
2
,
x
,
0
≤
x
<
1
,
2
−
x
,
1
≤
x
<
2.
\operatorname{Hat}(x):=\begin{cases}0,&x<0\mathrm{~or~}x\geq2,\\x,&0\leq x<1,\\2-x,&1\leq x<2.\end{cases}
Hat(x):=⎩
⎨
⎧0,x,2−x,x<0 or x≥2,0≤x<1,1≤x<2.
对于分支网络,仍然使用 ReLU。训练和测试数据集的相关长度分别为
l
train
=
0.5
l_\text{train}=0.5
ltrain=0.5 和
l
test
=
0.3
l_\text{test}=0.3
ltest=0.3 。 ReLU 和 Hat 具有相似的结果,并且优于其余激活函数(图 E)。尽管在一定次数的训练迭代后出现过拟合,GELU 也表现出了令人满意的性能。
除了这些常用的激活函数之外,还考虑了 σ ( n ⋅ a ⋅ x ) \sigma(n·a·x) σ(n⋅a⋅x) 形式的逐层局部自适应激活函数(L-LAAF),其中 σ \sigma σ 是标准激活函数, n n n 是缩放因子, a a a 是可训练参数。 L-LAAF在每一层引入可训练参数,从而导致激活函数的局部自适应。 L-LAAF的性能取决于缩放因子 n n n,因此本文从1、2、5和10中对 n n n 进行网格搜索。在其他设置保持不变的情况下,具有最佳 n n n 的 L-LAAF 稍微优于非自适应激活函数(图 F)。 L-LAAF-Hat和L-LAAF-ReLU在五个激活函数中表现最好,最重要的是减轻了过度拟合的趋势。
用于安全外推的可靠学习方法
额外假设
一般来说,对外推法进行准确的预测是非常困难的。因此,为了减少外推误差,有必要获得额外的信息。在这里,考虑以下两种情况并开发相应的方法来解决外推问题:
-
物理:知道系统的控制偏微分方程和/或物理约束:
F [ u ; v ] = 0 \mathcal F [u;v]=0 F[u;v]=0
具有合适的初始条件和边界条件:
B [ u ; v ] = 0 \mathcal B [u;v]=0 B[u;v]=0 -
稀疏观察:在 N obs N_\text{obs} Nobs 位置对输出函数 u = G ( v ) u = \mathcal G(v) u=G(v) 进行稀疏观测:
D = { ( ξ 1 , u ( ξ 1 ) ) , ( ξ 2 , u ( ξ 2 ) ) , … , ( ξ N o b s , u ( ξ N o b s ) ) } \mathcal{D}=\left\{(\xi_{1},u(\xi_{1})),(\xi_{2},u(\xi_{2})),\ldots,(\xi_{N_{\mathrm{obs}}},u(\xi_{N_{\mathrm{obs}}}))\right\} D={(ξ1,u(ξ1)),(ξ2,u(ξ2)),…,(ξNobs,u(ξNobs))}
由于本文的目标是处理任何输入函数 v v v,因此第一步是确定 v v v 是否处于插值或外推区域。如果是插值,那么它就变得微不足道了,即只需要通过训练好的 DeepONet 来预测输出即可;否则,需要通过所提出的方法进行推断。整个工作流程如下图所示:
插值与外推的确定
确定插值或外推的一种方法是将新函数 v v v 与训练数据集中的函数进行比较。如果 v v v 不如训练函数平滑,则为外插,否则为插值。在这里,因为有物理或观察的额外信息,所以可以通过预训练的 DeepONet 预测输出 u ~ \tilde{u} u~,即 u ~ = G θ ( v ) \tilde{u}=\mathcal{G}_{\boldsymbol{\theta}}(v) u~=Gθ(v),然后检查是否与物理 F \mathcal{F} F 或观测值 D \mathcal{D} D 一致。
具体来说,本文建议计算以下失配误差之一:
-
物理失配误差,即平均 PDE 残差:
E p h y s = 1 A r e a ( Ω ) ∫ Ω ∣ F [ u ~ ; v ] ∣ d ξ , \mathcal{E}_{\mathrm{phys}}=\frac1{\mathrm{Area}(\Omega)}\int_{\Omega}|\mathcal{F}[\tilde{u};v]|d\xi, Ephys=Area(Ω)1∫Ω∣F[u~;v]∣dξ,
其中 Ω \Omega Ω 是偏微分方程的域。 -
观测值的失配误差,即相对平方根误差 (RRSE):
E o b s = ∑ i = 1 N o b s ( u ~ ( ξ i ) − u ( ξ i ) ) 2 ∑ i = 1 N o b s u 2 ( ξ i ) . \mathcal{E}_\mathrm{obs}=\sqrt{\frac{\sum_{i=1}^{N_\mathrm{obs}}(\tilde{u}(\xi_i)-u(\xi_i))^2}{\sum_{i=1}^{N_\mathrm{obs}}u^2(\xi_i)}}. Eobs=∑i=1Nobsu2(ξi)∑i=1Nobs(u~(ξi)−u(ξi))2.
为了验证 E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 是插值和外推的良好度量,本文以扩散反应方程为例。使用从 l train = 0.5 l_\text{train}=0.5 ltrain=0.5 的 GRF 中采样的函数来训练 DeepONet,然后计算从具有不同相关长度 l l l 的 GRF 中随机采样的不同函数的 E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 。
将 l = l train l = l_\text{train} l=ltrain 时的 E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 值表示为 ϵ 0 \epsilon_0 ϵ0。在插值和 Ex. − \text{Ex.}^- Ex.− 区域,即 l ≥ l train l \ge l_\text{train} l≥ltrain , E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 值接近 ϵ 0 \epsilon_0 ϵ0(图 A)。在 Ex. + \text{Ex.}^+ Ex.+ 区域,即 l < l train l \lt l_\text{train} l<ltrain , E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 的值远大于 ϵ 0 \epsilon_0 ϵ0。而且,对于 2-Wasserstein距离较大的两个空间,失配误差也较大(图B)。因此,可以选择阈值 ϵ = α ϵ 0 \epsilon=\alpha\epsilon_0 ϵ=αϵ0,其中 α ≥ 1 \alpha≥1 α≥1 是用户指定的容差因子,然后将 E p h y s \mathcal{E}_{\mathrm{phys}} Ephys 和 E o b s \mathcal{E}_{\mathrm{obs}} Eobs 与 ϵ \epsilon ϵ 进行比较。如果 E p h y s > ϵ \mathcal{E}_{\mathrm{phys}} \gt \epsilon Ephys>ϵ 或 E o b s > ϵ \mathcal{E}_{\mathrm{obs}} \gt \epsilon Eobs>ϵ ,则为 Ex. + \text{Ex.}^+ Ex.+ ;否则,它是插值或 Ex. − \text{Ex.}^- Ex.− 。
通过物理微调进行外推 (FT-Phys)
首先讨论如何利用物理的附加信息进行推断。对于外推区域中的新输入
v
v
v,预训练的 DeepONet
G
θ
\mathcal G_\theta
Gθ 的预测
u
~
\tilde{u}
u~ 可能不满足 PDE。本文建议微调
G
θ
\mathcal G_\theta
Gθ 以最小化如下损失:
L
p
h
y
s
=
w
F
L
F
+
w
B
L
B
\mathcal{L}_\mathrm{phys}=w_{\mathcal{F}}\mathcal{L}_{\mathcal{F}}+w_{\mathcal{B}}\mathcal{L}_{\mathcal{B}}
Lphys=wFLF+wBLB
其中
L
F
\mathcal{L}_{\mathcal{F}}
LF 是 PDE 残差的损失:
L
F
=
1
∣
T
F
∣
∑
ξ
∈
T
F
∣
F
[
G
θ
(
v
)
(
ξ
)
;
v
]
∣
2
\mathcal{L}_{\mathcal{F}}=\frac1{|\mathcal{T}_{\mathcal{F}}|}\sum_{\xi\in\mathcal{T}_{\mathcal{F}}}|\mathcal{F}[\mathcal{G}_{\boldsymbol{\theta}}(v)(\xi);v]|^2
LF=∣TF∣1ξ∈TF∑∣F[Gθ(v)(ξ);v]∣2
其中
L
B
\mathcal{L}_{\mathcal{B}}
LB 是初始条件和边界条件的损失:
L
B
=
1
∣
T
B
∣
∑
ξ
∈
T
B
∣
B
[
G
θ
(
v
)
(
ξ
)
;
v
]
∣
2
\mathcal{L}_{\mathcal{B}}=\frac1{|\mathcal{T}_{\mathcal{B}}|}\sum_{\xi\in\mathcal{T}_{\mathcal{B}}}|\mathcal{B}[\mathcal{G}_{\boldsymbol{\theta}}(v)(\xi);v]|^2
LB=∣TB∣1ξ∈TB∑∣B[Gθ(v)(ξ);v]∣2
其中
w
F
w_\mathcal F
wF 和
w
B
w_\mathcal B
wB 是权重。
T
F
\mathcal T_\mathcal F
TF 和
T
B
\mathcal T_\mathcal B
TB 是分别在域中以及初始位置和边界位置上采样的两组点。 DeepONet 有两个子网络(分支网络和主干网络),因此可以选择对整个 DeepONet 进行微调,也可以只对一个子网络进行微调,而其他部分保持不变。此外,由于每个子网络都有多个层,也能只对子网络的某些层进行微调。在本研究中,考虑四种方法:(1)微调主干网络和分支网络(Branch&Trunk),(2)微调分支网络,(3)微调主干网络,以及(4)微调最后一层主干网(Trunk Last)。
由于分支网络输入固定为 v v v,因此这种微调方法的工作方式与 PINN 相同。与随机初始化的 PINN 相比,预训练的 DeepONet 提供了更好的初始化,这使得训练速度更快,特别是当外推复杂度较小时。所提出的方法也使用与物理通知的 DeepONets 相同的技术,但物理通知的 DeepONets 仍然需要目标函数空间进行训练。
通过稀疏新观测值的微调进行外推
利用等式中新的稀疏观测 D \mathcal D D 的信息,本文针对 Ex. + \text{Ex.}^+ Ex.+ 场景提出了几种不同的方法。与物理的微调类似,第一个提出的方法也是本着迁移学习的精神,即用新的观察结果对预训练的 DeepONet 进行微调。
仅使用新观测值进行微调 (FT-Obs-A):由于预训练的 DeepONet 与真实观测结果不一致,因此对 DeepONet 进行微调以更好地拟合观测结果。具体来说,通过最小化均方误差来进一步训练 DeepONet:
L
o
b
s
=
1
N
o
b
s
∑
i
=
1
N
o
b
s
(
G
θ
(
v
)
(
ξ
i
)
−
u
(
ξ
i
)
)
2
\mathcal{L}_{\mathrm{obs}}=\frac1{N_{\mathrm{obs}}}\sum_{i=1}^{N_{\mathrm{obs}}}(\mathcal{G}_{\boldsymbol{\theta}}(v)(\xi_i)-u(\xi_i))^2
Lobs=Nobs1i=1∑Nobs(Gθ(v)(ξi)−u(ξi))2
在这种方法中,仅使用新的观察结果进行微调,因此将其称为“单独微调”以区别于下一种方法。
上述方法简单,计算成本低。然而,由于 N o b s N_{obs} Nobs通常很小,因此可能存在过拟合的问题。它还可能存在灾难性遗忘的问题,即 DeepONet 在学习新的观察结果时会忘记以前学到的信息。考虑到训练数据集和新观测值都满足相同的算子 G \mathcal G G,因此它们可以同时由同一个 DeepONet 学习。因此,提出以下微调方法来防止过度拟合和灾难性遗忘。
使用训练数据和新观察结果进行微调 (FT-Obs-T):不是只用新的观察数据来拟合 DeepONet,而是通过损失函数使用新的观察数据和原始训练数据集 T 来微调预训练的 DeepONet:
L
T
,
o
b
s
=
L
T
+
λ
L
o
b
s
\mathcal{L}_{\mathcal{T},\mathrm{obs}}=\mathcal{L}_{\mathcal{T}}+\lambda\mathcal{L}_\mathrm{obs}
LT,obs=LT+λLobs
其中
L
T
\mathcal L_\mathcal T
LT 是
T
\mathcal T
T 的原始损失,例如 MSE 损失,
λ
\lambda
λ 是权重。
与上面的 FT-Obs-A 相比,FT-Obs-T 通过 L T \mathcal L_\mathcal T LT 的损失不断向 T \mathcal T T 学习,从而减轻了灾难性遗忘的问题。此外, L T \mathcal L_\mathcal T LT 具有正则化的作用,可以防止新的稀疏观测值的过度拟合。通过调整 λ \lambda λ 的值,可以平衡记住原始信息 T \mathcal T T 和学习新信息 D \mathcal D D 。
通过多重保真学习和稀疏的新观察进行外推
在前面的所有方法中,都使用了微调的思想。在这里,提出了一种基于多重保真度学习的不同方法。多保真学习的想法是,不使用高精度(即高保真度)的大型数据集进行学习,而是只使用一个小的高保真数据集,并辅以另一个低精度(即低保真度)的数据集。具体来说,为了预测新函数 v v v 的 G ( v ) \mathcal G(v) G(v),稀疏的新观测值 D \mathcal D D 是高保真数据集,而来自预训练 DeepONet 的预测 u ~ = G θ ( v ) \tilde{u} = \mathcal G_\theta (v) u~=Gθ(v) 是低保真数据集。
通过两种多重保真方法集成高保真和低保真数据集:多重保真高斯过程回归(MFGPR)或多重保真神经网络(MFNN)。在 MFGPR 中,使用径向基函数核通过高斯过程对高保真度和低保真度函数进行建模。然后,通过最小化数据集上的负对数边际似然来训练模型。在 MFNN 中,有一个全连接神经网络来学习低保真度数据集,另一个全连接神经网络来学习低保真度和高保真度之间的相关性。
结果
反导数算子
首先,考虑反导数算子。目标是学习从 v ( x ) v(x) v(x) 到解 u ( x ) u(x) u(x) 的算子映射。对于训练数据集, v ( x ) v(x) v(x) 是从相关长度 l train = 0.5 l_\text{train} = 0.5 ltrain=0.5 的 RBF 核的 GRF 中采样的。为了测试 Ex. + \text{Ex.}^+ Ex.+ ,生成了包含 100 个函数的测试数据集,其中 l test = 0.2 l_\text{test} = 0.2 ltest=0.2
上表总结了不同方法的结果。预训练的 DeepONet 的平均 L 2 L^2 L2 相对误差为 11.6%,PIDeepONet 对于测试数据集的平均 L 2 L^2 L2 相对误差为 7.44%。当有物理信息时,通过物理微调可以达到 1.52% 的准确率,比 PINN 更准确。当有超过 5 个稀疏观测值时,FT-Obs-T、MFGPR 和 MFNN 的准确率约为 2%,但 FT-Obs-A 的误差相对较大。在这种情况下,多保真学习(MFGPR 和 MFNN)优于 FT-Obs-A 和 FT-Obs-T。注意到,这个例子是一个相对简单的问题,多保真度方法效果很好,但对于其他例子,用新的观察结果进行微调具有更好的准确性。
此外,上图还提供了预测结果的示例。参照A和B来说明由于采用所提出的方法而产生的增强。虽然 FT-Obs-A、FT-Obs-T、MFNN 和 MFGP 的性能相似,但仅绘制了 FT-Obs-T 和 MFNN。不考虑新的物理信息(图A)或新的观察结果(图B),预测结果证实所提出的方法在很大程度上改善了 Ex. + \text{Ex.}^+ Ex.+ 的效果。
FT-Phys 的详细结果。为了进行物理微调,本文测试了三种不同的学习率(即 0.002、0.001、0.0002)。对于 PINN 和物理微调,本文强制执行初始条件的硬约束。在 FT-Phys 的所有变体中,以 0.002 的学习率微调主干网络表现最好(图 C)。不同学习率的物理微调性能如图D、E 和 F所示。当学习率较大时,微调主干网络和整个 DeepONet 表现相似,并且当学习率小至 0.0002 时,全网络略优于主干网络。
扩散反应方程
接下来,考虑扩散反应方程。目标是训练 DeepONet 来学习从源项 v ( x ) v(x) v(x) 到解 u ( x , t ) u(x, t) u(x,t) 的算子映射。源项 v ( x ) v(x) v(x) 是从具有 RBF 核的 GRF 中随机采样的,相关长度 l train = 0.5 l_\text{train} = 0.5 ltrain=0.5 。为了测试 Ex. + \text{Ex.}^+ Ex.+ ,生成了包含 100 个函数的测试数据集,其中 l test = 0.2 l_\text{test} = 0.2 ltest=0.2 。
上表总结了不同方法的 L 2 L^2 L2 相对误差。 FT-Phys 的误差最低,而 FT-Obs-T 在需要新观测的方法中效果最好。预训练的 DeepONet 的平均 L 2 L^2 L2 相对误差为 10.4%,PIDeepONet 对于测试数据集的平均 L 2 L^2 L2 相对误差为 10.2%。如上表所示,当有物理知识时,以0.002的学习率对主干网络进行微调可以实现较低的 L 2 L^2 L2 相对误差(0.32%),并且显着优于预训练的DeepONet和GPR。当有 20、50 和 100 个新观测值时,FT-Obs-A 和 FT-Obs-T 通常优于 MFGPR 和 MFNN。然而,当有 200 个新观测值时,GPR 和 MFGPR 达到较低的 L 2 L^2 L2 相对误差,因为扩散反应方程相对简单且解平滑,并且 200 个点足以让 MFGPR 和 GPR 获得准确的结果。
上图是一个示例,说明了当有 100 个观测值时所有方法的预测和绝对误差。可以发现,由于这两种方法的相似性,GPR 和 MFGPR 之间的显着误差位置相似(图 7C)。 FT-Obs-A 和 FT-Obs-T 也具有类似的错误特征。值得注意的是,PINN 和 FT-Phys 的误差都非常低,因此在本例中找不到 PINN 和 FT-Phys 之间类似的误差,但可以在后文的平流方程中找到。
FT-Phys 的详细结果。将物理视为附加信息以及用物理进行微调的方法。使用七种不同的学习率(即 0.01、0.005、0.002、0.001、0.0005、0.0002 和 0.0001)来微调预训练的 DeepONet。当迭代次数较少时,PINN 会产生较大的 L 2 L^2 L2 相对误差 (> 100%),而 FT-Phys 会产生较低的误差 (∼10%)。这是因为 PINN 的参数是随机初始化的。相比之下,FT-Phys 的初始参数由预训练的 DeepONet 给出。 在实验中发现,PINN 的性能容易受到学习率变化的影响。无论学习率如何,使用分支网络(∼1%)进行微调通常比其他方法表现更差。对整个 DeepONet(分支和主干)或主干网络进行微调效果最佳,并且对于 0.01 到 0.0001 之间的任何学习率,都能达到非常低的误差。用最后一层主干网进行微调也能达到很好的精度。
λ \lambda λ 对 FT-Obs-T 的影响。本文的目标是找到最佳的 λ \lambda λ 以实现最低的测试误差。此外,还确定了使用不同数量的观测点和不同的 l test l_\text{test} ltest 时 λ \lambda λ 对测试误差的影响。 可以看到,当 λ ∼ 3 \lambda \sim 3 λ∼3 时,获得了最低的误差,因此在实验中选择 λ = 3 \lambda = 3 λ=3作为默认值。
Burgers’ 方程
考虑如下伯格斯方程:
∂
u
∂
t
+
u
∂
u
∂
x
=
ν
∂
2
u
∂
x
2
,
x
∈
[
0
,
1
]
,
t
∈
[
0
,
1
]
\begin{aligned} \frac{\partial u}{\partial t}+u\frac{\partial u}{\partial x}&=\nu\frac{\partial^2u}{\partial x^2},\quad x\in[0,1],\quad t\in[0,1] \end{aligned}
∂t∂u+u∂x∂u=ν∂x2∂2u,x∈[0,1],t∈[0,1]
具有周期性边界条件和初始条件
u
0
(
x
)
=
v
(
x
)
u_0(x) = v(x)
u0(x)=v(x)。在本研究中,
ν
ν
ν 设置为 0.1。目标是训练 DeepONet 来学习从初始条件
v
(
x
)
v(x)
v(x) 到解
u
(
x
,
t
)
u(x, t)
u(x,t) 的算子映射。周期函数
v
(
x
)
v(x)
v(x) 从 GRF 中采样,其指数正弦平方核(或周期核)由下式给出:
k
l
(
x
1
,
x
2
)
=
exp
(
−
2
sin
2
(
π
∥
x
1
−
x
2
∥
/
p
)
l
2
)
k_l(x_1,x_2)=\exp\left(-\frac{2\sin^2(\pi\|x_1-x_2\|/p)}{l^2}\right)
kl(x1,x2)=exp(−l22sin2(π∥x1−x2∥/p))
其中
l
l
l 是核的相关长度,
p
p
p 是核的周期性,选择为 1。训练的相关长度为
l
train
=
1.0
l_\text{train} = 1.0
ltrain=1.0,为了测试
Ex.
+
\text{Ex.}^+
Ex.+ ,生成了 100 的测试数据集
l
test
=
0.6
l_\text{test} = 0.6
ltest=0.6 的函数。
上表总结了不同方法的 L 2 L^2 L2 相对误差。预训练的 DeepONet 的平均 L 2 L^2 L2 相对误差为 6.53%,PIDeepONet 对于测试数据集的平均 L 2 L^2 L2 相对误差为 9.27%。如上表所示,当有物理知识时,以0.002的学习率对主干网进行微调,或者以0.001的学习率对分支和主干网进行微调,可以实现较低的 L 2 L^2 L2 相对误差(1.42%),并且显着提高 L 2 L^2 L2 相对误差。优于预训练的 DeepONet。当有新的观测值时,与扩散反应方程的结果不同,FT-Obs-A 和 FT-Obs-T 始终优于 MFGPR 和 MFNN,而 FT-Obs-T 在使用新观测值的方法中效果最好。
上图说明当有 200 个观测值时所有方法的预测和绝对误差的示例。在这个例子中,预训练的DeepONet在整个域中分布有较大的误差。相比之下,其余方法的较大误差集中在域的初始区域。
FT-Phys 的详细结果。考虑用物理进行微调的方法。使用七种不同的学习率(即 0.01、0.005、0.002、0.001、0.0005、0.0002 和 0.0001)。微调预训练的 DeepONet。当迭代次数较少时,PINN 给出较大的 L 2 L^2 L2 相对误差(∼ 100%),而 FT-Phys 产生的误差要低得多(∼7%),这与扩散反应方程的结果一致。 PINN 的性能对学习率的变化非常敏感。当学习率较低(∼0.0001)时,PINN的 L 2 L^2 L2 相对误差较大(∼20%),而当学习率为0.002时,PINN可以实现较小的 L 2 L^2 L2 相对误差(∼3%)。无论学习率如何,使用分支网络(∼6%)进行微调的效果都比其他方法差。使用整个 DeepONet(分支和主干)、主干网络或最后一个主干层进行微调的效果类似,并且对于 0.0001 到 0.002 之间的任何学习率都达到较低的误差,而它们的 L 2 L^2 L2 相对误差随着大学习率而增加(>0.002)。
平流方程
接下来,考虑如下平流方程:
∂
u
∂
t
+
v
(
x
)
∂
u
∂
x
=
0
,
x
∈
[
0
,
1
]
,
t
∈
[
0
,
1
]
\begin{aligned} \frac{\partial u}{\partial t}+v(x)\frac{\partial u}{\partial x}&=0,\quad x\in[0,1],\quad t\in[0,1] \end{aligned}
∂t∂u+v(x)∂x∂u=0,x∈[0,1],t∈[0,1]
初始条件
u
(
x
,
0
)
=
sin
(
π
x
)
u(x, 0) = \sin(\pi x)
u(x,0)=sin(πx) 和边界条件
u
(
0
,
t
)
=
sin
(
π
t
/
2
)
u(0, t) = \sin(\pi t /2)
u(0,t)=sin(πt/2)。为了确保参数
v
(
x
)
v(x)
v(x) 大于 0,采用
v
(
x
)
=
V
(
x
)
−
m
i
n
x
V
(
x
)
+
1
v(x) = V (x) − min_x V (x) + 1
v(x)=V(x)−minxV(x)+1 的形式。训练 DeepONet 从
v
(
x
)
v( x)
v(x) 到解
u
(
x
,
t
)
u(x, t)
u(x,t)。
V
(
x
)
V (x)
V(x) 是从具有 RBF 核的 GRF 中采样的,相关长度为
l
train
=
0.5
l_\text{train} = 0.5
ltrain=0.5,为了测试
Ex.
+
\text{Ex.}^+
Ex.+ ,生成了 100 的测试数据集
l
test
=
0.2
l_\text{test} = 0.2
ltest=0.2 的函数。
上表总结了不同方法的 L 2 L^2 L2 相对误差。预训练的 DeepONet 的平均 L 2 L^2 L2 相对误差为 8.75%,PIDeepONet 对于测试数据集的平均 L 2 L^2 L2 相对误差为 11.3%。当有物理知识时,通过主干网络进行微调可以实现较低的 L 2 L^2 L2 相对误差 (0.93%)。当有新的观察结果时,比如 Burgers 方程的结果,FT-Obs-A 和 FT-Obs-T 总是优于 MFGPR 和 MFNN,并且 FT-Obs-T 效果最好。
上图是一个示例,说明了当有 200 个观测值时所有方法的预测和绝对误差。在此示例中,PINN 和 FT-Phys 具有相似的误差曲线,并且 FT-Phys 比 PINN 更准确,因为预训练的 DeepONet 提供了更好的 FT-Phys 初始参数。 FT-Obs-A 和 FT-Obs-T 之间也观察到类似的误差曲线。
FT-Phys 的详细结果。考虑用物理进行微调的方法。使用七种不同的学习率(即 0.01、0.005、0.002、0.001、0.0005、0.0002 和 0.0001)来微调预训练的 DeepONet。当迭代次数较少时,PINN 给出较大的 L 2 L^2 L2 相对误差(>100%)。相比之下,FT-Phys 产生的误差要低得多(∼10%),这与扩散反应方程和 Burgers 方程的结果一致。 PINN 的性能容易受到学习率变化的影响。当学习率较低(∼0.0001)时,PINN的 L 2 L^2 L2 相对误差较大(∼10%),而当学习率为0.005时,PINN可以实现较小的 L 2 L^2 L2 相对误差(∼2%)。使用分支网络(∼3%)进行微调无论学习率如何,都比其他方法更差。对整个 DeepONet(分支和主干)、主干网络或最后一个主干层进行微调的效果类似,并且在 0.01 到 0.0001 之间的任何学习率下都能达到较低的误差(∼1%)。
带缺口三角域中的泊松方程
为了评估方法在非结构化域中的性能,考虑带缺口的三角形域中的泊松方程:
∂
2
u
∂
x
2
+
∂
2
u
∂
y
2
+
10
=
0
,
(
x
,
y
)
∈
Ω
\begin{aligned} \frac{\partial^2u}{\partial x^2}+\frac{\partial^2u}{\partial y^2}+10&=0,\quad(x,y)\in\Omega \end{aligned}
∂x2∂2u+∂y2∂2u+10=0,(x,y)∈Ω
其中
Ω
\Omega
Ω 是凹七边形,其顶点为 [0, 0]、[0.5, 0.866]、[1, 0]、[0.51, 0]、[0.51, 0.4]、[0.49, 0.4]、[0.49, 0] 。边界条件
u
(
x
,
y
)
∣
∂
Ω
=
v
(
x
)
u(x, y)|\partial \Omega = v(x)
u(x,y)∣∂Ω=v(x),只是其 x 坐标的函数。训练 DeepONet 来学习从边界条件
v
(
x
)
v(x)
v(x) 到解
u
(
x
,
t
)
u(x, t)
u(x,t) 的算子映射。
v
(
x
)
v(x)
v(x) 是从具有 RBF 核的 GRF 中采样的,相关长度为
l
train
=
0.5
l_\text{train} = 0.5
ltrain=0.5,为了测试
Ex.
+
\text{Ex.}^+
Ex.+ ,生成了 100 的测试数据集
l
test
=
0.2
l_\text{test} = 0.2
ltest=0.2 的函数。参考解是通过Matlab中的PDE工具箱通过5082个节点的非结构化网格获得的。
上表总结了不同方法的 L 2 L^2 L2 相对误差。预训练的 DeepONet 对于测试数据集的平均 L 2 L^2 L2 相对误差为 14.8%。在这个问题中,只测试了新观测的情况,因为 FT-Phys 和 PINN 由于具有奇点的复杂域几何结构而未能达到良好的精度。与 Burgers 方程和平流方程的结果一样,FT-Obs-A 和 FT-Obs-T 总是优于 MFGPR 和 MFNN。在所有方法中,FT-Obs-T 的误差最低(200 个观测值时为 0.95%)。
上图是说明当有 200 个观测值时所有方法的预测和绝对误差的示例。GPR 和 MFGPR 具有相似的错误模式,并且由于额外的低保真数据集,MFGPR 比 GPR 更准确。 FTObs-T 和 FT-Obs-A 优于其他方法,并且 FT-Obs-T 略优于 FT-Obs-A。
为了验证所提出的微调方法的鲁棒性,测试了观测中不同噪声水平下的性能如下图所示:
在其他设置保持不变的情况下,噪声水平的增加会导致 L 2 L^2 L2 相对误差相应增加。所有微调方法都表现出比探地雷达更好的性能。当噪声水平小于5%时,FT-Obs-T达到最佳精度,当噪声逐渐增加到10%时,MFGPR方法优于所有其他方法。与 FT-Obs 相比,多保真方法对噪声相对不敏感。
复杂几何形状中的方腔流动
本文评估了方腔流问题的性能,这是粘性不可压缩流体流动的基准问题。不可压缩流动由纳维-斯托克斯方程描述:
∂
u
∂
t
+
(
u
⋅
∇
)
u
=
ν
∇
2
u
−
∇
p
,
∇
⋅
u
=
0
\begin{aligned} \frac{\partial\mathbf{u}}{\partial t}+(\mathbf{u}\cdot\nabla)\mathbf{u}&=\nu\nabla^2\mathbf{u}-\nabla p,\\\nabla\cdot\mathbf{u}&=0 \end{aligned}
∂t∂u+(u⋅∇)u∇⋅u=ν∇2u−∇p,=0
其中
u
(
x
,
t
)
=
(
u
,
v
)
u(x, t) = (u, v)
u(x,t)=(u,v) 是速度场,
ν
ν
ν 是运动粘度,
p
(
x
,
t
)
p(x, t)
p(x,t) 是压力。雷诺数(Re)选择为1000。考虑不同的几何形状,从边长
l
=
1
l = 1
l=1的正方形开始,逐渐抬起左下点,其他三个点固定,即底线由
l
(
x
)
=
−
m
x
+
m
l( x) = −mx + m
l(x)=−mx+m,其中
0
≤
m
≤
0.5
0 \le m \le 0.5
0≤m≤0.5。顶壁在
x
x
x 方向上具有单位速度。型腔内存在流动循环,
m
m
m 值增大代表更极端的情况,见下图中的两个例子。
目标是学习从边界线 l ( x ) l(x) l(x) 到速度 u ( x , t ) u(x, t) u(x,t) 的算子映射。取 m = 0 , 0.02 , 0.04 , … , 0.4 m = 0, 0.02, 0.04,\dots, 0.4 m=0,0.02,0.04,…,0.4 用于生成训练数据集并选择 m = 0.41 , 0.42 , 0.43 , … , 0.5 m = 0.41, 0.42, 0.43, \dots , 0.5 m=0.41,0.42,0.43,…,0.5 用于外推测试。 m m m 越大代表更积极的外推。参考解是通过10201个节点的非均匀网格有限元法得到的。为了使用新的观测值和多重保真度方法进行微调,随机选择 100 个点作为新信息。为了避免随机性,这个过程重复10次。
对于水平速度 u u u的预测(A),基线模型GPR具有最大的 L 2 L^2 L2 相对误差。多保真度方法优于单保真度 GPR,MFNN 比 MFGPR 具有更好的精度(A),但两者仍远未令人满意。注意到,在前面的示例中,RBF 内核对于 MFGPR 效果很好,但在这个问题中,使用 RBF 内核的 MFGPR 误差较大,而 ν = 1.5 ν = 1.5 ν=1.5 的 Matern 内核表现更好。通过观察进行微调可显着提高准确性,并将 L 2 L^2 L2 相对误差降低至 1 0 − 2 10^{−2} 10−2。 FT-Obs-T 在所有提出的方法中效果最好。垂直速度 v v v 的预测(B)也具有类似的行为。
在FT-Obs-T中,除了将权重
λ
\lambda
λ 设为常数值外,还考虑了一种在训练过程中自适应更新
λ
\lambda
λ 值的方法。具体来说,使用
k
=
0.1
k = 0.1
k=0.1作为初始值,然后每100次迭代后,通过梯度下降更新
λ
\lambda
λ ,即:
λ
←
λ
+
γ
λ
∂
L
T
,
o
b
s
∂
λ
\lambda\leftarrow\lambda+\gamma_{\lambda}\frac{\partial\mathcal{L}_{\mathcal{T},\mathrm{obs}}}{\partial\lambda}
λ←λ+γλ∂λ∂LT,obs
其中
γ
λ
=
0.3
\gamma_{\lambda}=0.3
γλ=0.3 是学习率。这样,在训练过程中逐渐增加新信息的权重。引入
λ
\lambda
λ 的自适应调整进一步略微提高了精度。
上图中展示了一个示例,用于说明当 m = 0.5 m = 0.5 m=0.5 时所有方法的预测和绝对误差。在这个示例中,大多数提出的模型比预训练的 DeepONet 和 GPR 表现出更好的速度场预测。在这些方法中,通过观测进行微调,无论是单独(FT-Obs-A)还是一起(FT-Obs-T),都可以特别准确地预测 x x x 和 y y y 分量的速度场。然而,多保真方法在靠近中心涡和 x x x 方向移动盖的区域具有较大的误差。这是由于有限数量的数据点可能表现较弱甚至无法拟合具有相对较大梯度的这些位置的限制。
对于上述实验,新的观察结果是在域中随机采样的,这在实践中可能是不可能的,例如在实验中(A)。因此,还考虑两个更现实的情况,其中 50 个数据观测值在某些行中均匀采样(B 和 C)。对于“平行”情况(B),新数据点来自两条水平线, y = 0.4 y = 0.4 y=0.4 和 y = 0.6 y = 0.6 y=0.6。对于“垂直”情况(C),新数据点来自水平线和垂直线, y = 0.5 y = 0.5 y=0.5 且 x = 0.5 x = 0.5 x=0.5。对这三种情况使用 FT-Obs-T 方法,每种情况有 100 个新观察结果。域中的随机采样导致最准确的预测,而其他两种采样方法也实现了小于 < 5% 的误差(D 和 E)。
总结
这篇论文讨论了神经微分算子(DeepONets)在外推情境下的可靠性问题,即当输入数据超出训练集分布范围时,如何提高模型的预测准确性。作者首先明确了神经算子外推的定义,并针对外推问题,提出了两种主要方法:一是利用系统的偏微分方程(PDEs)信息进行微调,二是结合稀疏的新观测数据进行微调或采用多保真度学习方法。这些方法旨在通过额外信息来减少外推误差,提高模型在未知数据上的预测可靠性。
相关链接: