互联网资讯 / 人工智能 · 2023年12月7日 0

神经网络在高等数学中的偏微分方程求解中表现出色

随着任务数量的增加,传统计算方法在构建通用日常机器人的成本日益高昂,因此人们正在积极寻找解决方案。我们期望通用机器人能够执行多种复杂任务,如清洁、维护和交付。

微分方程是数学中重要的内容,它是包含未知函数及其导数的方程。任何表示未知函数、其导数与自变量之间关系的方程均可称为微分方程。

当未知函数为单变量时,称为常微分方程;而当未知函数为多变量时,则称为偏微分方程。

偏微分方程在多个领域中有广泛应用,例如模拟飞机在空中的飞行姿态、地震波在地球内的传播、传染病在人群中的扩散,以及研究基本力和粒子之间的相互作用等。工程师、科学家和数学家们常常依赖偏微分方程来描述涉及多个独立变量的复杂现象。

然而,解决偏微分方程的过程极为复杂,尤其是对于计算机而言,常常只能采用最原始的方法进行求解。

对于一些特别复杂的偏微分方程,可能需要数百万个CPU小时才能得到一个结果。随着问题日益复杂,从设计先进的火箭发动机到模拟气候变化,科学家们亟需更“智能”的求解方法。

或许,神经网络可以成为一种选择。

最新研究表明,神经网络能够比传统的偏微分方程求解器更快地找到近似解。

更令人惊讶的是,经过训练的网络可以在不进行再次训练的情况下,解决同类偏微分方程。

通常情况下,神经网络将数据从一个有限维空间(例如图像的像素值)转换到另一个有限维空间(例如将图像分类为数字,1代表猫,2代表狗)。而求解偏微分方程的神经网络则实现了从无穷大空间映射到无穷大空间。

高数有救了!神经网络不到一秒就能求解偏微分方程

偏微分方程的复杂性与其应用相伴而生。例如,若要观察空气在飞机机翼附近的流动情况,模型构建者需要使用偏微分方程来了解流体在空间中任意一点(称为流场)及不同时间的速度和压力。

在考虑能量、质量和动量守恒定律时,NavieR-Stokes方程便是用于该流体流动建模的特定偏微分方程。

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

偏微分方程通常复杂到无法提供通用的解析解,特别是NavieR-Stokes方程的最一般形式尚未被证明是否存在唯一解,甚至未能通过分析方式找到解。

在这种情形下,建模者会转向数值方法,将偏微分方程转化为一组更易于处理的代数方程,假设这些方程在空间和时间增量上保持微小。

使用超级计算机以数值方式解决复杂的偏微分方程可能需要数月的时间。

此外,如果初始条件、边界条件或所研究系统的几何形状(例如机翼设计)发生变化,就必须重新求解。同样,所使用的增量越小(即网格越细),模型的精度越高,而数值求解所需的时间也会随之增加。

神经网络在拟合这种黑箱形式的未知函数方面更为高效,其输入为向量,输出也是向量。如果存在将一组输入向量映射到一组输出向量的函数,网络便可以通过训练学习该映射,任何两个有限维空间之间的函数都可以通过神经网络进行近似。

2016年,研究人员探讨了如何将通常用于图像识别的深度神经网络应用于求解偏微分方程。首先,研究团队通过数值求解器生成用于训练网络的数据,该求解器计算流经不同形状(如三角形、四边形等)的流体速度场。2D图像编码了对象的几何形状和流体初始条件作为输入,而相应速度场的2D快照作为输出。

高数有救了!神经网络不到一秒就能求解偏微分方程
从无限空间映射到无限空间

与2016年的研究相比,近期的研究具有更大的突破。该网络不仅能够学习如何近似函数,还能学习将函数映射到函数的“运算符”,并且避免了“维度爆炸”的困扰。例如,当其他神经网络或机器学习算法希望将错误率从10%降低到1%时,所需的训练数据量或网络规模可能会成倍增加,从而使任务变得不可行。

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

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

高数有救了!神经网络不到一秒就能求解偏微分方程

1995年的研究表明,浅层网络可以近似运算符算子。由于神经网络的引入,这类算子被称为神经算子,即实际算子的近似值。

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

DeepONet将两个网络的输出合并,以了解偏微分方程所需的运算符。通过在每次迭代中不断调整分支网络和主干网络中的权重,训练DeepONet,直到整个网络的误差降到允许范围内。

一旦训练完成,DeepONet便能够模拟运算符,输入代表偏微分方程的数据,输出则为网络训练得到的近似解。

假设您提供了100个样本,代表训练数据中未包含的初始/边界条件和物理参数,以及需要流场的位置,DeepONet能够在几分之一秒内输出流场的状态。

然而,DeepONet的训练过程仍需大量计算资源,如何提升精确度及缩小步长以实现更大计算能力也是一个挑战。是否能够更快呢?

转变思维

去年,加州理工学院和普渡大学的AnandkuMaR及其同事开发出了一种名为傅立叶神经算子(FNO)的深度神经网络,声称该神经网络具有更快的速度。

他们的网络同样实现了函数到函数的映射,从无穷维空间到无穷维空间,并在偏微分方程上进行了测试。

其解决方案的核心是傅立叶层。

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

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

研究结果表明,这一过程比DeepONet的计算更为直接,类似于通过执行称为PDE与其他函数之间的卷积的繁琐数学运算来求解PDE。

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

因此,最终结果是FNO学习了整个偏微分方程的运算符,实现函数到函数的映射。

高数有救了!神经网络不到一秒就能求解偏微分方程

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

在一个相对简单的示例中,仅需进行30,000次仿真便可求出前述NavieR-Stokes方程的解,每次仿真FNO仅花费几分之一秒,而DeepONet则需2.5秒。同样的精度下,传统求解器则需18小时。

数学意义

虽然两种方法均已证明成功,但目前尚不清楚它们为何如此出色,以及是否在所有情况下都能保持如此高效。MishRa及其同事正对这两种方法进行全面的数学分析。

经过一年的努力,MishRa的团队在2月份与KaRniadakis合作,对DeepONet架构进行了长达112页的数学分析。他们证明了这一方法的通用性,能够将输入端的任意函数集映射到输出端的任意函数集,而不仅限于PDE,且无须深入理解KaRniadakis定理及其1995年研究的前提。

该团队尚未完成对FNO的分析论文,但MishRa认为其在解决某些特定问题时可能比DeepONet更有效。他的团队正对FNO进行深入分析,并与DeepONet进行比较。

显然,这两种方法都超越了传统的求解器。在一些无法明确写出偏微分方程的场景中,神经算子可能是建模此类系统的唯一方式。

这预示着科学机器学习的未来。