Multi-fidelity DNNs : 多精度深度神经网络
这篇文章介绍一种用来拟合多精度数据的神经网络。 在科学计算中,低精度的数据往往是廉价的、大量的;高精度数据则不同,他们是昂贵的、少量的,所以如何充分利用不同精度的数据来得到更加 precise 的结果便是一个需要解决的问题。这里我们利用神经网络给出了一个回答。基本思想想法很简单。假定 {xi,yi}i=1Nl\{x_i,y_i\}_{i=1}^{N_l}{xi,yi}i=1Nl 是我们有的
这篇文章介绍一种用来拟合多精度数据的神经网络。 在科学计算中,低精度的数据往往是廉价的、大量的;高精度数据则不同,他们是昂贵的、少量的,所以如何充分利用不同精度的数据来得到更加 precise 的结果便是一个需要解决的问题。这里我们利用神经网络给出了一个回答。
基本思想
想法很简单。假定
{
x
i
,
y
i
}
i
=
1
N
l
\{x_i,y_i\}_{i=1}^{N_l}
{xi,yi}i=1Nl 是我们有的低精度数据,其中
x
i
x_i
xi 是输入变量,
y
i
y_i
yi 是预测变量;
{
x
i
,
y
i
}
i
=
N
l
+
1
N
l
+
N
h
\{x_i,y_i\}_{i=N_l+1}^{N_l+N_h}
{xi,yi}i=Nl+1Nl+Nh 是高精度数据。 一般情况下,
N
l
>
N
h
N_l>N_h
Nl>Nh, 在一些paper 中,它的取值可能是3 倍,5倍或者更多。
利用神经网络与监督学习的想法,主要有以下几个步骤:
- 给定低精度数据 { x i , y i } i = 1 N l \{x_i,y_i\}_{i=1}^{N_l} {xi,yi}i=1Nl, 我们可以训练一个低精度的神经网络, 记作 N N l f \mathcal{NN}_{lf} NNlf;
- 同样,给定高精度的数据 { x i , y i } i = N l + 1 N l + N h \{x_i,y_i\}_{i=N_l+1}^{N_l+N_h} {xi,yi}i=Nl+1Nl+Nh, 我们同样得到了一个神经网络,记作 N N h f \mathcal{NN}_{hf} NNhf。
- 问题在于由于我们的高精度数据比较少,所以我们得到的
N
N
h
f
\mathcal{NN}_{hf}
NNhf 是不准确的。一个简单的想法便是利用低精度的数据。
给定 { x i } i = N l + 1 N h + N l \{x_i\}_{i=N_l+1}^{N_h+N_l} {xi}i=Nl+1Nh+Nl, 我们令 z i = N N l f ( x i ) z_i=\mathcal{NN}_{lf}(x_i) zi=NNlf(xi), 即 z i z_i zi 是预测得到的低精度数据。 我们将 { x i , z i } i = 1 N l + 1 N l + N h \{x_i,z_i\}_{i=1N_l+1}^{N_l+N_h} {xi,zi}i=1Nl+1Nl+Nh 作为输入变量, { y i } i = N l + 1 N l + N h \{y_i\}_{i=N_l+1}^{N_l+N_h} {yi}i=Nl+1Nl+Nh 作为标签值可以训练一个新的神经网络 N N l f → h f ( x i , N N l f ( x i ) ) \mathcal{NN}_{lf\to hf}(x_i,\mathcal{NN}_{lf}(x_i)) NNlf→hf(xi,NNlf(xi)), 用来将低精度的数据转化为高精度数据
将 N N l f → h f \mathcal{NN}_{lf\to hf} NNlf→hf 应用在 { x i } i = 1 N l + N h \{x_i\}_{i=1}^{N_l+N_h} {xi}i=1Nl+Nh, 我们便得到了所有输入点上的高精度值。
数值实验
我们考虑一个函数逼近的问题:
上图中
q
l
f
q_{lf}
qlf 代表低频数据,
q
h
f
q_{hf}
qhf 代表高频数据, 其中
A
=
0.5
,
B
=
10
,
C
=
−
5.
A=0.5, B=10, C=-5.
A=0.5,B=10,C=−5.
数值结果如下:
第二个例子仍是函数逼近,
其结果为
第三个例子函数逼近:
结果为:
最后我们举一个解ODE的例子:
精确解为:
我们已知的数据为:
最后的结果为:
数值实验的GitHub代码链接为:
https://github.com/xdfeng7370/Multi-fidelity-neural-network-
参考文献
【1】 Xuhui Meng and George Em Karniadakis. A composite neural network that learns from multi- fidelity data: Application to function approximation and inverse pde problems. Journal of Computational Physics, 2019.
【2】 Mohammad Motamed. A multi-fi delity neural network surrogate sampling method for uncertainty quanti fication. 2019.
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)