本文来自微信公众号:量子位(ID:QbitAI),原文标题:《用上傅里叶变换,很快啊,AI几秒钟就能解出偏微分方程》,作者:边策、明敏,题图来自:视觉中国
最近的气温真是忽高忽高、让人琢磨不定,但所幸天气预报都还很准确,没有和大家开玩笑。
不过,你知道这些准确的气温预测,是通过解方程算出来的吗?不仅如此,靠解方程还能模拟飞机空气动力、疾病传播模型!
是什么方程这么厉害?我学过吗?它就是偏微分方程(PDE),在我们的世界中无处不在。
但在实际应用中,用计算机求解偏微分方程的难度很大,往往为了求出一个解而需要大型机器运行一个月。
并且,随着科研中遇到问题的复杂度、运算量逐渐增加,也就更需要高效快速的求解方法。
最近,来自加州理工大学的一个研究团队就用AI来解决这一难题,他们开发了一种新的神经网络,比传统的PDE求解快几个数量级,并且在理论上适用于任何偏微分方程。
甚至连流体力学里的“老大难”N-S方程,也不在话下。
对于简单方程的求解,这种方法只需几秒就能解出答案,而传统方法需要18个小时。
训练神经网络=求解PDE
神经网络的本质是逼近一个函数,函数是从一个变量到另一个变量的映射。比如图像识别网络,就是把输入的图像数据,与最后的分类结果之间建立映射关系。
训练神经网络其实就是尽可能逼近这个函数,这和数值求解PDE本质是一样的。
2016年,人们开始研究图像识别神经网络如何用于求解PDE,用成对的生成数据来训练神经网络,比如计算平面上不同基本形状(如三角形、四边形)物体周围的空气流速场。
训练数据集的输入是物体几何形状和的初始条件信息,输出是相应的二维几何物体。训练过程等于建立输入和输出之间的相关性。
训练后的神经网络,可以用于预测其他情况(比如汽车形状)的流速场,它只和与传统数值求解器的结果略有不同,但求解速度更快。
然而,对于专门研究PDE的人来说,这种方法还远远不够。
因为上面的方法精度一般达不到要求,如果想要实现更高的精度,所需的数据量和网络大小将爆炸式增长,失去了原本快速求解的意义。
从函数到算子
所以,人们想到了一种新方法,求助于“算子”。算子是一种从函数到函数的映射。
函数:数→数
算子:函数→函数
比如,正弦算子(sin)把线性函数x变成三角函数sinx,微分(求导)算子(d/dx)把三次函数x³变成二次函数3x²。
2019年,来自布朗大学和中科院的学者开发了一种“深度算子网络”(DeepONet),就是用算子的方法求解PDE。
DeepONet的特殊之处在于其分叉架构,它以两个并行网络处理数据,一个是“分支”和一个“主干”。
“分支网络”学习生成算子,也就是对输入端函数进行近似,“主干网络”负责对输出端函数进行同样操作。然后,DeepONet结合两个网络的输出,得到PDE的解。
虽然DeepONet相比PDE数值求解器速度惊人,但是它需要在训练期间进行密集计算。当必须使用大量数据训练使算子越来越精确时,可能会存在问题。
那么神经算子能加速PDE求解吗?
傅里叶变换
后来,加州理工大学与普渡大学的团队,开发了另一种新的方法——“傅里叶神经算子”(FNO)。
FNO比DeepONet在计算上要更加简单,因为DeepONet还要浅层网络去近似模拟算子,而FNO有现成的方法可用,就是傅里叶变换。
有些音乐软件显示的频谱图,其实就是一种傅里叶变换,它把连续变化声音信号转换到频率空间中。
经过傅里叶变换,原来函数之间的卷积,在频率空间中变成了更简单的乘积。
FNO的核心是傅里叶层。
傅里叶层会在训练数据推送到神经网络的单层之前,对其进行傅里叶变换,然后用一个线性变换R过滤掉其中的高频部分,再通过傅里叶逆变换的得到原空间的函数。
FNO可以显著提高求解PDE的速度。在一个求解NS方程的例子中,需要3万次模拟,FNO求解时间不到一秒,DeepONet耗时2.5秒,而在这种情况下,传统的求解器需要18个小时。
团队介绍
该研究的第一作者是Zongyi Li,是加州理工计算机和数学系的一名博士二年级学生。研究方向为机器学习、理论计算机科学和应用数学。
他的导师是英伟达著名女科学家Anima Anandkumar。
作为AI界的风云女性,Anima不仅在研究成果上战绩斐然,在学术圈也是怼天怼地。
此前,她曾在博客公开喊话,强烈反对发论文不给代码的行为,呼吁学术会议强制要求投稿同时必须公开代码,以对造假论文进行追责、利于行业公平竞争。
并且,为了对抗AI学术界对女性的歧视和调侃,她曾在Twitter上“大战”LeCun。以一己之力让顶级学术会议NIPS改了名字,避免了女性参会者的尴尬。
Anima希望学术界更关注女性的学术成就,而不是长相。当有人在她的讲座视频下夸她漂亮时,她的做法是——删评。
参考链接:
[1]https://www.quantamagazine.org/new-neural-networks-solve-hardest-equations-faster-than-ever-20210419/
[2]https://arxiv.org/abs/2010.08895[3]https://arxiv.org/abs/1910.03193[4]https://github.com/zongyi-li/fourier_neural_operator
本文来自微信公众号:量子位(ID:QbitAI),作者:边策、明敏