很多著名科学家为三体问题殚精竭虑,其面临多种复杂情况,计算成本也很高。最近的一项研究提出使用深度神经网络解决三体问题,其平均速度是当前最优求解器的 105 倍,最快速度可达后者的 1 亿倍。
三体问题(Three-body problem)是天体力学中的基本力学模型。它是指三个质量、初始位置和初始速度都是任意的可视为质点的天体,在相互之间万有引力的作用下的运动规律问题。
艾萨克·牛顿爵士在 1687 年出版的《自然哲学的数学原理》一书中首次提出了三体问题的完整数学描述,然而自那之后,对三个问题的运动方程求解仍是待解难题。目前,对于给定初始化,我们只能通过大量费时费力的迭代计算求解,且由于系统的混沌属性,这些计算的成本很高且难以预测。
来自爱丁堡大学、剑桥大学等机构的研究者利用任意精度数值积分器(可用于训练深度神经网络)在有限时间内获得多个解,该方法以固定计算成本计算出准确的解,且最快计算速度可达当前最优求解器的 1 亿倍。该结果表明,对于相空间中有计算难度的区域而言,神经网络可以替代现有的数值求解器,实现多天体系统的快速和可扩展模拟,从而解释双黑洞系统或稠密星团中核坍缩的起源等现象。
论文连接:https://www.arxiv-vanity.com/papers/1910.07291/
三体问题有多难?
牛顿的运动方程描述了空间内多个天体在自身引力作用下的演化,这些方程对于很多物理学经典问题起到重要作用。例如,这些方程解释了球状星团和星系核的动态演化,而星系核被认为是双黑洞紧密束缚在一起并最终形成引力波的地方。
大量著名科学家对此问题付出大量时间、兴趣和精力,但由于系统的混沌属性,对三体问题的运动方程求解仍然是待解难题。混沌属性通常意味着只有通过大量繁琐的数值积分才能得到可行解。解析解仅存在于几个特例中,Valtonen 等人在 2016 年提出了三体问题的通解,但该解基于无穷级数展开(infinite series expansion),且在实践中应用有限。
神经网络 vs 三体问题
来自爱丁堡大学、剑桥大学等机构的研究者进行的这项新研究新颖之处在于,在固定时间内,利用多层深度神经网络解决有 300 多年历史的三体问题。其原理验证方法证明,在有计算难度的场景中,如多次亲密接触(close encounter),神经网络可以准确匹配任意精度数值积分器的结果,而它所用的时间和碳成本只是后者的一部分。
具体方法
针对混沌问题训练人工神经网络需要集成多个不同初始化的解。获取此类训练集的唯一方式是,对大量不同实现的运动方程执行数值积分直到获得收敛解,这里研究者使用 Brutus(一种任意精度 N 体数值积分器)。
研究者将训练集限制在同一平面内三个初始速度为零的等质质点的引力问题。这三个质点的笛卡尔坐标分别为 x_1、x_2、x_3,初始位置是:x_1≡(1,0),(x_2,x_3) 位于 x 轴负方向(即 x≤0)单位半圆中的随机位置。在该系统中,仅需要指定 (x_2,x_3) 的初始位置,因为剩余一个质点的位置可以根据对称性推导得出。
此外,研究者使用无量纲单位 G=1。该物理设置允许用 2 个参数描述初始条件,用 3 个参数描述系统演化(表示 x_1 和 x_2 在给定时间的坐标)。将这个三维相空间(时间 t 和 x_2 的初始坐标)映射至质点 x_1 和 x_2 的位置,即可得到通解,而质点 x_3 的位置可以根据对称性得到。
图 1:初始质点位置的可视化图示。
数据
训练集和验证集分别包含 9900 和 100 个模拟。在每个模拟中,研究者使用 Brutus 对运动方程执行数值积分,从而随机生成质点的初始位置和计算轨迹,这通常适用于多达 10 个时间单位(每个时间单位大约是一个动态相遇时标(crossing time)。每条轨迹由约 2561 个离散时间点(标签)构成。
研究者使用包含 10 个隐藏层、128 个互联节点的前馈神经网络(见图 2 和附录 B)。通过自适应矩估计优化算法 ADAM 执行训练,训练过程中对数据执行了 10000 次传输,每个 epoch 被分割为多个 batch,batch 大小为 5000,ReLU 激活函数被设置为 max(0,x)。
向输入层输入时间 t 和质点 x_2 的初始位置,神经网络将返回 x_1 和 x_2 在时间 t 的位置,从而逼近通用三体问题的潜在解析解。
图 2:牛顿和本研究提出的深度神经网络。
结果
为了测试该神经网络在不同时间段中的性能,研究者将训练数据集和验证数据集分割为三个部分:t≲3.9、t≲7.8 和 t≲10(均包含所有数据)。性能最好的神经网络是使用来自 t≲3.9 的数据训练得到的(见图 3)。
图 3:平均绝对误差(MAE)vs epoch。
该神经网络在所有训练未见过场景中的性能堪比收敛解。此外,神经网络在固定计算时间(t∼10^−3 秒)内获得这样的性能,平均速度是 Brutus 的 105 倍(有时甚至可以达到 108 倍)。