使用深度学习从轨道扰动中预测行星
2019 年 7 月 22 日
Kyle A. Pearson 的客座文章

引言

在 18 世纪早期,物理学家和天文学家热切地测试着艾萨克·牛顿新发现的万有引力定律以及约翰内斯·开普勒的行星运动定律。天文学家厄本·勒维耶和约翰·库奇·亚当斯在 18 世纪对天王星进行了多次观测,以检验这些理论。他们独立得出结论,天王星的轨道偏离了他们根据开普勒定律的计算结果。天王星在其轨道上的某些点上加速然后减速,即使它远离木星和土星的引力势。这两位天文学家提出,天王星所经历的扰动是由于我们太阳系中的另一个天体造成的。那个天体后来被证明是海王星,在预测之前是未知的。同样的探测轨道扰动的技术可以应用于系外行星,以便发现新的行星(见下图)。然而,将数据与扰动模型匹配需要测试数千个 N 体模拟,以找到扰动体的最佳拟合参数。与使用这种蛮力方法相比,机器学习允许更有效地估计在参数空间中搜索的位置。然后,可以使用更广泛的分析(例如,使用嵌套采样)从最终的不确定性和参数推导出后验分布。

这个项目是 #PoweredByTF 2.0 挑战赛 的获奖作品。有关 TensorFlow 如何用于此项目的更详细的技术描述,请参阅此 出版物。以下部分对训练数据进行了物理描述,并总结了 TensorFlow 的使用方法。
orbital gif

测量扰动

地面和空间望远镜正在寻找围绕恒星运行的行星,以寻找宜居和其他外星世界。测量系外行星轨道的一种方法是随着时间的推移观察恒星的亮度,并希望一颗行星经过恒星前方,从而遮挡掉与行星大小成正比的光。假设恒星亮度的周期性下降来自轨道行星,尽管其他影响(例如旋转恒星上的恒星黑子)也会导致下降。观测调查(例如,开普勒TESSWASP)针对数百万颗恒星,寻找可能表明轨道行星的周期性信号。 凌星系外行星巡天卫星(TESS)正在进行全天巡天,以寻找我们太阳系以外的地球大小的行星。深度神经网络在筛选这些大型数据集以查找凌星事件方面做得非常出色(例如,Pearson 等人,2018 年Shallue 和 Vanderburg,2018 年)。找到这些事件后,会从数据中优化一个 光曲线模型,以推导出“凌星中点时间”,即行星穿过凌星的中点的时间。这些凌星中点时间用于通过将 线性函数 拟合到连续的凌星中点测量值来推导出轨道周期。轨道扰动是通过线性拟合与数据之间的差异来测量的(通常称为观察值减去计算值图,O-C)。根据扰动体的相对位置,它会导致内行星加速或减速,使其周期性变化通常几分钟。

训练数据

虽然系外行星发现任务可以测量低至几分钟的扰动,但解释这些测量是一个迭代的、计算量大的过程。计算多行星系统的扰动模型需要将 运动方程 随时间向前积分。在 N 体模拟中,每个天体的加速度使用重力计算,然后用于在每个时间步长更新速度和位置。由于解不是解析函数,因此需要连续的时间积分来推导出加速度变化,因为重力取决于位置(详细说明某些参数如何影响扰动形状的图可以在 此处 找到)。此处项目使用 REBOUND 框架来模拟我们期望使用望远镜测量的扰动。发现系外行星目前是一个突出的研究课题,已确认的行星超过 4000 颗,但其中只有几百个是多行星系统,其中只有更小的一部分产生可测量的扰动。没有足够的现实世界测量数据进行训练,因此我们必须根据我们预测的结果模拟示例。可以使用以下 源代码 生成 N 体模拟
from nbody.simulation import generate, analyze, report
from nbody.tools import mjup,msun,mearth
if __name__ == "__main__":
    # units: Msun, Days, au
    objects = [
        {'m':1.12},
        {'m':0.28*mjup/msun, 'P':3.2888, 'inc':3.14159/2, 'e':0, 'omega':0  }, 
        {'m':0.988*mjup/msun, 'P':7, 'inc':3.14159/2, 'e':0,  'omega':0  }, 
        {'m':0.432*mjup/msun, 'P':12, 'inc':3.14159/2, 'e':0,  'omega':0  }, 
    ]
    # year long integrations, timestep = 1 hour
    sim_data = generate(objects, 365, 365*24)
    # collect the analytics of interest from the simulation
    ttv_data = analyze(sim_data)
    # plot the results 
    report(ttv_data, savefile='report.png')
代码应生成类似于下图的输出

N 体模型至少取决于几个参数:恒星质量(M*)、内行星质量(M1)、内行星周期(P1)、外行星质量(M2)、外行星周期(P2)、外行星偏心率(e2)以及外行星的 近星点幅角(w2)。通常,恒星和内行星的参数事先已知。因此,使用 TensorFlow 的机器学习算法旨在根据已知参数和测量的扰动(即 O-C 数据)预测扰动体(M2、P2、e2、w2)的参数。神经网络是一个双输入、多输出回归模型。使用全连接神经网络分析独立特征(M*、M1、P1),而使用卷积神经网络分析时间依赖特征。然后将每个分支的输出输入到一个全连接神经网络中,最后预测 4 个参数(M2、P2、e2、w2)。下面显示了神经网络架构的示例。

模拟训练数据是为了优化神经网络,使其适用于特定望远镜调查(例如,TESS)的数据。TESS 任务正在进行全天巡天,并将测量天空的部分区域,最长 180 天,最短 27 天 取决于赤经和赤纬研究 表明,至少需要 20 次凌星测量才能推导出唯一的轨道解。如果我们在训练范围之外遇到真实数据,那么我们可以模拟更多数据并重新训练。训练神经网络后,会将误差和灵敏度表征为轨道周期和伴星质量的函数。这些误差用于估计先验,以便进行更严格的贝叶斯优化,以推导出行星参数的后验(见 )。

结论

多行星系统中的系外行星会受到伴星的引力扰动,这会导致其轨道出现可测量的差异。这些扰动用于评估额外行星的存在及其大小。分析扰动需要生成数千个 N 体模拟,以找到一组最匹配数据的参数。N 体模型需要随时间积分运动方程,并且计算量很大。机器学习用于映射轨道扰动与行星系统参数之间的相关性。神经网络预测的不确定性用作贝叶斯检索中的先验,贝叶斯检索评估了包含额外行星的模型和不包含额外行星的模型的显著性。如果您有兴趣使用源代码,请查看 Github 页面
gif of planet orbiting

参考文献

下一篇文章
Predicting planets from orbital perturbations using deep learning

Kyle A. Pearson 的客座文章

引言在 18 世纪早期,物理学家和天文学家热切地测试着艾萨克·牛顿新发现的万有引力定律以及约翰内斯·开普勒的行星运动定律。天文学家厄本·勒维耶和约翰·库奇·亚当斯在 18 世纪对天王星进行了多次观测,以检验这些理论。他们独立得出结论,天王星的轨道偏离了他们根据开普勒定律的计算结果。天王星在其轨道上的某些点上加速然后减速,即使它远离木星和土星的引力势。这两位天文学家提出,天王星所经历的扰动是由于我们太阳系中的另一个天体造成的。那个天体后来被证明是海王星,在预测之前是未知的。同样的探测轨道扰动的技术可以应用于系外行星,以便发现新的行星(见下图)。然而,将数据与扰动模型匹配需要测试数千个 N 体模拟,以找到扰动体的最佳拟合参数。与使用这种蛮力方法相比,机器学习允许更有效地估计在参数空间中搜索的位置。然后,可以使用更广泛的分析(例如,使用嵌套采样)从最终的不确定性和参数推导出后验分布。