首页/文章/ 详情

深度神经网络暴力求微分方程近似解:PINN将取代有限差分&有限单元法?

6月前浏览11183

本文摘要:(由ai生成)

深度学习通过模拟人脑神经网络,高效处理数据。物理信息神经网络(PINN)将微分方程与神经网络结合,利用自动微分技术训练网络近似方程解。PINN在一维波动方程求解中展示了高准确性,预测解与解析解一致。随着算法和硬件发展,PINN有望成为解决复杂微分方程的重要工具。

我们知道,近几年深度学习在各个领域(图像识别、自然语言处理等)都取得了变革性的成果。相信我们很多人即使不是这个领域的每天耳边也会充斥着AI人工智能啦、机器学习啦、深度学习啦这些高大上的词汇。

什么是深度学习呢?

深度学习其实是一种机器学习方法,它通过模拟人类大脑的神经网络结构[1]来实现对复杂数据的学习和理解。

 

深度学习的核心是深度神经网络,它由多层神经元组成,每一层都对输入数据进行特征提取和抽象表示,最终实现对复杂数据的高效处理和分析。

 

比如说,在图像识别领域,你可以把很多图片的像素点作为输入,“训练”一个深度神经网络的识别能力。训练完成后,这个网络就能够很精准地识别是狗还是人:

 

这世间有些狗好似人,有些人是真狗 ——鲁迅没说

本(通)质(俗)上(地)说,笔者认为训练深度神经网络就好比做一个高维参数拟合问题,不断给它投喂数据训练它,其实就是让这个拟合器更加准确。(比如,你想要拟合一个二次函数,你提供两个数据点,那么拟合结果肯定无法准确重构出这个二次函数,但是如果你再给一个点,那么二次函数唯一确定)

对于非专业人士,我们可能毋需去花大力气钻研先进的底层神经网络框架以及相应的参数优化算法,但是我们可以用”拿来主义“的观念看待层出不穷的深度学习框架。下面就用一个具体的简单实例,向读者介绍深度学习在求解微分方程方面的应用。

读者可能对微分方程的求解问题再熟悉不过了:

  • 在高等数学中我们学过一些简单的常微分方程(ODE)的解法
  • 计算方法课程中教我们利用一些matlab运行时如何实时输出求解结果(上)
  • 有限单元法课程中,我们知道了有限差分、有限单元法等是求解微分方程的强大主流工具
  • ......

读者可能会疑惑,深度学习不是一般都用在图像文字识别、语音识别、数据预测这些领域嘛,怎么还能求解微分方程?事实上,近年来基于深度神经网络求解复杂的微分方程问题而提出的物理信息神经网络(PINN)正在经历如火如荼的发展。PINN将微分方程以及初边值条件融入到神经网络的损失函数设计中,在求解偏微分方程的相关正问题和反问题方面获得了很好的效果,因此在各个领域(力学热学地球物理学等)都展现出无与伦比的应用潜力[2]

下面,笔者会先简要介绍PINN的基本原理,然后用一个简单的实例来展示PINN在求解微分方程方面的效果。

物理驱动深度学习(PINN)基本原理

我们通过对时空偏微分方程的初边值问题来简要介绍PINN的设计原理。设    满足如下形式的偏微分方程

 

 

式中,    是微分方程的解,     为微分算子(比如求二阶导啊什么的),    是区域    中的空间变量,区域由第一类边界(迪利克雷边界)    和第二类边界(纽曼边界)    构成。分别是迪利克雷边界条件、纽曼边界条件以及两个初始条件。众多的物理问题都可以用上述的模型来建模,因此比较有代表性。

数学物理方法课程告诉我们,对于一些确定的初边值问题,可以通过解析或者数值方法求解偏微分方程在任意时、空点处的解    。在神经网络中,我们知道的一个基本点是,具有单一隐藏层的神经网络可以精确逼近任何线性和非线性连续函数(想一下上文说的参数拟合问题),我们现在的目标就是要寻找一个近似函数,使得它尽可能满足上面的方程。

因此,PINN的基本思路就是,通过深度神经网络    来近似逼近偏微分方程的解,其中    表示网络中的可训练参数;利用集成在包括Pytorch以及Tensorflow等开发平台中的自动微分技术,可以方便地获取神经网络所逼近方程解的各阶偏导数;这样即可实现将偏微分方程以及初、边值残差考虑到损失函数中。

对于上述的时空初边值问题,可设计如下的损失函数    来构架并训练神经网络:

 

 

其中,

 

 

分别表示PDE控制方程的残差损失项、边界条件(bc)损失项和初始条件(ic)损失项。    分别在全域    和在两种边界上选取的计算点个数,    为计算初始条件损失项时的采样点个数。若要使神经网络逼近的解收敛到PDE的真解,需要选取足够数量的时空采样点来计算损失函数。这很好理解,你想啊,偌大的区域    ,如果你只选择几个零星的点    来最小化损失函数,最终近似解只能保证在这几个点上精确满足,那其他大片区域怎么办?

实例展示PINN在求解微分方程方面的强大威力

下面以简单的一维波动方程为例,看下物理驱动的深度学习方法在求解微分方程问题上面的强大能力。

 

 

初始条件

 

边界条件

 

(这个问题很容易利用分离变量法求出解析解,读者可以试试)

利用一些随机算法生成计算损失函数时用到的时空采样点:

 

采用3个隐藏层、每层100个神经元的全连接神经网络,使用Adam优化器进行训练。得到的PINN预测解与解析解对比如图:

 

可以看出,神经网络近似解很准确地给出了该方程的解!

结语

深度学习在求解物理方程方面正在表现出强大的潜力,随着深度学习算法的进一步优化以及硬件算力的提升,这种PINN方法必将成为未来求解工程实际中各种复杂的微分方程问题(比如流体领域NS方程)的重要手段!本文仅仅简要介绍了这一方法的简单思路和相关概念,起到抛砖引玉的作用,读者感兴趣可阅读相关文献资料,笔者也将继续深入学习。

参考资料:

[1] Practical MATLAB Deep Leaning: A Projects-Based Approach (2022)

[2] Methods and applications of physical information deep learning in wave numerical simulation. Chinese Journal of Theoretical and Applied Mechanics, 2023, 55(1): 272-282



来源:现代石油人
ACT断裂非线性化学电子油气MATLAB岩土UM裂纹参数优化理论材料控制人工智能曲面Origin
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-04
最近编辑:6月前
现代石油人
博士 签名征集中
获赞 26粉丝 63文章 822课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈