(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167605
(43)【公開日】2024-12-04
(54)【発明の名称】予測装置及び予測方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20241127BHJP
G01W 1/00 20060101ALI20241127BHJP
G01W 1/10 20060101ALI20241127BHJP
G06N 3/0464 20230101ALI20241127BHJP
G06N 3/044 20230101ALI20241127BHJP
G06N 3/08 20230101ALI20241127BHJP
G06Q 50/10 20120101ALI20241127BHJP
【FI】
G06N20/00
G01W1/00 Z
G01W1/10 P
G06N3/0464
G06N3/044
G06N3/08
G06Q50/10
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023083800
(22)【出願日】2023-05-22
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】高▲瀬▼ 信彰
(72)【発明者】
【氏名】吉田 健人
(72)【発明者】
【氏名】深井 寛修
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC11
5L050CC11
(57)【要約】
【課題】 機械学習によって構築される予測モデルを用いた予測精度を向上させること。
【解決手段】 予測装置は、メッシュデータを含むデータを取得する取得部と、前記取得部によって取得されるデータを予測モデルに入力してモデルパラメータを学習する学習部と、前記学習部によって学習されたモデルパラメータが設定された予測モデルを用いて、前記取得部によって取得されるデータに基づく予測を実行する予測部とを有し、前記学習部は、入力されるメッシュデータの空間的な特徴量を抽出する空間特徴抽出器と、前記空間特徴抽出器から入力されるデータの時間的な特徴量を抽出する時間特徴抽出器とを有する予測モデルのモデルパラメータを学習する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メッシュデータを含むデータを取得する取得部と、
前記取得部によって取得されるデータを予測モデルに入力してモデルパラメータを学習する学習部と、
前記学習部によって学習されたモデルパラメータが設定された予測モデルを用いて、前記取得部によって取得されるデータに基づく予測を実行する予測部とを有し、
前記学習部は、
入力されるメッシュデータの空間的な特徴量を抽出する空間特徴抽出器と、
前記空間特徴抽出器から入力されるデータの時間的な特徴量を抽出する時間特徴抽出器とを有する予測モデルのモデルパラメータを学習する
予測装置。
【請求項2】
前記取得部は、
気象に関するメッシュデータを取得し、
前記学習部は、
河川の流量を予測する流量予測モデルに前記メッシュデータを入力してモデルパラメータを学習し、
前記予測部は、
前記流量予測モデルを用いて、前記メッシュデータに基づく流量の予測を実行する
請求項1に記載の予測装置。
【請求項3】
前記学習部は、
日時に対応付けて多次元データを保持するメッシュデータから、サンプリングによって決定された日時に対応する多次元データを取得し、取得された日時及び多次元データを形状変換又は置換することにより、ミニバッチデータを生成するミニバッチ加工部と、
前記ミニバッチ加工部によって生成されるミニバッチデータを前記予測モデルに入力してモデルパラメータを学習するミニバッチ学習部と
を有する請求項1に記載の予測装置。
【請求項4】
前記予測部は、
日時に対応付けて多次元データを保持するメッシュデータから、所定の日時に対応する多次元データを取得し、取得された日時及び多次元データを形状変換又は置換することにより、ミニバッチデータを生成するミニバッチ加工部と、
前記ミニバッチ加工部によって生成されるミニバッチデータを前記予測モデルに入力して予測を実行するミニバッチ予測部と
を有する請求項3に記載の予測装置。
【請求項5】
メッシュデータを含むデータを取得し、
取得されるデータを予測モデルに入力してモデルパラメータを学習し、
学習されたモデルパラメータが設定された予測モデルを用いて、取得されるデータに基づく予測を実行する工程を有し、
前記学習する工程は、
入力されるメッシュデータの空間的な特徴量を抽出する空間特徴抽出器と、
前記空間特徴抽出器から入力されるデータの時間的な特徴量を抽出する時間特徴抽出器とを有する予測モデルのモデルパラメータを学習する
予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、予測装置及び予測方法に関する。
【背景技術】
【0002】
従来、例えば台風や豪雨などによる災害対策のために、降雨量などの気象情報から河川の流量が予測されることがある。河川の流量予測には、機械学習によって生成される予測モデルが用いられることがある。
【0003】
予測モデルを用いる流量予測においては、過去の降雨量や気象予測情報から例えばニューラルネットワークによる機械学習によって予測モデルが生成される。すなわち、河川の集水域内の地点における降雨量などのデータから河川の流量を予測する予測モデルが構築され、この予測モデルに実際の降雨量などのデータが入力されることにより、将来の河川の流量が予測される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-111892号公報
【特許文献2】特開2022-156802号公報
【特許文献3】特開2007-205001号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、予測モデルを用いる流量予測においては、予測モデルの構築及び予測モデルによる予測に用いられるデータが限定的であり、予測精度の向上に一定の限界があるという問題がある。具体的には、河川の流量は、集水域全体における降雨量の影響を受けるにも関わらず、予測モデルの構築及び予測には、集水域内の特定の箇所における降雨量などのデータが用いられるのみであるため、集水域全体の降雨の状況が予測結果に反映されない。結果として、流量の予測精度を十分に向上させることが困難である場合がある。
【0006】
一般に、集水域全体の降雨量などは、メッシュ形式のデータから取得することが可能である。したがって、メッシュデータを機械学習に用いることができれば、予測モデル及び予測結果の精度を向上させることも可能となる。しかし、通常、メッシュデータは非常に大規模なデータであり、予測モデルの構築や予測モデルによる予測にメッシュデータを導入することは容易ではない。
【0007】
本開示は、上記に鑑みてなされたものであり、機械学習によって構築される予測モデルを用いた予測精度を向上させることができる予測装置及び予測方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様によれば、予測装置は、メッシュデータを含むデータを取得する取得部と、前記取得部によって取得されるデータを予測モデルに入力してモデルパラメータを学習する学習部と、前記学習部によって学習されたモデルパラメータが設定された予測モデルを用いて、前記取得部によって取得されるデータに基づく予測を実行する予測部とを有し、前記学習部は、入力されるメッシュデータの空間的な特徴量を抽出する空間特徴抽出器と、前記空間特徴抽出器から入力されるデータの時間的な特徴量を抽出する時間特徴抽出器とを有する予測モデルのモデルパラメータを学習する。
【0009】
また、本開示の一態様によれば、予測方法は、メッシュデータを含むデータを取得し、取得されるデータを予測モデルに入力してモデルパラメータを学習し、学習されたモデルパラメータが設定された予測モデルを用いて、取得されるデータに基づく予測を実行する工程を有し、前記学習する工程は、入力されるメッシュデータの空間的な特徴量を抽出する空間特徴抽出器と、前記空間特徴抽出器から入力されるデータの時間的な特徴量を抽出する時間特徴抽出器とを有する予測モデルのモデルパラメータを学習する。
【図面の簡単な説明】
【0010】
【
図1】
図1は、一実施の形態に係る流量予測装置の構成を示すブロック図である。
【
図2】
図2は、学習部の構成を示すブロック図である。
【
図3】
図3は、予測部の構成を示すブロック図である。
【
図4】
図4は、流量予測モデルの構成を示す図である。
【
図5】
図5は、一実施の形態に係る流量予測方法を示すフロー図である。
【
図6】
図6は、学習時及び予測時の流量予測モデルの動作を示すフロー図である。
【
図7】
図7は、多次元配列データのデータ形式の一例を示す図である。
【
図8】
図8は、第1のミニバッチ加工方法を説明する図である。
【
図9】
図9は、第1のミニバッチ加工方法に対応する疑似コードを示す図である。
【
図10】
図10は、第2のミニバッチ加工方法を説明する図である。
【
図11】
図11は、第2のミニバッチ加工方法に対応する疑似コードを示す図である。
【
図12】
図12は、第3のミニバッチ加工方法を説明する図である。
【
図13】
図13は、第3のミニバッチ加工方法に対応する疑似コードを示す図である。
【
図14】
図14は、流量予測装置のハードウェア構成の具体例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本開示に係る一実施の形態について説明する。以下に説明する実施の形態は例示であり、この記載によって限定解釈されるものではない。
【0012】
図1は、一実施の形態に係る流量予測装置100の構成を示すブロック図である。この流量予測装置100は、気象に関する種々のデータに基づいて、河川における流量を予測する。
図1に示す流量予測装置100は、データ取得部110、データ記憶部120、設定部130、データ前処理部140、加工データ記憶部150、学習部160、パラメータ記憶部170及び予測部180を有する。
【0013】
データ取得部110は、流量予測モデルの学習及び流量の予測に用いられる種々のデータを取得する。具体的には、データ取得部110は、地点記録データ、地点流量データ、メッシュ記録データ及び数値予報データを取得する。
【0014】
地点記録データは、ある計測地点において計測器を用いて取得される気象及び水象のデータであり、例えば時刻及び項目の2次元配列データである。地点流量データは、予測対象である河川の流量が記録されたデータであり、例えば時刻及び変数名の2次元配列データである。メッシュ記録データは、地理的な標高や、気象レーダによって観測された気象情報などのメッシュ区切りのデータであり、例えば時刻、緯度、経度及び変数名の4次元配列データである。数値予報データは、将来の気象を予報するために大気を格子状に区切り、計算機を用いて算出された数値シミュレーションデータであり、例えば時刻、予測先時刻、緯度、経度、高度及び変数名の6次元配列データである。メッシュ記録データ及び数値予報データは、メッシュごとに属性データを有するメッシュデータの例であり、大規模データである。
【0015】
データ取得部110は、これらのデータをネットワークを介して他のサーバなどから取得しても良いし、計測器によって計測されたデータの入力を受け付けて取得しても良い。
【0016】
データ記憶部120は、データ取得部110によって取得された種々のデータを記憶する。
【0017】
設定部130は、データに対する前処理、流量予測モデルの学習及び流量予測モデルを用いる流量の予測に関する様々な設定を実行する。具体的には、設定部130は、例えば学習や予測に使用される範囲のデータを切り出す前処理が実行される場合に、この範囲を指定するハイパーパラメータをデータ前処理部140へ通知する。また、設定部130は、例えば流量予測モデルの学習時のミニバッチサイズや学習エポック数などを指定するハイパーパラメータを学習部160へ通知する。さらに、設定部130は、例えば流量予測モデルを用いる予測時の最大予測先時刻やミニバッチサイズなどを指定するハイパーパラメータを予測部180へ通知する。
【0018】
データ前処理部140は、データ記憶部120によって記憶されたデータに対して、ハイパーパラメータに従った前処理を実行する。具体的には、データ前処理部140は、例えば、メッシュ記録データ及び数値予報データから予測対象に関連する範囲を切り出すトリミングを実行する。すなわち、データ前処理部140は、予測対象の河川の集水域に対応するメッシュのデータをメッシュ記録データ及び数値予報データから切り出す。また、データ前処理部140は、時間方向に関しても、学習期間に応じた時間幅でメッシュ記録データ及び数値予報データをトリミングする。さらに、データ前処理部140は、例えば高層大気の気象情報が予測に不要な場合には、数値予報データから高度に関する情報を削除してもよい。また、データ前処理部140は、トリミングにより得られる必要なデータを正規化処理してもよい。
【0019】
加工データ記憶部150は、データ前処理部140によって前処理された種々のデータを記憶する。また、加工データ記憶部150は、学習部160及び予測部180からの依頼に従って、流量予測モデルの学習及び流量の予測に使用されるデータのまとまりであるミニバッチを生成し、学習部160及び予測部180へ出力する。
【0020】
学習部160は、ミニバッチ単位で加工データ記憶部150から出力されるデータを用いて流量予測モデルを学習する。学習部160における学習に関するウインドウサイズ、最大予測先時刻、流量予測モデルの構造を示す数値、ミニバッチサイズ、学習エポック数及び使用される学習アルゴリズムなどは、ハイパーパラメータとして設定部130から指定される。学習部160は、ニューラルネットワークを用いた回帰モデルである流量予測モデルを学習する。このとき、学習部160は、多次元配列データであるメッシュ記録データ及び数値予報データから空間的な特徴量を抽出することにより2次元配列データに変換し、変換後のデータから時間的な特徴量を抽出して流量を予測する流量予測モデルを学習する。学習部160が学習する流量予測モデルについては、後に詳述する。
【0021】
パラメータ記憶部170は、学習部160によって学習される流量予測モデルのモデルパラメータを記憶する。
【0022】
予測部180は、パラメータ記憶部170によって記憶されたモデルパラメータを用いて流量予測モデルを構築し、ミニバッチ単位で加工データ記憶部150から出力されるデータを流量予測モデルに入力して流量を予測する。予測部180における予測に関する最大予測先時刻及びミニバッチサイズは、ハイパーパラメータとして設定部130から指定される。予測部180が流量の予測に用いる流量予測モデルについては、後に詳述する。
【0023】
図2は、学習部160の構成を示すブロック図である。
図2に示す学習部160は、学習管理部161、ミニバッチ加工部162及びミニバッチ学習部163を有する。
【0024】
学習管理部161は、設定部130から通知されるハイパーパラメータに従って、流量予測モデルの学習進行の計画を立案及び管理する。すなわち、学習管理部161は、学習に用いるミニバッチについての情報などをミニバッチ加工部162へ出力する。また、学習管理部161は、ミニバッチ学習部163によってミニバッチを用いる学習が実行されると、学習により得られる流量予測モデルのモデルパラメータを取得し、パラメータ記憶部170に記憶させる。
【0025】
ミニバッチ加工部162は、学習に用いるミニバッチのデータ形式を決定し、決定したデータ形式のミニバッチに対応するデータ実体を加工データ記憶部150から取得する。そして、ミニバッチ加工部162は、加工データ記憶部150から取得されるデータ実体をミニバッチ学習可能な形状のミニバッチデータに変換し、ミニバッチ学習部163へ出力する。
【0026】
ミニバッチ学習部163は、ミニバッチ加工部162から入力されるミニバッチデータを用いてミニバッチ学習を実行し、流量予測モデルのモデルパラメータを最適化する。すなわち、ミニバッチ学習部163は、地点記録データ及びミニバッチデータを流量予測モデルに入力して予測流量を算出し、算出された予測流量と地点流量データとの誤差を逆伝播する誤差逆伝播法を用いて流量予測モデルのモデルパラメータを最適化する。そして、ミニバッチ学習部163は、最適化されたモデルパラメータを学習管理部161へ通知する。
【0027】
図3は、予測部180の構成を示すブロック図である。
図3に示す予測部180は、予測管理部181、ミニバッチ加工部182及びミニバッチ予測部183を有する。
【0028】
予測管理部181は、設定部130から通知されるハイパーパラメータに従って、流量予測モデルを用いる予測進行の計画を立案及び管理する。すなわち、予測管理部181は、予測に用いるミニバッチについての情報などをミニバッチ加工部182へ出力する。また、予測管理部181は、ミニバッチ予測部183によって流量予測モデルを用いる予測が実行されると、予測結果である予測流量を出力する。
【0029】
ミニバッチ加工部182は、予測に用いるミニバッチのデータ形式を決定し、決定したデータ形式のミニバッチに対応するデータ実体を加工データ記憶部150から取得する。そして、ミニバッチ加工部182は、加工データ記憶部150から取得されるデータ実体を流量予測モデルへ入力可能な形状のミニバッチデータに変換し、ミニバッチ予測部183へ出力する。
【0030】
ミニバッチ予測部183は、流量予測モデルのモデルパラメータをパラメータ記憶部170から取得し、ミニバッチ加工部182から入力されるミニバッチデータを流量予測モデルへ入力して予測を実行する。すなわち、ミニバッチ予測部183は、パラメータ記憶部170から読み出したモデルパラメータが設定された流量予測モデルに、地点記録データ及びミニバッチデータを入力して予測流量を算出する。そして、ミニバッチ予測部183は、算出された予測流量を予測管理部181へ通知する。
【0031】
次に、ミニバッチ学習部163によって学習され、ミニバッチ予測部183における予測に用いられる流量予測モデルについて説明する。
図4は、本実施の形態に係る流量予測モデルの構成を示す図である。流量予測モデルは、空間特徴抽出器210、230、エンコーダ220及びデコーダ240を有する。
【0032】
空間特徴抽出器210は、L時刻前(Lは1以上の整数)から現在(又は学習基準時刻)までの地点記録データ及び地点流量データと、ミニバッチデータに含まれるL時刻前から現在(又は学習基準時刻)までのメッシュ記録データとを入力データとし、入力データの空間的な特徴量を抽出する。なお、L時刻前から現在(又は学習基準時刻)までの時間の長さLは、学習に用いられるデータの時間幅であり、ウインドウサイズとも呼ばれる。また、ミニバッチデータに数値予報データが含まれる場合には、L時刻前から現在(又は学習基準時刻)までの数値予報データを空間特徴抽出器210への入力データとしても良い。
【0033】
空間特徴抽出器210は、空間特徴抽出層においてメッシュ記録データの特徴量抽出を実行し、多次元配列のメッシュ記録データを時刻及び項目の2次元配列のデータに変換する。このような空間特徴抽出層は、例えば畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)機構又はアテンション(Attention)機構などによって実現することができる。
【0034】
空間特徴抽出器210は、2次元配列の地点記録データ及び地点流量データと、2次元配列に変換されたメッシュ記録データとを結合層において結合する。これにより、空間特徴抽出器210は、入力データから空間的な特徴量を抽出して2次元配列のデータを生成し、この2次元配列のデータをエンコーダ220へ出力する。
【0035】
エンコーダ220は、空間特徴抽出器210から出力される2次元配列のデータを入力データとし、入力データの時間的な特徴量を抽出する時間特徴抽出器である。すなわち、エンコーダ220は、時間特徴抽出層において、L時刻前から現在(又は学習基準時刻)までの時刻ごとのデータから時間方向の特徴量を抽出する。このような時間特徴抽出層は、例えば再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)機構又はアテンション(Attention)機構などによって実現することができる。エンコーダ220は、抽出した特徴量をデコーダ240へ出力する。
【0036】
空間特徴抽出器230は、ミニバッチデータに含まれる、現在(又は学習基準時刻)の1時刻先からM時刻先(Mは2以上の整数)までの数値予報データと、各時刻の数値予報データの1時刻前の予測流量とを入力データとし、入力データの空間的な特徴量を抽出する。学習時においては、各時刻の予測流量として地点流量データを用いることができる。また、予測時においては、現在の1時刻先については、1時刻前(すなわち現在)の予測流量が存在しないため、予測流量として0が入力される。
【0037】
空間特徴抽出器230は、空間特徴抽出層において数値予報データの特徴量抽出を実行し、多次元配列の数値予報データを時刻及び項目の2次元配列のデータに変換する。このような空間特徴抽出層は、例えば畳み込みニューラルネットワーク(CNN)機構又はアテンション(Attention)機構などによって実現することができる。
【0038】
空間特徴抽出器230は、2次元配列の予測流量と、2次元配列に変換された数値予報データとを結合層において結合する。これにより、空間特徴抽出器230は、入力データから空間的な特徴量を抽出して2次元配列のデータを生成し、この2次元配列のデータをデコーダ240へ出力する。
【0039】
デコーダ240は、エンコーダ220から出力される特徴量と、空間特徴抽出器230から出力される2次元配列のデータとを入力データとし、入力データの時間的な特徴量を抽出する時間特徴抽出器である。すなわち、デコーダ240は、時間特徴抽出層において、エンコーダ220から出力される特徴量と、現在(又は学習基準時刻)からM時刻先までの時刻ごとのデータとから時間方向の特徴量を抽出する。このような時間特徴抽出層は、例えば再帰型ニューラルネットワーク(RNN)機構又はアテンション(Attention)機構などによって実現することができる。デコーダ240は、全結合層において時間方向の特徴量を結合することにより、時刻ごとの予測流量を出力する。
【0040】
このような流量予測モデルを用いて学習及び予測を実行することにより、メッシュ記録データ及び数値予報データのような大規模なメッシュデータを導入することができる。この結果、機械学習によって構築される予測モデルを用いた予測精度を向上させることができる。
【0041】
次いで、上記のように構成された流量予測装置100による流量予測方法について、
図5に示すフロー図を参照しながら説明する。
【0042】
まず、データ取得部110によって、地点記録データ、地点流量データ、メッシュ記録データ及び数値予報データを含む種々のデータが取得される(ステップS101)。取得されたデータは、データ記憶部120に記憶される。そして、データ前処理部140によって、データ記憶部120に記憶されたデータに対する前処理が実行される(ステップS102)。前処理の内容は、設定部130から通知されるハイパーパラメータによって設定される。前処理されたデータは、加工データ記憶部150に記憶される。
【0043】
そして、学習部160によって、ミニバッチデータが加工データ記憶部150から取得され、ミニバッチデータを用いて流量予測モデルの学習が実行される(ステップS103)。具体的には、ミニバッチ加工部162によって、メッシュ記録データ及び数値予報データから切り出されたミニバッチデータが取得され、ミニバッチ学習部163によって、ミニバッチデータを用いた機械学習により流量予測モデルのモデルパラメータが最適化される。最適化されたモデルパラメータは、パラメータ記憶部170に記憶される。
【0044】
そして、予測部180によって、ミニバッチデータが加工データ記憶部150から取得され、ミニバッチデータが流量予測モデルへ入力されて予測が実行される(ステップS104)。具体的には、ミニバッチ加工部182によって、メッシュ記録データ及び数値予報データから切り出されたミニバッチデータが取得され、ミニバッチ予測部183によって、最適化されたモデルパラメータが設定された流量予測モデルにミニバッチデータが入力されて予測流量が算出される。
【0045】
このように、メッシュ記録データ及び数値予報データのようなメッシュデータに基づくミニバッチデータを用いて学習及び予測が実行されるため、高精度の流量予測モデルが構築されるとともに、予測精度を向上させることができる。
【0046】
次に、ミニバッチデータを用いる学習時及び予測時の動作について、
図6に示すフロー図を参照しながら説明する。
【0047】
学習時及び予測時には、ミニバッチ加工部162又はミニバッチ加工部182によって、メッシュデータをミニバッチデータに加工するミニバッチ加工が行われる(ステップS201)。具体的には、ハイパーパラメータによって指定されるウインドウサイズ及びミニバッチサイズに従って、メッシュ記録データ及び数値予報データからミニバッチデータとして使用されるデータのインデックスが決定される。そして、決定されたインデックスのデータが加工データ記憶部150から取得され、ミニバッチデータに変換される。
【0048】
ミニバッチデータは、ミニバッチ学習部163又はミニバッチ予測部183において流量予測モデルへ入力される。そして、メッシュ記録データから生成されたミニバッチデータは、空間特徴抽出器210へ入力されて、メッシュ記録データの空間的な特徴量が抽出される(ステップS202)。抽出された特徴量のデータはエンコーダ220へ出力され、エンコーダ220によって、メッシュ記録データの時間的な特徴量が抽出される(ステップS203)。抽出される特徴量は、デコーダ240へ出力される。
【0049】
一方、数値予報データから生成されたミニバッチデータは、空間特徴抽出器230へ入力されて、数値予報データの空間的な特徴量が抽出される(ステップS204)。抽出された特徴量のデータはデコーダ240へ出力され、デコーダ240によって、エンコーダ220から出力される特徴量と数値予報データとの時間的な特徴量が抽出される(ステップS205)。そして、抽出された特徴量から時刻ごとの予測流量が出力される(ステップS206)。
【0050】
学習時においては、出力される予測流量と地点流量データとの誤差を逆伝播する誤差逆伝播法により、流量予測モデルのモデルパラメータが最適化される。また、予測時においては、出力される予測流量が予測結果として出力される。
【0051】
このように、学習時及び予測時においては、メッシュ記録データ及び数値予報データのようなメッシュデータの空間的な特徴量が抽出され、その後、時間的な特徴量が抽出される流量予測モデルが用いられる。このため、大規模なメッシュデータを流量予測モデルに導入することが可能となる。結果として、高精度の流量予測モデルが構築されるとともに、予測精度を向上させることができる。
【0052】
次に、流量予測モデルへ入力されるミニバッチデータの生成について、具体的に例を挙げながら説明する。ミニバッチデータは、ミニバッチ加工部162、182によって加工データ記憶部150からデータが取得されることにより生成される。
【0053】
加工データ記憶部150には、メッシュ記録データ及び数値予報データのようなメッシュデータが記憶されている。加工データ記憶部150に記憶されるメッシュデータのデータ形式は、例えば
図7のように表すことができる。すなわち、加工データ記憶部150には、日時ごとに「D01:00」などのインデックスによって表される多次元データが記憶されている。ミニバッチデータは、このようなメッシュデータからウインドウサイズ分の連続する時間幅のミニバッチを抽出したものであり、ミニバッチサイズに対応する数のミニバッチを含む。
【0054】
例えばウインドウサイズが3時刻分に相当する大きさであり、所定のサンプリングによって選出された「2000/01/01 03:00」、「2000/01/01 07:00」及び「2000/01/01 04:00」の3つの時刻に対応するミニバッチからなるミニバッチデータを生成する場合を考える。ミニバッチデータの生成に当たっては、ミニバッチ加工部162、182は、ミニバッチデータとして使用されるデータのインデックスを決定し、決定したインデックスのデータ実体を加工データ記憶部150から取得する。そして、ミニバッチ加工部162、182は、取得したデータ実体からミニバッチデータを生成する。
【0055】
ミニバッチデータを生成する第1の方法においては、メッシュデータをウインドウサイズ分シフトしたデータが生成され、サンプリングによって選出されたミニバッチがシフトしたデータから抽出される。具体的には、例えば
図8左図に示すように、まず加工データ記憶部150に記憶されたメッシュデータを基準時刻のデータとして、基準時刻のデータをシフトすることにより、1時刻前及び2時刻前のデータが生成される。これにより、ウインドウサイズである3時刻分の連続する時間幅のデータが生成される。
【0056】
そして、例えば
図8右図に示すように、所定のサンプリングによって選出された3つの時刻に対応するミニバッチがシフトしたデータから抽出されることにより、ミニバッチデータが生成される。
【0057】
第1の方法に対応する疑似コードを
図9に示す。この疑似コードにおいて、コード311は、基準時刻のデータをウインドウサイズL回シフトする処理を示す。また、コード312は、シフトしたデータを結合する処理を示す。そして、コード313は、シフトしたデータからミニバッチサイズに相当する数のミニバッチを抽出する処理を示す。このような第1の方法によれば、データのシフトとミニバッチの抽出という簡便な処理によってミニバッチデータを生成することができるため、少ない演算処理量でミニバッチデータを生成することができる。
【0058】
ミニバッチデータを生成する第2の方法においては、メッシュデータからウインドウサイズ幅のデータが抽出され、抽出されたデータの行と列を入れ替える形状変換が行われ、形状変換されたデータが行方向に連結される。具体的には、例えば
図10左図に示すように、所定のサンプリングによって選出された3つの時刻それぞれを基準としたウインドウサイズ幅のデータが抽出される。すなわち、ここでは、例えば基準時刻「2000/01/01 03:00」のデータとともにこの基準時刻の1時刻前及び2時刻前のデータが抽出され、他の基準時刻についても基準時刻、1時刻前及び2時刻前のデータが抽出される。
【0059】
そして、例えば
図10右図に示すように、基準時刻ごとに抽出された列方向に並ぶデータを行方向に並ぶデータに変換する形状変換が行われる。さらに、形状変換されたデータが行方向に連結されることにより、ミニバッチデータが生成される。
【0060】
第2の方法に対応する疑似コードを
図11に示す。この疑似コードにおいて、コード321は、ミニバッチサイズBに相当する3つの基準時刻について、それぞれウインドウサイズL幅のデータを抽出する処理を示す。また、コード322は、それぞれの基準時刻について抽出されたデータを形状変換する処理を示す。そして、コード323は、形状変換されたデータを行方向に連結する処理を示す。このような第2の方法によれば、第1の方法において生成されるメッシュデータをシフトしたデータが不要となり、中間生成物として生成される大規模なデータを記憶するメモリを不要とすることができる。
【0061】
ミニバッチデータを生成する第3の方法においては、メッシュデータからミニバッチサイズ分のデータが抽出され、抽出されたデータに対応する日時が基準時刻の日時に置き換えられ、同じ日時に対応するデータが列方向に連結される。具体的には、例えば
図12左図に示すように、所定のサンプリングによって選出された3つの時刻に対応するミニバッチサイズ分のデータが抽出される。すなわち、ここでは、例えば3つの基準時刻の2時刻前である「2000/01/01 01:00」、「2000/01/01 05:00」及び「2000/01/01 02:00」のデータが抽出され、基準時刻の1時刻前及び基準時刻についてもそれぞれミニバッチサイズに等しい3つのデータが抽出される。
【0062】
そして、例えば
図12右図に示すように、時刻ごとにミニバッチサイズ分抽出された各データの日時が基準時刻の日時に置き換えられる。さらに、置き換えられた日時をキーとしてデータが列方向に連結されることにより、ミニバッチデータが生成される。
【0063】
第3の方法に対応する疑似コードを
図13に示す。この疑似コードにおいて、コード331は、ウインドウサイズLに含まれる3つの時刻について、それぞれミニバッチサイズB分のデータを抽出する処理を示す。また、コード332は、それぞれの時刻について抽出されたデータの日時を基準時刻の日時に置き換える処理を示す。そして、コード333は、日時が置き換えられたデータを列方向に連結する処理を示す。このような第3の方法によれば、ウインドウサイズに含まれる時刻ごとのデータを連結するため、ミニバッチサイズが大きくなってもデータを連結する回数が増加することがない。したがって、第2の方法と比べて、ミニバッチデータを生成するための演算処理量を削減することができ、高速にミニバッチデータを生成することができる。
【0064】
以上のように、本実施の形態によれば、空間特徴抽出器によってメッシュデータの空間的な特徴量を抽出し、得られる2次元配列データをエンコーダ及びデコーダの入力データとして時間的な特徴量を抽出する流量予測モデルを学習するとともに、この流量予測モデルを用いて流量を予測する。このため、メッシュ記録データ及び数値予報データのように情報量が多く大規模なメッシュデータを機械学習に用いることができる。結果として、機械学習によって高精度の予測モデルを構築することができ、予測精度を向上させることができる。
【0065】
上記一実施の形態に係る流量予測装置100は、プロセッサ及びメモリを用いて構成することができる。
図14は、一実施の形態に係る流量予測装置100のハードウェア構成の一例を示すブロック図である。
図14に示すように、流量予測装置100は、プロセッサ101、メモリ102、入出力部103及びストレージ104を有する。
【0066】
プロセッサ101は、例えばCPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)又はDSP(Digital Signal Processor)などを有し、流量予測装置100の全体を統括制御するとともに、各種の演算処理を実行する。
【0067】
メモリ102は、例えばRAM(Random Access Memory)又はROM(Read Only Memory)などを有し、プロセッサ101が実行する演算処理に用いられる情報を記憶する。
【0068】
入出力部103は、ユーザが情報を入力したり、ユーザへ情報を出力したりするインタフェースである。入出力部103は、例えばキーボード、ディスプレイ、タッチパネル、マイク又はスピーカーなどを備えていても良い。
【0069】
ストレージ104は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)などを有し、各種のデータを保存する。
【0070】
また、上記一実施の形態において説明した流量予測装置100による処理を、コンピュータが実行可能なプログラムとして記述することも可能である。この場合、このプログラムをコンピュータが読み取り可能かつ非一時的(non-transitory)な記録媒体に格納し、コンピュータに導入することも可能である。このような記録媒体としては、例えばCD-ROM、DVDディスク、USBメモリなどの可搬型記録媒体、及び例えばフラッシュメモリなどの半導体メモリが挙げられる。
【0071】
また、上記一実施の形態においては、河川の流量を予測する流量予測モデルを例に挙げて説明したが、本開示に係る学習及び予測の処理は、流量予測モデル以外の種々の予測モデルに適用することが可能である。
【符号の説明】
【0072】
101 プロセッサ
102 メモリ
103 入出力部
104 ストレージ
110 データ取得部
120 データ記憶部
130 設定部
140 データ前処理部
150 加工データ記憶部
160 学習部
161 学習管理部
162、182 ミニバッチ加工部
163 ミニバッチ学習部
170 パラメータ記憶部
180 予測部
181 予測管理部
183 ミニバッチ予測部
210、230 空間特徴抽出器
220 エンコーダ
240 デコーダ