可爱老人网

 找回密码
 注册会员
搜索
查看: 916|回复: 4

[佳作] 深度学习求解「三体」问题,计算速度提高一亿倍

[复制链接]
发表于 2019-11-6 09:29 | 显示全部楼层 |阅读模式
深度学习求解「三体」问题,计算速度提高一亿倍

2019年11月04日 21:35:00
来源:雷锋网




4人参与2评论



本文由清华大学姜蔚蔚向雷锋网AI科技评论投稿,未经允许禁止转载。

雷锋网 AI 科技评论按:这篇论文试图通过深度神经网络来解决天体力学中著名的三体问题。早在牛顿的时代,三体问题就已经被提出,即三个可视为质点的天体在相互之间万有引力作用下的运动规律问题,至今无法被精确求解。与之相对的,描述两个天体相互运动的二体问题可以通过牛顿力学完美解决。三体问题在国内的知名度部分来自于科幻小说家刘慈欣的小说《三体》,其中就描述了一个生活在三体星系的地外文明,忍受着三颗恒星复杂多变的运行轨迹带来的变化多端的天气,由此产生了星际移民并试图占领地球的故事。

从数学上说,每一个天体在另外两个天体的万有引力作用下的运动方程可以表示为3个二阶的常微分方程或6个一阶的常微分方程[1]。在三体问题中,对应了求解18阶方程。然而,物理定律只给了我们10个等式,包含3个质心方程、3个动量守恒方程、3个角动量守恒方程和1个能量守恒方程。因此从数学上完美求解三体问题是不可能的。

既然如此,数学家们搁置了一般情况下的三体问题求解,转而寻找特定条件下的解,例如法国数学家庞加莱就提出了限制性三体问题,即两体的质量极大,第三体不能对它们造成扰动的情况。在研究这个问题的过程中,庞加莱提出了混沌理论,并且发现了三体问题中的“蝴蝶效应”:如果初始状态有一个小的扰动,那么后来的状态会有极大的不同。

与数学家们不同,计算机科学家采取了另一种思路,即通过近似和数值技术来计算分析三体之间的关系。到了2015年,研究人员提出了一个名为Brutus的积分器,基于Bulirsch-Stoer算法可以求解N体问题的任意给定精度的近似收敛解。然而这种方法对内存的要求随着精度的增高和模拟时间的增长而呈指数级增长。

论文标题:Newton vs the machine:solving the chaotic three-body problem using deep neural networks

下载链接:https://arxiv.org/abs/1910.07291

在这篇论文中,来自爱丁堡大学、剑桥大学、阿威罗大学、莱顿大学的研究人员试图通过深度神经网络来解决三体的计算问题。神经网络模型取得了跟Brutus非常接近的计算结果,但是速度却快了一亿倍。如此令人震惊的速度提升效果引发了数学家和计算机学家对于这篇论文的关注和大量讨论。

模型和实验

作者首先简化了三体问题,限制为三个质量相等、初始速度为零的粒子在一个平面上的引力问题。如图1所示:

图1. 三个粒子的初始位置。

粒子1的初始位置x1=(1,0)代表了距离原点的单位距离,粒子2的初始位置x2在图1中的绿色区域中随机产生,而由于对称性,粒子3的初始位置x3=-x1-x2。图1中的红点代表粒子2和粒子3重合的特殊情况,此时x2=x3=(-0.5, 0)。

然后作者们利用Brutus模拟求解了10000次它们的三体运动,完成这些模拟花费了10天的时间。接下来对神经网络模型而言,作者们使用其中的9900次模拟作为训练集,100次模拟作为训练集。这篇论文中使用的深度神经网络模型是一个包含10个隐藏层、128个节点前馈神经网络,如图2所示:

图2. 牛顿肖像画和神经网络模型。

训练过程采用了Adam优化器,每个epoch分为5000个batch,激活函数使用了ReLU。训练过程中平均绝对误差随epoch变化的情况如图3所示,

图3. 平均绝对误差vs epoch。

其中实线代表训练集,虚线代表验证集,3.9、7.8和10分别代表了使用的数据量的大小,特别的,10代表使用了全部10天生成的数据,即全部数据集。

图4. 神经网络和Brutus结果的对比。

在图4中,作者给出了训练好的模型与Brutus计算结果的对比,左半边为训练集上的对比,右半边为验证集上的对比。三种颜色的曲线代表三个例子的运动轨迹,而由于结果太接近,实线代表的神经网络的轨迹和虚线代表的Brutus的轨迹几乎无法分辨,代表经过训练的神经网络令人满意地再现了粒子之间的相互作用。而神经网络的计算时间(大约是10的负三次方秒)比Brutus快了十万倍(有时候甚至是一亿倍)。进一步,作者们也对比了神经网络模型对于初始位置扰动的敏感性。通过在x2的初始位置上加入一个很小的扰动,神经网络模型依旧取得了跟Brutus相近的结果,如图5所示。

图5. 初始位置的敏感依赖。

最后,作者们也尝试利用神经网络来预测粒子的速度信息,但是神经网络在求解问题的时候似乎没有遵循能量守恒定律,作者们在人为加入一个能量投影层之后,才使得预测误差从10-2降低到了10-5,如图6所示。

图6. 相对能量误差。

结 论

这篇论文成功验证了神经网络在混沌系统仿真中的应用,能够以更快的速度完成传统的方法(例如Brutus)的仿真工作,从而展示了在解决类似的复杂性问题上的应用潜力。

这篇论文的不足也是很明显的。很多人认为这篇论文只是一种概念上的验证,因为论文中的神经网络模型只能解决二维平面内并且初速度为0的三体问题。“深度学习”近年来的火爆使得它的应用早于超出了传统的计算机领域。在物理领域,曾经就有研究将神经网络应用于模拟中子星碰撞[3]。然而这种广泛的应用也引起了研究人员的担忧和质疑,例如Nature上一篇利用深度学习预测地震余震[4]的论文就被质疑为深度学习方法的“滥用”。目前来看深度神经网络还无法完全替代Brutus这样的工具。正如作者所说的,未来他们会考虑构建一个混合系统,当计算负担过重时引入神经网络,直到可以继续使用Brutus方法计算,从而能够更快地模拟星体之间的运动。




参考:

[1] 浅谈三体问题, 甘庆雨, 2014. http://hpc.seu.edu.cn/dong/class/2014-Ganqingyu.pdf

[2] Boekholt T, Zwart S P. On the reliability of N-bodysimulations[J]. Computational Astrophysics and Cosmology, 2015, 2(1): 2.

[3] Adamczewski-Musch J, Arnold O, Behnke C, et al. Probing densebaryon-rich matter with virtual photons[J]. Nature Physics, 2019, 15:1040-1045.

[4] DeVries P M R, Viégas F, Wattenberg M, et al. Deep learning ofaftershock patterns following large earthquakes[J]. Nature, 2018, 560(7720):632.




发表于 2019-11-6 10:10 | 显示全部楼层
分享朋友的转帖。
 楼主| 发表于 2019-11-6 11:26 | 显示全部楼层
申老李 发表于 2019-11-6 10:10
分享朋友的转帖。

祝 健康长寿、万事如意!
发表于 2019-11-6 13:07 | 显示全部楼层
欣赏青城山人朋友的转载。下午好!
发表于 2019-11-7 14:17 | 显示全部楼层
欣赏!学习分享!
        
下一页 发布主题 快速回复

手机版|公众号|小黑屋|可爱老人网

GMT+8, 2024-11-26 01:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表