気象・雪氷分野向けPython3 CNNの導入
(Keras + TensowFlow2系)

 このWebページでは、深層学習をデータ解析の補助ツールとして導入したいと考えている気象、雪氷分野の方を対象として、深層学習の処理系導入とテストについて資料を掲載しています。使用しているのは深層学習でも基礎的な畳み込みニューラルネットワーク(Convolutional Neural Network; CNN)モデルです。このモデルを気象庁全国合成レーダーデータの降水強度(mm h-1)分布を図化したものに適用し、その動作を見る所までの内容です。ソースコードは画像の解像度をかなり落としてから深層学習による分類にかけているので、そこそこの速さのデスクトップであれば練習として現実的な速さで動くはずです。

 筆者は深層学習の専門家ではありません。むしろ、初学者としてこれを導入してみて、上に書いた目的で深層学習に興味を持つ人にとっては導入ハードルが高いと感じたため、それを少しでも下げるため役立つことを意図しています。モデルの最適化等は行っていませんし、テストデータでの解析結果も成功とは言いがたいものではあります。しかし、解析する中でWebサイトや参考書籍を複数参照して見比べないと理解できなかったところをなるべく解消するよう、また、なじみのない使い方をされている用語についてはその内容を記述するなど、深層学習が「よくわからないもの」ではなくなるような記述を意識しました。ただし、記述の中には気象・雪氷分野の用語が出てきます。もっと具体的に何を考えたていたかについては、下記資料2の「まえがき」を読めばご理解いただけると思います。

 資料は下記文中に適宜リンクで埋め込んであります。

このWebページには次のものを掲載しています。

  1. 2022年度北信越支部総会および研究発表会・製品発表検討会 講演スライド
    「北信越地方の冬季レーダー降水分布画像に対する機械学習を用いた分類」 解析の概要と解析結果の概要です。CNNについての用語説明もスライドに書き込んでいますので、何をしているか、まずこれを見ると大まかにつかめると思います。
  2. Python3_CNN導入説明書
    「気象・雪氷分野向けPython3_CNN の導入(Keras + TensowFlow2 系)」
    導入と処理の詳細を記述しています。筆者が遭遇した落とし穴についても書いてあります。これを参考にすると、CNNの導入と画像分類のテストができるように考えてあります。
  3. 2に対応したソースコードと学習(訓練+検証)用画像
    ファイル名、ディレクトリ構造など2と対応させてあります。学習用データ(5クラス×500枚)も含みます。ソースコードはGithub等で公開されているものを中心に組み立てており、コード中のコメントは作成者が注釈したものです。一部ソースコードの「処理ルートディレクトリ」及び入力パラメーターファイルには絶対パスの記述があるので、使用する環境に合わせて変更する必要があります。
  4. 3で学習したデータを用いてテストするためのデータ
    2の学習用データと同一書式の画像を21744枚用意しました(1.1GBあります)。目視分類結果(正解として扱う)付きです。筆者が分類後にGradCAMでモデルの動作を調べた画像も付いています。
「気象・雪氷分野向けPython3_CNN の導入(Keras + TensowFlow2 系)」を読みながら導入、テストをすると、筆者が得たのと同様な結果が得られるはずです。しかし、モデルの中にはrandom関数が含まれているため、微妙に異なる結果になるはずです。

できればここに、1~4をわかりやすく書き下した内容を続けたいところですが、今のところその時間が取れません。ひとまず、資料を置いた形で公開とします。内容はできるだけ正確を心がけましたが、筆者のCNNに対する理解も十分でないところがあります。誤りがありましたらご指摘いただけますと幸いです。なお、このWebサイトは科研費 基盤研究(C)18K03766の成果の一部です。
作成者: 防災科学技術研究所 雪氷防災研究センター  中井専人

このWebページについて

 このWebページは研究途上の内容をまとめたものであり、市販の教科書のような完成度はありません。上記3、4について、ご自身の解析における参考、組み込み、改変等に制限はありませんし、連絡も不要ですが、そのままの形での再配布はご遠慮ください。
 それ以外の点、また3、4以外のこのWebサイト内容のご利用については、防災科学技術研究所のWebサイト利用の方針によるものとします。このサイトの内容をご利用した結果等に対して作成者及び防災科学技術研究所は一切の責任を負いません。内容に関するお問い合わせは、上記作成者あてお願いします。
 ご利用の際は、以上についてご了承をいただくものとします。よろしくお願いします。

作成:2022.06.07 最終更新:2022.06.21