2019-PINN-A deep learning framework for solving forward and ... nonlinear PDEs
2019-Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations
M.Raissia, P.Perdikarisb,∗, G.E.Karniadakisa
abstract
我们引入物理信息神经网络——神经网络,这些神经网络经过训练,可以解决受监督的学习任务,同时尊重一般非线性偏微分方程描述的任何特定物理定律。在这项工作中,我们在解决两个主要问题方面介绍了我们的发展:数据驱动解和数据驱动型发现部分微分方程(data-driven solution and data-driven discovery of partial differential equations)。根据可用数据的性质和排列,我们设计了两种不同的算法类型,即连续时间和离散时间模型。第一种类型的模型形成了一个新的数据效率-时空函数近似器系列(data-efficient spatio-temporal function approximators,),而后一种类型允许使用任意准确的隐式Runge−KuttaRunge-KuttaRunge−Kutta时间步进方案(arbitrarily accurate implicit Runge–Kutta time stepping schemes with unlimited number of stages),具有无限数量的阶段。通过流体、量子力学、反应扩散系统和非线性浅水波的传播等经典问题,证明了该框架的有效性。
1. Introduction
随着可用数据和计算资源的爆炸式增长,机器学习和数据分析的最新进展在不同科学学科(包括图像识别[1]、认知科学[2]和基因组学[3])上产生了变革性成果。然而,在分析复杂的物理、生物或工程系统过程中,数据采集的成本往往令人望而却步,我们不可避免地面临着在部分信息下得出结论和作出决定的挑战。在这个小型数据中,绝大多数最先进的机器学习技术(例如,深度/卷积/循环神经网络)缺乏鲁棒性,无法提供任何收敛保证。
一开始,训练深度学习算法以准确识别少数输入和输出数据对中的非线性映射(可能非常高维)的任务充其量是天真的。来拯救我们,对于许多与物理和生物系统建模有关的案例,目前在现代机器学习实践中存在着大量尚未利用的先前知识。让它成为支配系统时间依赖动力学的原则物理定律,或者一些经过经验验证的规则或其他领域专业知识,这种先前的信息可以作为一种正定剂,将可受理解决方案的空间限制到可管理的大小(例如,在不可压缩的流体动力学问题中, 丢弃任何违反质量保护原则的非现实流动解决方案 )。作为回报,将此类结构化信息编码为学习算法会导致放大算法看到的数据的信息内容,从而使它能够快速转向正确的解决方案,并且即使只有几个训练示例可用,它也能够很好地进行概括。
利用结构化的先前信息构建数据高效和物理知识的学习机器的承诺的第一瞥,已经在最近[4][6]的研究中有所展示。在那里,作者利用高斯过程回归[7]来设计针对给定线性运算符进行的功能表示,并能够准确地推断出解决方案,并为数学物理学中的几个原型问题提供不确定性估计。RaissiRaissiRaissi[8, 9]在随后的研究中提出了非线性问题的前紧张性。在推理和系统识别的范围内。尽管高斯过程在编码前具有灵活性和数学优雅性,但非线性问题的处理带来了两个重要的局限性。首先,在[8,9]中,作者必须将任何非线性术语在时间本地线性化,从而限制所建议方法对离散时间域的适用性,并降低其在强非线性制度下的预测的准确性。其次,高斯过程回归的贝叶斯性质需要某些先前的假设,这些假设可能会限制模型的表示能力,并引起健壮度/脆性问题,尤其是非线性问题[10]。
2. Problem setup
在这项工作中,我们采用不同的方法,采用深度神经网络,并利用其众所周知的功能作为通用函数近似器[11]。在此设置中,我们可以直接解决非线性问题,而无需承诺任何先前的假设、线性化或本地时间步进。我们利用自动分化的最新发展 [12] 是科学计算中最有用但可能未充分利用的技术之一,以区分神经网络及其输入坐标和模型参数,从而获得物理智能神经网络。这种神经网络受制于任何对称性、不变性或基于控制观测数据的物理定律的保存原则,如一般时间依赖和非线性偏微分方程建模。这种简单而强大的结构使我们能够解决计算科学中的各种问题,并引入了一种潜在的变革性技术,导致开发新的数据高效和物理知识型学习机器、用于偏微分方程的新数值求解器,以及模型反转和系统识别的新数据驱动方法。
这项工作的一般目标是为建模和计算的新范式奠定基础,这种模式丰富了深度学习与数学物理学的长期发展。为此,我们的手稿分为两部分,旨在介绍我们在两个主要问题类别的背景下的发展:数据驱动解和数据驱动型发现偏微分方程。此手稿附带的所有代码和数据集在GitHubGitHubGitHub上可用[项目](https://github.com /maziarraissi /PINN)。在整个工作过程中,我们一直在使用相对简单的深度前馈神经网络架构,具有双曲切线激活功能,没有额外的正则化(例如,L1/L2penaltiesdropoutL1/L2 \ penalties \ dropoutL1/L2 penalties dropout等)。手稿中的每个数字示例都附有有关我们使用的神经网络体系结构的详细讨论,以及有关其培训过程的详细信息(例如优化器、学习率等)。最后,附录A和附录B提供了一系列旨在证明拟议方法性能的综合系统研究。
在本文中,我们考虑一般形式的参数化和非线性偏微分方程
其中u(t,x)u(t, x)u(t,x)表示潜在(隐藏)解,N=[⋅;λ]\mathcal{N}=[\cdot ; \lambda]N=[⋅;λ]是按λ\lambdaλ参数化的非线性运算符,Ω\OmegaΩ是RD\mathbb{R}^DRD的子集。此设置封装了数学物理学中广泛的问题,包括保存定律、扩散过程、对流扩散反应系统和动力学方程。作为激励性示例,一维BurgersBurgersBurgers方程 [13] 对应于N[u;λ]=λ1μμx−λ2μxx\mathcal{N}[u; \lambda] = \lambda_1\mu \mu_x - \lambda_2 \mu_{xx}N[u;λ]=λ1μμx−λ2μxx和λ=(λ1,λ2)\lambda = (\lambda_1, \lambda_2)λ=(λ1,λ2)的情况。在这里,下标表示时间或空间的部分差异。鉴于系统的噪声测量,我们对两个不同问题的解决很感兴趣。第一个问题就是推理、滤波和平滑,或者偏微分方程的数据驱动解[4,8],其中指出:给定的固定模型参数λ\lambdaλ——关于系统的未知隐藏状态u(t,x)u(t, x)u(t,x)可以说什么?第二个问题就是学习、系统识别或数据驱动的发现部分微分方程[5,9,14],说明:哪些参数λ\lambdaλ最好地描述观测到的数据?
3. Data-driven solutions of partial differential equations
让我们首先集中关注计算数据驱动解到一般形式的偏微分方程(即上述第一个问题)的问题
其中u(t,x)u(t, x)u(t,x)表示潜在的(隐藏)解决方案,N[⋅]\mathcal{N} [\cdot]N[⋅]是非线性差分运算符,Ω\OmegaΩ是RD\mathbb{R}^DRD的子集。在3.1节和3.2节中,我们提出了两种不同类型的算法,即连续和离散时间模型,并通过不同基准问题的镜头来突出它们的特性和性能。在我们的研究的第二部分(见第4节),我们把注意力转移到数据驱动的发现偏微分方程[5,9,14]的问题。
3.1. Continuous time models
我们定义f(t,x)f(t, x)f(t,x)由方程的左侧(2);即
然后通过深度神经网络近似u(t,x)u(t, x)u(t,x)进行。此假设以及方程(3)得到物理信息神经网络f(t,x)f(t, x)f(t,x)。可以通过应用链规则使用自动区分 [12] 来区分函数组合来派生此网络,并且具有与表示u(t,x)u(t, x)u(t,x)的网络相同的参数,尽管由于差分运算符N\mathcal{N}N的操作,激活函数不同。神经网络u(t,x)u(t, x)u(t,x)和f(t,x)f(t, x)f(t,x)之间的共享参数可以通过最小化平均平方误差损失来学习
其中
在这里,{tui,xui,ui}i=1Nu\{t^i_u, x^i_u, u^i\}^{N_u}_{i=1}{tui,xui,ui}i=1Nu表示u(x,t)u(x, t)u(x,t)和{tfi,xfi}i=1Nf\{t^i_f, x^i_f\}^{N_f}_{i=1}{tfi,xfi}i=1Nf上的初始和边界训练数据,指定f(t,x)f(t, x)f(t,x)的搭配点。损耗MSEuMSE_uMSEu应答初始数据和边界数据,而MSEfMSE_fMSEf强制在一组有限位置点处由方程(2) 施加的结构。尽管在以前的研究中已经探索了使用物理定律约束神经网络的类似想法[15,16],但在这里,我们利用现代计算工具重新审视它们,并将其应用于时间依赖非线性偏微分方程描述的更具挑战性的动态问题。
在这里,我们应该强调这一行的工作与文献中阐述机器学习在计算物理学中的使用的方法之间的重要区别。"物理信息机器学习"一词最近也已被Wang等人[17]使用在湍流建模的上下文中。用于物理系统预测建模的机器学习方法的其他示例包括 [18-29]。所有这些方法都采用机器学习算法,如支持向量机、随机森林、高斯进程和馈送/卷积/循环神经网络,仅作为黑盒工具。如上所述,拟议的工作旨在通过重新审视针对基础差分运算符定制的"自定义"激活和损耗函数的构造,更进一步。这使我们能够打开黑匣子,通过理解和欣赏在深度学习领域自动区分所发挥的关键作用。一般自动分化,特别是反传播算法,是目前训练深度模型的主要方法,方法是根据模型的参数(例如权重和偏置)采用其导数。在这里,我们使用深度学习界采用的完全相同的自动分化技术,通过利用神经网络的输入坐标(即空间和时间)的导数来为神经网络提供信息,其中物理由偏微分方程描述。我们通过经验观察到,这种结构化方法引入了一种正则化机制,使我们能够使用相对简单的前馈神经网络架构,并训练它们使用少量数据。这个简单的想法的有效性可能与Lin,TegmarkandRolnickLin, Tegmark \ and RolnickLin,Tegmark andRolnick[30]的讨论有关,并提出了许多有趣的问题,在未来的研究中需要定量地讨论。为此,拟议的工作从PsichogiosPsichogiosPsichogios和UngarUngarUngar[16],LagarisLagarisLagaris的早期贡献中汲取灵感,以及KondorKondorKondor[31,32],HirnHirnHirn[33]和MallatMallatMallat[34]的当代作品。
在所有与数据驱动型局部微分方程解相关的情况下,训练数据NuN_uNu的总数相对较少(几百到几千点),我们选择使用L−BFGSL-BFGSL−BFGS,aquasi−Newton,full−batchgradient−basedoptimizationalgorithma \ quasi-Newton, full-batch \ gradient-based \ optimization \ algorithma quasi−Newton,full−batch gradient−based optimization algorithm拟牛顿全批梯度优化算法[35])优化所有损耗函数。对于较大的数据集(如第 4 节中讨论的数据驱动模型发现示例),可以使用随机梯度下降及其现代变体[36, 37]轻松使用计算效率更高的小型批处理设置。尽管没有理论上保证该过程收敛到全局最小值,但我们的经验证据表明,如果给定的偏微分方程是良好的,并且其解是独一无二的,那么,如果具有足够表现力的神经网络架构和足够数量的搭配点NfN_fNf,我们的方法能够达到良好的预测精度。这一一般观察与方程(4)的均方误差损失所导致的优化景观有深刻关系,并定义了一个与深度学习理论发展同步的研究开放问题[38,39]。为此,我们将使用附录A和附录B中提供的一系列系统敏感性研究来测试拟议方法的稳健性。
3.1.1. Example (Schrodinger equation)
此示例旨在强调我们的方法处理周期性边界条件、复杂值的解流以及控制偏微分方程中不同类型的非线性的能力。一维非线性SchrodingerequationSchrodinger \ equationSchrodinger equation是用于研究量子力学系统的经典场方程,包括光纤和/或波导、玻色-爱因斯坦冷凝水以及等离子波中的非线性波传播。在光学中,非线性项产生于给定材料的折射强度相关率。同样,Bose−EinsteinBose-EinsteinBose−Einstein冷凝的非线性术语是相互作用的NNN体系统均场相互作用的结果。ThenonlinearSchro¨dingerequationThe \ nonlinear \ Schrödinger \ equationThe nonlinear Schro¨dinger equation以及周期性边界条件由
然后先在h(t,x)h(t, x)h(t,x)上放置一个复杂值的神经网络。事实上,如果将手的实际部分与假想部分相比,我们将多出神经网络放在h(t,x)=[u(t,x)v(t,x)]h(t, x) = [u(t, x) v(t, x)]h(t,x)=[u(t,x)v(t,x)]上。这将导致复杂值(多输出)物理通知神经网络f(t,x)f(t, x)f(t,x)。神经网络h(t,x)h(t, x)h(t,x)和f(t,x)f(t, x)f(t,x)的共享参数可以通过最小化平均平方误差损失来学习
在这里,{x0i,h0i}i=1N0\{x^i_0, h^i_0\}^{N_0}_{i=1}{x0i,h0i}i=1N0表示初始数据,{tbi}i=1Nb\{t^i_b\}^{N_b}_{i=1}{tbi}i=1Nb对边界上的搭配点进行响应,{tfi,xfi}i=1Nf\{t^i_f, x^i_f\}^{N_f}_{i=1}{tfi,xfi}i=1Nf代表f(t,x)f(t, x)f(t,x)上的搭配点。因此,MSE0MSE_0MSE0对初始数据的损失进行响应,MSEbMSE_bMSEb会强制使用周期性边界条件,并且MSEfMSE_fMSEf使schro¨dingerschrödingerschro¨dinger方程在搭配点上未得到满足。
为了评估方法的准确性,我们利用传统的光谱方法模拟方程(5)来创建高分辨率数据集。具体地说,从初始状态h(0,x)=2sech(x)h(0, x) = 2 \ sech(x)h(0,x)=2 sech(x)开始,假设周期性边界条件h(t,−5)=h(t,5)h(t, -5) = h(t, 5)h(t,−5)=h(t,5)和hx(t,−5)=hx(t,5)h_x(t, -5) =h_x(t, 5)hx(t,−5)=hx(t,5),我们集成了方程(5),至最后一次t=π/2t = \pi / 2t=π/2使用ChebfunChebfunChebfun封装[40],光谱四叶体离散化,具有256种模式和四阶显式Runge−KuttaRunge-KuttaRunge−Kutta时间集成器,具有时间步数Δt=π/2⋅10−6\Delta t=\pi / 2 \cdot 10^{-6}Δt=π/2⋅10−6。在我们的数据驱动设置下,我们观察到的只是潜伏函数h(t,x)h(t, x)h(t,x)的测量值{x0i,h0i}i=1N0\{x^i_0, h^i_0\}^{N_0}_{i=1}{x0i,h0i}i=1N0的时间t=0t=0t=0。特别是,训练集包括h(0,x)h(0, x)h(0,x)上总共n0=50n_0 = 50n0=50个数据点,这些点从完整的高分辨率数据集中随机解析,以及Nb=50N_b = 50Nb=50随机采样的搭配点{tbi}i=1Nb\{t^i_b\}^{N_b}_{i=1}{tbi}i=1Nb,用于强制实施周期边界。此外,我们假设了用于在解域内强制方程(5)的Nf=20000N_f = 20000Nf=20000随机采样的实验室积分。所有随机采样的点位置都是使用spacefillingLatinHypercubeSamplingstrategy[41]space \ filling \ Latin \ Hypercube \ Sampling \ strategy[41]space filling Latin Hypercube Sampling strategy[41]。
在这里,我们的目标是推断Schro¨dingerequation(5)Schrödinger \ equation(5)Schro¨dinger equation(5)的整个时空解h(t,x)h(t, x)h(t,x)。我们选择使用每层100个神经和一个双曲线切线激活函数的5层深度神经网络来共同表示潜在的函数h(t,x)=[u(t,x)v(t,x)]h(t, x) = [u(t, x) v(t, x) ]h(t,x)=[u(t,x)v(t,x)]。通常,应给予神经网络足够的近似能力,以适应预期的u(t,x)u(t, x)u(t,x)复杂性。虽然可以采用BayesianBayesianBayesian优化[42]等更多系统的程序来微调神经网络的设计,但如果没有理论误差/收敛估计,神经结构/训练过程与基础微分方程的复杂性之间的相互作用仍不为人所知。评估预测解决方案准确性的一个可行途径可能是采用贝叶斯方法并监测预测后分布的方差,但这超出了目前工作的范围,并将在未来的研究中进行调查。
Fig. 1: SchrodingerequationSchrodinger \ equationSchrodinger equation:顶部:预测解决方案∣h(t,x)∣|h(t, x)|∣h(t,x)∣以及初始和边界训练数据。此外,我们还使用LatinHypercubeSamplingstrategyLatin \ Hypercube \ Sampling \ strategyLatin Hypercube Sampling strategy生成的200002000020000个搭配点。底部:与顶部面板中虚线所描绘的三个时间快照对应的预测和精确解决方案的比较。此情况的相对L2error\mathbb{L}_2 \ errorL2 error为1.97⋅10−31.97 \cdot 10^{-3}1.97⋅10−3。
在此示例中,我们的设置旨在强调建议的方法在众所周知的过紧问题方面鲁棒性。具体来说,MSEfMSE_fMSEf在方程(6)中的术语充当一种正则化机制,用于惩罚不符合方程(5)的解。因此,物理信息神经网络的一个关键属性是,它们可以使用小型数据集进行有效训练; 在研究物理系统时经常遇到的一种环境,其数据采集成本可能过高。图1概括了实验的结果。具体来说,图 1 的顶部面板显示预测的时态解$ |h(t, x)| = \sqrt{u^2(t, x) + v^2(t, x)},以及初始和边界训练数据的位置。由此产生的预测误差根据此问题的测试数据进行验证,并在相对,以及初始和边界训练数据的位置。由此产生的预测误差根据此问题的测试数据进行验证,并在相对,以及初始和边界训练数据的位置。由此产生的预测误差根据此问题的测试数据进行验证,并在相对\mathbb{L}_2$标准中的1.97⋅10−31.97 \cdot 10^{-3}1.97⋅10−3进行测量。图 1 的底部面板中提供了对预测解决方案的更详细的评估。特别是,我们在不同时间时刻比较了精确和预测的解决方案t=0.59,0.79,0.98t = 0.59, 0.79, 0.98t=0.59,0.79,0.98。仅使用少量初始数据,物理信息神经网络可以准确捕获Schro¨dingerequationSchrödinger \ equationSchro¨dinger equation的复杂非线性行为。
到目前为止,考虑的连续时间神经网络模型的一个潜在限制源于需要使用大量的搭配点NfN_fNf顺序来在整个时空域中强制实施物理信息约束。虽然这不会对一个或两个空间维度中的问题造成重大问题,但它可能在高维问题中引入严重的瓶颈,因为全局实施物理信息约束(即,在我们的例中是偏微分方程)所需的搭配点总数将呈指数级增长。尽管此限制可以针对使用稀疏网格或准蒙特卡罗采样方案 [43,44] 的扩展,但下一节中,我们提出了一种不同的方法,通过利用经典的Runge−KuttaRunge-KuttaRunge−Kutta时间步进方案引入更结构化的神经网络表示来规避对配点需求。
3.2. Discrete time models
让我们将Runge−KuttaRunge-KuttaRunge−Kutta方法的一般形式与qstagesq \ stagesq stages [45] 应用于方程 (2),并获取
此处,un+cj(x)=u(tn+cjΔt,x)forj=1,…,qu^{n+c_j}(x) = u(t^n + c_j \Delta t, x) \ for \ j = 1, \dots, qun+cj(x)=u(tn+cjΔt,x) for j=1,…,q。此常规形式封装隐式和显式时间步进方案,具体取决于参数{aij,bj,cj}\{a_{ij}, b_j, c_j\}{aij,bj,cj}的选择。方程(7)可以等价地表示为
我们先将多输出神经网络放在
这种先前的假设以及方程(9)导致一个物理信息神经网络, 采取xxx作为输入和输出
3.2.1. Example (Allen–Cahn equation)
此示例旨在强调建议的离散时间模型在控制性偏微分方程中处理不同类型的非线性的能力。为此,让我们考虑Allen−CahnAllen-CahnAllen−Cahn方程以及周期性边界条件
Allen−CahnAllen-CahnAllen−Cahn方程是反应扩散系统领域众所周知的方程。它描述了多组分合金系统中的相分离过程,包括无序转换。对于Allen−CahnAllen-CahnAllen−Cahn方程,方程(9)中的非线性运算符由
神经网络(10)和(11)的共享参数可以通过最小化平方误差的总和来学习
在这里,{xn,i,un,i}i=1Nn\{x^{n, i}, u^{n, i}\}^{N_n}_{i=1}{xn,i,un,i}i=1Nn对时间步进tnt^ntn的数据进行响应。在经典数值分析中,由于显式方案的稳定性限制或隐式公式的计算复杂性限制,这些时间步数通常被限制在小小时数[45]。随着Runge−KuttastagesqRunge-Kutta \ stages \ qRunge−Kutta stages q总数增加,这些限制变得更加严重,对于大多数实际感兴趣的问题,需要采取数千到数百万个此类步骤,直到解决方案得到解决,直到所需的最终时间。与经典方法形成鲜明对比的是,在这里,我们可以采用隐式Runge−KuttaRunge-KuttaRunge−Kutta方案,其阶段数量庞大,但成本实际上非常低。
在此示例中,我们使用传统光谱方法模拟Allen−CahnAllen-CahnAllen−Cahn方程(12),生成了训练和测试数据集。具体地说,从初始条件u(0,x)=x2cos(πx)u(0, x) = x^2 cos(\pi x)u(0,x)=x2cos(πx)开始,假设周期性边界条件u(t,−1)=u(t,1)u(t, -1) = u(t, 1)u(t,−1)=u(t,1)和ux(t,−1)=ux(t,1)u_x(t, -1) = u_x(t, 1)ux(t,−1)=ux(t,1),我们集成了方程(12),最后时间t=1.0t = 1.0t=1.0使用ChebfunpackageChebfun \ packageChebfun package[40],光谱四叶体离散化,具有512种模式,四阶显式Runge−KuttaRunge-KuttaRunge−Kutta时态集成器,具有时间步数Δt=10−5\Delta t = 10^{-5}Δt=10−5。
我们的培训数据集由Nn=200N_n = 200Nn=200初始数据点组成,这些数据点在t=0.1t = 0.1t=0.1时从精确解决方案中随机抽取,我们的目标是在时间t=0.9t = 0.9t=0.9时使用大小Δt=0.8\Delta t = 0.8Δt=0.8的单一时间步数预测解决方案。为此,我们采用离散时间物理信息神经网络,每层有 4 个隐藏层和 200 个神经元,而输出层预测 101 个兴趣量,对应于q=100q = 100q=100 Runge−Kuttastagesun+ci(x),i=1,…q,Runge-Kutta stages u^{n+c_i}(x), i = 1, \dots q,Runge−Kuttastagesun+ci(x),i=1,…q,和最终un+1(x)u^{n+1}(x)un+1(x)解。该方案的理论误差估计预测了O(Δt2q)\mathcal{O}(\Delta t^{2q})O(Δt2q)[45]的时间误差积累,在我们的示例中,这转化为低于机器精度的错误,即Δt2q=0.8200≈10−20\Delta t^{2q} = 0.8^{200} \approx 10^{-20}Δt2q=0.8200≈10−20。据我们所知,这是首次使用这种高阶的隐式Runge−KuttaRunge-KuttaRunge−Kutta方案。值得注意的是,从t=0.1t = 0.1t=0.1的平滑初始数据开始,我们可以在t=0.9t = 0.9t=0.9的单个时间步长中预测几乎不连续的解决方案,相对L2\mathbb{L}_2L2错误为6.99⋅10−36.99 \cdot 10^{-3}6.99⋅10−3,如图 2 所示。此错误完全归因于神经网络对近似u(t,x)u(t, x)u(t,x)的能力,以及平方误差损失的总和允许训练数据的插值程度。
Fig. 2: Allen−CahnAllen-CahnAllen−Cahn方程:顶部:解u(t,x)u(t, x)u(t,x)以及初始训练快照的位置在t=0.1t=0.1t=0.1和最终预测快照在t=0.9t=0.9t=0.9。底部:顶部面板中白色垂直线描述的快照的初始训练数据和最终预测。此情况的相对L2error\mathbb{L}_2 \ errorL2 error为6.99⋅10−36.99 \cdot 10^{-3}6.99⋅10−3。(对于图中颜色的解释,读者将引用本文的 Web 版本。)
控制离散时间算法性能的关键参数是Runge−KuttastagesqRunge-Kutta \ stages \ qRunge−Kutta stages q和时间步进大小Δt\Delta tΔt的总数。正如我们在附录 A 和附录 B 中提供的系统研究中所证明的,低阶方法(如大小写q=1q = 1q=1与经典梯形规则相关,案例q=2q = 2q=2与4阶Gauss−LegendreGauss-LegendreGauss−Legendre方法相关)无法保留其大时数的预测精度,因此要求具有多个小尺寸的时间步数的解决方案策略。另一方面,将Runge−KuttastagesRunge-Kutta \ stagesRunge−Kutta stages推至32甚至更高的能力使我们能够采取非常大的时间步骤,并在不牺牲预测准确性的情况下,在单个步骤中有效解决方案。此外,数字稳定性也不会被牺牲,因为隐式Gauss−LegendreGauss-LegendreGauss−Legendre是唯一保持A稳定性的步进方案系列,无论其顺序如何,因此它们非常适合刚性问题[45]。这些属性对于这种实现简单的算法是前所未有的,并说明了离散时间方法的关键亮点之一。
4. Data-driven discovery of partial differential equations
在目前研究的当前部分,我们转移了注意力,即数据驱动的发现偏微分方程[5,9,14]。在4.1和4.2节中,我们提出了两种不同的算法类型,即连续和离散时间模型,并通过各种规范问题的镜头来突出它们的特性和性能。
4.1. Continuous time models
让我们回顾方程 (1)和类似于公式左侧 (1) 给出的 3.1 节定义f(t,x)f(t, x)f(t,x);即
我们通过一个深度神经网络近似u(t,x)u(t, x)u(t,x)进行。这一假设以及方程(14)导致物理信息神经网络f(t,x)f(t, x)f(t,x)。可以通过应用链规则来利用自动区分 [12] 来区分函数组合来派生此网络。值得强调的是,差分运算符λ\lambdaλ的参数转换为物理信息神经网络f(t,x)f(t, x)f(t,x)的参数。
4.1.1. Example (Navier–Stokes equation)
我们的下一个示例涉及无处不在的Navier−StokesNavier-StokesNavier−Stokes方程中描述的不可压缩流体流的现实场景。Navier−StokesNavier-StokesNavier−Stokes方程描述了许多科学和工程学感兴趣的现象的物理原理。它们可用于模拟天气、洋流、管道中的水流和机翼周围的气流。Navier−StokesNavier-StokesNavier−Stokes方程以完整和简化的形式有助于飞机和汽车的设计、血流研究、发电站的设计、污染物分散的分析以及许多其他应用。让我们考虑两个维度中的Navier−StokesNavier-StokesNavier−Stokes方程(2D)
其中u(t,x,y)u(t, x, y)u(t,x,y)表示速度场的xxx分量,v(t,x,y)v(t, x, y)v(t,x,y)的yyy分量, 和p(t,x,y)p(t, x, y)p(t,x,y)压力。此处λ=(λ1,λ2)\lambda = (\lambda_1, \lambda_2)λ=(λ1,λ2)是未知参数。在一组无发散函数中搜索Navier−StokesNavier-StokesNavier−Stokes方程的解决方案;即
这个额外的方程是描述流体质量的保持的不可压缩流体的连续性方程。我们假设
对于一些ψ(t,x,y)\psi (t, x, y)ψ(t,x,y)在此假设下,连续性方程(16)将自动满足。给定噪声测量
速度场,我们有兴趣学习参数和压力p(t,x,y)p(t, x, y)p(t,x,y)。我们定义f(t,x,y)f(t, x, y)f(t,x,y)和g(t,x,y)g(t, x, y)g(t,x,y)要由
并使用具有两个输出神经网络,共同近似一个神经网络[ψ(t,x,y)p(t,x,y)][\psi (t, x, y) p(t, x, y)][ψ(t,x,y)p(t,x,y)]进行。这种先前的假设以及方程(17)和(18)结果结果为物理信息神经网络[f(t,x,y)g(t,x,y)][f(t, x, y) g(t, x, y)][f(t,x,y)g(t,x,y)]。通过最小化平均平方误差损失,可以训练Navier−StokesNavier-StokesNavier−Stokes运算符的参数以及神经网络的参数[ψ(t,x,y)p(t,x,y)][\psi (t, x, y) p(t, x, y)][ψ(t,x,y)p(t,x,y)]和[f(t,x,y)g(t,x,y)][f(t, x, y) g(t, x, y)][f(t,x,y)g(t,x,y)]
在这里,我们考虑的原型问题,不可压缩流过一个圆形圆柱体; 已知对ReynoldnumberRe=u∞D/vReynold \ number \ Re = u_{\infty}D/vReynold number Re=u∞D/v的不同制度表现出丰富的动态行为和过渡的问题。假设非维自由流速度u∞=1u_{\infty} = 1u∞=1,圆柱直径D=1D = 1D=1,运动粘度v=0.01v = 0.01v=0.01,系统表现出周期性稳定状态行为,其特点是气缸唤醒中的不对称涡流脱落模式,称为Ko¨rmoˊnvortexstreetKörmón \ vortex \ streetKo¨rmoˊn vortex street[46]。
为了为这个问题生成高分辨率数据集,我们使用了频谱/hp/hp/hp元素解算器NekTarNekTarNekTar[47]。具体来说,解域在空间中通过由 412 个三角形元素组成的细分离散化,并且在每个元素中,解近似为十阶分层、半正交雅各分项扩展的线性组合 [47]。我们假设在左边界处施加一个均匀的自由流速度剖面,在位于气缸下游25个直径的右边界施加的零压力流出条件,以及[−15,25]×[−8,8][-15, 25] \times [-8, 8][−15,25]×[−8,8]域的顶部和底部边界的周期。我们使用三阶刚性稳定方案 [47] 集成方程(15),直到系统达到周期稳定状态,如图3(a)所示。在以下内容中,与此稳定状态解决方案对应的结果数据集的一小部分将用于模型训练,而其余数据将用于验证我们的预测。为简单起见,我们选择将采样限制在圆柱体下游的矩形区域,如图3(a)所示。
Fig.3: Navier−StokesNavier-StokesNavier−Stokes方程:顶部:不可压缩的流量和动态涡流在Re=100Re = 100Re=100的圆形圆柱体上脱落。时空训练数据对应于气缸唤醒中描绘的矩形区域。底部:分别用于流和横向速度分量的训练数据点的位置,u(t,x,y)u(t, x, y)u(t,x,y)和v(t,x,t)v(t, x, t)v(t,x,t)。
给定流方面u(t,x,y)u(t, x, y)u(t,x,y)和横向v(t,x,y)v(t, x, y)v(t,x,y)速度分量上的分散和潜在的噪声数据,我们的目标是识别未知参数λ1\lambda_{1}λ1和λ2\lambda_{2}λ2,以及获得气缸唤醒中整个压力场p(t,x,y)p(t, x, y)p(t,x,y)的定性精确重建,根据定义,该参数只能精确到常数。为此,我们通过随机对完整的高分辨率数据集进行子采样来创建训练数据集。为了强调我们的方法从分散和稀缺的训练数据中学习的能力,我们选择了N=5000N=5000N=5000,与图3(b)所示的可用数据总数仅11%1相对应。绘制的还有模型训练后预测速度分量u(t,x,y)u(t, x, y)u(t,x,y)和v(t,x,y)v(t, x, y)v(t,x,y)的代表性快照。此处使用的神经网络体系结构由 9 个层组成,每个层包含 20 个神经元。
本示例的结果摘要见图 4。我们观察到,物理信息神经网络能够正确识别未知参数λ1\lambda_1λ1和λ2\lambda_2λ2,即使训练数据被噪声损坏,也能够非常精确。具体来说,对于无噪声训练数据,估计误差为λ1\lambda_1λ1和λ2\lambda_2λ2,分别是0.078%0.078\%0.078%和4.67%4.67\%4.67%。即使训练数据损坏了1%1\%1%不相关的高斯噪声,预测仍然健壮,误差为0.17%0.17\%0.17%和5.70%5.70\%5.70%,分别为λ1\lambda_1λ1和λ2\lambda_2λ2。
到目前为止,我们的方法假定分散数据在整个时空域中可用。然而,在很多实际感兴趣的情况下,人们可能只能在不同时间瞬间观察系统。下一节,我们将介绍一种不同的方法,该方法仅使用两个数据快照解决数据驱动的发现问题。我们将看到,通过利用经典的Runge−KuttaRunge-KuttaRunge−Kutta时间步进方案,可以构建离散时间物理信息神经网络,即使在数据快照之间的时间差距非常大时,这些神经网络也可以保持高预测精度。
Fig .4: Navier−StokesNavier-StokesNavier−Stokes方程:顶部:预测与精确瞬时压力场p(t,x,y)p(t, x, y)p(t,x,y)在具有代表性的时间瞬间。根据定义,压力可以恢复到常量,从而证明两个地块之间的不同幅度的合理性。这一显著的定性协议突出了物理信息神经网络识别整个压力场的能力,尽管模型训练期间没有使用压力数据。底部:校正偏微分方程以及通过学习获得的λ1\lambda_1λ1, λ2\lambda_2λ2和p(t,x,y)p(t, x, y)p(t,x,y)获得的已识别方程。
4.2. Discrete time models
我们首先将Runge−KuttaRunge-KuttaRunge−Kutta方法[45]的一般形式应用于方程(1),然后获得
在这里,un+cj(x)=u(tn+cjΔt,x)u^{n+c_j} (x) = u(t^n + c_j \Delta t, x)un+cj(x)=u(tn+cjΔt,x)是系统在时间tn+cjΔtforj=1,…,qt^n + c_j \Delta t \ for \ j =1, \dots , qtn+cjΔt for j=1,…,q的隐藏状态。此常规形式封装了隐式和显式时间步长方案,具体取决于参数{aij,bj,cj}\{a_{ij}, b_j, c_j\}{aij,bj,cj}的选择。方程(20)可以等价地表示为
我们先将多输出神经网络放在
这种先前的假设以及方程 (22) 导致两个物理信息神经网络
给定两个不同时间快照{xn,un}\{x^n, u^n\}{xn,un}和{xn+1,un+1}\{x^{n+1}, u^{n+1}\}{xn+1,un+1}在有时tnt^ntn和tn+1t^{n+1}tn+1时系统噪声测量,可以通过最小化平方误差和来训练神经网络(23)、(24)和(25)的共享参数以及差分运算符的参数
4.2.1. Example (Korteweg–de Vries equation)
我们的最后一个例子旨在强调拟议框架处理涉及高阶衍生物的局部差分电子化的能力。在这里,我们考虑浅水表面波的数学模型;Korteweg−deVries(KdV)Korteweg-de \ Vries (KdV)Korteweg−de Vries(KdV)方程。此等式也可以视为具有附加分散词的BurgersBurgersBurgers方程。KdVKdVKdV方程与物理问题有多种连接。它描述了在许多物理环境中长一维波的演变。这种物理设置包括具有弱非线性恢复力的浅水波、密度分层海洋中的长月内波、等离子体中的离子声波和晶体晶格上的声波。此外,KdVKdVKdV方程是连续体极限中Fermi−Pasta−UlamFermi-Pasta-UlamFermi−Pasta−Ulam问题[48]中字符串的管辖方程。KdVKdVKdV方程为
(λ1,λ2)(\lambda_1, \lambda_2)(λ1,λ2)是未知参数。对于KdVKdVKdV方程,方程(22)中的非线性运算符由
神经网络(23)、(24)和(25)的共享参数以及KdVKdVKdV方程的参数λ=λ1,λ2)\lambda = \lambda_1, \lambda_2)λ=λ1,λ2)可以通过最小化平方误差总和(26)来学习。
为了获得一组训练和测试数据,我们使用传统的光谱方法模拟了(27)。具体来说,从初始条件u(0,x)=cos(πx)u(0, x) = cos(\pi x)u(0,x)=cos(πx)开始,假设周期性边界条件,我们集成了方程(27)至最后时间t=1.0t = 1.0t=1.0使用ChebfunChebfunChebfun包 [40],具有 512 种模式的光谱FourierFourierFourier离散化和具有时间步进Δt=10−6\Delta t =10^{-6}Δt=10−6的四阶显式RungeKuttaRunge_KuttaRungeKutta时间集成器。然后使用此数据集,我们提取两个解决方案快照的时间tn=0.2t^n = 0.2tn=0.2和tn+1=0.8t^{n+1} = 0.8tn+1=0.8,并使用Nn=199N_n = 199Nn=199和Nn+1=201N_{n+1} =201Nn+1=201随机对它们进行子采样以生成训练数据集。然后,我们使用这些数据来训练离散时间物理通知神经网络,使用L−BFGSL-BFGSL−BFGS[35]最小化方程的平方误差损失(26)。此处使用的网络体系结构由 4 个隐藏层、每层 50 个神经元和一个输出层组成,在qRunge−Kuttastagesq \ Runge-Kutta \ stagesq Runge−Kutta stages预测解决方案,即un+cj(x),j=1,…,qu^{n+c_j}(x), j =1, \dots, qun+cj(x),j=1,…,q,其中qqq为通过设置随机选择产生机器精度ϵ\epsilonϵ顺序的时间误差累积
其中此示例的时间步进为Δt=0.6\Delta t = 0.6Δt=0.6。
本实验结果总结于图5。在顶部面板中,我们介绍确切的解决方案u(t,x)u(t, x)u(t,x)以及用于训练的两个数据快照的位置。中间面板中提供了对确切解决方案和培训数据的更详细概述。值得注意的是,方程(27)的复杂非线性动力学如何导致两个报告的快照之间在解形式上存在巨大差异。尽管存在这些差异,并且两个训练快照之间的时间差距很大,但我们的方法能够正确识别未知参数,无论训练数据是否因噪声而损坏。具体来说,对于无噪声训练数据,估计误差为λ1\lambda_1λ1和λ2\lambda_2λ2,分别为0.0230.023%0.023和0.0060.006%0.006,而训练数据中11%1噪声的误差误差分别为0.0570.057%0.057和0.0170.017%0.017。
Fig5Fig 5Fig5: KdVKdVKdV方程:顶部:解u(t,x)u(t, x)u(t,x)以及两个训练快照的时间位置。中间:训练数据和精确解决方案,与顶部面板中虚线垂直线描述的两个时间快照进行匹配。底部:校正偏微分方程以及通过学习λ1\lambda_1λ1, λ2\lambda_2λ2获得的已识别的微分方程。
5. Conclusions
我们引入了物理信息神经网络,这是一类新的通用函数近似器,能够编码控制给定数据集的任何基础物理定律,并且可以通过偏微分方程进行描述。在这一工作中,我们设计了数据驱动算法,用于推断一般非线性偏微分方程的解,并构建计算效率高的物理信息代理模型(physics-informed surrogate models)。由此产生的方法展示了一系列有希望的结果,为计算科学中的一系列各种问题,并打开道路,赋予深度学习与强大的数学物理能力,以模拟我们周围的世界。随着深度学习技术在方法和算法发展方面继续快速增长,我们认为,这是一个及时的贡献,可以有利于广泛的科学领域的从业者。能够轻松享受这些优势的特定应用包括但不限于物理过程的数据驱动预测、模型预测控制、多物理/多尺度建模和仿真。
然而,我们必须注意到,建议的方法不应被视为求解偏微分方程(如有限元、光谱方法等)的经典数值方法的替代品。这些方法在过去 50 年中已经成熟,在许多情况下,符合实际要求的健壮性和计算效率标准。正如第3.2节所提倡的,我们在这里的信息是,像Runge−KuttaRunge-KuttaRunge−Kutta时空方案这样的经典方法可以与深度神经网络和谐共存,并在构建结构化预测算法时提供宝贵的直觉。此外,后者的实现简单性极大地促进了新思想的快速开发和测试,有可能为数据驱动科学计算新时代开辟道路。
虽然提出了一系列有希望的结果,读者可能同意,这项工作创造了更多的问题,而不是它的答案。神经网络的深度/宽?真正需要多少数据?为什么算法收敛到差分运算符参数的唯一值,即为什么该算法不遭受差分运算符参数的局部最优的影响?对于更深层次的架构和更高层次的差分运算符,网络是否遭受消失的梯度?使用不同的激活功能能否缓解这种情况?我们能否改进网络权重初始化或数据规范化?平均平方误差和平方误差之和是否为适当的损耗函数?为什么这些方法在数据中看起来如此可靠?我们如何量化与预测相关的不确定性?在整个工作中,我们试图回答其中一些问题,但我们已经观察到,为一个等式产生令人印象深刻的结果的特定设置可能会失败的另一个等式。无可否认,需要集体进行更多的工作,以在这一领域奠定基础。
附录A.偏微分方程的数据驱动解(AppendixA. Data-driven solution of partial differential equations)
本附录与主稿一并附,包含一系列系统研究,旨在演示所提议的算法在有关部分微分方程数据驱动解的问题中的性能。在本文档中,我们将使用BurgersBurgersBurgers方程作为规范示例。
A.1. 连续时间模型
在一个空间维度中,BurgerBurgerBurger的方程以及DirichletDirichletDirichlet边界条件为
然后通过深度神经网络近似u(t,x)u(t, x)u(t,x)进行。为了强调实现这个想法的简单性,我们包括了使用TensorflowTensorflowTensorflow[49]的 PythonPythonPython代码段;目前最受欢迎和记录良好的机器学习计算开源库之一。为此,u(t,x)u(t, x)u(t,x)可以简单地定义为
相应地,物理信息神经网络f(t,x)f(t, x)f(t,x)采取的形式
神经网络u(t,x)u(t, x)u(t,x)和f(t,x)f(t, x)f(t,x)之间的共享参数可以通过最小化平均平方误差损失来学习
在这里,{tui,xui,ui}i=1Nu\{t^i_u, x^i_u, u^i\}^{N_u}_{i=1}{tui,xui,ui}i=1Nu表示u(t,x)u(t, x)u(t,x)的初始和边界训练数据,{tfi,xfi}i=1Nf\{t^i_f, x^i_f\}^{N_f}_{i=1}{tfi,xfi}i=1Nf指定f(t,x)f(t, x)f(t,x)的搭配点。。损耗MSEuMSEuMSEu应答初始数据和边界数据,而MSEfenMSEfenMSEfen强制在有限位置点集由方程(A.1)施加的结构。尽管在以前的研究中已经探索了使用物理定律约束神经网络的类似想法[15,16],但在这里,我们利用现代计算工具重新审视它们,并将其应用于时间依赖非线性偏微分方程描述的更具挑战性的动态问题。
BurgersBurgersBurgers方程通常被视为双曲养护法的原型示例(如ν→0\nu \to 0ν→0)。请注意,如果我们想要"制造"此方程的"精确"解,我们将选择一个解u(t,x)u(t, x)u(t,x)(例如,e−1sin(πx)e^{-1}sin(\pi x)e−1sin(πx)),并通过区分获得相应的右侧f(t,x)f(t, x)f(t,x)。生成的u(t,x)u(t, x)u(t,x)和f(t,x)f(t, x)f(t,x)是 “保证” 以满足BurgersBurgersBurgers方程并保存所有相关的不变量的构造。在我们的工作中,我们用神经网络u(t,x)u(t, x)u(t,x)代替u(t,x)u(t, x)u(t,x);用神经网络代替u(t,x;W,b)u(t, x; W, b)u(t,x;W,b)并获得物理智能神经网络f(t,x;W,b)f(t, x; W, b)f(t,x;W,b)通过自动区分。因此,生成的对u(t,x;W,b)u(t, x; W, b)u(t,x;W,b)和f(t,x;W,b)f(t, x; W, b)f(t,x;W,b)必须满足BurgersBurgersBurgers方程, 无论权重WWW和偏置bbb范围的选择。因此,在这个"优先"级别,即在我们对给定数据集进行网络训练之前,我们的模型应该通过构造来准确保留连续性和动量方程。在训练期间,给定一个数据集ti,xi,uiandtj,xj,fjt_i, x_i, u_i and t_j, x_j, f_jti,xi,uiandtj,xj,fj,然后我们尝试找到"正确"参数W∗W*W∗和b∗b*b∗,以便尽可能适合观测的数据和微分方程残差。在这个过程中,残差(尽管很小)不会完全为零,因此我们的近似值将在残差损失的精度范围内保持质量和动量。在经典的GalerkinGalerkinGalerkin有限元方法中观察到类似的行为,而已知在此设置中具有精确保护特性的唯一数值方法是不连续的GalrkinGalrkinGalrkin和有限体积。
Fig. A.6: Burgers′equationBurgers' \ equationBurgers′ equation:顶部:预测解u(t,x)u(t, x)u(t,x)以及初始和边界训练数据。此外,我们还使用使用LatinHypercubeSamplingstrategyLatin \ Hypercube \ Sampling \ strategyLatin Hypercube Sampling strategy生成的100001000010000个搭配点。底部:与顶部面板中白色垂直线所描绘的三个时间快照对应的预测和精确解决方案的比较。此情况的相对L2error\mathbb{L}_2 \ errorL2 error为6.7⋅10−46.7 \cdot 10^{-4}6.7⋅10−4。在单个NVIDIATitanXGPUNVIDIA \ Titan \ X \ GPUNVIDIA Titan X GPU卡上进行模型训练大约需要 60 秒。
在这项工作中考虑的所有基准中,训练数据NuN_uNu的总数相对较少(几百到几千点),我们选择使用L−BFGSL-BFGSL−BFGS优化所有损耗函数,即quasi−Newton,full−batchgradient−basedoptimizationalgorithmquasi-Newton, full-batch gradient-based optimization algorithmquasi−Newton,full−batchgradient−basedoptimizationalgorithm[35]。对于较大的数据集,可以使用随机梯度下降及其现代变体[36, 37]轻松使用计算效率更高的小型批处理设置。尽管没有理论上保证该过程收敛到全局最小值,但我们的经验证据表明,如果给定的偏微分方程是良好的,并且其解是独一无二的,那么,如果具有足够表现力的神经网络架构和足够数量的搭配点NfN_fNf,我们的方法能够达到良好的预测精度。这种一般观察与方程(4)的均方误差损失所导致的优化景观有深刻关系,并定义了一个与深度学习理论发展同步的研究开放问题[38,39]。在这里,我们将使用与以下数值结果相伴的一系列系统灵敏度研究来测试拟议方法的稳健性。
图 A.6 将我们的结果与BurgersBurgersBurgers方程的数据驱动解结果进行分析。具体来说,给定一组Nu=100N_u = 100Nu=100随机分布的初始和边界数据,我们通过使用平均平方误差损失(A.2)训练 9 层深度神经网络的所有 3021 个等值器来学习潜在解u(t,x)u(t, x)u(t,x)。每个隐藏的层包含 20 个神经和一个双曲切线激活函数。图.A.6 的顶部面板显示预测的时空解决方案u(t,x)u(t, x)u(t,x),以及初始和边界训练数据的位置。我们必须强调,与解决偏微分方程的经典数值方法不同,这种预测是在没有对时空域进行任何形式的离散化的情况下获得的。此问题的确切解决方案是分析可用的 [13],生成的预测误差在相对L2\mathbb{L}_2L2标准中的6.7⋅10−46.7 \cdot 10^{-4}6.7⋅10−4进行测量。请注意,此误差比我们之前使用高斯进程进行的数据驱动型偏微分方程解工作报告的错误低两个数量级 [8]。图 A.6 的底部面板中提供了对预测解决方案的更详细的评估。特别是,我们提出了一个比较,在不同时间时刻t=0.25,0.50,0.75t = 0.25, 0.50, 0.75t=0.25,0.50,0.75时,对确切和预测的解决方案进行比较。仅使用少量初始和边界数据,物理信息神经网络可以准确捕获BurgersBurgersBurgers方程的复杂非线性行为,从而在t=0.4t=0.4t=0.4周围形成尖锐的内部层。后者是出了名的难以准确地解决与经典的数值方法,并要求一个费力的时空离散方程(A.1)。
Table A.1: Burgers′equationBurgers' \ equationBurgers′ equation:预测和精确解u(t,x)u(t, x)u(t,x)之间的相对L2error\mathbb{L}_2 \ errorL2 error,用于不同数量的初始和边界训练数据NuN_uNu,以及不同数量的搭配点NfN_fNf。在这里,网络架构被固定到9层,每个隐藏层有20个神经元。
Table A.2 : Burgers′equationBurgers' \ equationBurgers′ equation: 预测和前作用解u(t,x)u(t, x)u(t,x)之间的相对L2error\mathbb{L}_2 \ errorL2 error表示不同数量的隐藏层和不同数量的每层神经元。在这里,训练和搭配点的总数分别固定为Nu=100N_u = 100Nu=100和Nf=10000N_f = 10000Nf=10000。
为了进一步分析我们的方法的性能,我们进行了以下系统研究,以量化其预测精度,为不同数量的训练和搭配点,以及不同的神经网络拱形。在表 A.1 中,我们报告不同数量的初始和边界训练数据NuN_uNu和不同数量的搭配点NfN_fNf产生的相对L2\mathbb{L}_2L2错误,同时保持 9 层网络架构固定。总体趋势显示,随着训练数据NuN_uNu的总数增加,给定足够数量的共定位点NfN_fNf,预测准确性有所提高。此观察突出了物理智能神经网络的关键强度:通过搭配点NfN_fNf对底层物理定律的结构进行编码,可以获得更准确、更高效的学习算法。分别。正如预期的那样,我们观察到,随着层和神经元数量的增加(因此神经网络接近更复杂的功能的能力),预测精度会提高。
A.2. Discrete time models
让我们将Runge−KuttaRunge-KuttaRunge−Kutta方法的一般形式与qstagesq \ stagesq stages[45]应用于形式的一般方程
此处,un+cj(x)=u(tn+cjΔt,x)forj=1,…,qu^{n+c_j}(x) = u(t^n + c_j\Delta t, x) for j =1, \dots , qun+cj(x)=u(tn+cjΔt,x)forj=1,…,q。此常规形式封装隐式和显式时间步进方案,具体取决于参数aij,bj,cj{a_{ij}, b_j, c_j}aij,bj,cj的选择。方程(7)可以等价地表示为
我们先将多输出神经网络放在
这种先前的假设以及方程 (A.6) 导致一个物理通知的神经网络, 采取xxx作为输入和输出
Table A.3: Burgers′equationBurgers' \ equationBurgers′ equation:L2\mathbb{L}_2L2规范中不同数量的隐藏层和神经元的相对最终预测误差测量。在这里,Runge−KuttaRunge-KuttaRunge−Kutta级的数量固定为500500500,时间步进大小固定为t=0.8t=0.8t=0.8。
为了突出离散时间表示的关键特征,我们重新审视了BurgersBurgersBurgers方程的数据驱动解决方案问题。在这种情况下,方程 (A.6) 中的非线性运算符由
神经网络(A.7)和(A.8)的共享参数可以通过最小化平方误差的总和来学习
此处,{xn,i,un,i}i=1Nn\{x^{n, i}, u^{n, i}\}^{N_n}_{i=1}{xn,i,un,i}i=1Nn对时间tnt^ntn的数据进行响应。Runge−KuttaRunge-KuttaRunge−Kutta方案现在允许我们按顺序推断潜在解u(t,x)u(t, x)u(t,x)。从初始数据在tnt^ntn处{xn,i,un,i}i=1Nn\{x^{n, i}, u^{n, i}\}^{N_n}_{i=1}{xn,i,un,i}i=1Nn和当前域边界数据x=−1x = -1x=−1和x=1x = 1x=1开始,我们可以使用上述损耗函数(A.9)来训练(A.7),(A.8)的网络,并在时间tn+1t^{n+1}tn+1时预测解决方案。然后,Runge−KuttaRunge-KuttaRunge−Kutta时间步进方案将使用此预测作为下一步的初始数据,然后再次进行训练并预测u(tn+2,x),u(tn+3,x)u(t^{n+2}, x), u(t^{n+3}, x)u(tn+2,x),u(tn+3,x)等,一步一步。
图 A.7 介绍了将此过程应用于汉堡方程的结果。为了便于说明,我们从t=0.1t=0.1t=0.1的一组Nn=250N_n = 250Nn=250初始数据开始,并采用由具有 500 个阶段的隐式Runge−KuttaRunge-KuttaRunge−Kutta方案所引出的物理信息神经网络来预测一个点t=0.9t=0.9t=0.9的一步时间解。该方案的理论误差估计预测了O(Δt2q)\mathcal{O}(\Delta t^{2q})O(Δt2q)[45]的时间误差积累,在我们的示例中,这转化为低于机器精度的错误,即Δt2q=0.81000≈10−97\Delta t^{2q} = 0.8^{1000} \approx 10^{-97}Δt2q=0.81000≈10−97。据我们所知,这是首次使用这种高阶的隐式Runge−KuttaRunge-KuttaRunge−Kutta方案。值得注意的是,从t=0.1t=0.1t=0.1的平滑初始数据开始,我们可以在t=0.9t=0.9t=0.9的单个时间步长中预测几乎不连续的解决方案,相对L2errorof8.2⋅10−4\mathbb{L}_2 \ error \ of \ 8.2 \cdot 10^{-4}L2 error of 8.2⋅10−4。此误差比 [8] 中报告的要低两个数量级,这完全归因于神经网络对近似u(t,x)u(t, x)u(t,x)的能力,以及平方误差损失的总和允许插值训练数据的程度。此处使用的网络体系结构由 4 个层组成,每个隐藏层中包含 50 个神经元。
在 TableA.3 中提出了一项详细的系统研究,以量化不同网络架构的效果。通过将Runge−KuttaRunge-KuttaRunge−Kutta阶段的数量固定为q=500q = 500q=500,将时间步长大小固定到Δt=0.8\Delta t=0.8Δt=0.8,我们更改了隐藏层的数量和每层神经元的数量,并在时间t=0.9t=0.9t=0.9时监视预测解决方案的相对L2error\mathbb{L}_2 errorL2error。显然,随着神经网络容量的增加,预测精度得到了提高。
控制离散时间算法性能的关键参数是Runge−KuttaRunge-KuttaRunge−Kutta阶段qqq和时间步进大小Δt\Delta tΔt的总数。 在 TableA.4 中,我们总结了一项广泛的系统研究的结果,其中我们将网络架构固定为 4 个隐藏层,每层有 50 个神经元,并更改Runge−KuttaRunge-KuttaRunge−Kutta阶段qqq和时间步数ttt的数量。具体来说,我们看到在时间步进大小较大时,阶段数较低的案例无法产生准确的结果。例如,大小写q=1q = 1q=1与经典梯形规则相关,而案例q=2q = 2q=2与444阶Gauss−LegendreGauss-LegendreGauss−Legendre方法相关,无法保留其预测精度,因为时间步数大于 0.2,因此要求具有多个小时间步数的解决方案策略。另一方面,将 Runge−KuttaRunge-KuttaRunge−Kutta阶段数推至 32 甚至更高的能力使我们能够采取非常大的时间步骤,并在不牺牲预测准确性的情况下,在单个步骤中有效解决解决方案。此外,数字稳定性也不会被牺牲,因为隐式Gauss−LegendreGauss-LegendreGauss−Legendre是唯一保持 A 稳定性的步进方案系列,无论其顺序如何,因此它们非常适合刚性问题 [45]。这些属性对于这种实现简单的算法是前所未有的,并说明了离散时间方法的关键亮点之一。
Fig. A.7: BurgersequationBurgers \ equationBurgers equation:顶部:解决方案u(t,x)u(t, x)u(t,x)以及初始训练快照的位置在t=0.1t=0.1t=0.1和最终预测快照在t=0.9t=0.9t=0.9。底部:顶部面板中白色垂直线描述的快照的初始训练数据和最终预测。此情况的相对L2error\mathbb{L}_2 \ errorL2 error为8.2⋅10−48.2 \cdot 10^{-4}8.2⋅10−4。
Table A.4: Burgers′equationBurgers' \ equationBurgers′ equation: 在L2\mathbb{L}_2L2规范中测量不同数量的Runge−KuttaRunge-KuttaRunge−Kutta级qqq和时间步长Δt\Delta tΔt的相对最终预测误差。在这里,网络架构被固定到4个隐藏层,每个层有50个神经元。
Table A.5: Burgers′equationBurgers' \ equationBurgers′ equation:预测和精确解u(t,x)u(t, x)u(t,x)之间的相对L2error\mathcal{L}_2 \ errorL2 error,用于不同数量的训练数据NnN_nNn。在这里,我们修复了q=500q = 500q=500,并使用了神经网络架构,每个隐藏层有 3 个隐藏层和 50 个神经元。
最后,在 TableA.5 中,我们提供了一个系统的研究,用于量化预测解决方案的准确性,因为我们更改了输入数据的空间分辨率。如预期的那样,增加训练数据总数可提高预测准确性。
附录B.偏微分方程的数据驱动发现(AppendixB. Data-driven discovery of partial differential equations)
本附录与主手稿一起,包含一系列系统研究,旨在演示所提议的算法在有关数据驱动发现部分微分方程的问题方面的性能。在本文档中,我们将使用BurgersBurgersBurgers方程作为规范示例。
B.1. 连续时间模型
作为第一个例子,让我们考虑汉堡的方程。该方程产生于应用数学的各个领域,包括流体力学、非线性声学、气体动力学和交通流量[13]。它是一个基本的偏微分方程,可以通过丢弃压力梯度项从速度场的纳维-斯托克斯方程中派生。对于粘度参数的小值,BurgersBurgersBurgers的方程可能导致冲击形成,而经典数值方法很难解决。在一个空间维度中,方程为
然后通过深度神经网络近似u(t,x)u(t, x)u(t,x)进行。这将导致物理通知神经网络f(t,x)f(t, x)f(t,x)。通过最小化平均平方误差损失,可以了解神经网络u(t,x)u(t, x)u(t,x)和f(t,x)f(t, x)f(t,x)的共享参数以及差分运算符的参数λ=(λ1,λ2)\lambda = (\lambda_1, \lambda_2)λ=(λ1,λ2)
在这里,tui,xui,uiI=1N{t^i_u, x^i_u, u^i}^N_{I = 1}tui,xui,uiI=1N代表u(t,x)u(t, x)u(t,x)上的训练数据。MSEuMSE_uMSEu对u(t,x)u(t, x)u(t,x)上的训练数据进行响应,而MSEfMSE_fMSEf在有限的一组搭配点上强制使用方程(B.1)施加的结构,其数量和位置与训练数据相同。
为了说明我们方法的有效性,我们创建了一个训练数据集,从与λ1=1.0\lambda_1 = 1.0λ1=1.0和λ2=0.01/π\lambda_2 = 0.01/\piλ2=0.01/π相对应的精确解决方案中随机生成整个时空域的N=2000N=2000N=2000点。训练点的位置在图 B.8 的顶部面板中说明。然后,使用L−BFGSL-BFGSL−BFGS优化器 [35],通过最小化平均方形误差损失(B.3),用于训练 9 层深度神经网络,每个隐藏层具有 20 个神经元。训练时,网络被校准以预测整个解决方案u(t,x)u(t, x)u(t,x),以及定义基础动力学的未知参数λ=(λ1,λ2)\lambda = (\lambda_1, \lambda_2)λ=(λ1,λ2)。图B.8的中间和底部面板中对物理信息神经网络的预测准确性进行了可视化评估。网络能够以惊人的精度识别基础的偏微分方程,即使在分散的训练数据被11%1的不相关噪声损坏的情况下。
为了进一步检查算法的性能,我们对训练数据总数、噪声损坏程度和神经网络体系结构进行了系统研究。结果总结为表B.6和B.7。这里的关键观察是,建议的方法在数据中的噪音水平方面似乎非常稳健,即使对高达1010%10的噪音损坏,也具有合理的识别精度。这种增强的健壮性似乎大大优于使用高斯过程回归的竞争方法,如[9]中以前报告,以及依赖稀疏回归的方法,这些稀疏回归需要相对干净的数据来精确计算数值梯度[50]。我们还观察到 TablesB.6 和 B.7 中的一些变化和非单调趋势,因为网络体系结构和训练点总数已更改。这种变异性可能归因于与方程本身以及特定的神经网络设置相关的不同因素,并引起一系列需要进一步研究的问题,如本文结论性备注部分所述。
Fig. B.8: BurgersequationBurgers \ equationBurgers equation:顶部:预测解决方案u(t,x)u(t, x)u(t,x)以及训练数据。中间:与顶部面板中虚线所描绘的三个时间快照对应的预测和精确解决方案的比较。底部:校正偏微分方程以及通过学习λ1\lambda_1λ1和λ2\lambda_2λ2获得的已识别的偏微分方程。
Table B.6: Burgers′equationBurgers' \ equationBurgers′ equation:由于不同数量的训练数据,由不同噪声水平破坏的已识别参数λ1\lambda_1λ1和λ2\lambda_2λ2的百分比误差。在这里,神经网络架构被固定到9层和20个神经元。
Table B.7: Burgers′equationBurgers' \ equationBurgers′ equation:识别参数λ1\lambda_1λ1和λ2\lambda_2λ2中隐藏层和每层神经元的不同数值误差。在这里,训练数据被认为是无噪声的,并固定到N=2000N = 2000N=2000。
B.2. 离散时间模型
我们这里的起点与第3.2节中所述相似。现在方程(7)可以等价地表示为
我们先将多输出神经网络放在
这种先前的假设以及方程 (22) 导致两个物理信息神经网络
给定两个不同时间快照xn,un{x^n, u^n}xn,un和xn+1,un+1x^{n+1}, u^{n+1}xn+1,un+1在有时tnt^ntn和tn+1t^{n+1}tn+1时系统噪声测量值,可以通过最小化平方误差总和来训练神经网络(B.6),(B.7)和(B.8)的共享参数以及差分运算符的参数λ\lambdaλ
B.3. 示例(Burgers′equation)(Burgers' equation)(Burgers′equation)
让我们通过Burgers′equationBurgers' equationBurgers′equation的镜头来说明这种方法的关键特征。回忆方程的形式
并请注意,方程 (B.5) 中的非线性空间运算符由
仅给定两个训练数据快照,可以通过最小化方程(B.9)中的平方误差总和来学习神经网络(B.6)、(B.7)和(B.8)的共享参数以及BurgersBurgersBurgers方程的参数λ=(λ1,λ2)\lambda = (\lambda_1, \lambda_2)λ=(λ1,λ2)。在这里,我们创建了一个由Nn=199N_n = 199Nn=199和Nn+1=201N_{n+1} = 201Nn+1=201空间点组成的训练数据集,分别在时间时刻tn=0.1t^n = 0.1tn=0.1和tn+1=0.9t^{n+1} = 0.9tn+1=0.9中随机采样精确解决方案。训练数据显示在图.B.9 的顶部和中间面板中。此处使用的神经网络体系结构由 4 个隐藏层组成,每个层有 50 个神经元,而Runge−KuttaRunge-KuttaRunge−Kutta阶段的数量是经验选择的,通过设置 6 生成机器精度ϵ\epsilonϵ顺序的时间误差累积
其中此示例的时间步进为Δt=0.8\Delta t = 0.8Δt=0.8。图.B.9 的底部面板对无噪声数据情况的已识别参数λ=λ1,λ2)\lambda = \lambda_1, \lambda_2)λ=λ1,λ2)以及11%1高斯不相关噪声损坏的噪声数据进行摘要。对于这两种情况,所提议的算法都能够以出色的精度学习正确的参数值λ1=1.0\lambda_1 = 1.0λ1=1.0和λ2=0.01/π\lambda_2 = 0.01/\piλ2=0.01/π,尽管用于训练的两个数据快照相距甚远,并可能描述基本动力学的不同系统。
执行敏感性分析,以量化我们预测的准确性,这些预测与训练快照Δt\Delta tΔt、训练数据中的噪声水平以及物理信息神经网络体系结构之间的差距有关。如 TableB.8 所示,所提议的算法对Δt\Delta tΔt和噪声损坏级别都相当可靠,并且返回未知参数的合理估计值。这种鲁棒性主要归因于底层隐式Runge−KuttaRunge-KuttaRunge−Kutta方案的灵活性,即允许任意高的阶段数,从而允许数据快照在时间上相距甚远,同时不影响方程非线性动力学(B.10)解析的准确性。这是我们对识别问题的离散时间公式的关键亮点,使之与相互竞争的方法不同[9,50]。最后,TableB.9 提供了已识别参数中的百分比误差,显示了我们对基础神经网络体系结构的估计的鲁棒性。尽管总体取得了积极成果,但表B.8和B.9中观察到的变异性在很大程度上仍无法解释,自然会促使本文件结论性部分提供的一系列问题。
Fig. B.9: BurgersequationBurgers \ equationBurgers equation:顶部:解u(t,x)u(t, x)u(t,x)以及两个训练快照的时间位置。中间:训练数据和精确解决方案,对应于顶部面板中虚线垂直线所描绘的两个时间快照。底部:校正偏微分方程以及通过学习λ1,λ2\lambda_1, \lambda_2λ1,λ2获得的已识别的微分方程。
Table B.8: Burgers′equationBurgers' \ equationBurgers′ equation:在确定的参数λ1\lambda_1λ1和λ2\lambda_2λ2的百分比误差之间的两个不同的快照和不同的噪声水平之间的不同间隙大小。
附录C.补充材料
Supplementary material related to this article can be found online at https://doi.org/10.1016/j.jcp.2018.10.045.
了已识别参数中的百分比误差,显示了我们对基础神经网络体系结构的估计的鲁棒性。尽管总体取得了积极成果,但表B.8和B.9中观察到的变异性在很大程度上仍无法解释,自然会促使本文件结论性部分提供的一系列问题。
Fig. B.9: BurgersequationBurgers \ equationBurgers equation:顶部:解u(t,x)u(t, x)u(t,x)以及两个训练快照的时间位置。中间:训练数据和精确解决方案,对应于顶部面板中虚线垂直线所描绘的两个时间快照。底部:校正偏微分方程以及通过学习λ1,λ2\lambda_1, \lambda_2λ1,λ2获得的已识别的微分方程。
Table B.8: Burgers′equationBurgers' \ equationBurgers′ equation:在确定的参数λ1\lambda_1λ1和λ2\lambda_2λ2的百分比误差之间的两个不同的快照和不同的噪声水平之间的不同间隙大小。
Table B.9: Burgers′equationBurgers' \ equationBurgers′ equation:每个层中隐藏层和神经元数不同数的已识别参数λ1\lambda_1λ1和λ2\lambda_2λ2的百分比误差。
附录C.补充材料
Supplementary material related to this article can be found online at https://doi.org/10.1016/j.jcp.2018.10.045.
点赞,关注,收藏
2019-PINN-A deep learning framework for solving forward and ... nonlinear PDEs相关推荐
- 1.3读论文笔记:M. Raissi a等人的Physics-informed neural networks:A deep learning framework for solving forw..
Physics-informed neural networks: A deep learning framework for solving forward and inverse problems ...
- Clinically applicable deep learning framework for organs at risk delineation in CT images
Clinically applicable deep learning framework for organs at risk delineation in CT images 发表期刊:Natur ...
- DGM: A deep learning algorithm for solving partial differential equations
论文信息 题目: DGM: A deep learning algorithm for solving partial differential equations 作者及单位: Justin Sir ...
- 【论文导读】- E-LSTM-D: A Deep Learning Framework for Dynamic Network Link Prediction(动态网络链接预测)
文章目录 论文信息 摘要 论文贡献 问题定义 动态网络 动态网络链接预测 E-LSTM-D 框架 Encoder–Decoder结构 1. 编码器(Encoder) 2. 解码器(Decoder) 堆 ...
- Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic
IJCAI 2018,大体思路:使用Kipf & Welling 2017的近似谱图卷积得到的图卷积作为空间上的卷积操作,时间上使用一维卷积对所有顶点进行卷积,两者交替进行,组成了时空卷积块, ...
- DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks
DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks 论文链接:https://dl.acm ...
- 论文笔记:《DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks》
论文笔记:<DeepGBM: A Deep Learning Framework Distilled by GBDT for Online Prediction Tasks> 摘要 1. ...
- A Novel Two-stage Separable Deep Learning Framework for Practical Blind Watermarking论文阅读
A Novel Two-stage Separable Deep Learning Framework for Practical Blind Watermarking Abstract 数字水印是一 ...
- 一种用于加密流分类的多模态深度学习框架A Novel Multimodal Deep Learning Framework for Encrypted Traffic Classification论文
一.背景 l 网络应用程序流量被加密 l 基于传统有效载荷交通分类方法和基于端口的流量分类方法不在有效 l 已有的模型不能用于更细粒度的操作 二.pean介绍 概括 PEAN模型是一种软件架构模式,它 ...
- 《DeepXDE:a deep learning library for solving differential equations》梳理
本论文向我们介绍了一个求解微分方程的神经网络PINNs,和PINNs的Python库DeepXDE 摘要 1.PINNs(Physics-informed neural networks物理信息神经网 ...
最新文章
- JDK6.0+Eclipse3.2+MyEclipse5.0GA+Tomcat5.0+Win2003搭建J2EE开发平台.
- 从放弃到入门-Yaf(框架生成)
- 解析EXCEL CSV格式文件的方法
- 在DWZ框架中整合kindeditor复文本框控件
- git 提交代码命令_Git命令可视化展示,代码管理再也不愁了,建议收藏!
- java xmlsec_找不到net.shibboleth.tool:xmlsectool:2.0.0
- 职业素养和职业技能问题_中职生职业素养提升的综述
- 拉文大学计算机科学,拉文大学
- Java toString()方法的要点
- vsftpd 启动不了vsftp 报错:config file not owned by correct useror not a file
- [JavaEE] 了解Java连接池
- 信号与系统研讨(二)归一化正交函数在匹配滤波器中的应用
- 支持linux_Linux的UL库 支持MCC数据采集卡
- 在chinapub买的书还没有到?
- 风尚云网学习-vue后台管理之金额大小写转换实例【精准到分0.01】保姆级教程
- Linux 就该这么学
- bada打地鼠应用程序简介
- string entitlement = Application.dataPath+ “/Editor/Entitle Unity工程到处iOS工程,用脚本把Push Notifications打开
- 用户名修改后进入不了计算机,更改计算机用户名后不能登录到桌面怎么办?
- java中国象棋兵吃棋规则_国际象棋规则兵的吃法