Chainerで数百兆円規模の災害を予知し世界を救うかもしれないというお話

（この研究は、[京都大学宇宙ユニット](http://www.usss.kyoto-u.ac.jp/)および [新学術領域 太陽地球圏環境予測](http://www.pstep.jp/)の一環として行っています）

Chainerで何をしようとしているのか
===


私達は、Chainerを使って、太陽フレアを事前に予知する「宇宙天気予報」[^nict]を実現しようとしています。太陽フレアは、その強さによって、ほぼ毎日起こるC級、中間くらいのM級、年に数回頻度の巨大なX級などに分類されます。


太陽フレアが起こると、太陽表面のプラズマが惑星空間に放出され、これが、その時の角度によっては地球方向に飛んできて、地球の磁気圏と衝突し、地磁気嵐という現象を引き起こします。

[^nict]: 現在でも、NICTなどの機関で宇宙天気予報が提供されています。　http://swc.nict.go.jp/contents/index.php

磁気嵐のイメージ図
----
![Magnetosphere_rendition.jpg](https://qiita-image-store.s3.amazonaws.com/0/1871/1453a25f-04b6-59a0-0fa4-5c1971ab50a9.jpeg) [^0]

[^0]: NASA(2005), Public Domain

磁気嵐の影響は様々ですが、１つの被害は極圏で短波通信の状態が悪化することです。こうなると航空機が極圏を回避して、より長い距離の経路をとる必要がでてくるため、航空機の遅延や欠便が生じることがあります。こういう事象は日常的に発生しており、日本からでも米国東海岸に向かう便などはこれに巻き込まれる可能性があります。

より大きな地磁気嵐があると、地球磁場の変動によって地殻に起電力が生じ、その結果長い送電線の両端に電圧が生じ、その端っこにつながっている変圧器などが破壊され、停電が起こることがあります。地磁気嵐が原因となった停電で有名なのは、1989年にカナダ・ケベック州で起こったもので、この時は600万人が9時間の間、停電の影響を受けた、とのことで、焼けただれた変圧器の写真はショッキングなものです。

![Quebec Grid Failure](http://science.nasa.gov/media/medialibrary/2009/01/21/21jan_severespaceweather_resources/quebec.jpg)
[^quebec]

[^quebec]: http://science.nasa.gov/science-news/science-at-nasa/2009/21jan_severespaceweather/

米国科学アカデミーのワークショップ報告書[^1]によれば、将来想定しうる最大規模の地磁気嵐による被害は、アメリカだけで1-2兆ドル、120-240兆円に相当すると見積もられるとのことです。通常の連鎖停電とも違い、送電網のパーツが不可逆的に破壊されてしまうのがより恐ろしいところです。電気が来ないとなると、今日の文明が前提としている多くのインフラが機能しない、という事態に陥るわけで、復旧に4-10年はかかる、という見積もりも頷ける話です。

いっぽう、1994年4月には、日本の太陽観測衛星「ようこう」の観測にもとづく予報のおかげで、電力会社の設備に対する数億〜数十億円の被害が未然に防がれる[^2] という出来事がありました。もしも、激しい地磁気嵐の発生を予知して事前に送電網から重要機器を切り離すなどの対策がとれれば、磁気嵐が止むのをまって再接続すればよいため、数百兆円の被害、4-10年も電気が来ない、という事態は避けられます。とはいえ、起こらないかもしれない数百兆円規模の被害を予防する代償に1,2日の計画停電を行う、という選択を行う合意形成に至るまでの努力の大変さ、またその根拠となる予報を出す責任の重さははかりしれません。

[^1]: Severe Space Weather Events, http://lasp.colorado.edu/home/wp-content/uploads/2011/07/lowres-Severe-Space-Weather-FINAL.pdf

[^2]: 天文月報1996年2月号, http://www.kwasan.kyoto-u.ac.jp/~shibata/geppou1996.pdf


Chainerを使って作ったシステム・サービス
==

さて、太陽フレアが起こってから、放出されたプラズマが地球にまで伝搬し影響が出るまでには１−２日のタイムラグがあります。フレアの発生を見てから地球に届くまでの間に地磁気嵐を予報するという研究も盛んに行われています。いっぽう、太陽フレアの発生が数日くらい前に予測できれば、飛行機の遅延が数日前にわかったり、計画停電に備えるまでの日数が稼げたりしますので大変うれしいです。そのぶん、フレアは突発的現象ですので、難易度は上がります。

今回、これをChainerを用いて行うシステムを作りました。太陽フレアの強さは、1Å-8Åの帯域のX線の、地球軌道上でのフラックス(単位面積あたりに降り注ぐエネルギー)で測ります。これを$F_X$で表すと、フレアのクラスの分類は次のように定義されます。

|フレア種別 |X線フラックス|
|:--------|-----------|
|X級       |$F_X \geq 10^{-4}\mathrm{W/m^2}$| 
|M級       |$10^{-5}\mathrm{W/m^2} \leq F_X < 10^{-4}\mathrm{W/m^2}$|
|C級       |$10^{-6}\mathrm{W/m^2} \leq F_X < 10^{-5}\mathrm{W/m^2}$|

比較までに、太陽の可視光帯域でのフラックスは約$1200\mathrm{W/m^2}$で、その変動幅は0.1%程度にすぎません。
可視光で見た太陽はとても安定しています。これに対して、X線で見た太陽は、エネルギー出力的には９桁ほど弱いですが、３桁以上もの変動を示す活発な天体であるといえます。

最初は、現時点での太陽画像をCNNに見せてX線フラックスを予報を出させるシステムを作っていたのですが、太陽画像のみだとオートエンコーダがうまく習得できないようだったので、以前から研究していた特徴量抽出＋SVMベースの手法[^4]を応用し、人手で作った特徴量の時系列データを、LSTMに食わせて予報を出す、という作戦にでました。

[^4]: UFCORIN: A fully automated predictor of solar flares in GOES X-ray flux, http://arxiv.org/abs/1507.08011

![RNN.png](https://qiita-image-store.s3.amazonaws.com/0/1871/5b2d51e7-bc40-4033-8c3a-93beb82ceba1.png)

予報サーバはURL http://54.187.234.47/prediction-result.html
 で稼働しています。12分おきに、24時間先までの太陽のX線フラックスを予報して、下図のように表示してくれます。


![SW-UFCORIN-3.png](https://qiita-image-store.s3.amazonaws.com/0/1871/c10336af-ee1b-9354-9c1c-406c31315aae.png)

ここで、青の曲線は太陽X線フラックスの実際の観測値です。青い曲線に見えるピークのひとつひとつが太陽フレアに対応します。緑の曲線は、私達のシステムによる２４時間将来までのX線フラックスの予測、赤のバーは、「この期間内に、最大この規模のフレアが起こるだろう」という予測を示しています。



[予報サーバー](http://54.187.234.47/prediction-result.html)では次の図のような、過去の予測との比較も表示しています。このサービスを稼働させ始めたのがごく最近なので途切れていて申し訳ありません。アドベントカレンダーが終わるころには埋まるかと思います。

![SW-UFCORIN-4.png](https://qiita-image-store.s3.amazonaws.com/0/1871/cabc63b2-a31d-6c96-44ed-e875a8f64437.png)




予報精度
==

私達は、二値予報の性能を判定する指標のひとつ、TSS(True Skill Statistics)で予報性能を評価しています。2011-2014年の間の過去データで模擬予報実験を行ったところ、先行研究[^4]での最高値とくらべて、すべてのクラスのフレアの予測で同等のTSSを出すか、向上させることができました。

|フレア種別 |先行研究[^4]|今回の手法 |
|:--------|-----------|---------|
|X級       |0.75±0.07 |0.74 
|M級       |0.48±0.02 |0.67
|C級       |0.56±0.04 |0.64


Chainerにこういうモジュール・機能がほしい
==

深層学習はブラックボックスになってしまっている、という批判はよく聞かれます。それに対して、深層学習が何を根拠に判断しているのかを可視化しよう、という研究も数多く行われています（この業界の常ながら、研究が速すぎ、多すぎて、チェックしきれていません・・・）。フレア予測を行い、航空機の針路をそらす、まして電力網を止める、ということになれば、判断の根拠の説明が必要です。

というわけで、もしリクエストを挙げる、ということであれば、Chainerにはこれから深層学習の判断過程を分析する・解明する方面での機能や解説の充実を期待します！


最後になりますが、私達の一連の研究は情報科学・情報産業の発展に支えられているということをますます日々実感しています。どうか今後共よろしくお願いいたします。