论文阅读:Failure-informed adaptive sampling for PINNs
Failure-informed adaptive sampling for PINNs
Failure-informed PINNs
首先,作者定义了一个limit-state function (LSF)
g
(
x
)
:
Ω
→
R
g(\mathbf{x}):\Omega\to\mathbb{R}
g(x):Ω→R ,形式如下:
g
(
x
)
=
Q
(
x
)
−
ϵ
r
.
g(\mathbf{x})=\mathcal{Q}(\mathbf{x})-\epsilon_r.
g(x)=Q(x)−ϵr.
其中,
ϵ
r
\epsilon_r
ϵr 是一个预先定义的最大阈值,
Q
(
x
)
:
Ω
→
R
\mathcal{Q}(\mathbf{x}):\Omega\to\mathbb{R}
Q(x):Ω→R 用于将计算域映射到表征系统性能的特征值。在PINN中可以选择
Q
(
x
)
=
∣
r
(
x
;
θ
)
∣
\mathcal{Q}(\mathbf{x})=|r(\mathbf{x};\theta)|
Q(x)=∣r(x;θ)∣ ,即
g
(
x
)
=
∣
r
(
x
;
θ
)
∣
−
ϵ
r
.
g(\mathbf{x})=|r(\mathbf{x};\theta)|-\epsilon_r.
g(x)=∣r(x;θ)∣−ϵr.
随后,可以通过
g
(
x
)
=
0
g(\mathbf{x})=0
g(x)=0 来将计算域分割为两个子域:可靠域
Ω
S
=
{
x
:
g
(
x
)
<
0
}
\Omega_{\mathcal{S}}=\{\mathbf{x}:g(\mathbf{x})<0\}
ΩS={x:g(x)<0} 以及失败域
Ω
F
=
⋅
{
x
:
g
(
x
)
>
0
}
\Omega_{\mathcal{F}}\stackrel{\cdot}{=}\{\mathbf{x}:g(\mathbf{x})>0\}
ΩF=⋅{x:g(x)>0} 。有了上述子域,就可以对PINN的可靠性进行描述,可以定义PINN的失败可能性
P
F
P_{\mathcal{F}}
PF 如下:
P
F
=
∫
Ω
ω
(
x
)
I
Ω
F
(
x
)
d
x
.
P_{\cal F}=\int_{\Omega}\omega(\mathbf{x})\mathbb{I}_{\Omega_{\cal F}}(\mathbf{x})d\mathbf{x}.
PF=∫Ωω(x)IΩF(x)dx.
其中
I
Ω
F
(
x
)
:
Ω
→
{
0
,
1
}
\mathbb{I}_{\Omega_{\cal F}}(\mathbf{x}):\Omega\rightarrow\{0,1\}
IΩF(x):Ω→{0,1} 是一个根据上述子域定义的指示函数,当
x
∈
Ω
F
\mathbf{x}\in\Omega_{\mathcal{F}}
x∈ΩF 时,
I
Ω
F
(
x
)
=
1
\mathbb{I}_{\Omega_{\cal F}}(\mathbf{x})=1
IΩF(x)=1 ,否则
I
Ω
F
(
x
)
=
0
\mathbb{I}_{\Omega_{\cal F}}(\mathbf{x})=0
IΩF(x)=0 。
当失败概率小于给定容差 ϵ p \epsilon_p ϵp 时,就认为PINN是可靠的,否则就认为PINN在失败域内是不可靠的,应当对其进行改进。总得来说,随着失败区域变小,失败的概率也会降低,整个系统也就更为可靠。受上述事实启发,作者认为可以设计相应自适应策略,在失败区域增加新的采样点,同时 P F P_{\cal F} PF 可以作为停止训练的标志,当 P F > ϵ p P_{\cal F} \gt \epsilon_p PF>ϵp 时一直训练PINN。算法表示如下:
Self-adaptive importance sampling
一个简单的评估失败概率的方法,就是使用蒙特卡洛采样。首先从先验分布
ω
(
x
)
\omega(\mathbf{x})
ω(x) 中生成采样点
S
=
{
x
1
,
x
2
,
…
,
x
∣
S
∣
}
\mathcal{S}=\{\mathbf{x}_1,\mathbf{x}_2,\ldots,\mathbf{x}_{|\mathcal{S}|}\}
S={x1,x2,…,x∣S∣} ,然后可以得到离散的概率近似如下:
P
^
F
M
C
=
1
∣
S
∣
∑
x
∈
S
I
Ω
F
(
x
)
.
\hat{P}_{\mathcal{F}}^{MC}=\frac{1}{|\mathcal{S}|}\sum_{\mathrm{x}\in\mathcal{S}}\mathbb{I}_{\Omega_{\mathcal{F}}}(\mathbf{x}).
P^FMC=∣S∣1x∈S∑IΩF(x).
通过这种方法,可以得到如下采样策略:当
P
^
F
M
C
>
ϵ
p
\hat{P}_{\mathcal{F}}^{MC} \gt \epsilon_p
P^FMC>ϵp 时,将新的采样点
{
x
i
:
x
i
∈
S
,
g
(
x
i
)
>
0
}
\{\mathbf{x}_{i}:\mathbf{x}_{i}\in\mathcal{S},g(\mathbf{x}_{i})>0\}
{xi:xi∈S,g(xi)>0} 加入训练集并训练一轮神经网络。可以看到,每轮训练点的数量并不一致,这是此方法与RAR方法的不同之一。RAR方法是选取
m
m
m 个LSF函数值最大的点加入训练集。
但上述策略在失败区域较小时会难以生成有效样本。当偏微分方程表现出局部行为时, ∣ S ∣ |\mathcal{S}| ∣S∣ 通常要达到 O ( 1 0 4 ∼ 1 0 6 ) \mathcal{O}(10^4\sim10^6) O(104∼106) ,这样就使得采样变得非常昂贵。
使用重要性采样可以避免这种开销,在这种情况下,
P
F
P_{\cal F}
PF 可以表示如下:
P
F
=
∫
Ω
I
Ω
F
(
x
)
ω
(
x
)
h
(
x
)
h
(
x
)
d
x
=
E
h
[
I
Ω
F
(
x
)
R
(
x
)
]
P_{\mathcal{F}}=\int_{\Omega}\mathbb{I}_{\Omega_{\mathcal{F}}}(\mathbf{x})\frac{\omega(\mathbf{x})}{h(\mathbf{x})}h(\mathbf{x})d\mathbf{x}=\mathbb{E}_{h}\left[\mathbb{I}_{\Omega_{\mathcal{F}}}(\mathbf{x})R(\mathbf{x})\right]
PF=∫ΩIΩF(x)h(x)ω(x)h(x)dx=Eh[IΩF(x)R(x)]
其中
h
(
x
)
h(x)
h(x) 是一个采样分布,假设
R
(
x
)
=
ω
(
x
)
h
(
x
)
R(x) = \frac{\omega(x)}{h(x)}
R(x)=h(x)ω(x) 表示权重函数,用于将采样分布
h
(
x
)
h(x)
h(x) 转换到先验分布
ω
(
x
)
\omega(x)
ω(x) 上,那么通过采样分布
h
(
x
)
h(x)
h(x) 采样的一组样本点
S
=
{
x
1
,
x
2
,
…
,
x
∣
S
∣
}
\mathcal{S}=\{\mathbf{x}_1,\mathbf{x}_2,\ldots,\mathbf{x}_{|\mathcal{S}|}\}
S={x1,x2,…,x∣S∣} ,可以得到
P
F
P_{\cal F}
PF 表示如下:
P
^
F
I
S
=
1
∣
S
∣
∑
x
∈
S
I
Ω
F
(
x
)
R
(
x
)
\hat{P}_{\mathcal{F}}^{IS}=\frac{1}{|\mathcal{S}|}\sum_{\mathbf{x}\in\mathcal{S}}\mathbb{I}_{\Omega_{\mathcal{F}}}(\mathbf{x})R(\mathbf{x})
P^FIS=∣S∣1x∈S∑IΩF(x)R(x)
如果
h
h
h 的支集包含
ω
\omega
ω 的支集与失败集的交集,则 上式为
P
F
P_{\cal F}
PF 的无偏估计量。理论上,存在最优采样分布如下:
h
o
p
t
(
x
)
=
I
Ω
F
(
x
)
ω
(
x
)
P
F
=
I
g
(
x
)
>
0
ω
(
x
)
∫
Ω
I
g
(
x
)
>
0
ω
(
x
)
d
x
h_{opt}(\mathbf{x})=\frac{\mathbb{I}_{\Omega_{\cal F}(\mathbf{x})}\omega(\mathbf{x})}{P_{\cal F}}=\frac{\mathbb{I}_{g(\mathbf{x})>0}\omega(\mathbf{x})}{\int_{\Omega}\mathbb{I}_{g(\mathbf{x})>0}\omega(\mathbf{x})d\mathbf{x}}
hopt(x)=PFIΩF(x)ω(x)=∫ΩIg(x)>0ω(x)dxIg(x)>0ω(x)
但在实际中由于归一化常数难以获得
h
o
p
t
h_{opt}
hopt 。
因此,作者在实际中选择通过迭代的方式来获得 h o p t h_{opt} hopt 的近似。首先以 h 1 ( x ) = ω ( x ) h_1(x) = \omega(x) h1(x)=ω(x) 作为初始采样分布,然后在第 k k k 步,从 h k ( x ) h_k(x) hk(x) 生成 N 1 N_1 N1 个采样点 { x i k } i = 1 N 1 \{\mathbf{x}_i^k\}_{i=1}^{N_1} {xik}i=1N1 并根据LSF函数值对其进行排序,得到候选点集 D ~ k : = { x ~ i k } i = 1 N 1 \tilde{\mathcal{D}}_{k}:=\{\widetilde{\mathbf{x}}_{i}^{k}\}_{i=1}^{N_{1}} D~k:={x ik}i=1N1 .假设 $N_{p}=\left\lfloor p_{0}N_{1}\right\rfloor $ 表示用于近似最优分布 h o p t h_{opt} hopt 的最小样本数。其中 0 < p 0 < 1 0\lt p_0 \lt 1 0<p0<1 是固定参数。假设 N η N_{\eta} Nη 代表候选点集 D k D_k Dk 中落在失败集中的点数。于是,当 N η < N p N_{\eta} \lt N_p Nη<Np 时,代表采样分布任需要优化。否则,当 N η > N p N_{\eta} \gt N_p Nη>Np 时,代表区域内的点数可以用来近似 h ^ o p t \hat{h}_{opt} h^opt。
当
h
k
h_k
hk 需要优化时,作者使用了截断高斯模型,通过前
N
p
N_p
Np 个样本来估计
h
k
+
1
h_{k+1}
hk+1 的均值向量和协方差矩阵,如下所示:
μ
k
+
1
=
1
N
p
∑
i
=
1
N
p
x
~
i
k
,
Σ
k
+
1
=
1
N
p
−
1
∑
i
=
1
N
p
(
x
~
i
k
−
μ
k
+
1
)
⊗
(
x
~
i
k
−
μ
k
+
1
)
.
\begin{aligned}\mu_{k+1}&=\frac{1}{N_p}\sum_{i=1}^{N_p}\widetilde{\mathbf{x}}_i^k,\\\Sigma_{k+1}&=\frac{1}{N_p-1}\sum_{i=1}^{N_p}(\widetilde{\mathbf{x}}_i^k-\mu_{k+1})\otimes(\widetilde{\mathbf{x}}_i^k-\mu_{k+1}).\end{aligned}
μk+1Σk+1=Np1i=1∑Npx
ik,=Np−11i=1∑Np(x
ik−μk+1)⊗(x
ik−μk+1).
同时,当迭代停止时,也就获得了最优分布的均值向量和协方差矩阵的近似,如下:
μ
o
p
t
=
∑
i
=
1
N
p
x
~
i
ω
(
x
~
i
)
∑
i
=
1
N
p
ω
(
x
~
i
)
Σ
o
p
t
=
1
N
p
−
1
∑
i
=
1
N
p
(
x
~
i
−
μ
o
p
t
)
⊗
(
x
~
i
−
μ
o
p
t
)
.
\begin{aligned} &\mu_{opt} =\frac{\sum_{i=1}^{N_p}\widetilde{\mathbf{x}}_i\omega(\widetilde{\mathbf{x}}_i)}{\sum_{i=1}^{N_p}\omega(\widetilde{\mathbf{x}}_i)} \\ &\Sigma_{opt} =\dfrac{1}{N_p-1}\sum_{i=1}^{N_p}(\widetilde{\mathbf{x}}_i-\mu_{opt})\otimes(\widetilde{\mathbf{x}}_i-\mu_{opt}). \end{aligned}
μopt=∑i=1Npω(x
i)∑i=1Npx
iω(x
i)Σopt=Np−11i=1∑Np(x
i−μopt)⊗(x
i−μopt).
因此,近似最优分布
h
^
o
p
t
(
x
)
\hat{h}_{opt}(x)
h^opt(x) 是具有均值向量
μ
o
p
t
\mu_{opt}
μopt 和协方差矩阵
Σ
o
p
t
\Sigma_{opt}
Σopt 的截断高斯分布。通过从
h
^
o
p
t
(
x
)
\hat{h}_{opt}(x)
h^opt(x) 生成
N
2
N_2
N2 个样本,失败概率可以近似为:
P
^
F
S
A
I
S
=
1
N
2
∑
i
=
1
N
2
ω
(
x
i
)
h
^
o
p
t
(
x
i
)
I
Ω
F
(
x
i
)
.
\hat{P}_{\mathcal{F}}^{SAIS}=\frac{1}{N_{2}}\sum_{i=1}^{N_{2}}\frac{\omega(\mathbf{x}_{i})}{\hat{h}_{opt}(\mathbf{x}_{i})}\mathbb{I}_{\Omega_{\mathcal{F}}}(\mathbf{x}_{i}).
P^FSAIS=N21i=1∑N2h^opt(xi)ω(xi)IΩF(xi).
完整算法如下:
实验结果
作者在二维Poisson、Burgers、高维Poissin、二维无界问题以及时间相关的无界问题上对比了均匀采样的PINN方法、RAR方法以及使用SAIS的FI-PINN方法。
二维Poisson
− Δ u ( x , y ) = f ( x , y ) in Ω u ( x , y ) = g ( x , y ) on ∂ Ω , \begin{aligned}-\Delta u(x,y)&=f(x,y)&\text{in}\Omega\\u(x,y)&=g(x,y)&\text{on}\partial\Omega,\end{aligned} −Δu(x,y)u(x,y)=f(x,y)=g(x,y)inΩon∂Ω,
其精确解为
u
(
x
,
y
)
=
exp
(
−
1000
[
(
x
−
0.5
)
2
+
(
y
−
0.5
)
2
]
)
u(x,y)=\exp\left(-1000\left[(x-0.5)^2+(y-0.5)^2\right]\right)
u(x,y)=exp(−1000[(x−0.5)2+(y−0.5)2])
上图为训练过程中的 L 2 L_2 L2 误差以及失败概率。
上图为训练过程中三种算法在前三次迭代中生成的训练点
上图为三种方法为训练结果可视化,左侧为生成的解,中间为与真实解的绝对误差,右侧为 x = 0.5 x=0.5 x=0.5 处生成解与真解的对比。
上图为对两个超参数进行的试验。
更多样例详见原文。
总结
这篇文章通过将求解域划分为可靠域、失败域两个子域建立了FI-PINN体系。并通过截断高斯分布的叠加来对最优采样分布进行近似,得到SAIS方法。感觉设计的都挺巧妙的,但没给代码,试着复现一下。
相关链接: