NASAケプラー宇宙望遠鏡、深層学習を用いた解析で6つの新たな惑星を発見:画像に使用されるCNNを天体物理学の時系列データに適用して成果

課題

2009年5月から2013年5月にかけて、NASAのケプラー宇宙望遠鏡は約20万もの天体を観測しました。ケプラーは太陽のような恒星の周りを回る地球サイズの惑星、すなわち生命が維持されうる惑星の存在確率を決定することを目標に設計されましたが、主な結果としては、惑星や惑星系の発見に貢献してきました。当初の惑星候補リストは人間の手によって作成されていましたが、リストが洗練されていくにつれて、自動で惑星候補を選出、惑星を発見していく方向へと研究がシフトしていきました。膨大な望遠鏡からのデータから自動的に惑星を発見することは、惑星天文学における新発見の端緒となります。

解決方法

今回、GoogleとNASAは惑星発見のために機械学習の中でも特にCNNを利用して解析を行います。ケプラー宇宙望遠鏡はそれぞれの天体について、ライトカーブと呼ばれる時系列データを取得します。このデータを元に機械学習を用いて、ある天体が惑星か惑星でないかを識別する2クラス分類器を作成します。機械学習による2クラス分類問題については、以前にもMarvinで「ヒッグス粒子がボトムクォーク対に崩壊する事象の確認に成功:最新素粒子物理学実験における目的事象データと背景事象データの分離に機械学習を応用」として紹介しています。

ライトカーブは天体の明るさを示す「光度」の時間変化を表すデータのグラフです。惑星が恒星の手前側に入ることによって恒星の光度は一度減少するため、ライトカーブはU字型になることが確認されています。惑星の発見のためには、惑星由来の光度のU字型の時間変化とその他の時間変化を区別する必要があります。

今回の時系列データにおいて重要なのは時間に対する大まかな傾向や概形であって、どの時間にどの値をとるかではありません。通常の全結合によるDeep Neural Network(DNN)や時系列データを学習可能なRecurrent Neural Network(RNN)ではこのような時間のズレに対する頑健性を実現することは比較的難しいですが、画像データのクラス分けで利用されているConvolutional Neural Network(CNN)では、画像の場合は位置のズレに対して、時系列データの場合は時間のズレに対して頑健な学習を行うことができます。これはCNNにおいて、Convolution層でそれぞれの時刻の特徴量を計算し、次の層へは代表的な出力として最大値のみを送るMax Poolingの操作を行うためです。

論文中の図5    利用されたモデル:2つの異なるスケールにおける時系列データを別々に入力し、2つのCNNを結合したモデルになっている。

この研究では、時系列データの分類を行うため一次元CNNモデルを利用しています。具体的には、上図のように、U字部分を抽出した局所データと、全体のデータの2つを別々の1次元シーケンスとして入力し、時間的に局所的なパターンに関するフィルタの値を計算した上でMax Poolingを行うという、2つのCNNの結合モデルとして学習しています。

どうなったか

惑星約3500個および、惑星の可能性が高い1万5000個の天体のライトカーブデータを利用して2クラス分類器を学習、テストデータでは96パーセントの精度で惑星を識別することに成功しました。

さらに、この2クラス分類器を利用することで、恒星であると分類されていた670個のデータの中から、「ケプラー80g」を回る5つの惑星群と「ケプラー90i」を回る1つの惑星が新たに惑星として再発見されました。

まとめ

ケプラー宇宙望遠鏡から得られたライトカーブと呼ばれる時系列データを利用して、1次元CNNによる2クラス分類器を学習したことで、新たに6つの惑星が発見されました。

この研究で利用されたデータセットやモデルはAstroNetとしてオープンソース化されました。これによって、誰もが惑星の発見に貢献できるようになったと言えます。最先端の物理解析がオープンソースで行われている事例は先述の素粒子の事例を含め、一般的になりつつあるように思われます。

今回のように時系列データによる解析を行う際には、時系列データ処理に対応可能なRNNを使うこともできますが、先述のように1次元のCNNを利用することもできます。時間のズレに対する頑健な傾向を学習したい場合はRNNを利用するよりCNNを利用することで精度が上昇する可能性があるため、RNNとCNNを両方用いて比較してみると良いでしょう。

参考資料

(論文)Identifying Exoplanets with Deep Learning: A Five-planet Resonant Chain around Kepler-80 and an Eighth Planet around Kepler-90 [The Astronomical Journal]
Kepler Mission [NASA]
新惑星発見に使われたGoogleの機械学習技術とは [Tech Target Japan]
Discover your own planets Google-style with AstroNet [Tech Church]
AstroNet: A Neural Network for Identifying Exoplanets in Light Curves [GitHub]
ヒッグス粒子がボトムクォーク対に崩壊する事象の確認に成功:最新素粒子物理学実験における目的事象データと背景事象データの分離に機械学習を応用[Marvin]
ディープラーニングとは [LEAPMIND BLOG]
Convolutional Neural Networkとは何なのか [Qiita]
再帰型ニューラルネットワーク: RNN入門

(H.S)