在做完了Fluent仿真内容之后,我需要训练一个模型,用来快速得到对应空间节点的瓦斯浓度。
物理信息神经网络(Physics-Informed Neural Networks,PINN)是一种将物理学定律直接融入神经网络的训练过程中的方法。
我们来看一下PINN使用的场合,如下图所示的三种:只有数据,而且是大量数据;有一些数据和一些机理表达;没有数据,有大量的机理模型。
PINN适用于中间的场合。
这是一个传统的神经网络,通过反向传播对权重和偏执进行更新,得到符合要求的模型。
那么PINN和NN的区别在哪?
简单来说PINN = NN + physics,我们可以从上图看出,一个全连接神经网络的损失函数变成了几个部分,训练数据的损失函数、微分方程的损失函数、初始约束的损失函数以及边界条件的损失函数。
那么具体来说PINN到底是什么?
如上图一个全连接神经网络通过数据得出了一个输出u,这个u通过微分算子计算得出了一部分微分方程,这些微分方程组成了新的损失函数 。微分算子可以看作是微分计算。
那么如果是多输出怎么办?
同样如此,分别对不同的输出进行微分计算,得到其微分表达式,然后进而得到损失函数进行反向传播。