物理导引神经网络方法分析
摘要
随着GPU能力的提升,支撑深度学习的软硬件生态得到了快速发展。通过深度学习来解决科学计算问题成了一种趋势,其中用深度学习来求解微分方程的方法也逐渐兴起。尤其引人注意的是一种称为物理导引神经网络的方法,其为科学计算领域注入了新的活力。物理导引神经网络(PINN: Physics Informed Neural Network)方法的核心思路是用神经网络来表征微分方程的解,通过训练神经网络来不断地逼近数值解,从而带来有别于传统数值方法的一些优势。本文将介绍该方法的基本思想,并通过一个简单的案例来说明其基本实现,以及该方法近期的一些发展。
十七世纪末,物理和天文学上的问题催生了微积分,同时关于微分方程的研究也应运而生。十八世纪中期,伴随着当时科技发展,微分方程已经发展成一个独立的学科,而物理定律也不断地以微分方程的形式出现。例如物质的输运过程、声音在空气中的传播、热的扩散、电磁波通讯、水和空气的流动过程,以及量子力学的物质波——薛定谔方程等等(见图1)。物理学上的成功,使得微分方程的理论和技术延伸到化学、生物学,以及经济学等广阔的科学领域。因此,可以毫不怀疑地说,微分方程在科学和工程领域扮演着极为重要的作用。
利用微分方程来解决问题的常规做法是,首先对问题进行分析,再用微分方程对模型进行建模,然后收集观测数据,配置模型的关键参数和条件(例如微分方程的初始条件、边界条件等)。之后通过数学手段对微分方程进行求解,通常还需要将微分方程进行某种意义上的离散化,转为计算机可以计算的形式,最后求得解。
多数情形下,解决实际问题的关键在于微分方程的解,因此如何求解微分方程的解成了解决问题的焦点。然而多数微分方程无法求得解析解,或者即使有解析解,也由于其过于复杂而无法应用,因此通过数值方法近似求解成了最切实的解决手段。对于实际问题,通常还会涉及近似解的精确性,对环境扰动的稳定性,以及求解的计算效率等问题。因此,求解微分方程已经发展成一个庞大的领域,发展出了许多数值计算方法,如差分方法、有限体积方法、有限元方法等等。
然而随着微分方程需要解决的问题不断地增加,传统方法面临着诸多问题。例如:1)适应性问题,实际问题面临的数据总是多种多样的,数据多但可能不完整,或具有一定的随机性,使得传统方法无法很好地适应这些数据;2)门槛高,专用软件具有一定的学习难度,当计算规模变大时,往往还需要在原有的框架下编写并行程序,导致维护成本升高;3)通用性问题,传统方法对于不同的微分方程类型,发展了很多不同的数值手段,往往并不通用,需要为此单独编码,导致专用软件为了处理通用性使得代码规模快速地增长。
深度学习的发展,为传统方法注入了新的活力。相比与传统的数值方法,物理导引神经网络方法(PINN:Physics Informed Neural Network)方法是一种无网格方法[1],其优势在于:1)更好的适应性,能够充分地利用收集到的数据;2)易实现,容易通过现有的深度学习工具链来实现,并更好地使用GPU来完成并行计算;3)更广的适用范围,例如适用于积分微分方程[2]、随机偏微分方程[3]、分数阶偏微分方程[4],甚至是求解一些数学上非良定的反问题[1]。
PINN方法的基本思想是将待求解用神经网络进行表征,将初始条件、边界条件和方程约束转化为神经网络的损失函数,并通过梯度下降方法优化待求解,从而使得待求解达到物理约束要求。该方法得益于神经网络的强大表征能力,以及目前流行的深度学习工具如TensorFlow、PyTorch。这些工具都具有强大的自动微分功能,可以轻松地为求导数的过程构建计算图,训练神经网络即可求解微分方程。
为了更加直观地介绍该方法,这里以刹车问题为例。假设有一辆小车,在距离终点1米处开始减速,且满足一定的物理规律(如刹车速度随距离线性递减)。面对如上情景,需要解决的问题:a)预测小车1秒后停留的位置, 以及b)预测小车到达终点的时间。
为了回答上述问题,解决方案可大致分为三种方式:大数据方式、物理模型方式、PINN方法。
首先是大数据方式,这里以目前流行的神经网络方法为例。神经网络方法的一般流程是1)收集尽可能多的数据;2)搭建通用的神经网络,构建损失函数,用收集到的数据训练网络;3)利用训练好的神经网络来进行推理,从而解决问题。
这里假设已经通过传感器测量,收集到如下数据(非真实数据,仅作示意)。
记收集到的数据点为
预测小车1秒后停留的位置——即求函数值
; 预测小车到达终点的时间——即求函数满足方程
时t的解。
接下来是物理模型方法。作为一个物理问题,刹车问题可以通过引入物理先验知识来求解。这里的先验知识是刹车速度随距离线性递减,因此建立如下物理模型:
其中λ可以已知也可以未知,为了简单起见,这里假设λ= 1。于是问题转为求解上述物理模型(其中初始条件为
以上问题涉及的是常微分方程(仅含一个自变量导数),这里再给出一个偏微分方程(含多个自变量导数)的例子。注意,传统方法对常微分方程、偏微分方程的数值处理形式有不小的差别,但对于PINN方法,对二者的处理方式可以统一起来。下面来考虑一维的Burgers方程的求解。该方程出现在许多领域,如流体力学、气体动力学以及交通流等问题中。它是一个基本的偏微分方程,可以看成流体动力学方程的一个简化(去除压力梯度项)。对于较小的粘滞系数,Burgers方程会导致激波的形成,这是传统数值方法难以精确解决的问题之一。其方程和初边值条件如下:
目前,有关PINN方法的研究正在如火如荼地开展中,也出现了一些有意思的拓展。例如,处理更复杂的时空问题,可以将大空间区域进行分解[5,6];应用于涉及积分的微分方程,可以进行简单地离散化[7],或者是更巧妙方式如自积分方法AutoInt[8]。应对高维情况问题[9],以及结合不确定性的问题[10],不同的神经网络结构[11],以及上一篇公众号提到的工作。同时近期也发展了一些软件包,如DeepXDE,NVIDIA SimNet,以及SciANN、TensorDiffEq, NeuroDiffEq, IDRLNet 和基于 Julia 语言的 NeuralPDE,其中比较流行的软件包为DeepXDE,以及NVIDIA的产品SimNet。有关这一领域更多的进展,可以参考综述性的文章[12]与书籍[13]。
从上述的介绍可以看出,PINN方法是一种介于大数据方法和物理模型方法的融合方法。这种方法将物理模型和数据都转变为了损失项,从而使得模型与数据之间的隔阂变小。可以从下图得到一些关于PINN方法适用范围的启发。
[1] Austin Derrow-Pinion, Jennifer She, David Wong, et al. ETA Predictionwith Graph Neural Networks in Google Maps. 2021
[1] Raissi, M., Perdikaris, P., & Karniadakis, G. E. (2019). Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics, 378, 686-707.
[2] Xu, H., Zhang, D., & Wang, N. (2021). Deep-learning based discovery of partial differential equations in integral form from sparse and noisy data. Journal of Computational Physics, 445, 110592.
[3] Zhang, D., Guo, L., & Karniadakis, G. E. (2020). Learning in modal space: Solving time-dependent stochastic PDEs using physics-informed neural networks. SIAM Journal on Scientific Computing, 42(2), A639-A665.
[4] Pang, G., Lu, L., & Karniadakis, G. E. (2019). fPINNs: Fractional physics-informed neural networks. SIAM Journal on Scientific Computing, 41(4), A2603-A2626.
[5] Jagtap, A. D., & Karniadakis, G. E. (2020). Extended physics-informed neural networks (xpinns): A generalized space-time domain decomposition based deep learning framework for nonlinear partial differential equations. Communications in Computational Physics, 28(5), 2002-2041.
[6] Kharazmi, E., Zhang, Z., & Karniadakis, G. E. (2021). hp-VPINNs: Variational physics-informed neural networks with domain decomposition. Computer Methods in Applied Mechanics and Engineering, 374, 113547.
[7] Lu, L., Meng, X., Mao, Z., & Karniadakis, G. E. (2021). DeepXDE: A deep learning library for solving differential equations. SIAM Review, 63(1), 208-228.
[8] Lindell, D. B., Martel, J. N., & Wetzstein, G. (2021). Autoint: Automatic integration for fast neural volume rendering. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 14556-14565).
[9] Beck, C., Becker, S., Grohs, P., Jaafari, N., & Jentzen, A. (2021). Solving the Kolmogorov PDE by means of deep learning. Journal of Scientific Computing, 88(3), 1-28.
[10] Zhang, D., Lu, L., Guo, L., & Karniadakis, G. E. (2019). Quantifying total uncertainty in physics-informed neural networks for solving forward and inverse stochastic problems. Journal of Computational Physics, 397, 108850.
[11] Ren, P., Rao, C., Liu, Y., Wang, J., & Sun, H. (2021). PhyCRNet: Physics-informed Convolutional-Recurrent Network for Solving Spatiotemporal PDEs. arXiv preprint arXiv:2106.14103.
[12] Karniadakis, G. E., Kevrekidis, I. G., Lu, L., Perdikaris, P., Wang, S., & Yang, L. (2021). Physics-informed machine learning. Nature Reviews Physics, 3(6), 422-440.
[13] Thuerey, N., Holl, P., Mueller, M., Schnell, P., Trost, F., & Um, K. (2021). Physics-based Deep Learning. arXiv preprint arXiv:2109.05237.
往期推荐
壁仞科技研究院作为壁仞科技的前沿研究部门,旨在研究新型智能计算系统的关键技术,重点关注新型架构,先进编译技术和设计方法学,并将逐渐拓展研究方向,探索未来智能系统的各种可能。壁仞科技研究院秉持开放的原则,将积极投入各类产学研合作并参与开源社区的建设,为相关领域的技术进步做出自己的贡献。