关于深度学习:PhysicsInformed-DeepONet-for-Nonlinear-PDEs一种学习无穷维空间映射的方法

Physics-Informed DeepONet for Nonlinear PDEs:一种学习无穷维空间映射的办法

  深度学习在CV上大获胜利之后,也开始在更多的畛域攻城掠地,一直地挑战各种传统办法。神经网络展现出了弱小的魔力,可能克服传统算法的运行速度较慢的艰难,然而也的确相应的实践剖析和长期的实际验证。

简介

  一般而言,传统的偏微分方程求解器次要依赖无限插法法、有限元办法和伪谱法等,二分类的话就是有网格和无网格办法。以迭代的办法近似求解偏微分方程,这类传统办法可能严格地给出误差上下界,准确给出算法复杂度。这些办法曾经相当成熟了,大部分比拟实用的办法曾经被集成在商业求解软件中了(这里插一句,当初国防工业中大量须要懂有限元办法的人才)。传统求解器的次要毛病就是计算量特地大,只有有参数发生变化,就须要进行反复且巨量的计算,速度很难满足实时计算的要求。

  深度学习求解微分方程其实是随同着神经网路的倒退,1995年的时候就有人证实了对于任意的润滑、部分Lipschitz的常微分方程,都存在一个神经网络以任意迫近精度对该方程进行迫近。DeepONet就是连续了这个思路对间断非线性算子进行迫近。

  这里还介绍一下什么是Physics Informed,这个概念我的了解就是将物理先验交融到神经网络架构中去,艰深一点来讲就是将偏微分方程的束缚退出到loss项中来。原始版本的DeepONet有个问题就是,数据驱动的形式不肯定可能满足偏微分方程的束缚。然而Physics Informed形式也存在问题,就是在loss项中,偏微分方程的束缚会使边界条件及初始条件的束缚很难被满足,也就是所说的违反因果性了。初始条件和边界条件是主导偏微分方程的解,然而Physics Informed往往会使偏微分方程的束缚被隐形满足,然而冲破了初始条件和边界条件的束缚,违反了因果性这一实质要求。对于Physics- informed machine learning这个主题能够参考陆路博士的综述

Karniadakis, George Em, et al. “Physics-informed machine learning.” Nature Reviews Physics 3.6 (2021): 422-440.

  我这里也给出两个比拟重要的图。这张图示意网络偏置的产生起因

这张图代表了数据与物理先验的关系,也即当物理先验较简单时,数据的产生会比拟艰难,须要协调数据驱动与物理先验之间的关系。

次要思路和办法

  先总结一下目前对于深度学习求解PDE的两种支流思路:

  1. 间接学习无穷维空间之间的映射,也就是说间接将初始条件映射到对应的时空条件下,也就说我实质上是用深度神经网络学习了一个无穷维映射算子,这种办法的益处就是十分间接暴力,然而如果训练样本不够多的话,对于处于散布之外的解泛华性能是存疑的。这种思路的次要代表性工作就是DeepONet和FNO(傅里叶算子神经网络);
  2. 自回归办法,相似于传统办法,应用迭代的思路进行求解,在一个较小的工夫距离内应用神经网络学习到增量变动,而后在整个时空区域进行迭代推动,最终失去指定时空条件下的解,这一类办法的泛化性能比拟好,然而计算量绝对比拟大,次要起因是迭代的办法须要大量的反复计算。外面有一个问题,就是积攒的误差如何进行修改,这类办法的代表性工作就是基于GNN(图神经网络)求解器;

  这里也给出我目前调研到的次要办法

  1. 深度神经网络,也即本文要探讨的DeepONet及其衍生的一些系列算法,这类算法就比拟间接好了解,也是一部分研究者次要钻研的办法;
  2. 图神经网络,图神经网络也是借鉴了传统有限元办法,应用离散化的办法将空间域建模为图网络,联合神经网络进行节点更新,也就是求解,目前来说是消息传递机制、傅里叶算子神经网络比拟霍;
  3. 多尺度神经网络,这算是深度神经网络的一个分支,次要想要解决的是长时间尺度和大空间域的求解问题。

Physics-Informed DeepONet

  这一部分给出次要技术细节,这一块其实是最简略的,上面给出次要的两篇参考文献:

Lu, Lu, et al. “Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators.” Nature Machine Intelligence 3.3 (2021): 218-229.
Wang, Sifan, Hanwen Wang, and Paris Perdikaris. “Learning the solution operator of parametric partial differential equations with physics-informed DeepONets.” Science advances 7.40 (2021): eabi8605.

  DeepONet的次要思路就上面两个非线性算子实践:
  定理一:假设\(\sigma\)是一个非多项式函数,\(X\)是一个Banach空间,\(K_{1} \subset X\),\(K_{2} \subset \mathbb{R}^{d}\)别离是\(X\)和\(\mathbb{R}^{d}\)上的紧集,\(V\)是\(C\left(K_{1}\right)\)上的紧集,\(G\)是一个将\(V\)映射到\(C\left(K_{2}\right)\)的间断非线性算子。那么对于任意\( \epsilon > 0\),存在正整数\(m\)、\(p\)和\(n\),常数\(c_i^k\)、\(\xi _{ij}^{k}\)、\(\theta _{i}^{k}\)、\(\zeta _k\in \mathbb{R}\)、\(w_k \in \mathbb{R} ^d\)、\(x_j\in K_1\)、\(i=1,…,n \),\(k=1,…,p\),\(j=1,…,m\)使得

$$
\left|G(u)(y)-\sum_{k=1}^{p} \underbrace{\sum_{i=1}^{n} c_{i}^{k} \sigma\left(\sum_{j=1}^{m} \xi_{i j}^{k} u\left(x_{j}\right)+\theta_{i}^{k}\right)}_{\text {branch }} \underbrace{\sigma\left(w_{k} \cdot y+\zeta_{k}\right)}_{\text {trunk }} \right|<\epsilon
$$

对于任意\(u \in V\) and \(y \in K_{2}\)成立。\(C(K)\)是所有定义在\(K\)上的所有连续函数的Banach空间,其范数为\(|f|_{C(K)}=\max _{x \in \mathbb{K}}|f(x)|^{\prime}\)。

  定理二:假设\(X\)是一个Banach空间,\(K_{1} \subset X\),\(K_{2} \subset \mathbb{R}^{d}\)别离是\(X\)和\(\mathbb{R}^{d}\)上的紧集,\(V\)是\(C\left(K_{1}\right)\)上的紧集,\(G\)是一个将\(V\)映射到\(C\left(K_{2}\right)\)的间断非线性算子。那么对于任意\( \epsilon > 0\),存在两个正整数\(m\)和\(p\),以及间断向量函数\( \mathbf{g}:\mathbb{R} ^m \Rightarrow \mathbb{R} ^p \)、\( \mathbf{f}:\mathbb{R} ^d \Rightarrow\mathbb{R} ^p \)和\( x_1,x_2,…,x_m \in K_1\)使得

$$
\left|G(u)(y)-\langle\underbrace{\mathbf{g}\left(u\left(x_{1}\right), u\left(x_{2}\right), \cdots, u\left(x_{m}\right)\right)}_{\text {branch }}, \underbrace{\mathbf{f}(y)}_{\text {trunk }}\rangle\right|<\epsilon
$$

对于任意\(u \in V\)和\(y \in K_{2}\)成立,其中\(\langle\cdot, \cdot\rangle\)是向量内积符号。此外,函数\(\mathbf{g}\)和\(\mathbf{f}\)能够抉择为满足经典通用函数迫近定理的不同类别的神经网络,例如(重叠/非重叠)全连贯神经网络、残差神经网络和卷积神经网络。

  通过这两个迫近定理,其实神经网络的架构曾经跃然纸上了,\(\sigma\)、\(\mathbf{g}\)和\(\mathbf{f}\)都能够看成一个神经网络,最简略的就是多层感知机(MLP)。上面咱们就给出两种网络结构(重叠和非重叠):

重叠和非重叠其实差别不大,非重叠的相当于重叠的网络共享雷同的参数。当然了,这里其实有一点是十分纳闷性的,就是\(x_1,x_2,…,x_m \)代表的是空间地位,那么\(y\)也代表的是空间地位,那两者应该是等价的,为什么作者不必对立变量来进行示意,这里就是作者挖的第一个坑。我也不晓得作者为啥不在这里明确示意,其实这里的\( y:\mathbb{R} ^m\)其实能够看作是\( y=\left[ x,t \right] \),这里的\( x\)就和图上的\(x_1,x_2,…,x_m \)对应上了。工夫\( t\)没有显示地体现进去,然而在实际操作中\(t\)是被蕴含在\( y:\mathbb{R} ^m\)中被Trunk Net显式编码,想明确这一点整个DeepONet就能很快弄明确了。

  上面咱们介绍Physics Informed DeepONet的损失函数

$$
\mathcal{L} (\boldsymbol{\theta })=\lambda _{ic}\mathcal{L} _{ic}(\boldsymbol{\theta })+\lambda _{bc}\mathcal{L} _{bc}(\boldsymbol{\theta })+\lambda _r\mathcal{L} _r(\boldsymbol{\theta })+\lambda _g\mathcal{L} _g(\boldsymbol{\theta })
$$

各项为

$$
\mathcal{L} _{ic}(\boldsymbol{\theta })=\frac{1}{N_{ic}}\sum_{i=1}^{N_{ic}}{\left| \boldsymbol{u}_{\boldsymbol{\theta }}\left( 0,\boldsymbol{x}_{ic}^{i} \right) -\boldsymbol{g}\left( \boldsymbol{x}_{ic}^{i} \right) \right|^2}
\\
\mathcal{L} _{bc}(\boldsymbol{\theta })=\frac{1}{N_{bc}}\sum_{i=1}^{N_{bc}}{\left| \mathcal{B} \left[ \boldsymbol{u}_{\boldsymbol{\theta }} \right] \left( t_{bc}^{i},\boldsymbol{x}_{bc}^{i} \right) \right|^2}
\\
\mathcal{L} _r(\boldsymbol{\theta })=\frac{1}{N_r}\sum_{i=1}^{N_r}{\left| \frac{\partial \boldsymbol{u}_{\boldsymbol{\theta }}}{\partial t}\left( t_{r}^{i},\boldsymbol{x}_{r}^{i} \right) +\mathcal{N} \left[ \boldsymbol{u}_{\boldsymbol{\theta }} \right] \left( t_{r}^{i},\boldsymbol{x}_{r}^{i} \right) \right|^2}
\\
\mathcal{L} _g(\boldsymbol{\theta })=\frac{1}{PN_g}\sum_{j=1}^P{\sum_{i=1}^{N_g}{\left| \boldsymbol{u}_{\boldsymbol{\theta }}\left( t_{r}^{j},\boldsymbol{x}_{g}^{i} \right) -\boldsymbol{u}_g\left( t_{r}^{j},\boldsymbol{x}_{g}^{i} \right) \right|^2}}
$$

这里\(\mathcal{L} _{ic}(\boldsymbol{\theta })\)代表了初始条件的损失函数,也就是相当于束缚神经网络肯定要满足初始条件,这一项的计算间接将\(t = t_0\)即可;\(\mathcal{L} _{bc}(\boldsymbol{\theta })\)代表了边界条件的损失函数,也就是强制神经网络的满足边界束缚,这个也能够轻松计算;\(\mathcal{L} _{r}(\boldsymbol{\theta })\)这一项及时Physics Informed损失项,也就是让神经网络的解可能满足偏微分方程束缚,这一项的引入也开始了Physics-informed neural networks (PINNs)的钻研;\(\mathcal{L} _{g}(\boldsymbol{\theta })\)代表了神经网络预测的解和实在值之间的差值。这四项根本就是这一方面钻研罕用的四项,通常来说前三项都会应用,第四项依据理论状况引入。\(\lambda _{ic}\)、\(\lambda _{bc}\)、\(\lambda _{r}\)和\(\lambda _{g}\)是事后设定的系数,个别都取为1,也就意味着是超参数。须要指出的是,损失函数的计算依赖对空间域上的采样,如何采样也会影响神经网络的优化,个别都是平均采样或者随机采样,最近也有人引入Attention机制自学习感兴趣区域。

这里神经网络的优化形式应用梯度降落,也即

$$
\boldsymbol{\theta }_{k+1}=\boldsymbol{\theta }_k-\eta \nabla _{\boldsymbol{\theta }}\mathcal{L} (\boldsymbol{\theta })
$$

\( \eta\)是学习律,这个和深度学习里设定学习律基本一致。这里也牵涉到激活函数的选取,个别都是应用DeepXDE自带的自适应激活函数,ReLU因为二阶以上导不存在,个别不应用。具体的优化形式能够是mini-batch SGD(随即梯度降落)。

  这里须要提到一个问题,也就是主动微分机制。为什么要用主动微分机制,很多人可能回认为通过数值差分的办法就能计算各阶偏导数,因为偏微分方程的偏导数阶数通常十分高,这样一次次地迭代计算高阶偏导数项会导致比拟大的误差。此外,须要指出的是,理论中数据都是存在噪声的,噪声数据是很难用数值差分的形式计算失去的。当然了,目前也有一些办法是联合数值办法和主动微分机制。Tensorflow和Pytorch都没有提供提供偏微分方程的高阶倒数计算方法,这里举荐应用DeepXDE包(也是由DeepONet作者陆路博士开发的)。应用主动微分机制能够疾速计算损失函数及其导数。

  到这里根本Physics Informed DeepONet所有细节就介绍完了,不得不感叹这个办法的简洁与高效。试验局部这里就不赘述,如果有须要能够具体读一下相干论文。

思考与瞻望

  对于DeepONet的数学分析和拓展能够别离参考上面两篇文章:

Lanthaler, Samuel, Siddhartha Mishra, and George E. Karniadakis. “Error estimates for DeepONets: A deep learning framework in infinite dimensions.” Transactions of Mathematics and Its Applications 6.1 (2022): tnac001.
Lu, Lu, et al. “A comprehensive and fair comparison of two neural operators (with practical extensions) based on fair data.” Computer Methods in Applied Mechanics and Engineering 393 (2022): 114778.

  综合我最近读的一些论文,我给出一些有后劲的钻研办法:

  1. Attention机制:该办法次要解决空间域的采样办法,self-Attention可能较好地解决这一问题曾经有人开始摸索这个畛域了;

    Kissas, Georgios, et al. “Learning Operators with Coupled Attention.” arXiv preprint arXiv:2201.01032 (2022).

  2. 图神经网络:该办法可能和传统办法联合,用神经网络代替传统的迭代计算方法;
  3. Meta-Learning办法:偏微分方程中有局部参数在不同利用场景下会产生肯定范畴的变动,咱们能够利用已有的后果疾速对新参数泛化,这部分也有人开始钻研;
  4. 长时间尺度和多物理域问题。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理