专栏首页量子位牛顿棺材板快盖不住了:用深度神经网络解决三体问题,提速一亿倍

牛顿棺材板快盖不住了:用深度神经网络解决三体问题,提速一亿倍

“不要回答!不要回答!不要回答!”

刘慈欣在为自己的科幻小说起名为《三体》时,他早已知道“三体”本身就是一个不可回答的问题。

“三体问题”已经困扰了人类几百年,曾经无数让你感到恐惧的大牛都为此付出了巨大的心血,比如牛顿、欧拉、拉格朗日、庞加莱,直到今天还有很多人在研究。

但遇事不决,用神经网络总是没错的。

最近来自爱丁堡大学、剑桥大学的数学家们,用神经网络来求解三体问题,速度比之前的求解器快一亿倍,而且误差只有十万分之一

“我太难了”

那么三体问题到底是什么,为什么它会难倒如此多的物理学家、数学家?

N体问题是指,根据牛顿三大运动定律牛顿万有引力定律,在知道N个质点的初始位置和速度的情况下,求解其后续运动的问题。

首先,二体问题极易解决,人类早已掌握地球围绕太阳运转的规律,开普勒行星运动三大定律就是答案。

所以在牛顿提出了万有引力后,一开始人们以为,三体问题不过是比二体问题多一体,也没什么难的嘛,就是多加一个方程而已。

然而事情并不简单,当物体增加到3个以后,一般来说,运动轨迹就会变成乱七八糟的曲线,不再像椭圆那样优美简单。

虽然三体问题虽然只包含三个方程,但数学上已经证明,除了少数特殊情况,一般是无法找到解析解的,我们只能用数值模拟的方法求得近似解。

在欧拉、拉格朗日等大牛的努力下,数学家找到了一些特殊三体问题的精确解,比如三个等质量物体绕“8”字运动。

但是大多数三体问题还是无法求出精确解的,而且就像混沌里的蝴蝶效应一样,只要初始条件有一些细微的差异,就会导致结果大为不同。

为此需要有巨大算力的计算机去求解三体问题。由于系统的混沌性质,只能通过费时费力的迭代计算来找到给定初始化问题的解。

2015年,有人开发了开发了Brutus积分器,可以按任意精度计算出求出任意N体问题的近似收敛解。

但是,迭代计算随着精度的不断提高和模拟时间的增长,需要在内存中保留的数字精度呈指数级增长,并且计算的步长要进一步缩小。

神经网络可不是瞎蒙

既然用传统的数值解法难度很大,不妨试一试神经网络。

不过最近神经网络的跨界比较多,有人用来预测余震,有人用来诊断心脏病,最后发现都不靠谱。

物理学家、数学家在使用深度神经网络之前,当然不能随便硬套,得先证明这不是玄学。

早在1991年,已经有人用理论证明,如果神经网络的激活函数是连续、有界且非恒定值的,则可以在紧凑的输入集上实现连续映射。

说得通俗些,一个包含足够光滑激活函数的网络,能够以任意精确度逼近函数及其导数。也就是说,用神经网络可以找到三位问题中物体运动方程的近似解。

作者使用了由128个节点、10个隐藏层组成的前馈神经网络。使用ADAM优化算法对数据进行训练,其中每个epoch分为5000个batch,并将激活函数设置为ReLU。

训练集和验证集分别由9900和100个模拟数据组成。在每个模拟中,通过Brutus积分运动方程求解,与神经网络的结果进行对照。

通过输入时间t和粒子的位置坐标,以上的神经网络返回其他粒子在该时刻的坐标,从而实现了近似求解三体问题。

在这个过程中,神经网络需要的时间平均比Brutus积分器快10万倍,最高可以快一亿倍。

不过,还有是该方法还是遭到了一些网友的质疑,原因是它只解决了在二维平面内的三体问题,粒子的初速度也限制为0。

而且神经网络在求解问题的时候似乎没有遵循能量守恒定律,最后靠作者引入了一个“能量投影层”,才实现了误差10-5的结果。

但是这种方法为我们快速低成本计算航天器轨道提供了一种解决思路。

论文地址: https://arxiv.org/abs/1910.07291

本文分享自微信公众号 - 量子位(QbitAI),作者:关注前沿科技

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门神经网络:从原理、主要类型到行业应用

    原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球。但是神经...

    量子位
  • 在《我的世界》里搭建神经网络,运行过程清晰可见,这位印度小哥开发的新玩法火了

    前有《我的世界》举办毕业典礼,后有《动物森友会》举办AI会议。最近《我的世界》又被大神带来了硬核玩法:

    量子位
  • 深度学习究竟怎么入门?两位Google大神掀起剑气之争

    作为一名 华山派新弟子 深度学习新手,该先学会用框架快速搭出神经网络,用到实际问题中去,还是该先练习用Python基本徒手搭建模型,在小数据集上训练,了解它们的...

    量子位
  • 深度神经网络权值初始化的几种方式及为什么不能初始化为零(1)

    写在前面:该篇文章的内容以及相关代码(代码在最后),都是我亲自手敲出来的,相关结论分析也是花了挺长时间做出来的,如需转载该文章,请务必先联系我,在后台留言即可。

    用户7699929
  • 10行python代码制作笑死人不偿命的倒放gif

    现在网络平台上各种有很多倒放视频和倒放gif,其中有些非常的有意思,例如以下图片,慎点,笑死人行哥不偿命

    行哥玩Python
  • 全国程序员工资统计,2020年2月最新数据!

    https://blog.csdn.net/juwikuang/article/details/104162025

    KEN DO EVERTHING
  • 【SSH快速进阶】——Hibernate自动建表

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • 我是如何替换Spring Cloud Netflix的?

    如果你正在寻找一个Spring Cloud Netflix的替代方案,建议可以看下这篇和Spring Cloud Alibaba相关的文章。

    养码场
  • 统计学基础回顾

    iOSDevLog
  • 神经网络“天生”就会驾驶虚拟赛车

    众所周知,动物与生俱来就有独特能力和倾向,马出生后几个小时就能走路,鸭子孵化后很快就能游泳,而人类婴儿会自动被脸吸引。大脑已经进化到只需很少或根本没有经验就能承...

    大数据文摘

扫码关注云+社区

领取腾讯云代金券