查看原文
其他

【源头活水】PDE遇见深度学习

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—Monte Carlo

地址:https://www.zhihu.com/people/wu-ke-73-62


01

基本介绍
近年来,深度学习由于神经网络强大的表示能力在计算机视觉、语音识别和自然语言处理[1]等方面取得了巨大的成功。与此同时,利用深度神经网络 (DNN) 来数值求解偏微分方程 (Partial differential equation, PDE) 引起了大家的广泛研究。在经典的数值方法中,比如有限差分、有限元方法,其刚度矩阵具有稀疏性,但它们的未知数的个数或者网格的节点数随着 PDE 的维度呈指数增长,会出现维数灾难 (Curse of dimensionality, CoD)。谱方法虽然采用了没有紧支集的基函数从而具有指数精度,但是牺牲了稀疏性,而且对函数的光滑性有很高的要求。因而,传统方法在处理高维 PDE 变得特别困难。但是,高维 PDE 在实际应用中广泛存在,比如量子多体问题中的薛定谔方程、随机最优控制问题中的 Hamilton-Jacobi-Bellman 方程、金融衍生品定价问题中的 Black-Scholes 方程等。
注意到 DNN 在近似高维函数方面具有非常强的非线性拟合能力,从而我们考虑利用 DNN 求解 PDE 以克服维数灾难。目前,利用 DNN 求解 PDE 的方法有很多,基本想法都是利用 DNN 近似函数或者梯度,然后通过极小化某种意义下的损失函数得到最优的参数表。这些方法有 Deep Ritz method (DRM)[2],Physics-informed neural networks (PINN)[3],Deep Galerkin method (DGM)[4],Deep Nitsche method[5], Weak Adversarial Networks[6]等等。

02

网络结构
首先,我们先来介绍一下深度神经网络。举个例子,下图是一个全连接的深度神经网络,其中它的输入层 (Input layer) 有 3 个神经元,输出层 (Output layer) 有 2 个神经元,中间有若干个隐藏层 (Hidden layer),每个隐藏层有 4 个神经元。假设输入为  ,具有  层的全连接神经网络的数学形式为
其中  为激活函数,  为相应的权重 (weight) 和偏置 (bias)。
全连接神经网络示意图
一般的,我们使用的网络结构是 ResNet[7],它的数学形式为

ResNet 由于在全连接网络基础上多了一个恒等映射,在网络训练过程中能改善梯度爆炸或者梯度消失的现象。


03

建模
3.1、深度学习建模三部曲
  • step 1:构造 DNN 近似函数 F
 是所有权重和偏置组成的参数  所在的空间,称假设空间 (Hypothesis space)。
  • step 2:建立损失函数来衡量近似的好坏

一般取的是二范意义下的损失函数。
  • step 3:利用优化算法极小化损失函数

一般我们使用 SGD 方法。
3.2、DGM 和 DRM 的损失函数
考虑有界区域  上的椭圆方程的 Dirichlet 问题
其中  是给定的关于自变量  的函数,  是待求 PDE 的解。DGM 和 DRM 都是利用 DNN 来近似方程的解,即
主要是对应的损失函数有些不同。
  • Deep Galerkin method
DGM 的想法很自然,它的损失函数是上述 PDE 在最小二乘意义下的残差,即
 是惩罚参数,可能取决于区域内部的体积分和边界积分的比值。
  • Deep Ritz method
DRM 的想法来源于上述 PDE 的变分形式,可以知道泛函
在极小化时可以得到其对应的 Euler-Lagrange 方程 (一般情况请见 Evans 的 Partial differential equations) 为

因此,它的损失函数为
 是惩罚参数。
PyTorch 实现代码请见:https://zhuanlan.zhihu.com/p/341570135
3.3、Monte Carlo 方法
上述 DGM 和 DRM 定义的损失函数是关于自变量  连续的积分问题,一般思路是连续问题离散化,将区域数值离散成均匀网格,利用梯形公式、Simpson 公式等方法求解。但当涉及到积分区域是比较高维的情况,对其进行数值积分便变得极其困难。这时候,我们需要利用 Monte Carlo 方法来求解高维积分。
考虑积分
 
根据梯形公式,若使用  个等分节点,则误差为

其中

  • 高维空间上的积分 - Monte Carlo 方法
step 1:在  中取  个独立同分布 (i.i.d.) 的随机样本 
step 2:计算对应的函数值 
step 3: 根据大数定律 (LLN) 有收敛性:
step 4: 根据中心极限定理 (CLT) 有收敛速度:
误差分析:

可以发现


04

参考

[1] https://www.deeplearningbook.org/

[2] https://arxiv.org/pdf/1710.00211.pdf

[3] https://www.sciencedirect.com/science/article/pii/S0021999118307125

[4] https://arxiv.org/abs/1708.07469

[5] https://arxiv.org/pdf/1912.01309.pdf

[6] https://www.sciencedirect.com/science/article/pii/S0021999120301832

[7] https://arxiv.org/abs/1512.03385


本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存