機械学習を使った洪水予測の仕組み(2/3)

  • 2019.09.29
  • AI
機械学習を使った洪水予測の仕組み(2/3)

1.機械学習を使った洪水予測の仕組み(2/3)まとめ

・標準的な光学画像に基づいて1m単位で標高データを作成する手法を開発
・水量と標高マップで水理モデル開発が開始できたが三乗で増える計算量が問題になった
・TPU上での実行用にモデルを最適化し、計算する事でシミュレーションを実現

2.洪水予測に必要なデータの整備

以下、ai.googleblog.comより「An Inside Look at Flood Forecasting」の意訳です。元記事の投稿は2019年9月18日、Sella Nevoさんによる投稿です。

標高マップの作成
川にどれだけの水があるかがわかったら、次はモデル用に適切な地形マップがあることが重要です。高解像度のデジタル標高モデル(DEM:Digital Elevation Models)は、地球科学の幅広い用途に非常に役立ちますが、世界の大部分、特に洪水予報で必要なレベルのデータでは、取得するのが依然として困難です。

これは、メートル単位でなければ捕捉できない地上の建築物が、洪水の結果に重大な違いを及ぼすためです。(例えば、堤防は非常に重要な例の1つです)しかし、公的にアクセス可能なDEMの解像度は数十メートルです。この課題に対処するために、完全に標準的な光学画像に基づいて高解像度のDEMを生成する新しい手法を開発しました。

Googleマップで使用されている大規模で多様な衛星画像コレクションから開始しました。大規模なバッチで画像を関連付けて位置合わせし、同時に衛星カメラモデルの修正(向きのエラーなど)や粗い地形や標高を補正します。

次に、修正されたカメラモデルを使用して、各画像の深度マップを作成します。標高マップを作成するために、各地域で深度マップを補正して結合します。

最後に、樹木や橋などの物体を削除して、シミュレーション時に水の流れを妨げないようにします。これは、手動、もしくは標高マップを補正する必要がある場所を特定可能な畳み込みニューラルネットワークをトレーニングすることで実行できます。結果は約1メートルのDEMであり、これを使用して水理モデルを実行できます。


Googleで生成した1m単位のヤムナ川のDEMとSRTMベースの30m単位の同地域のDEM

水理モデル
これらの入力(河川の水量の測定値と予報、および標高マップ)の両方を取得したら、ようやく モデリング自体を開始できます。これは2つの主要コンポーネントに分割できます。

最初の最も重要なコンポーネントは、物理学に基づいた水理モデルです。これは、物理学の法則の(近似)計算に基づいて、時間の経過とともに水の位置と速度を更新します。

具体的には2次元のサンブナン浅水流方程式(Shallow-Water Saint-Venant Equations)の解を出力するモデルを実装しました。これらのモデルは、正確な入力が与えられ、高解像度で実行されると適切に正確になりますが、必要な計算が解像度の三乗(立体で考えるため)に比例して増えていくと言う計算の複雑さが課題となります。つまり、解像度を2倍にすると、約8倍の処理時間が必要になります。

私達は非常に正確な洪水予測にコミットしており、そのためには高解像度画像が必要になるのですが、この3乗の規模で増え続ける計算量はGoogle規模の計算機資源を持ってしても解決できない膨大な計算量につながる可能性があります!

この問題に対処するため、Tensor Processing Units(TPU)向けに最適化された独自の水理モデルを実装しました。

TPUは(水理モデルのような微分方程式を解くためではなく)ニューラルモデル用に最適化されていますが、高度に並列化されているため、TPUコアあたりのパフォーマンスはCPUコアあたりのパフォーマンスの85倍になります。

更に効率を向上させるために、機械学習を使用して物理ベースのアルゴリズムの一部を置き換え、データ駆動型離散化を2次元の水理モデルに拡張することで、より大きなグリッドをサポートし、更に多くの人々が住む地域をカバーできるようにしました。


TPUベースのゴールパラにおける洪水のシミュレーションのスナップショット。(シミュレーションの中盤時点)

3.機械学習を使った洪水予測の仕組み(2/3)関連リンク

1)ai.googleblog.com
An Inside Look at Flood Forecasting