PINNs主要是用来求解方程的,通过将物理方程作为神经网络训练的损失函数,在神经网络训练过程中不断优化(minimize)这个损失函数,使得输出数据满足物理方程。下面是几张PINNs的结构图:
但PINNs对每一种案例都需要单独训练一次,比如说某个方程的系数变了,初始和边界条件变了,都需要单独训练,而且训练一次耗时很长。
因此,有人就提出了算子学习(如DeepONet和FNO),它只学习算子(如偏导算子,拉普拉斯算子,梯度算子),再由算子组合成方程,那么它就可以适应不同的条件,训练好算子之后,对于不同的条件,只需要通过不同的组合方式就可以,不需要对每个案例都单独训练一次。
也可以用数据结构中的树结构表示方程,其基本单元包括算子,如下图:
目前只是简单引入,后续会根据自身知识积累,不断修正,加深,更新。