IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人大阪大学の特許一覧

特開2025-149585時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図1
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図2
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図3
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図4
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図5
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図6
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図7
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図8
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図9
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図10
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図11
  • 特開-時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025149585
(43)【公開日】2025-10-08
(54)【発明の名称】時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06N 3/044 20230101AFI20251001BHJP
   G06Q 10/04 20230101ALI20251001BHJP
   G01W 1/00 20060101ALI20251001BHJP
   G06N 3/096 20230101ALI20251001BHJP
【FI】
G06N3/044
G06Q10/04
G01W1/00 Z
G06N3/096
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024050325
(22)【出願日】2024-03-26
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】清水 雅樹
(72)【発明者】
【氏名】若山 勘太郎
(72)【発明者】
【氏名】南出 康二朗
【テーマコード(参考)】
5L010
【Fターム(参考)】
5L010AA04
(57)【要約】
【課題】環境や条件を変更する場合に、状態の時間発展法則を再構築することなく、更新可能な時系列予測モデル等を提供すること。
【解決手段】時系列予測モデルは、第2時点の外力データを受け付ける入力層と、前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層と、前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層とを備え、前記入力層に入力された外力データに対して、前記隠れ層による演算を行い、前記出力層から予測データを出力するように、コンピュータを機能させる。
【選択図】図1
【特許請求の範囲】
【請求項1】
状態変数に基づいて、時系列の予測データを出力するようにコンピュータを機能させるための時系列予測モデルであって、
第2時点の外力データを受け付ける入力層と、
前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層と、
前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層とを備え、
前記入力層に入力された外力データに対して、前記隠れ層による演算を行い、前記出力層から予測データを出力するように、コンピュータを機能させるための時系列予測モデル。
【請求項2】
条件又は環境が異なる複数の時系列実測データの下、前記第1関数と前記第3関数は、個別の条件又は環境に依存する関数とし、前記第2関数は全ての条件又は環境に普遍な関数として学習を行う請求項1に記載の時系列予測モデル。
【請求項3】
前記時系列予測モデルを学習する際に用いた条件又は環境とは異なる時系列実測データの下、転移学習を行う
請求項1又は請求項2に記載の時系列予測モデル。
【請求項4】
前記転移学習においては、前記第2関数を固定し、前記第1関数及び前記第3関数の学習を行う請求項3に記載の時系列予測モデル。
【請求項5】
前記第1関数は式(1)、前記第2関数は式(2)、前記第3関数は式(3)で定義される請求項1又は請求項2に記載の時系列予測モデル。
【数1】
【数2】
【請求項6】
前記時系列予測モデルは、河川の水位を予測するものであって、
前記外力データは前記河川の流域における降水量、前記予測データは河川水位を表すデータであり、
前記第1関数は、前記降水量に基づいて、前記状態変数への一般化された外力を求める関数であり、
前記第2関数は、前記一般化された外力と前記状態変数を入力して、次時点の状態変数を求める関数であり、
前記第3関数は、前記状態変数に基づいて、前記水位の予測値を求める関数である
請求項1又は請求項2に記載の時系列予測モデル。
【請求項7】
請求項1又は請求項2に記載の時系列予測モデルと、
前記第2時点の一般化された外力データ、前記第1時点の隠れ層状態変数に加え、前記第1時点の予測データの実測データに対する誤差を入力して、前記第2時点の隠れ層状態変数を求める同期用リカレントニューラルネットワークを備える
時系列予測システム。
【請求項8】
制御部を備え、時系列予測モデルを実装した情報処理装置であって、
前記時系列予測モデルは、
第2時点の外力データを受け付ける入力層と、
前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層と、
前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層とを有し、
前記制御部は、
外力データを取得し、
取得した前記外力データを、前記入力層へ入力し、
前記隠れ層による演算を行い、
前記出力層から取得した予測データを出力する
処理を行う情報処理装置。
【請求項9】
第2時点の外力データを受け付ける入力層と、
前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層と、
前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層と
を有する予測モデルを実装した情報処理装置が、
外力データを取得し、
取得した前記外力データを前記入力層へ入力し、
前記隠れ層による演算を行い、
前記出力層から取得した予測データを出力する
情報処理方法。
【請求項10】
第2時点の外力データを取得し、
取得した前記外力データを入力層へ入力し、
前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層による演算を行い、
前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層から予測データを出力する
処理を情報処理装置に実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、状態変数に応じて予測データを出力する時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
過去の時系列データを入力すると、将来時刻における予測データを出力する学習モデルとして、リカレントニューラルネットワーク(Recurrent Neural Network:RNN。以下RNNとも記載する。)が利用されている。物理系において、状態変数が自励的に変化する場合や、外力によって変化する場合、状態に応じて観測される実測データの時間発展を予測するには、RNNが有効である。
【0003】
例えば、河川水位の予測においては、河川流域の降水量が外力データとなり、それにより流速や流量等といった河川の状態が変化する。河川の状態に応じて観測される水位の将来予測を得ることで水害予防に役立てられる。
【0004】
河川の水位を予測する従来技術として、特許文献1には、ニューラルネットワークを利用した予測システムが提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2023-94754号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
RNNなどによる時系列予測モデルは、予測モデル構築時に、環境や条件が同一の下で得られる学習データにより学習を行う。そのため、予測モデルの構築後に、環境や条件を変更する場合には、新たな学習により予測モデルを再構築することが必要となる。
【0007】
例えば、河川水位の予測において、新たな観測地点での水位予測を行う場合、RNNの学習を再度行う必要がある。また、この観測地点での実測データ量が十分でない場合、過学習により、十分な精度の予測モデル構築が困難になる。
【0008】
本発明はこのような状況に鑑みてなされたものである。その目的は、環境や条件を変更する場合に、状態の時間発展法則を再構築することなく、更新可能な時系列予測モデル、時系列予測システム、情報処理装置、情報処理方法及び情報処理プログラムの提供である。
【課題を解決するための手段】
【0009】
本願の一態様に係る時系列予測モデルは、状態変数に基づいて、時系列の予測データを出力するようにコンピュータを機能させるための時系列予測モデルであって、第2時点の外力データを受け付ける入力層と、前記第2時点の外力データを、第1関数により一般化したデータ、及び、前記第2時点より前の第1時点の隠れ層状態変数を説明変数とし、前記第2時点の隠れ状態変数を目的変数とする第2関数を含む隠れ層と、前記第2時点の隠れ状態変数を説明変数、前記第2時点の予測データを目的変数とする第3関数により、前記隠れ状態変数を具体化した前記第2時点の予測データを出力する出力層とを備え、前記入力層に入力された外力データに対して、前記隠れ層による演算を行い、前記出力層から予測データを出力するように、コンピュータを機能させるためのリカレントニューラルネットワーク。
【発明の効果】
【0010】
本願の一態様にあっては、状態の時間発展法則に普遍性を有するときに、環境や条件が異なる時系列データが複数与えられた下、状態の時間発展法則を全ての時系列データで共通化することで、時系列予測モデルの学習が容易化される。
【図面の簡単な説明】
【0011】
図1】再帰型モデルの例を示す説明図である。
図2】水位予測システムの構成例を示す説明図である。
図3】情報処理装置のハードウェア構成例を示すブロック図である。
図4】学習DBの例を示す説明図である。
図5】パラメータDBの例を示す説明図である。
図6】観測降水量DBの例を示す説明図である。
図7】観測水位DBの例を示す説明図である。
図8】学習データ作成処理の手順例を示すフローチャートである。
図9】学習処理の手順例を示すフローチャートである。
図10】予測処理の手順例を示すフローチャートである。
図11】転移学習処理の手順例を示すフローチャートである。
図12】リカレントニューラルネットワークシステムの構成例を示す説明図である。
【発明を実施するための形態】
【0012】
以下、実施の形態を、図面を参照して説明する。最初に、本明細書で扱う再帰型モデル(時系列予測モデル)について説明する。再帰型モデルは、一般的に以下の式(5)、(6)で表すことができる。
【0013】
【数4】
【0014】
htは時刻tでの系の全状態、atは系への外力を表す。関数Fはこの系の時間発展を定義する関数である。関数Gは系の状態に応じて予測値を決定する関数である。ハット付きutは予測値である。
【0015】
関数F、Gは調整パラメータを用いて表された関数である。調整パラメータは、例えば式(7)で予測誤差Lが最小となるように調整される。式(7)でutは観測データの実測値である。
【0016】
【数5】
【0017】
本明細書では、再帰型モデルを用いて、河川の水位予測システムを構築する。河川水位の予測は、流域における降水量に応じた水位の増減を予測するのが主目的である。再帰型モデルを水位予測に用いる場合、atは時刻tの水位観測地点周辺の複数地点における降水量を表すベクトルである。また、htの1つの成分を水位の観測地点の時刻tにおける流量と見なす。ある観測地点のある時点における河川の流量は、その流域における過去の降水量の集積である。これは観測地点に依存しない性質であるため、水位予測システムの場合は、上述した式(5)、(6)は、以下のように再定義するのが妥当である。なお、式(9)は番号を改めただけで、内容は式(6)と同じである。
【0018】
【数6】
【0019】
関数E(第1関数)及び関数G(第3関数)は観測地点に依存する関数とすることで、関数Fを観測地点に依存しない関数とすることが可能である。すなわち、関数Eを観測地点に依存する関数とすることで、降水量を河川の状態へ影響を与える度合い(寄与度)という一般化した値に変換することが可能となる。関数Gは観測地点に依存する関数とすることで、状態変数の値を具体化した水位を求めることが可能となる。この性質を用いると、河川状態の時間発展式である関数F(第2関数)は全観測地点のデータを用いて、実際の系を近似することが可能になる。そのため、観測地点毎に時間発展式を立てる場合に比べて、調整パラメータが削減され、学習に利用出来る時系列データが少ない観測地点においても、高精度な予測モデルの構築が容易になる。
【0020】
図1は、再帰型モデルの例を示す説明図である。再帰型モデルは例えば、RNN(Recurrent Neural Network)で構成する。以降、本件の再帰型モデルを学習モデルMという。学習モデルMにおいて、入力層ILに入力されたatは関数Eを介して中間層MLへ入力される。中間層MLは時刻t(第1時点)の状態変数ht(隠れ状態変数)を保持する。入力at、状態変数ht-1を説明変数とし、次時点(時刻t、第2時点)の状態変数ht目的変数とする関数Fにより時間発展を表現する。また、状態変数htを説明変数とする関数Gにより系の状態を具体化した水位の予測値ハット付きutに変換し、出力層OLから出力する。
【0021】
新しい観測地点での学習モデルMを作成する場合、観測地点に依存しない関数Fを固定し、関数E及びGのみの調整で済ませることが可能である。新しい観測地点の水位が予測可能な学習モデルMを、状態変数の時間発展法則を再構築することなく、転移学習により作成可能である。このように、関数Fを固定することで、調整すべきパラメータの数を削減できるので、観測データが少ない新しい観測地点でも学習が可能となる。
【0022】
学習モデルMの学習について述べる。1時間毎に水位を観測する観測地点が全部でS地点設定されているとする。各観測地点の流域での1時間降水分布(ベクトル)が1時間の時間間隔(t=1,2,3,…,T)で与えられているとする。実測値の下で、学習モデルMでは、s(1≦s≦S)番目の観測地点の水位の時間変化は、以下の式(1)から(3)で与えられるとする。
【0023】
【数1】
【0024】
【数2】
【0025】
式(1)は式(8)における関数Eの具体例に相当する。上付き文字sを付したatは水位観測地点sに関する流域の時刻t-1から時刻tまでの間の1時間降水量ベクトルを示す。各sにつきIs個の成分があるとする。各成分の値により、各降水量観測地点での降水量を示す。関数Eは活性化関数がtanhである一層の全結合層で表されている。地点sに対するパラメータは、観測地点によって異なるので、関数Eの定義は観測地点毎に異なることになるが、関数値は観測地点に依存しない一般化された値となる。
【0026】
一般にatは時刻tにおける制御変数であり、水位変化に影響する外的な作用全体を表す。主には河川流域における降水量分布である。河口付近では潮位も外的な作用に含まれる。本明細書においては、潮位は含めず降水量分布のみに限定している。また、ここでは降雨と降雪の区別をしていないが、これらを区別してatに含めることも出来る。
【0027】
式(2)は式(8)における関数Fの具体例に相当する。隠れ変数htの成分数をLとしている。関数Fは活性化関数がtanhである一層の全結合層で表されている。関数Fは普遍性を有するので、各パラメータは全ての観測地点で共通である。
【0028】
式(3)は式(9)における関数Gの具体例に対応する。水位は隠れ変数の全結合(活性化関数なし)で与えられる。関数Gは観測地点毎に定義するので、各パラメータは地点sに依存する。
【0029】
以上に説明してきた水位変化モデルは、1≦t≦Tの時刻の実測値が与えられた下で、例えば、以下の式(4)で算出する2乗和誤差Lが最小となるようにパラメータを調整する。
【0030】
【数3】
【0031】
モデルの時間発展は必ず誤差を伴うため、長期間(Tが大きい)の時系列データの下での学習は困難である。このため、(2)式に制御項を加え、実現象とモデル間での同期の最適化を用いる等の対策が必要である。
【0032】
上述の説明において、学習モデルMはRNNであるとしたが、それに限らない。隠れ変数(ht)の時間発展が普遍的であることを、適切に表現できる学習モデルであれば、再帰型ネットワークの種類は問わない。また、RNN、LSTM(Long Short Term Memory)、GRU(Gated Recurrent Unit)等の決定的モデルであるか、状態空間モデル等の確率的モデルであるかを問わずに実装可能である。
【0033】
次に、学習モデルMを利用した水位予測システムについて説明する。図2は水位予測システムの構成例を示す説明図である。水位予測システム100は情報処理装置1、監視端末2及び監視サービス3を含む。情報処理装置1、監視端末2及び監視サービス3はネットワークNにより、互いに通信可能に接続されている。監視サービス3は河川水位を観測して提供する水位観測システムや、降水量を観測して提供する降水量観測システムや、将来の降水量予測を提供する降水量予測システムなどを含む。
【0034】
図3は情報処理装置のハードウェア構成例を示すブロック図である。情報処理装置1はサーバコンピュータ、ワークステーション、PC(Personal Computer)等で構成する。情報処理装置1は制御部11、主記憶部12、補助記憶部13、入力部14、表示部15、通信部16及び読み取り部17を含む。各構成はバスBにより接続されている。なお、情報処理装置1を複数のコンピュータからなるマルチコンピュータ、ソフトウェアによって仮想的に構築された仮想マシン又は量子コンピュータで構成してもよい。また、情報処理装置1の機能をクラウドサービスで実現してもよい。
【0035】
制御部11は、一又は複数のCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有する。制御部11は、補助記憶部13に記憶された制御プログラム1P(プログラム、プログラム製品)を読み出して実行することにより、種々の情報処理、制御処理等を行い、取得部及び出力部等の機能部を実現する。
【0036】
主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等である。主記憶部12は主として制御部11が演算処理を実行するために必要なデータを一時的に記憶する。
【0037】
補助記憶部13はハードディスク又はSSD(Solid State Drive)等であり、制御部11が処理を実行するために必要な制御プログラム1Pや各種DB(Database)を記憶する。また、補助記憶部13は学習モデルMを記憶する。補助記憶部13は、学習DB131、パラメータDB132、観測降水量DB133、及び、観測水位DB134を記憶する。補助記憶部13は情報処理装置1と別体であって、情報処理装置1に外部接続された外部記憶装置であってもよい。補助記憶部13に記憶する各種DB等を、情報処理装置1とは異なるデータベースサーバやクラウドストレージに記憶してもよい。
【0038】
入力部14はキーボードやマウス等である。表示部15は液晶表示パネル又は有機EL(Electro Luminescence)表示パネル等で構成する。入力部14と表示部15とを一体化し、タッチパネルディスプレイを構成してもよい。なお、情報処理装置1は外部の表示装置(ディスプレイ装置)に表示を行ってもよい。
【0039】
通信部16はインターネットや公衆通信網等のネットワークを介して、他のコンピュータと通信を行う。制御部11が通信部16を用い、ネットワーク等を介して他のコンピュータから制御プログラム1Pをダウンロードし、補助記憶部13に記憶してもよい。
【0040】
読み取り部17はCD(Compact Disc)-ROM及びDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読み取り部17を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、補助記憶部13に記憶してもよい。また、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでもよい。
【0041】
図4は学習DBの例を示す説明図である。学習DB131は学習モデルMを学習するための学習データを記憶する。学習DB131は地点番号列、観測地点名列、観測日列、観測時刻列、降水量ベクトル列、及び観測水位列を含む。地点番号列は観測地点を一意に特定可能な地点番号を記憶する。観測地点名列は観測地点の名称、例えば観測所の名称を記憶する。観測日列は水位等を観測した日付を記憶する。観測時刻列は水位等を観測した時刻を記憶する。降水量ベクトル列は、流域内の複数の地点で観測した降水量、ここでは1時間降水量を記憶する。観測水位列は観測地点で観測された水位を記憶する。
【0042】
図5はパラメータDBの例を示す説明図である。パラメータDB132はパラメータの値を記憶する。パラメータDB132は図5に示すように、パラメータ毎のテーブルを複数記憶している。各テーブルはヘッダ1321と、本体1322とを含んでいる。ヘッダ1321はパラメータを示す英文字等を記憶している。本体1322は、添字が取る得る値毎のパラメータ値を記憶する。例えばパラメータWについて図5には以下のことか示されている。Wの添字は、s、i及びjである。添字sは1からSまで値を取る。添字iは1からIまでの値を取る。添字jは1からJまでの値を取る。パラメータDB132は他のパラメータについても、Wと同様な形式で記憶している。
【0043】
図6は観測降水量DBの例を示す説明図である。観測降水量DB133は、降水量観測システムから得た観測降水量を記憶する。観測降水量DB133は河川水位を推測する際に参照される。観測降水量DB133は観測日列、観測時間列及び降水量ベクトル列を含む。観測日列は観測日を記憶する。観測時間列は観測時間を記憶する。観測降水量DB133が1時間降水量を記憶する場合、観測時間列は毎正時を記憶する。観測時間が17時とは、16時0分から17時0分までの合計降水量を観測したことを示す。降水量ベクトル列は複数の降水量観測点の降水量を示す降水量ベクトルを記憶する。例えば降水量ベクトルは、降水量観測点の位置を示す値と降水量と対応付けたデータである。
【0044】
図7は観測水位DBの例を示す説明図である。観測水位DB134は観測水位を記憶する。観測水位DB134は地点番号列、観測日列、観測時間列、予測値列、観測水位列及び誤差列を含む。地点番号列は観測地点を特定する地点番号を記憶する。観測日列は観測日を記憶する。観測時間列は観測時刻を記憶する。予測値列は学習モデルMで予測した予測水位を記憶する。観測水位列は観測した水位を記憶する。誤差列は予測水位から観測した水位の値を記憶する。
【0045】
次に、水位予測システム100が行う情報処理について説明する。図8は学習データ作成処理の手順例を示すフローチャートである。学習データ作成処理は学習DB131に記憶する学習データを作成する処理である。情報処理装置1の制御部11は水位データ(正解値)を取得する(ステップS1)。制御部11は降水量ベクトルを取得する(ステップS2)。制御部11は水位データに含まれる観測日時と、降水量ベクトルに付された観測日時とを突合する(ステップS3)。制御部11はと突合結果に基づき、水位データと降水量ベクトルとを対応付けて学習DB131に記憶し(ステップS4)、処理を終了する。
【0046】
図9は学習処理の手順例を示すフローチャートである。情報処理装置1の制御部11は学習DB131から学習データを取得する(ステップS11)。学習データは、水位の実測データ(ut)および降水量ベクトル(at)を含む。制御部11は調整パラメータの初期値設定を行う(ステップS12)。制御部11は、学習モデルMの順伝搬を計算する(ステップS13)。制御部11は2乗和誤差(L)から損失関数の値を求める(ステップS14)。制御部11は学習を終了するか否かを判定する(ステップS15)。制御部11は、損失関数の値の最小化がこれ以上進まないと判定した場合、終了すると判定する。制御部11は学習を終了しないと判定した場合(ステップS15でNO)、すなわち損失関数の値の最小化が必要と判定した場合、損失関数の調整パラメータに関する勾配を求め、Adam法等の勾配法に従って、調整パラメータを更新し(ステップS16)、処理をステップS13へ戻す。制御部11はステップS13及びステップS14の処理を繰り返し、損失関数が最小値となった調整パラメータを求める。制御部11は学習を終了すると判定した場合(ステップS15でYES)、調整パラメータ、状態変数の初期を、補助記憶部13に記憶し(ステップS17)、処理を終了する。
【0047】
図10は予測処理の手順例を示すフローチャートである。制御部11は、過去の入力データ(実測データと外力データ)を取得する(ステップS31)。制御部11は、状態遷移関数と予測データ出力関数に関するパラメータを学習段階で算出したものに固定し、入力データの下で、最適な状態変数の初期値h0を求める(ステップS32)。制御部11は、この状態変数の初期値から、学習モデルMを順伝搬させ、最新時刻の状態変数を計算する(ステップS33)。制御部11は、未来の時刻において、学習モデルMへ入力する降水量データが取得できるか否かを判定する(ステップS34)。制御部11は降水量データを取得可と判定した場合(ステップS34でYES)、処理をステップS36へ進める。制御部11は降水量データを取得不可と判定した合場合(ステップS34でNO)、予測降水量データを取得する(ステップS35)。予測降水量データは、降水量予測システムから取得する。制御部11は、外力データあるいは予測外力データを入力して、学習モデルMを必要時刻分(p時刻分)だけ順伝搬させ、予測データを計算する(ステップS36)。制御部11は終了するか否かを判定する(ステップS37)。制御部11は終了しないと判定した場合(ステップS37でNO)、次の予測開始までの時間後、この間の入力データを追加取得する(ステップS38)。制御部11はh0の再計算が必要か否かを判定する(ステップS39)。制御部11は、取得した過去の時刻数が少ない場合、h0の再計算が必要と判定する。制御部11はh0の再計算が必要と判定した場合(ステップS39でYES)、処理をステップS32ヘ戻し、追加した入力データも含めてh0の最適化をやり直す。制御部11はh0の再計算が必要でないと判定した場合(ステップS39でNO)、処理をステップS33へ戻す。制御部11は終了すると判定した場合(ステップS37でYES)、処理を終了する。
【0048】
図11は転移学習処理の手順例を示すフローチャートである。転移学習処理は新たな水観測地点が追加された場合に行なう処理である。転移学習処理に先立ち、追加された観測地点を含めた学習データが学習DB131に記憶してあるとする。情報処理装置1の制御部11は学習DB131から学習データを取得する(ステップS51)。学習データは、水位の実測データ(ut)および降水量ベクトル(at)を含む。制御部11は、学習モデルMの順伝搬を計算する(ステップS52)。制御部11は2乗和誤差(L)から損失関数の値を求める(ステップS53)。失関数の値の最小化がこれ以上進まないと判定した場合、終了すると判定する。制御部11は学習を終了しないと判定した場合(ステップS54でNO)、すなわち損失関数の値の最小化が必要と判定した場合、損失関数の調整パラメータに関する勾配を求め、Adam法等の勾配法に従って、調整パラメータを更新し(ステップS55)、処理をステップS52へ戻す。
【0049】
転移学習において、更新する調整パラメータは、関数E及びGに関するもので、関数Fのパラメータは固定する。上述の式(1)及び式(4)のパラメータを調整する。
【0050】
制御部11はステップS52及びステップS53の処理を繰り返し、損失関数が最小値となった調整パラメータを求める。制御部11は学習を終了すると判定した場合(ステップS54でYES)、調整パラメータ、状態変数の初期を、補助記憶部13に記憶し(ステップS56)、処理を終了する。
【0051】
本実施の形態においては、河川状態の時間発展式は全観測地点のデータを用いて近似することが可能になるため、学習データの少ない観測地点においても高精度な学習モデルMが作成可能となる。更に、新しい観測地点での学習モデルMを作成する場合、関数Fの調整パラメータを固定し、関数E及びGのみの調整パラメータを学習する転移学習が可能である。このように、調整パラメータを最小限に削減することで、観測データが少ない地点でも学習が可能となる。
【0052】
上述したように、式(2)に実現象とモデル間での同期の最適化を用いる等の対策が必要である。以下に、実現象とモデル間での同期の最適化について説明する。
【0053】
図12はリカレントニューラルネットワークシステムの構成例を示す説明図である。リカレントニューラルネットワークシステムは、CRNN(同期用リカレントニューラルネットワーク)とPRNN(予測用リカレントニューラルネットワーク)とを有する。図12では、それぞれのリカレントニューラルネットワークCRNNとPRNNとについて、時刻tから時刻t+pまでの間を示し、時系列データについて情報がどのようにネットワークを伝搬するのかを示している。pは要求される予測期間を表す。
【0054】
時刻tにおける実測データをut、降水量ベクトルをatと表す。CRNNの時刻tにおける状態変数(隠れ層状態変数)をht *と表し、その状態を引数に関数G(ht *)で出力されるハットつきut *を事後予測データと呼ぶ(式(12))。ht *は式(11)で決定される。
【0055】
【数8】
【0056】
ここで、δt *は事後予測データの実測データに対する誤差、ハットつきut * - utである。時刻tでutが欠損の場合、δt *は0とする。このため、CRNNの時間間隔は実測データが与えられる時間間隔と一致する必要はない。δt *の入力により状態変数を最適に修正することで、CRNNは状態変数と実現象との同調を長時間保つように学習できる。状態変数の修正に、誤差の成分数が十分でない場合、複数の過去の時刻の誤差を用いる。例えば2時刻分の誤差を用いる場合、ハットつきut-1 *- ut-1の成分とハットつきut *- utの成分を合わせて、δt *とする。
【0057】
【数7】
【0058】
PRNNは連続する予測期間における予測データを生成する。PRNNの時刻tにおける状態変数をhtと表し、その状態を引数に前記関数G(ht)で予測データ・ハットつきutが求められる。htは前記関数 F(ht-1,ハットつきat,0)で決定される。ハットつきのatはハットつきat=atあるいは降水量データの予測値を表す。予測段階において将来の降水量データが得られる場合、学習段階と予測段階のどちらにも、ハットつきatはatそのものを用いる。予測段階において将来の降水量データが得られない場合、予測段階ではハットつきatは降水量データの予測値とし、学習段階ではatあるいはその予測値の適切な方を用いる。
【0059】
学習段階ではT時刻分の連続する入力データ(実測データ、降水量データ等)を本発明リカレントニューラルネットワークに入力して、ネットワークを順伝搬させる。このとき、必要となる予測開始時刻(tn(n=1,2,…))毎に、CRNNの状態変数を用いてPRNNの状態変数を上書きする。
【0060】
【数9】
【0061】
順伝搬により得られたCRNNの誤差δt*とPRNNの誤差δtを用いて損失関数の最小化より、調整パラメータを求める。前記モデル例において、2乗誤差を損失関数に用いる場合、以下の誤差最小化原理により調整パラメータ及び状態変数の初期値h0を得る。学習データに、連続する時系列データが複数ある場合、全ての誤差の総和(重み付き総和誤差)を損失関数とする。
【0062】
予測段階では状態変数の時間発展関数Fと予測データの出力関数Gに関する調整パラメータは、学習段階で得たものを固定して用いる。時刻t+1から時刻t+pまでの予測を行う場合、状態変数の初期値h0 *が得られていないとき、時刻tまでの入力データを用いてh0 *のみを勾配法の最適化により求める。このh0 *からCRNNの順伝搬を計算し、予測時刻直前の状態変数ht *を得る。次に、状態変数の初期値をht=ht *として、PRNNを時刻t+1から時刻t+pまで順伝搬させて、時刻t+1から時刻t+pまでの予測データを得る。
【0063】
以上のリカレントニューラルネットワークを用いることにより、長期間の時系列データの下での学習、及び、長期間に渡る水位の予測が可能となる。
【0064】
各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
また、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【符号の説明】
【0065】
100 水位予測システム
1 情報処理装置
11 制御部
12 主記憶部
13 補助記憶部
131 学習DB
132 パラメータDB
133 観測降水量DB
134 観測水位DB
14 入力部
15 表示部
16 通信部
17 読み取り部
1P 制御プログラム
1a 可搬型記憶媒体
1b 半導体メモリ
2 監視端末
3 監視サービス
B バス
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12