这篇文章介绍一种用来拟合多精度数据的神经网络。 在科学计算中,低精度的数据往往是廉价的、大量的;高精度数据则不同,他们是昂贵的、少量的,所以如何充分利用不同精度的数据来得到更加 precise 的结果便是一个需要解决的问题。这里我们利用神经网络给出了一个回答。
基本思想
想法很简单。假定 {xi,yi}i=1Nl\{x_i,y_i\}_{i=1}^{N_l} 是我们有的低精度数据,其中 xix_i 是输入变量, yiy_i 是预测变量; {xi,yi}i=Nl+1Nl+Nh\{x_i,y_i\}_{i=N_l+1}^{N_l+N_h} 是高精度数据。 一般情况下, Nl>NhN_l>N_h, 在一些paper 中,它的取值可能是3 倍,5倍或者更多。
利用神经网络与监督学习的想法,主要有以下几个步骤:

  • 给定低精度数据{xi,yi}i=1Nl\{x_i,y_i\}_{i=1}^{N_l}, 我们可以训练一个低精度的神经网络, 记作 NNlf\mathcal{NN}_{lf};
  • 同样,给定高精度的数据 {xi,yi}i=Nl+1Nl+Nh\{x_i,y_i\}_{i=N_l+1}^{N_l+N_h}, 我们同样得到了一个神经网络,记作 NNhf\mathcal{NN}_{hf}
  • 问题在于由于我们的高精度数据比较少,所以我们得到的 NNhf\mathcal{NN}_{hf} 是不准确的。一个简单的想法便是利用低精度的数据。
    给定 {xi}i=Nl+1Nh+Nl\{x_i\}_{i=N_l+1}^{N_h+N_l}, 我们令 zi=NNlf(xi)z_i=\mathcal{NN}_{lf}(x_i), 即 ziz_i 是预测得到的低精度数据。 我们将 {xi,zi}i=1Nl+1Nl+Nh\{x_i,z_i\}_{i=1N_l+1}^{N_l+N_h} 作为输入变量, {yi}i=Nl+1Nl+Nh\{y_i\}_{i=N_l+1}^{N_l+N_h} 作为标签值可以训练一个新的神经网络 NNlfhf(xi,NNlf(xi))\mathcal{NN}_{lf\to hf}(x_i,\mathcal{NN}_{lf}(x_i)), 用来将低精度的数据转化为高精度数据
    NNlfhf\mathcal{NN}_{lf\to hf} 应用在 {xi}i=1Nl+Nh\{x_i\}_{i=1}^{N_l+N_h}, 我们便得到了所有输入点上的高精度值。

数值实验

我们考虑一个函数逼近的问题:
Multi-fidelity DNNs : 多精度深度神经网络
上图中qlfq_{lf} 代表低频数据, qhfq_{hf} 代表高频数据, 其中 A=0.5,B=10,C=5.A=0.5, B=10, C=-5.
数值结果如下:
Multi-fidelity DNNs : 多精度深度神经网络
第二个例子仍是函数逼近,
Multi-fidelity DNNs : 多精度深度神经网络
其结果为
Multi-fidelity DNNs : 多精度深度神经网络
第三个例子函数逼近:
Multi-fidelity DNNs : 多精度深度神经网络
结果为:
Multi-fidelity DNNs : 多精度深度神经网络
最后我们举一个解ODE的例子:
Multi-fidelity DNNs : 多精度深度神经网络
精确解为:
Multi-fidelity DNNs : 多精度深度神经网络
我们已知的数据为:
Multi-fidelity DNNs : 多精度深度神经网络
最后的结果为:
Multi-fidelity DNNs : 多精度深度神经网络

数值实验的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-fidelity neural network surrogate sampling method for uncertainty quantification. 2019.

相关文章:

  • 2021-12-04
  • 2021-04-10
  • 2021-06-01
  • 2022-12-23
  • 2021-12-04
  • 2021-11-29
  • 2021-07-02
  • 2021-11-20
猜你喜欢
  • 2021-04-16
  • 2021-04-26
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
相关资源
相似解决方案