(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】様々な空間解像度および時間解像度の予報を組み合わせる方法、装置、及び、プログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240814BHJP
G06N 3/049 20230101ALI20240814BHJP
G01W 1/10 20060101ALN20240814BHJP
【FI】
G06N3/08
G06N3/049
G01W1/10 R
(21)【出願番号】P 2020215193
(22)【出願日】2020-12-24
【審査請求日】2023-08-22
(32)【優先日】2019-12-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】シュムード,ヨハネス
(72)【発明者】
【氏名】ルー,シーユアン
(72)【発明者】
【氏名】ハーマン,ヘンドリック
(72)【発明者】
【氏名】櫻井 秋久
(72)【発明者】
【氏名】泉山 卓
(72)【発明者】
【氏名】長谷川 正雄
【審査官】北川 純次
(56)【参考文献】
【文献】特開2019-87027(JP,A)
【文献】国際公開第2015/108154(WO,A1)
【文献】中国特許出願公開第110031877(CN,A)
【文献】米国特許出願公開第2017/0132537(US,A1)
【文献】米国特許出願公開第2018/0225585(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02 - 3/10
G06N 20/00
G01W 1/10
G06Q 50/00
(57)【特許請求の範囲】
【請求項1】
複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得し、
前記1地点における、複数の前記時間ステップでの複数の学習用状態を取得し、
複数の前記学習用予報及び複数の前記学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練し、
訓練済みの前記機械学習アルゴリズムを実行して、複数の予報に基づいて前記統合済予報を出力する方法であって、
複数の前記学習用予報及び複数の前記予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっており、
複数の前記学習用予報及び複数の前記予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記機械学習アルゴリズムは、複数の前記学習用予報及び複数の前記学習用状態の異なる時間解像度に対応する、複数のウェイト行列と複数のバイアスベクトルとを含む再帰型ニューラルネットワークである、方法。
【請求項3】
請求項1に記載の方法であって、
前記機械学習アルゴリズムは、複数の前記学習用予報及び複数の前記学習用状態の異なる空間解像度に対応する複数のカーネルを含む再帰型畳込ニューラルネットワークである、方法。
【請求項4】
請求項1に記載の方法であって、
複数の前記学習用予報は、前記時間解像度において互いに異なっており、
前記機械学習アルゴリズムの訓練において、
複数の前記学習用予報のうちの第1予報グループ及び複数の前記学習用状態のうちの第1状態グループに対して前記機械学習アルゴリズムを実行することで、第1ウェイト行列及び第1バイアスベクトルを生成し、
複数の前記学習用予報のうちの第2予報グループ及び複数の前記学習用状態のうちの第2状態グループに対して前記機械学習アルゴリズムを実行することで、第2ウェイト行列及び第2バイアスベクトルを生成する、方法。
【請求項5】
請求項1に記載の方法であって、
複数の前記学習用予報は、前記空間解像度において互いに異なっており、
前記機械学習アルゴリズムの訓練において、
複数の前記学習用予報のうちの第1予報グループ及び複数の前記学習用状態のうちの第1状態グループに対して前記機械学習アルゴリズムを実行することで、第1カーネルを生成し、
複数の前記学習用予報のうちの第2予報グループ及び複数の前記学習用状態のうちの第2状態グループに対して前記機械学習アルゴリズムを実行することで、第2カーネルを生成する、方法。
【請求項6】
請求項5に記載の方法であって、
前記機械学習アルゴリズムの実行には、
前記第1時間ステップにおいて有効な複数の前記予報に対する、前記第1カーネルの実行、及び、
前記第2時間ステップにおいて有効な複数の前記予報に対する、前記第2カーネルの実行
が含まれる、方法。
【請求項7】
請求項1~6のいずれか一項に記載の方法であって、
訓練済みの前記機械学習アルゴリズムを実行して、複数の前記予報に加えて複数の前記学習用状態のうちの1つの学習用状態に基づいて、複数の前記予報を出力する方法。
【請求項8】
コンピュータを操作する方法を実行するための実行可能命令を格納するメモリと、
前記メモリに接続され、前記実行可能命令を処理可能な少なくとも1つ以上のプロセッサと、
を有する装置であって、
前記方法により、
複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得し、
前記1地点における、複数の前記時間ステップでの複数の学習用状態を取得し、
複数の前記学習用予報及び複数の前記学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練し、
訓練済みの前記機械学習アルゴリズムを実行して、複数の予報に基づいて前記統合済予報を出力し、
複数の前記学習用予報及び複数の前記予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっており、
複数の前記学習用予報及び複数の前記予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む、装置。
【請求項9】
コンピュータを操作する方法を実行するための実行可能な命令を備えるプログラムであって、
前記方法により、
複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得し、
前記1地点における、複数の前記時間ステップでの複数の学習用状態を取得し、
複数の前記学習用予報及び複数の前記学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練し、
訓練済みの前記機械学習アルゴリズムを実行して、複数の予報に基づいて前記統合済予報を出力し、
複数の前記学習用予報及び複数の前記予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっており、
複数の前記学習用予報及び複数の前記予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、様々な空間解像度および時間解像度の予報を組み合わせる方法、装置、及び、プログラムに関する。
【背景技術】
【0002】
コンピューティングシステムは、大規模データセットを含む複雑なシステムの予報モデリングに頻繁に適用される。コンピュータは、複雑なシステムの複数のモデルを組み合わせて、システムの将来の挙動に関する一致した見積りを得るために使用されることがある。ここで、複数のモデルのうちの1つまたは複数のモデルが、その空間解像度または時間解像度において、複数のモデルのうちの他のモデルと異なる場合が起こりうる。
【0003】
天気予報を例に挙げて説明する。現在の天気予報は、天気予報が作成された時点での天気を反映する初期条件に基づいて、大気、海洋、それらの相互作用などの挙動を記述する物理方程式を解く数値天気予報(NWP)システムによって生成される。言い換えると、NWPシステムは、ある時点の地球と大気の状態を考慮し、将来の地球と大気の状態を予報する方程式を解く。このようなシステムの出力は、空間的および時間的に連続的ではなく、離散的であり、したがって空間解像度および時間解像度の両方によって特徴付けられる。
【0004】
さらに、運用中のNWPシステムは、一定の定期的なスケジュールで予報結果を発行する。システムによっては、これが日に数回(例えば6時間毎)の場合もあれば、週に数回の場合もある。予報システムに依存して、予報期間、つまり予報を発行する将来の最大時間ステップは異なりうる。
【0005】
最後に、多くのNWPシステムは、単一の予報を行うだけでなく、複数の予報を組み合わせて予報を行う。つまり、各パラメータに対して複数の予報を発行する。ここで「パラメータ」とは、温度や圧力などのことを指す。その後、様々なアンサンブルメンバーによってなされた様々な予報を比較して、平均化された予報の尤度を計算することができる。これらの特性は、天気予報(またはNWPモデル出力)だけでなく、他の多くの予報システムにも適用できる。
【0006】
一部のタイプの予報(例えば、指定された配送場所での商品価格)には、空間依存性がない場合もあるが、時間依存性を有している。他には、純粋に空間依存性のみを有するものもありうる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
複数のモデルを組み合わせる際に、モデル間での空間解像度または時間解像度の違いに起因して、シームレスな組み合わせが困難であったり、又は、組み合わせ後の精度が低下したりする懸念がある。
【0008】
本開示は上述の状況を鑑みて成されたものである。即ち、本開示は、シームレス、かつ、精度の低下を抑えることが可能な、様々な空間解像度および時間解像度の予報を組み合わせる方法、装置、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示に係る、様々な空間解像度および時間解像度の予報を組み合わせる方法は、複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得する。1地点における、複数の時間ステップでの複数の学習用状態を取得する。複数の学習用予報及び複数の学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練する。訓練済みの機械学習アルゴリズムを実行して、複数の予報に基づいて統合済予報を出力する。ここで、複数の学習用予報及び複数の予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっている。また、複数の学習用予報及び複数の予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む。
【0010】
上記機械学習アルゴリズムは、複数の学習用予報及び複数の学習用状態の異なる時間解像度に対応する、複数のウェイト行列と複数のバイアスベクトルとを含む再帰型ニューラルネットワークであってもよい。
【0011】
上記機械学習アルゴリズムは、複数の学習用予報及び複数の学習用状態の異なる空間解像度に対応する複数のカーネルを含む再帰型畳込ニューラルネットワークであってもよい。
【0012】
上記複数の学習用予報は、時間解像度において互いに異なっていてもよい。機械学習アルゴリズムの訓練において、複数の学習用予報のうちの第1予報グループ及び複数の学習用状態のうちの第1状態グループに対して機械学習アルゴリズムを実行することで、第1ウェイト行列及び第1バイアスベクトルを生成するものであってもよい。複数の学習用予報のうちの第2予報グループ及び複数の学習用状態のうちの第2状態グループに対して機械学習アルゴリズムを実行することで、第2ウェイト行列及び第2バイアスベクトルを生成するものであってもよい。
【0013】
上記複数の学習用予報は、空間解像度において互いに異なっていてもよい。機械学習アルゴリズムの訓練において、複数の学習用予報のうちの第1予報グループ及び複数の学習用状態のうちの第1状態グループに対して機械学習アルゴリズムを実行することで、第1カーネルを生成するものであってもよい。複数の学習用予報のうちの第2予報グループ及び複数の学習用状態のうちの第2状態グループに対して機械学習アルゴリズムを実行することで、第2カーネルを生成するものであってもよい。
【0014】
上記機械学習アルゴリズムの実行には、第1時間ステップにおいて有効な複数の予報に対する、第1カーネルの実行が含まれていてもよい。また、第2時間ステップにおいて有効な複数の予報に対する、第2カーネルの実行が含まれていてもよい。
【0015】
上記訓練済みの機械学習アルゴリズムを実行して、複数の予報に加えて複数の学習用状態のうちの1つの学習用状態に基づいて、複数の予報を出力するものであってもよい。
【0016】
本開示に係る、様々な空間解像度および時間解像度の予報を組み合わせる装置は、メモリと、少なくとも1つ以上のプロセッサとを有する。ここで、メモリは、コンピュータを操作する方法を実行するための実行可能命令を格納する。プロセッサは、メモリに接続され、実行可能命令を処理可能である。上記方法によれば、複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得する。1地点における、複数の時間ステップでの複数の学習用状態を取得する。複数の学習用予報及び複数の学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練する。訓練済みの機械学習アルゴリズムを実行して、複数の予報に基づいて統合済予報を出力する。ここで、複数の学習用予報及び複数の予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっている。また、複数の学習用予報及び複数の予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む。
【0017】
本開示に係る、様々な空間解像度および時間解像度の予報を組み合わせるプログラムは、コンピュータを操作する方法を実行するための実行可能命令を備える。上記方法によれば、複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得する。1地点における、複数の時間ステップでの複数の学習用状態を取得する。複数の学習用予報及び複数の学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練する。訓練済みの機械学習アルゴリズムを実行して、複数の予報に基づいて統合済予報を出力する。ここで、複数の学習用予報及び複数の予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっている。また、複数の学習用予報及び複数の予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む。
【発明の効果】
【0018】
本開示によれば、シームレス、かつ、精度の低下を抑えて、様々な空間解像度および時間解像度の予報を組み合わせることができる。
【図面の簡単な説明】
【0019】
【
図1】時間的又は空間的な分布を有する変数について複数のモデルの予報を統合する方法を示す図である。
【
図2】複数のモデルの間での時間スケールでの予報の統合を示す図である。
【
図3】複数のモデルの間での空間スケールでの予報の統合を示す図である。
【
図4】
図1に示す方法を実行するための再帰型ニューラルネットワークの構成の一例を示す図である。
【
図5】予報の統合のために用いる再帰型畳込ニューラルネットワーク(RCNN)を示す図である。
【
図6】予報の統合のためのニューラルネットワークを訓練するための、入力データの順列組合せを示す図である。
【
図7】入力データの利用可能性に対応した異なるニューラルネットワークフィルタの使用を示す図である。
【
図9】入力データの利用可能性に従ってニューラルネットワークの訓練可能パラメータを選択する際のフローチャートを示す図である。
【発明を実施するための形態】
【0020】
以下、いくつかの例示的な実施形態について、図面を参照して説明する。なお、各図において共通する部分には同一の符号を付し、重複する説明を省略する。
【0021】
図1は、時間的又は空間的な分布を有する変数について複数のモデルの予報を統合する方法100(予報を組み合わせる方法)を示す図である。処理101にて、ニューラルネットワーク102(すなわち機械学習アルゴリズム)が、予報104(例えば、天気予報)及び、状態106(例えば、気象状況)を取得する。ここで、予報104及び状態106は、様々な空間解像度および時間解像度を有しうる。
【0022】
処理108にて、ニューラルネットワーク102は、予報104及び状態106に基づいて訓練される。つまり、予報104、状態106は、それぞれニューラルネットワーク102の訓練のために用いられる、「学習用予報」、「学習用状態」である。「学習用予報」及び「学習用状態」からなる組は、「教師データ」と呼ばれる。
【0023】
状態106は、センサ測定値(例えば、静止した気象観測所、静止していないセンサ、衛星からのデータ)、その他、利用可能であれば気候を再分析して得られるデータなどを含む。予報104は、状態106に基づいてモデルが発行した予報である。
【0024】
処理110にて、ニューラルネットワーク102は、タイムスタンプごとに、予報を生成する。すなわち、ニューラルネットワーク102は、複数の予報104のいずれかにおいて予報が与えられているタイムスタンプに対して、当該タイムスタンプ又はそれ以前の予報104の一部または全部に基づいて、統合済予報112を出力する。
【0025】
一般に、ニューラルネットワーク102は、予報104及び状態106に基づいて、予報104を考慮すべきか、又は、考慮すべきではないかに関して学習を行う。
図4及び
図5に、実施形態に係るニューラルネットワークを例示する。
図4は、
図1に示す方法を実行するための再帰型ニューラルネットワークの構成の一例を示す図である。
図5は、予報の統合のために用いる再帰型畳込ニューラルネットワーク(RCNN)を示す図である。
【0026】
一般に、複数のモデルは同じタイムスタンプでの予報を提供するとは限らない。毎日の予報を6時間の時間ステップで生成するモデルもあれば、隔週の予報を24時間の時間ステップで生成するモデルもある。例えば、
図2は、複数のモデルの間での、時間スケールでの予報の統合を示す図である。
図2には、複数のモデルとしてA
1,A
2,・・・,A
Mが挙げられており、そのうち、の4つのモデルをモデル201、202、203、204として説明する。一方、タイムスタンプは、X
0,X
1,X
2,・・・,X
Nによって示されている。
【0027】
図2において、モデル201は、X
0,X
1,X
5,・・・,X
8のタイムスタンプの予報を発行しており、それ以外のタイムスタンプの予報を発行していないとする。一方。モデル202は、X
1,X
3,X
4,X
6,X
8,X
Nのタイムスタンプの予報を発行しており、それ以外のタイムスタンプの予報を発行していないとする。同様に、その他のモデルも、一部のタイムスタンプの予報を発行しているものとする。ニューラルネットワーク102は、複数のモデルとしてA
1,A
2,・・・,A
Mによって予報が与えられたタイムスタンプの全てに対して、時間スケールでの統合済予報(複数の予報を統合した予報)である予報200を発行する。
【0028】
次に、
図3は、複数のモデルの間での空間スケールでの予報の統合を示す図である。
図3に示されたモデルであるA
1,A
2,A
3は、
図2に示したモデルであるA
1,A
2,A
3と対応している。モデル201は、8×8のグリッド解像度を有している。モデル202は、4×4のグリッド解像度を有している。モデル203は、4×4のグリッド解像度を有している。しかしながら、モデル203は、モデル201、202と比較して、モデル203のグリッドは0.5グリッド幅の分だけ垂直方向・水平方向にずれているものとする。
【0029】
ニューラルネットワーク102は、大部分を占めているモデル201,202のグリッドに合わせてグリッドを生成し、空間スケールでの統合済予報(複数の予報を統合した予報)である予報300を発行する。ニューラルネットワーク102が生成するグリッドの解像度は、モデル201~203の中で最も細かい8×8のグリッド解像度に設定される。
【0030】
より具体的な例を挙げて説明する。気象のモデルA及び気象のモデルBがあると想定する。モデルAは6時間おきに実行され、毎日、協定世界時で0時、6時、12時、18時における予報があるものとする。一方、モデルBは24時間おきに実行され、毎日、協定世界時で0時における予報があるものとする。議論を簡単にするため、両モデルは日曜日に稼働を開始し、月曜日の0時から予報の発行を始めたとする。
【0031】
月曜日の0時における予報に関しては、モデルAでの予報とモデルBでの予報が利用可能であり、これらの予報を統合することが考えられる。ここで、予報の統合を行う正確な数学的演算はニューラルネットワークの実装に依存する。一般に、予報は関数f(A,B)によって記述される。状態106(例えば、天気状況)に対して予報104(例えば、気象予報)を用いてニューラルネットワーク102を訓練することで、関数f(A,B)のパラメータを学習することができる。
【0032】
月曜日の6時における予報に関しては、モデルAによる予報のみが利用可能である。ニューラルネットワークが出力する予報は、モデルAの出力の他、0時におけるモデルA及びモデルBの入力データに依存する(なぜなら、ニューラルネットワークは再帰型であるため)。月曜日の12時及び18時における予報に関しても同様である。
【0033】
火曜日の0時における予報に関しては、再び、モデルAでの予報とモデルBでの予報が利用可能である。よって、ニューラルネットワークが出力する予報は、モデルA及びモデルBの出力の他、モデルA及びモデルBの予報の履歴に依存することになる。したがって、ニューラルネットワークが出力する統合済予報112の時間解像度は、入力された予報104における利用可能なタイムスタンプの和集合に対応する。つまり、ニューラルネットワークが出力する統合済予報112の時間解像度は、入力されたデータにおいて最も細かい時間解像度に対応する。
【0034】
ニューラルネットワーク102は処理108によって訓練され、処理108は、目的関数を使用して、状態106の履歴(気象状況の履歴)について、ニューラルネットワークが出力する統合済予報112からの(過去の時刻における)分散を最小化する。
【0035】
以下の説明では、次の表記を用いる。本開示は、数値天気予報システム(又は、その他の予報システム、例えば、商品価格の予報システム)によって算出された予報104に関する。そこで、以下では、予報104を文字「p」で表す。予報システムは、温度や価格といった1つのパラメータのみの予報を行うものではなく、多くの場合、温度、圧力、湿度、風速、価格、利用可能性といった複数のパラメータからなるベクトルの予報を行う。そこで、下付きの添字「a」を付加して、予報104のうちの特定のパラメータを示すものとする。このような表記によれば、予報104のうちの特定のパラメータは「pa」のように表される。
【0036】
予報104は、特定の時刻(「有効時刻」)と関連付けられる概念である(予報とは、特定の日時における状況を表すものである)。この点を明示するため、下付きの添字「t」を付加して、予報104のうちの特定のパラメータを「pat」のように表すものとする。
【0037】
しかしながら、予報と関連付けられる時刻は、有効時刻だけではない。予報104と関連付けられる時刻として、予報が発行された時刻(「発行時刻」)が挙げられる。発行時刻を予報にラベリングする代わりに、有効時刻と発行時刻の差(有効時刻-発行時刻)をラベリングする。この点を明示するため、下付きの添字「h」を付加して、予報104のうちの特定のパラメータを「path」のように表すものとする。
【0038】
さらに、予報機関は、所定の上記ベクトル、有効時刻、発行時刻に関する予報を得るために、1つの予報モデルだけでなく異なる複数の予報モデルを実行する場合も考えられる。基本的には、予報機関は各予報モデルの実行に関してわずかに異なる初期条件(例えば、予報が算出される時点で測定された状態106(気象条件)の周りの変動の分だけ異なる初期条件)を用いて、各予報104を生成するシミュレーションを再度実行する。これにより、予報機関は、予報104に関するアンサンブルを生成する。生成されたアンサンブルのうちどのメンバーを対象としているかを明示するために、下付きの添字「i」を付加して、i番目のメンバーに関する予報104のうちの特定のパラメータを「pathi」のように表すものとする。
【0039】
さらに、予報104を算出したモデルの違いを明示するため、上付きの添字「A」を付与して、モデル「A」で得られた予報104のうちの特定のパラメータを「pA
athi」のように表すものとする。
【0040】
上付きの添字を付加する理由を説明する。原理的に、下付き添字「a」「t」「h」「i」の可能な選択の幅は、モデル「A」に依存する。例えば、50のアンサンブルメンバーを持つ大規模のアンサンブルによる予報を行うモデルでは、添字「i」は1から50の値をとることができる。その他のモデルは、小規模のアンサンブルメンバーによる予報を行うものか、単一の予報を行うものである。同様に、例えば、24時間おきに連続30日分の予報を行うモデルもれあれば、1時間おきに連続5日分の予報を行うモデルも有りうる。
【0041】
このように、異なる予報モデルは異なるパラメータを有しうる。従って、形式的にはモデルを区別する表記を行う必要があるため、下付き添字「a」「t」「h」「i」の他に、上付き添字を付加するのである。「pA
athi」のように表すことで、モデル「A」への依存性があることを理解できる。
【0042】
時刻t1;t2;t3;・・・などにおける測定値ytが与えられたとする(すなわち、状態106の履歴が与えられたとする)。そして、予報されるパラメータ「pA
athi」(各時刻tにおいて有効な予報104の履歴)に基づいて測定値ytの履歴(状態106の履歴)を推定できるよう、処理108は、ニューラルネットワーク102を訓練する。一般に、yは、気象観測所によって測定された温度、または分析または再分析データ製品によって報告された温度などの値になる。ただし、多くの場合、温度は、天気予報である「pA
athi」に含まれうる。そのため、「pA
athi」は、推定される変数と同じ変数を含む必要はない。したがって、変数Xを含む測定値yの履歴(状態106の履歴)が与えられた場合には、変数X以外の、予報されるパラメータ「pA
athi」に基づいて、変数Xを推定できるようにニューラルネットワーク102は訓練される。
【0043】
つまり、深層学習における入力データには、データの欠落がある可能性がある。深層学習のコンテキストでこれを処理する従来の方法は、欠落している値をいくつかのダミー値(0など)に置き換えてから、入力にマスクを追加して、どの値が欠落していると見なされるかをニューラルネットワークに通知することである。この方法の明らかな欠点は、入力の数が2倍になり、それによってニューラルネットワークのパラメータの数が増えることである。ただし、上記のコンテキストでは、欠落しているデータと欠落していないデータの違いは明確であり、規則的なパターンに従う。そのため、データの欠落をダミー値で置き換えて入力にマスクを追加する方法の代わりの方法を採用することが可能となる。
【0044】
時間次元において例を挙げる。ここで、予報を行う2つのモデルAとモデルBがあるとする。モデルAは、時刻t1;t2;t3;・・・での予報を発行し、モデルBは、時刻t2;t4;t6;・・・での予報を発行するとする。時刻t1では、yt1の推定のためにpA
at1hiを利用することが可能であり、次の時刻t2では、pA
at2hiおよびpB
at2hiを利用することが可能となる。単純な再帰型ニューラルネットワークは、時刻tにおける入力xtおよび前の時刻のステップに由来する内部状態ベクトルht-1に基づいて、出力Otおよび新しい内部状態ベクトルhtを生成する(以下では、ht=Otとする)。このようなニューラルネットワークは、ウェイト行列W、バイアスベクトルb、活性化関数φを用いて出力Otを生成する。出力Otは次の計算式(数1)によって生成される。
【0045】
【0046】
再帰型ニューラルネットワークでは、このような構造が複数重なっていることが多い。すなわち、出力Otは、次のレイヤへの入力Xt+1となる。最下層のウェイト行列はW0、次の最下層のウェイト行列はW1というようになっている。
【0047】
しかしながら、本開示の実施形態では、同じ単一のウェイト行列はW0を使用せず、代わりに、入力Xtの次元数に基づいて複数のウェイト行列から選択して使用する。モデルA及びモデルBに関する上述した例によれば、2種類のウェイト行列、および、可能な2種類のバイアスベクトルのセットを用いる。
【0048】
時刻t1における出力は、ウェイト行列W0
Aを用いて、次の計算式(数2)によって生成される。
【0049】
【0050】
一方、時刻t2における出力は、ウェイト行列W0
ABを用いて、次の計算式(数3)によって生成される。
【0051】
【0052】
言い換えると、複数のウェイト行列の組は、利用可能な複数の入力を適切な潜在空間に埋め込む機能を有する。時刻t1と時刻t2とを比較すると、入力データにおける空間の次元数は変動するが、潜在空間の次元数は変動しない。つまり、ウェイト行列W0
LがαL×βLの構造を有する場合、αLはモデルLとは無関係であるが、βLはモデルLに依存する。
【0053】
訓練に用いるニューラルネットワーク102として、
図4に示すような再帰型ニューラルネットワーク400を用いることができる。
図4は、
図1に示す方法を実行するためのニューラルネットワークの構成の一例を示す図である。再帰型ニューラルネットワーク400は、一連の時間ステップt=t
1;t
2;t
3;・・・での処理を行うものであり、各時間ステップtにおいて、予報104(すなわち、「p
A
athi」)を入力とする。
【0054】
ニューラルネットワーク102のために使用される入力は、特定の日時ごとに異なる気象モデルによって発行された予報104である。ただし、予報機関は、気象モデルを1日、1週間、または1か月に数回実行するため、通常、同じモデルによって、同じ日時に異なる期間hで行われた複数の予報104が存在しうる。したがって、最新の予報104だけでなく、古い予報104も入力として使用することが可能である。使用する各モデルからの過去の予報の数の選択は、手動で、または学習されるべきパラメータとして、トレーニング中に調整することができるハイパー・パラメータ114である。予報104(天気予報)が行われた時点で優勢であった状態106(気象条件)は、機械学習システムへの追加の入力として使用することができる。
【0055】
その他、ニューラルネットワーク102は、深い階層構造を有するものであってもよく、例えば、ニューラルネットワーク102は、再帰型ニューラルネットワークであってもよい。時間解像度が異なる予測を統合するための実装の例として、シンプルなElman、LSTM(Long short-term memory)、GRU(Gated Recurrent Unit)などの機械学習における手法を組み合わせてもよい。
【0056】
図4は、
図1に示す方法100を実行するための再帰型ニューラルネットワーク400(シンプルな再帰型ニューラルネットワーク)の構成の一例を示す図である。本開示に係る再帰型ニューラルネットワーク400は、一般的な再帰型ニューラルネットワークとは異なる。本開示に係る再帰型ニューラルネットワーク400では、再帰型ニューラルネットワークの最も下位のレベル401におけるウェイト行列が複数のウェイト行列402(例えば、W
0
A、W
0
AB、W
0
AC)に置き換えられている。さらには、本開示に係る再帰型ニューラルネットワーク400では、バイアスベクトルが複数のバイアスベクトル(b
0
A、b
0
AB、b
0
AC)に置き換えられている。複数のウェイト行列、複数のバイアスベクトルのうちのいずれを使用するかは、利用可能な複数の入力に依存する。
【0057】
LSTM、GRUの一般化は以下のようにして行う。LSTMとGRUのいずれも、再帰型ニューラルネットワークの一例であり、計算式(数1)の原理に基づいて行う。計算式(数1)において特徴的な部分は、時間に依存する入力Xt、ht-1を有し、時間に依存する出力htを算出する点である。一方で、ウェイト行列およびバイアス行列は時間に依存しない点である。LSTM及びGRUはこのような概念を一般化しており、多数の数式、内部状態、ウェイト行列、バイアスベクトルを有する。
【0058】
具体的なLSTMは、次の一連の式(数4~8)によって定義される。
【0059】
【0060】
ここで、σg、σc、σhは、異なる活性化関数を表している(通常は、シグモイド関数、又は、双曲線正接関数である)。W、及び、Uは、活性化行列を表し、bは訓練において学習されるバイアスベクトルを表す。Xtは入力であり、ht、ct、ft、it、otは、内部状態ベクトルである。
【0061】
ここで、ウェイト行列W、及び、場合によってはバイアスベクトルbを、利用可能な入力によって定まるウェイト行列(例えば、例えばW0
A、W0
AB、W0
AC)、及び、バイアスベクトルに置き換える必要がある。必要に応じて、Uについても同じように置き換えをする。ここでも、考え方は先の説明と同じである。LSTMの最下位レベルは、使用可能な入力データとは無関係に上位レベルが動作する潜在的な空間に対して、使用可能な入力データを埋め込む。
【0062】
予報104(天気予報に限定されない)および状態106(気象状況に限定されない)が空間成分を有する場合には、全結合層のそれぞれを畳込層に置き換えることができる。この場合、全結合層に対応するウェイト行列及びバイアスベクトルは、畳込層に対応する畳み込みのためのカーネルに置き換えられる。
図5は、予報の統合のために用いる再帰型畳込ニューラルネットワーク(RCNN)を示す図である。
【0063】
再帰型畳込ニューラルネットワーク500は、層504a、層504b、層504cとして並べられた、複数の畳込層502を有する。最も下の層504aでは、畳込層502は複数のカーネル506(例えば、kA
a、kA
bc)を有している。再帰型畳込ニューラルネットワーク500は、与えられた時間スタンプにおいて利用可能な予報104及び状態106に対して、どのカーネル506を選択するべきかを学習する。使用可能な空間解像度よりも粗い空間解像度を持つデータソースは、使用可能な空間解像度となるようにデータが補間される。補間の方法としては、例えば、最近傍補間または双一次補間のような単純な補間アルゴリズムが挙げられる。
【0064】
図6は、予報の統合のためのニューラルネットワークを訓練するための、入力データの順列組合せを示す図である。
図6では、予報104がアンサンブル予測であって、システムが複数のサンプル605、606、607(サンプル数は3)での訓練を行う際の様子が示されている。システムは、訓練中、モデルからの入力601、602、603、604(図中のEM1,EM2,EM3,EM4)を継続的に並べ替える。一方、予報を生成する際には、アンサンブルメンバーの順序は元の順序のまま維持される。継続的な並べ替えを行うことにより、訓練に利用できるデータの数を、アンサンブルメンバーの数をnとして、nの階乗倍に増やすことができる。
図6では、アンサンブルメンバーの数は4であるため、訓練時に使用できるデータの数は4!=24倍となる。
【0065】
ニューラルネットワーク102は、予報の時間、時間ステップに関してどの予報が利用可能であるかに応じて、異なるフィルタ(すなわち、ウェイト行列及びバイアスベクトル)を使用する。例えば、フィルタは、予報の特性(例えば、時間解像度、空間解像度)に応じて選択される。
図7は、入力データの利用可能性に対応した異なるニューラルネットワークフィルタの使用を示す図である。
図7では、データの利用可能性に応じて、再帰型畳込ニューラルネットワーク(RCNN)のための異なるフィルタまたはカーネルの使用の様子が示されている。
【0066】
A1,A2,A3,A4などの入力された予報に基づいて、複数のカーネル701,702,703(行列W1,W2,W3)のいずれか1つが選択される。そして、選択されたカーネルを用いて、時間ステップごとにニューラルネットワークの内部状態ベクトルhtは更新される。なお、システムは複数の行列間でウェイトを共有するよう構成されていてもよい。
【0067】
図8は、予報の統合のための方法800を示す図である。方法800により、統合済予報801を得ることができる。処理802にて、複数の地点のうちの少なくとも1地点における、複数の時間ステップ(例えば、
図2に示すような時間ステップ)での複数の学習用の予報211,212などを取得する。処理804にて、複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用の状態805,806などを取得する。
【0068】
処理808にて、複数の学習用予報及び複数の学習用状態に基づいて、統合済予報が出力されるようニューラルネットワーク102(機械学習アルゴリズム)を訓練する。ニューラルネットワーク102の例として、
図4に示す再帰型ニューラルネットワーク400、
図5に示す再帰型畳込ニューラルネットワーク500が挙げられる。
【0069】
処理812にて、訓練済みのニューラルネットワーク102を実行して、複数の予報813,814に基づいて統合済予報801を出力する。ニューラルネットワーク102は、複数の予報813,814だけでなく、複数の学習用の予報211,212、かつ/または、複数の学習用の状態805,806に基づいて、統合済予報801を出力するものであってもよい。
【0070】
図2、
図3に示すように、複数の学習用予報及び複数の予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっているものであってもよい。また、複数の学習用予報及び複数の予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含むものであってもよい。第1予報、第2予報としては、例えば、
図2のA
1,A
2の例が挙げられる。
【0071】
図9は、入力データの利用可能性に従ってニューラルネットワークの訓練可能パラメータを選択する際のフローチャートを示す図である。
図9において、処理902にて、事前に発行された予報及び観測(すなわち、学習用予報及び学習用状態)を取得する。処理904にて、予報及び観測に基づいて再帰型ニューラルネットワークを訓練する。すなわち、各時間ステップ(t=t
1;t
2;t
3;・・・)において、モデルAからの予報があるか否か、モデルBからの予報があるか否か、を判定する。そして、利用可能な複数の入力に基づいて、複数のウェイト行列、複数のバイアスベクトルのうちのいずれを使用するかを決定する。例えば、モデルAからの予報、モデルBからの予報の両方が、利用可能な複数の入力である場合には、次の計算式(数9)で示されるように、複数のウェイト行列、複数のバイアスベクトルを選択する。
【0072】
【0073】
なお、時間ステップtにおけるニューラルネットワークの出力は、次の計算式(数10)に基づいて決定する。
【0074】
【0075】
損失は標準的な方法で計算され、パラメータは、確率勾配降下または任意の標準的な最適化手法によって最適化される。処理906にて、追加の予報を取得する。そして、処理908にて、訓練済みのニューラルネットワークを用いて、追加の予報に基づいた予報の統合を実施する。
【0076】
[実施形態による効果]
以上詳細に説明したように、本開示に係る、様々な空間解像度および時間解像度の予報を組み合わせる方法は、複数の地点のうちの少なくとも1地点における、複数の時間ステップでの複数の学習用予報を取得する。1地点における、複数の時間ステップでの複数の学習用状態を取得する。複数の学習用予報及び複数の学習用状態に基づいて、統合済予報が出力されるよう機械学習アルゴリズムを訓練する。訓練済みの機械学習アルゴリズムを実行して、複数の予報に基づいて統合済予報を出力する。ここで、複数の学習用予報及び複数の予報は、空間解像度又は時間解像度のうちの少なくとも1つにおいて互いに異なっている。また、複数の学習用予報及び複数の予報は、第1時間ステップにおいて有効な第1予報と、第2時間ステップにおいて有効な第2予報と、を含む。
【0077】
これにより、シームレス、かつ、精度の低下を抑えて、様々な空間解像度および時間解像度の予報を組み合わせることができる。さらに言えば、異なるモデルによる複数の予報を組み合わせることで、信頼性の高い統合済予報を得ることができる。
【0078】
上記機械学習アルゴリズムは、複数の学習用予報及び複数の学習用状態の異なる時間解像度に対応する、複数のウェイト行列と複数のバイアスベクトルとを含む再帰型ニューラルネットワークであってもよい。これにより、時間解像度の異なる予報同士を組み合わせて、最も高い時間解像度を有する予報に合わせた時間解像度での統合済予報を得ることができる。
【0079】
上記機械学習アルゴリズムは、複数の学習用予報及び複数の学習用状態の異なる空間解像度に対応する複数のカーネルを含む再帰型畳込ニューラルネットワークであってもよい。これにより、空間解像度の異なる予報同士を組み合わせて、最も高い空間解像度を有する予報に合わせた空間解像度での統合済予報を得ることができる。
【0080】
上記複数の学習用予報は、時間解像度において互いに異なっていてもよい。機械学習アルゴリズムの訓練において、複数の学習用予報のうちの第1予報グループ及び複数の学習用状態のうちの第1状態グループに対して機械学習アルゴリズムを実行することで、第1ウェイト行列及び第1バイアスベクトルを生成するものであってもよい。複数の学習用予報のうちの第2予報グループ及び複数の学習用状態のうちの第2状態グループに対して機械学習アルゴリズムを実行することで、第2ウェイト行列及び第2バイアスベクトルを生成するものであってもよい。これにより、時間解像度の異なる予報同士を組み合わせることができる。
【0081】
上記複数の学習用予報は、空間解像度において互いに異なっていてもよい。機械学習アルゴリズムの訓練において、複数の学習用予報のうちの第1予報グループ及び複数の学習用状態のうちの第1状態グループに対して機械学習アルゴリズムを実行することで、第1カーネルを生成するものであってもよい。複数の学習用予報のうちの第2予報グループ及び複数の学習用状態のうちの第2状態グループに対して機械学習アルゴリズムを実行することで、第2カーネルを生成するものであってもよい。これにより、空間解像度の異なる予報同士を組み合わせることができる。
【0082】
上記機械学習アルゴリズムの実行には、第1時間ステップにおいて有効な複数の予報に対する、第1カーネルの実行が含まれていてもよい。また、第2時間ステップにおいて有効な複数の予報に対する、第2カーネルの実行が含まれていてもよい。これにより、空間解像度の異なる予報同士を組み合わせることができ、さらに、時間解像度の異なる予報同士を組み合わせることができる。
【0083】
上記訓練済みの機械学習アルゴリズムを実行して、複数の予報に加えて複数の学習用状態のうちの1つの学習用状態に基づいて、複数の予報を出力するものであってもよい。これにより、学習用状態を機械学習アルゴリズムの訓練に用いるだけでなく、機械学習アルゴリズムによる統合済予報の出力の際にも利用でき、統合済予報の精度を向上させることができる。
【0084】
本開示に係る装置は、メモリと、少なくとも1つ以上のプロセッサとを有する。ここで、メモリは、上述した方法を実行するための実行可能命令を格納する。プロセッサは、メモリに接続され、実行可能命令を処理可能である。
【0085】
本開示に係るプログラムは、コンピュータを操作する方法である上述した方法を実行するための実行可能な命令を備える。なお、本開示に係るプログラムは、コンピュータによって読み書き可能な記録媒体に格納されるものであってもよい。
【0086】
上述の実施形態で示した各機能は、1又は複数の処理回路によって実装されうる。処理回路には、プログラムされたプロセッサ、電気回路などが含まれ、さらには、特定用途向けの集積回路(ASIC)のような装置、又は、記載された機能を実行するよう配置された回路構成要素なども含まれる。
【0087】
いくつかの実施形態を説明したが、上記開示内容に基づいて実施形態の修正または変形をすることが可能である。上記実施形態のすべての構成要素、及び請求の範囲に記載されたすべての特徴は、それらが互いに矛盾しない限り、個々に抜き出して組み合わせてもよい。
【符号の説明】
【0088】
102 ニューラルネットワーク
104 予報
106 状態
112,801 統合済予報
400 再帰型ニューラルネットワーク
500 再帰型畳込ニューラルネットワーク