转载

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

去年 12 月份,谷歌训练了一个神经网络,通过分析美国宇航局(NASA)Kepler 空间望远镜获得的一些数据,发现了两颗系外行星。这项工作作为将机器学习的方法应用到天体物理中的典型案例,或将大大加速人类对系外行星的探索步伐。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

而在今天,谷歌开源了他们的代码。任何有兴趣的同学都可以下载代码和数据,在自己的机器上运行。

注:系外行星,指在太阳系之外的行星。天文学家估计银河系中可能包含多达4,000 亿颗系外行星。截至 2016 年 2 月 22 日,已经被认定的系外行星总数为 2085 颗,这些行星分属 1331 个行星系,其中有 509 个多行星系。- via Wikipedia

天文学家怎么发现系外行星?

or 猎星入门

我们知道,行星是不发光的,我们之所以能够看到水、金、火、木、土星,是因为它们反射了太阳光线,但这些光线相比于恒星来说是微不足道的。当距离遥远时,即使那些巨大的恒星都可能难以察觉,更何况那些系外行星。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

天文学家于是想到了另外一种办法——当行星经过恒星的前方时会遮挡一部分光线,这就会导致我们测量的恒星亮度稍微下降,当离开后又会恢复,于是在恒星亮度曲线上就会出现“U形”凹陷;通过这种方法,天文学家可以间接地证明系外行星的存在。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

不过,还有一些其他原因可能会导致测得的恒星亮度降低,例如双星系统、恒星黑子(类似太阳黑子)或者宇宙线打击到空间望远镜上所造成的仪器噪声。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

为了在 Kepler 空间望远镜的数据中搜索行星,天文学家们使用了自动化软件来检测可能由行星遮光引起的信号,然后手动跟踪去确定这些信号到底是行星还是误报。为了避免检测到太多的信号,以至于他们没有那么多人手来处理,天文学家们对自动检测设置了一个截止点:只有信噪比超过固定阈值才会被提取出来;否则就丢掉。不过即使这样,仍然有大量的信号需要检测。例如到目前为止,已经有超过 30000 个信号被手动检测过,其中约 2500 个被验证为系外行星。

可能你也会想到,设置阈值是否会导致一些可能真实的行星信号被丢掉呢?答案是肯定的。但是,限于劳动强度太大,而降低阈值假阳性检测率会伴随着迅速增加,也即能够检测到实际行星的比例将越来越低。

然而,这些丢掉的信号里面可能存在一些我们很关切的天体——潜在的宜居行星(类似地球的行星)。这些宜居行星一般相对较小,而且围绕在相对较暗的恒星周围运动,其遮光信号将非常弱。因此在阈值以下丢掉的这些信号可能隐藏着仍未发现的宝藏。

来吧!机器学习!

考虑到数据的庞大和人力的密集,自然而言想到的一个方法就是:机器学习

基于以上的考虑,Google Brain 团队找到了 UT Austin 大学的 Andrew Vanderburg,Vanderburg 是一位著名的天体物理学家,专注于研究系外行星探测。他们合作开发了一个神经网络(CNN 模型),用来在低信噪比检测的信号中搜索系外行星。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

就像所有基于神经网络的模型一样,这个模型也需要训练集。幸运的是,如前面所述,我们已经拥有 30000 个 Kepler 信号,这些信号已经由天文学家们人工手动检测和分类过了。

Google 团队使用了其中一半的数据用作训练,其中有 3500 个信号经过验证为行星或行星候选者。该网络的输入是同一个光曲线的两个独立视图:一个宽视图,允许模型检查光曲线上其他地方的信号(例如,双星会引起次级信号);一个是放大视图,使模型能够仔细检查信号的形状(例如将“U形”信号和“V形”信号区分开来)。

当完成模型训练后,Google 团队的研究人员用它研究了光曲线的的特征,以检验模型的输出是否与我们的期望相符。方法很简单,就是系统地掩盖输入光曲线的某一个小区域,来检测模型输出的变化。结果显示,如果掩盖那些对判断信号特别重要的区域,模型输出也会相应的改变;但如果掩盖的是不重要的区域,则不会产生显著的影响。

举例来说,下面这张为双星(而不是系外行星)的光曲线图,模型做出了正确的预测;其中绿色突显的点是最能影响模型输出的区域,因为它们是对应于双星系统的次级信号。当这些点被掩盖后,模型的输出中判断为系外行星的概率就从0% 突然跃升到 40%。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

经过以上的验证后,研究人员对模型的预测能力就充满了信心。他们选择了 670 颗恒星,期望能在它们的光曲线中搜索到新的系外行星。之所以挑选这 670 颗恒星,是因为我们已知这些恒星有多个轨道行星,研究人员们相信这些恒星中应该还拥有一些尚未被发现的行星。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

研究人员选取了远低于天文学家之前设置的信噪比阈值。正如预期的那样,神经网络模型判断的结果显示大部分信号为虚假信号,但令人兴奋的是,有少数极有可能是系外行星的候选者。随后经过检测判定了其中两颗为系外行星: Kepler-90i 和 Kepler-80g。

Amazing!!

一起猎星吧!

从 670 颗恒星中找到了两颗新的系外行星。这项工作可能只是一个开始,而且远没有完成,因为开普勒观测到的数据为 20 万颗恒星。谁知道当把这项技术应用到整个数据集时我们会发现什么。

谷歌开源猎星代码,AI时代的天文爱好者们一起寻找那颗属于自己的星

独乐了不如众乐乐,Google Brain 团队今天开源了他们的代码。有兴趣的同学不妨加入这场大众的猎星行动,一起来寻找那颗可能属于自己的星球。

人工智能时代的天文爱好者,可能不再是拿着昂贵的器材到野外去看星空了,而是使用更强大的工具——机器学习,来搜索宇宙。

代码地址:https://github.com/tensorflow/models/tree/master/research/astronet

via Google Blog

来自: 雷锋网

扩展阅读

28款GitHub最流行的开源机器学习项目
简史趣读:黑客的幼年
谷歌Tensorflow一岁啦,它能给我们带来怎样的改变?
天才少年George Hotz在自家车库亲手打造了一台无人自驾驶汽车!
谷歌中国2017:面向开发者的1年 AI先行的1年

为您推荐

简史趣读:黑客的幼年
分布式系统一致性的发展历史(一)
如何使用Unity 5等免费工具做创意原型
Android开发技术周报 Issue#52
王垠:图灵的光环

更多

google
开源软件
正文到此结束
Loading...