社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习蓄势待发,即将“爆破”欧拉方程

AI科技评论 • 2 年前 • 207 次点击  

几个世纪以来,数学家们一直想知道欧拉流体方程在某些情况下是否会崩溃或被“爆破”。一种新的机器学习方法让研究人员确信,这种“爆破”即将到来。

作者| Jordana Cepelewicz

编译|钱磊、Ailleurs

编辑|陈彩娴
250多年来,数学家们一直试图“爆破”一些物理学中最重要的方程式,比如描述流体流动的欧拉方程。如果他们成功,他们会发现,在某种情况下方程会被爆破——比如可能会出现一个无限快地旋转的漩涡,或者出现一个突然停止又突然流动的电流,或者是出现一个以无限快的速度掠过的电子。超过这个爆发点——也就是“奇点”——方程将不再有解。这些方程甚至将无法描述这个世界的理想情况,数学家们有理由怀疑这些流体行为的模型到底是否可靠。
奇点正如其所要描述的流体一样滑溜而不可捉摸。为了找到答案,数学家们通常会把控制流体流动的方程式输入计算机,然后进行数字模拟。他们从一组初始条件开始,然后观察,直到某个量的值——比如速度,或者涡度——开始疯狂地增长,似乎在朝着爆炸的方向发展。
但是计算机无法确定地发现奇点,原因很简单,因为计算机无法处理无限值。如果奇点存在,计算机模型可能会接近方程被爆破的那个点,但永远无法直接得到奇点。事实上,当用更强大的计算方法探测时,明显的奇点却已经消失了。
但这种对奇点的近似仍然很重要。有了近似,数学家们就可以使用一种叫做计算机辅助证明的技术来证明附近确实存在一个奇点。此前已经有过简化的一维版本的研究。
今年早些时候,一个由数学家和地球科学家组成的团队发现了一种全新的近似奇点的方法——他们利用了深度学习方法,能够直接观察奇点。这个团队还用这种方法来寻找传统方法无法找到的奇点,希望能证明这些方程并不像看起来那样绝对可靠。
  • 论文地址:https://arxiv.org/pdf/2201.06780v2.pdf
在该研究中,Yongji Wang 等人开发了一个新的数值框架,利用基于物理信息的神经网络(physics-informed neural network,PINN)寻找Boussinesq方程的光滑自相似解。该解对应于存在圆柱边界的三维欧拉方程的渐近自相似曲线。特别地,该解是对三维欧拉方程 Luo-Hou 爆破场景的精确描述。该解是流体力学方程的第一个真正的多维光滑向后自相似曲线。该数值框架具有鲁棒性,且易于适用于其它方程。
该文研究了在数学流体力学领域中具有重要意义的二维Boussinesq方程和三维带边界的欧拉方程的有限时间爆破问题。Yongji Wang 等人使用了一种新颖的数值方法,利用物理信息神经网络构造了Boussinesq方程的光滑向后自相似解。这个解本身可能成为未来计算机辅助证明二维Boussinesq和三维带边界的欧拉方程爆破的基础。
这项研究引发了一场爆破流体方程的竞赛:一边是深度学习团队, 另一边是多年来一直使用着更成熟的技术的数学家们。不管谁可能会赢得这场比赛——如果有人真的能够到达终点线的话——结果都表明,神经网络可以帮助人们为许多不同的问题寻找新的解决方案。



1

消失的爆破解
莱昂哈德·欧拉(Leonhard Euler)在1757年提出了欧拉方程,该方程描述了理想的、不可压缩的流体的运动——这种流体没有粘性,也没有内摩擦,而且不能压缩到更小的体积。(自然界中发现的许多流体一样是具有粘性的,它们的模型是纳维尔-斯托克斯方程;爆破纳维尔-斯托克斯方程将获得克雷数学研究所 100万美元的千禧年奖。) 给定流体中每个粒子在某一起始点的速度,欧拉方程应该能够预测流体在任何时候的流动状况。
但是数学家们想知道,在某些情况下——即使一开始看起来没什么问题——这些方程最终是否会遇到麻烦。(我们有理由怀疑这可能是事实:他们模拟的理想流体与真正的只有最轻微粘性的流体没有任何相似之处。欧拉方程中奇点的形成可以解释这种散度。)
2013年,两位数学家提出了这样一个设想。由于一个完整的三维流体流动的动力学可以变得难以置信的复杂,加州理工学院的数学家Thomas Hou和香港恒生大学的Guo Luo认为流动服从某种对称性。
在他们的模拟中,流体在一个圆柱形杯内旋转。杯子上半部分的液体顺时针旋转,而下半部分的液体逆时针旋转。相反的水流形成了其他复杂的上下循环的水流。很快,在边界上两股相反的水流相遇处,流体的涡度爆发了。

图源Merrill Sherman/Quanta Magazine
虽然这个证明提供了奇点存在的有力证据,但没有证据的话,不可能确定它就是奇点。在Hou和Luo的证明之前,许多模拟都提出了潜在的奇点,可是后来在一台更强大的计算机上进行测试时,大多数奇点都消失了。明尼苏达大学的数学家Vladimir Sverak说:“你认为存在一个奇点,然后你把它放到分辨率更好的更大的电脑上,不知怎么的,原本你以为存在的奇点却不见了。”
这是因为这些解决方案可能很容易受到看似微不足道的小错误的影响,这些错误会随着模拟中的每一个时间步而累积。普林斯顿大学的数学家Charlie Fefferman说:“在计算机上模拟欧拉方程是一种微妙的艺术,因为欧拉方程对解的小数点后38位小之又小的误差非常敏感。”
尽管如此,Hou和Luo对奇点的近似解迄今为止经受住了所有的考验,并且鼓励了许多人进行相关的研究。Sverak说:“这是奇点形成的最佳方案,很多人,包括我自己,都相信这一次得到的是一个真正的奇点。”
为了充分证明欧拉方程已被爆破,数学家需要证明,给定近似奇点的情况下附近存在一个真实的奇点。他们可以用精确的数学术语重新描述这个说法,如于近似的一个足够近的区域内存在一个实解,如果某些性质可以被验证的话,就能证明这个说法是正确的。而验证这些特性又需要计算机:这一次需要执行一系列的计算(包括近似解),并小心地控制过程中可能累积的误差。
Hou 与其研究生Jiajie Chen几年来一直在研究计算机辅助证明。他们从2013年开始对近似解进行了改进,并且现在在使用这个近似作为他们新证明的基础。他们还表明,这种一般策略也适用于比欧拉方程更容易解的问题。
现在,另一群人也加入了狩猎行动。他们用一种完全不同的方法找到了近似,这个方法与Hou和Luo的结果非常相似。他们现在在编写他们自己的计算机辅助证明。但是为了获得近似值,他们首先需要转向一种新的深度学习形式。



2

PINN:始于冰川研究
关于欧拉方程爆破的新研究始于这样一个令人意想不到的领域——地球物理学家对南极洲冰盖的动力学研究。他们的研究要求使用一种深度学习方法,这种方法后来在更多的理论背景中都被证明是有用的。
数学家Tristan Buckmaster目前是普林斯顿高等研究院的访问学者,他发现这种新方法纯属一次偶然。去年,他所在系的本科生Charlie Cowen Breen请他签署一个项目,该学生在普林斯顿地球物理学家Ching-Yao Lai的指导下一直在对南极冰盖做动力学研究。他们试图通过卫星图像和其他观测来推测冰的粘度,并预测其未来的流动。通过运用一种以前从未见过的深度学习方法——“基于物理信息的神经网络”(PINN),他们实现了这一点。
传统的神经网络需要对大量数据进行训练才能进行预测,PINN则与此不同,它还必须满足一组潜在的物理约束条件,包括运动定律、能量守恒、热力学等等,以及科学家为了解决特定问题而需要引入的其他任何物理约束。

图源NASA地球观测站
将物理因素引入神经网络有这样几个目的。一方面,这样的神经网络能够在几乎没有可用数据的情况下回答问题。另一方面,PINN能够推断出原始方程中的未知参数。Lai的实验室博士后研究员、新论文的合著者之一Yongji Wang 指出,在许多物理问题中,“我们大概知道方程应该是什么样子,但我们不知道‘某些’项的系数应该是什么”。Lai和Cowen Breen试图要确定的参数就会出现这种情况。
布朗大学的应用数学家George Karniadakis曾于2017年开发了第一个PINNs,他提出并命名了“隐藏流体力学” (hidden fluid mechanics)。
学生Cowen-Breen的请求引起了Buckmaster的思考。Hou、Luo 和 Chen等人对圆柱界面欧拉方程组经典求解方法经历了漫长的艰难推进。但由于对时间的依赖性,他们只能非常接近而无法到达奇点:当他们越来越接近可能看起来像无穷大的东西时,计算机的计算将变得越来越不可靠,以至于他们无法真正看到爆破本身的点。
但欧拉方程可以用另一组方程来表示,通过一种巧妙的技术,可以把时间的影响排除在外。Hou 和 Luo(2013)的研究结果令人瞩目,不仅因为他们确定了一个非常精确的近似解,而且他们发现的解决方案似乎还有一种特殊的“自相似”(self-similar)结构。这意味着,无论时间向前推移多久,模型的解决方案都遵循一定的模式:其后来的形状看起来与原始形状非常相似,只是更大一些。
这个特征意味着数学家可以专注于奇点出现之前的某个时间。如果他们以一个正确的速度放大那张快照——这就好像他们在一个显微镜下不断进行调整放大去观察它一样——他们就可以模拟之后会发生什么,直到到达奇点本身。同时,如果他们以这种方式重新进行缩放,那么在这个新系统中实际上就不会出现严重错误,可以避免处理无限值的问题。Fefferman 说,“它只是接近一个良好的极限”,这个极限代表依赖时间的方程版本中爆破的发生。
Sverak 表示:“对这些(被重新缩放的)函数进行建模更容易,因此,如果你能用一个自相似函数来描述一个奇点,这会是一个很大的优势。”

图注:从左到右分别是:数学家Tristan Buckmaster和Javier Gómez Serrano,地球物理学家Cheng Yao Lai和Yongji Wang。他们合作使用基于物理的神经网络来研究欧拉方程的爆破。
问题是,要使其发挥作用,数学家不仅仅是要求解出通常参数(如速度和涡度)的方程(使用自相似坐标来书写这些方程),方程本身还有一个未知的参数:控制放大率的变量。这个值必须恰到好处,以确保方程的解与初始问题中的爆破解相一致。
数学家必须同时向前和向后地求解这些方程——这是一项用传统方法很难实现的任务,如果不是不可能的话。找到这些解决方案,正是设计PINNs的目的。



3

爆破解的寻求之路
回顾当初,Buckmaster说,开发PINN“似乎是显而易见要做的”。
Buckmaster、Lai、Wang 以及Javier Gómez-Serrano(他是布朗大学和巴塞罗那大学的数学家)四人合作,建立了一套物理约束来帮助指导PINN,这套物理约束包括与对称性和其他性质有关的条件,以及他们想要求解的方程。他们使用了一组使用自相似坐标来重写的二维方程,这些方程在接近圆柱边界的点上等价于三维欧拉方程。
然后,他们训练神经网络来寻找满足这些约束条件的解——以及自相似参数。“这种方法非常灵活,只要施加正确的约束,你总能找到一个解。”Lai说道。事实上,团队还通过在其他问题上测试该方法展示了这种灵活性。
该团队提供的答案看起来很像Hou 和 Luo (2013)提出的解决方案。但是数学家们希望他们给出的近似能更详细地描述正在发生的事情,因为这是第一次直接计算出这个问题的自相似解。Sverak 表示 : “新的研究结果更精确地说明了奇点是如何形成的”,即某些值会如何达到爆破点,以及方程将如何崩溃。
Buckmaster指出:“在没有神经网络的情况下,你很难证明你是真的在捕捉奇点的本质。很明显,这项研究所用的方法是比传统方法要容易得多。”
Gómez-Serrano对此表示同意,他说:“这在未来将成为人们手边的一种标准工具”。
PINNs再一次揭示了Karniadakis所说的“隐藏流体力学”,只是这一次,他们用PINNs在更具理论性的问题上取得了进展。Karniadakis说:“我还没见过有人用PINNs来做这件事。”
这并不是数学家感到兴奋的唯一原因。PINNs可能也可以用来找到另一种奇点,这种奇点用传统的数值方法是几乎发现不了的。这些“不稳定”奇点可能是某些流体动力学模型中唯一存在的奇点,包括没有圆柱边界的欧拉方程(这一的方程求解起来已经复杂很多)和纳维-斯托克斯方程(Navier-Stokes equations)。“不稳定的奇点确实存在。所以为什么不找到它们呢?”普林斯顿的数学家Peter Constantin曾这样说道。
但即使对于用经典方法可以处理的稳定奇点,PINN为有圆柱边界的欧拉方程提供的解决方案“是定量且精确的,并且还可以变得更为严密。现在有了一个通往证明的路线图。这将需要做很多工作,需要很多的技能。我想这还需要一些创意。但我不认为这需要什么天赋。我认为这是可行的。”Fefferman这样表示。
Buckmaster的团队现在正在与Hou和Chen展开一项竞赛,看谁能抢先到达终点线。Hou和Chen在 这条赛道上是领先一步的:据Hou说,他们在过去几年里在改进近似解和完成证明方面取得了实质性进展,他怀疑Buckmaster和他的同事必须改进近似解,才能得到他们自己的证明。而他认为,现有近似解的误差余地已经很小了。
尽管如此,许多专家希望,250年来人们对欧拉方程爆破解的探索将接近尾声。Sverak 说:“从概念上讲,我认为……所有重要的部分都已到位,只是细节还很难确定。”

参考链接:

https://www.quantamagazine.org/deep-learning-poised-to-blow-up-famed-fluid-equations-20220412/

https://arxiv.org/pdf/2201.06780v2.pdf

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131750
 
207 次点击