Neural Networks for PDE
Basic Structure
Simple GNN/CNN
一般不用于拟合算子,只能拟合一个特解.就输入某些初始条件输出解吧.
Graph Kernel Network -> FNO
原始论文是通过格林函数理论保证解算子的形式,提出了迭代形式:
其中是PDE里的参数.注意到这个模型如果找一个网格然后离散化,就是一个图神经网络在图上传播的模型,所以原始论文确实是个GNN结构上的.
然后FNO的研究说直接取平移不变,把它变成了只和有关的函数.从而后面这部分变成了的形式.然后大家都知道做一次傅里叶变换可以把卷积变成点积,所以就变成了求.这就是FNO了.实现的时候会离散化:对原始函数只截取傅里叶级数的前若干项,同时直接记录对应点值作为参数.
FNO的论文提到,他们尝试了让依赖结果效果不好,不会获得直接是常量的优势.
有趣的是,FNO看起来是由这个简化+性能优化来的,但如果觉得它的想法是 在其他变换后空间里去学函数表示,就会立刻诱导出把傅里叶变换变成其他的像拉普拉斯变换,小波变换之类的乱七八糟().
DeepONet
DeepONet是从一个逼近定理出发,逼近定理表示它的结构可以逼近任意算子.
它一般求出来的是点值而不是整个场(相比上面的FNO).
方法是给定函数和相求的点值,网络如图:

是训练时就定下来的.Trunk Net的输入只有,Branch Net的输入只有.一种解读是Branch Net学出来了某种基下的算子表示,而Trunk Net学出来了这个基变换.
实际上感觉这个点乘只是因为神经网络不能自然表示点乘,所以逼近定理需要把它单拿出来.
Extension
看起来大量论文都是对一些基础模型进行某几处扩展拿到的.相比整理具体模型似乎整理这些扩展更有道理一点
Physics Priori
PDE Loss
PINN,PINO,PI-DeepONet
统一内容:把要解的PDE的值直接加进损失函数.
然后这里有一个利用计算图自动求导的trick.
Feature Extract
eg: TF-Net
通过一个空间滤波器和一个时间滤波器人为划分网络输入.
对原始数据,用空间滤波后得到的去掉高频噪声的低频分量,再用时间滤波得到的是是低频成分的时间上的大趋势(?)
然后用三个网络分别处理
Pre Learnt Structure
eg: MP-PDE
如果网络难以自己学会导数结构,我们可以把这个结构喂进去.
是节点隐藏状态,是物理信息(PDE中的量),是空间位置.对规则网格,是常量.所以传播过程中的对应用差分逼近导数.
Forced Symmetry
eg: EquNet/Rsteer
这两个都是在CNN直接拟合解的基础上直接改成G-CNN的技术去强制对称性.
G-CNN的技术是,有一个变换群,对输入数据,用做不同卷积得到,其中是卷积核,这一步被称为提升.
在过程中,要求每一步迭代保持.而这个条件可以导出一个卷积核必须是的形式.其中是根据变换群决定的基函数.是可训练常量.即每一步迭代可以写成.
顶上这个就是EquNet了...它严格保证对称性
而Rsteer允许轻微的不对称,方法是允许变成,然后再用其他方法约束的范围,避免对称性完全消失.
Math Method
Green Formula
BENO: 把解函数分解成边界上的积分和内部散度的积分以降维和解耦
Tensor Product
MIONet: 乘积空间的算子的基是基的张量积.所以可以先算出若干组各自空间的算子,然后再张量积之后求和,理论上也可以表示乘积空间中的任意算子.
所以MIONet说用若干个分支网络(每个分支网络都是对应原版DeepONet中Stacked版本)学出若干个各自空间的算子,然后再做张量积.一般会限制张量的秩.
Time Dimension Intergral
eg: GNODE: 将原来的预测时刻状态然后自回归,改为预测时刻导数,然后对区间数值积分以消除连续性.
NN Method
GNN Build Graph
eg: MeshGraphNets
建图的时候除了建标准网格,当网格移动后,还会把距离小于一定值的边连上.且显示区分这两类边的双重建图模式.
Space Transform
L-DeepONet: 用编码/解码层 改成预测一个降维后的空间的算子.
Extension Structure
egs:
- NOMAD: 本来的DeepONet是把分支和主干的结果作点乘,这个论文改成concat后塞进MLP.
- Hyper DeepONet/ Other Hyper NN: 用一个神经网络的输出动态决定一些参数.
- HAMLET: 在图神经网络的基础上,引入注意力去建模长程依赖关系.
RL
egs:
LAMP: 在原有网络的基础上,额外训练一个Actor和一个Critic,Actor决策是否把网格的每一处细分(一个对网格上每条边实现的分类模型),Critic用于评估在每一处细分的收益(包含精度提升和计算代价上升),对它俩跑强化学习,平衡计算代价和精度.
Thoughts
把拓展分成这三类,因为感觉这些变体的提出中 物理先验分类主要是对某个具体的PDE方程的解的性质. 数学方向的则是可以直接对着PDE/问题的形式观察出来的. AI方向的很多像人工智能经典方案,不会局限于这个领域. 当然它们也没有很明确的界限就是了.
Todo
- 4.1 Physics-Informed Neural Network (PINN)
- 4.2 DiscretizedConstraint-InformedNeuralNetwork
- Applications
- 结合传统方法
- GeoFNO,GINO