高数有救了!神经网络不到一秒就能求解偏微分方程,也是工程物理界的福音

简介: 对于特别复杂的偏微分方程,可能需要数百万个CPU小时才能求解出来一个结果。随着问题越来越复杂,从设计更优秀的火箭发动机到模拟气候变化,科学家们需要一个更「聪明」的求解方法。

随着任务数量的增加,使用当前计算方法来构建通用的日常机器人的成本变得过高,人们正在快速寻求一种解决办法。我们都希望通用机器人可以执行一系列复杂的任务,例如清洁,维护和交付


你的「高等数学」还好吗?

 

微分方程是数学中重要的一课。所谓微分方程,就是含有未知函数的导数。一般凡是表示未知函数、未知函数的导数与自变量之间关系的方程,就叫做微分方程。

 

如果未知函数是一元函数的,就叫做常微分方程;

 

如果未知函数是多元的,就叫做偏微分方程。

 

偏微分方程拥有广泛的应用场景,模拟客机在空中的飞行姿势,地震波在地球上的仿真,传染病在人群中扩散的过程,研究基本力和粒子之间的相互作用等场景,工程师、科学家和数学家们都诉诸于偏微分方程来描述涉及许多独立变量的复杂现象。

 

然而,偏微分方程的求解过程却是异常艰难的,尤其对于计算机来说,只能以最笨拙的方法去求解。

 

对于特别复杂的偏微分方程,可能需要数百万个CPU小时才能求解出来一个结果。随着问题越来越复杂,从设计更优秀的火箭发动机到模拟气候变化,科学家们需要一个更「聪明」的求解方法。

 

或许,可以试试神经网络?

 

最近,研究人员通过神经网络实验证明了它可以比传统的偏微分方程求解器更快地求出近似解。

 

更牛的是,经过训练的网络,无需再次训练就可以解决一类偏微分方程。

 

通常,神经网络将数据从一个有限维空间(例如,图像的像素值)映射或转换为另一个有限维空间(例如,将图像分类的数字,例如1代表猫,2代表狗)。

 

求解偏微分方程的神经网络从无穷大的空间映射到无穷大的空间。

70.jpg


偏微分方程的用处和他们的复杂性相伴而生,例如,我们想要观察空气在飞机机翼附近的流动二维透视图,建模人员想知道流体在空间中任何一点(也称为流场)以及在不同时间的速度和压力的话,就需要用到偏微分方程。

 

考虑到能量、质量和动量守恒定律,特定的偏微分方程,即Navier-Stokes方程可以对这种流体流动进行建模。

 

在这种情况下,解决方案可能是一个特定公式,可以让开发人员在不同时间计算流场的状态。

 

偏微分方程常常是很复杂的,以至于无法提供通用的分析解决方案。对于Navier-Stokes方程的最通用形式尤其如此:数学家尚未证明是否存在唯一解,更不用说实际地通过分析找到它们了。

 

在这些情况下,建模者会转向数值方法,将偏微分方程转换为一组易于处理的代数方程,假定这些方程可保持很小的空间和时间增量。

 

在超级计算机上,用数值方式解决复杂的偏微分方程可能要花费数月的时间。

 

而且,如果初始条件或边界条件或所研究系统的几何形状(例如机翼设计)发生了变化,就必须重新开始求解。同样,使用的增量越小(如研究人员所说,网格越细),模型的精度越高,数值求解所需的时间就越长。

 

神经网络更擅长拟合这样一个黑盒的未知函数,输入是一个向量,而输出是另一个向量。如果存在将一组输入向量映射到一组输出向量的函数,则可以训练网络以学习该映射,两个有限维空间之间的任何函数都可以通过神经网络近似。

 

2016年,研究人员研究了如何将通常用于图像识别的深度神经网络用于解决偏微分方程。首先,研究人员生成了用于训练网络的数据:一个数值求解器计算了流过xy且大小和方向不同的基本形状(三角形,四边形等)的简单对象上流动的流体的速度场。2D图像编码有关对象几何形状和流体初始条件的信息作为输入,而相应速度场的2D快照作为输出。

 

71.jpg

从无限空间映射到无限空间

 

相比2016年的工作,这次的研究更有飞跃性的意义,该网络不仅可以学习如何近似函数,还可以学习将函数映射到函数的「运算符」,而且没有「维度爆炸」的困扰。例如,如果其他神经网络或机器学习算法,希望错误率从10%下降到1%,则所需的训练数据量或网络规模可能会成倍爆炸,从而使任务无法实现。

 

在数学上,操作符的输入输出是没有限制的,例如正弦函数sin(x),输入和输出端是无穷维的,因为x可以是任何值,函数可以是作用于x的任何变换。

 

学习近似算子的深度学习网络可用于一次求解所有相似的偏微分方程,并针对一系列初始条件和边界条件以及物理参数对相同现象进行建模。

72.jpg

1995年由工作表明,浅层网络可以近似操作符算子。由于引入了神经网络,所以此类算子称为神经算子,即实际算子的近似值。

 

2019年,研究人员提出DeepONet,基于1995年的工作。它的的独特之处在于它的分叉架构,该架构在两个并行网络(一个分支和一个主干)中处理数据。前者在输入端学习一些函数的近似值,而后者在输出端学习相同的函数。

 

DeepONet将两个网络的输出合并,以了解偏微分方程所需的运算符。训练DeepONet并在每次迭代中调整分支网络和主干网络中的权重,直到整个网络几乎没有出现误差允许范围外的错误为止。

 

 

DeepONet一旦训练后,就可以模拟操作符,可以在输入端获取代表偏微分方程的数据,其输出为网络训练得到的近似解。

 

假设您提供了100个样本,这些样本代表了训练数据中没有的初始/边界条件和物理参数,以及需要流场的位置,DeepONet可以在几分之一秒内为您提供流场的状态。

 

但,DeepONet的训练过程仍然需要消耗大量算力,并且如何提升精确度,以及缩小步长产生更大的计算,也是一个问题。还能更快吗?

改变观点

去年,加州理工学院和普渡大学的Anandkumar及其同事建立了一个称为傅立叶神经算子(FNO)的深度神经网络,他们声称这种神经网络具有更快的速度。

 

他们的网络还将函数映射到函数,从无穷维空间到无穷维空间,并且他们在偏微分方程上测试了它们的神经网络。

 

他们解决方案的核心是一个傅立叶层。

 

在他们将训练数据推过神经网络的单层之前,他们先对其进行了傅里叶变换。然后,当图层通过线性运算处理了该数据时,他们将执行傅立叶逆变换,将其转换回原始格式,此转换是著名的傅里叶变换,它将连续函数分解为多个正弦函数。

 

整个神经网络由几个傅立叶层组成。

 

事实证明,此过程比DeepONet的计算更直接,并且类似于通过执行称为PDE与某些其他函数之间的卷积的繁琐数学运算来求解PDE。

 

在傅立叶域中,卷积涉及一个简单的乘法,相当于将经过傅立叶变换的数据通过一层人工神经元(在训练过程中获得的精确权重),然后进行傅立叶逆变换。

 

因此,最终结果还是FNO学习了整个偏微分方程的操作符,将函数映射到函数。


73.jpg这种方法显著提升了求解速度。

 

在一个相对简单的示例中,仅需要进行30,000次仿真,就能求出之前提到的Navier-Stokes方程的解,对于每个仿真,FNO花费了几分之一秒的时间,而DeepONet为2.5秒。同样的精度,传统的求解器将花费18个小时。

数学意义


两种团队的方法都被证明是成功的,但是与广泛使用神经网络一样,目前尚不清楚它们为什么如此出色以及是否在所有情况下都能如此。Mishra和他的同事现在正在对这两种方法进行全面的数学理解。 经过一年的努力,在2月份,Mishra的团队在Karniadakis的帮助下,对DeepONet架构进行了长达112页的数学分析。他们证明了这种方法是真正通用的,因为它可以将输入端的任何函数集映射到输出端的任何函数集,而不仅仅是PDE,而不必为深入了解Karniadakis定理而做出某些假设网及其1995年的前身。 该团队尚未完成分析FNO的论文,但是Mishra认为它可以比DeepONet更有效地解决某些特定问题。他的团队正在对FNO进行详细的分析,其中包括与DeepONet的比较。 但是,很明显的是,这两种方法都会超越传统的求解器。对于一些无法写出偏微分方程的场景中,神经算子可能是建模此类系统的唯一方法。 这是科学机器学习的未来。


相关文章
|
18天前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
113 30
|
29天前
|
机器学习/深度学习 人工智能 数据挖掘
打破传统:机器学习与神经网络获2024年诺贝尔物理学奖引发的思考
诺贝尔物理学奖首次授予机器学习与神经网络领域,标志该技术在物理学研究中的重要地位。本文探讨了这一决定对物理学研究的深远影响,包括数据分析、理论物理突破及未来科研方向的启示,同时分析了其对学术跨界合作与全球科研产业的影响。
52 4
|
2月前
|
安全 网络协议 网络虚拟化
|
2月前
|
机器学习/深度学习 人工智能 算法
#如何看待诺贝尔物理学奖颁给了机器学习与神经网络?#
2024年诺贝尔物理学奖首次颁发给机器学习与神经网络领域的研究者,标志着这一技术对物理学及多领域应用的深远影响。机器学习和神经网络不仅在生产、金融、医疗等行业展现出高效实用性,还在物理学研究中发挥了重要作用,如数据分析、模型优化和物理量预测等,促进了物理学与人工智能的深度融合与发展。
36 0
|
4月前
|
网络协议 Linux 网络安全
网络工程师的福音!三分钟快速上手这款强大的网络设备模拟器:PNETLab!
【8月更文挑战第22天】PNETLab是一款强大的开源网络设备模拟器,支持多种网络设备如交换机、路由器、防火墙等的模拟,以及TCP/IP等多种协议。用户可通过直观的界面创建网络拓扑、配置设备参数,进行网络测试以验证连通性和排查故障,并能导出结果便于分享与分析,为学习和工作提供高效工具。
224 1
|
7月前
【专栏】子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用
【4月更文挑战第28天】本文介绍了子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用。文章阐述了子网划分的原理,如通过子网掩码划分广播域以减少网络风暴。接着,详细说明了子网划分的方法,涉及需求分析、选择子网掩码、计算子网及广播地址等步骤,并提到了VLSM和CIDR等高效技术。最后,通过实例展示了如何进行子网划分,强调实践对于掌握这项技能的关键作用。学习子网划分能提升网络管理和设计能力。
203 4
54【网络工程】Socket通信过程
【网络工程】Socket通信过程
53 0
|
数据采集 NoSQL 关系型数据库
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
网络爬虫是一种自动从互联网上获取数据的程序,它可以用于各种目的,如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多,不同的编程语言和框架都有各自的优势和特点。在本文中,我将介绍一种使用Go语言和pholcus库的网络爬虫工程,以抓取头条新闻的数据为例,展示pholcus库的功能和用法。
953 0
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
|
7月前
|
安全 网络协议 测试技术
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
191 0
|
机器学习/深度学习 自然语言处理 算法
准确度高,适用性广,使用物理信息神经网络分析材料的内部结构和缺陷
准确度高,适用性广,使用物理信息神经网络分析材料的内部结构和缺陷
177 1