(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】推定装置、推定方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241112BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023518558
(86)(22)【出願日】2021-05-06
(86)【国際出願番号】 JP2021017409
(87)【国際公開番号】W WO2022234625
(87)【国際公開日】2022-11-10
【審査請求日】2023-11-01
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】窪澤 駿平
(72)【発明者】
【氏名】大西 貴士
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2020-112847(JP,A)
【文献】米国特許出願公開第2011/0060703(US,A1)
【文献】欧州特許出願公開第3564889(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデル
が、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定する推定手段
を備える推定装置。
【請求項2】
前記推定手段の推定結果に基づいて、前記項目に関する操作の妥当性を説明する説明手段
をさらに備える請求項
1に記載の推定装置。
【請求項3】
前記推定手段の推定結果に基づいて、前記過去値の出力元である推定対象に関する強化学習におけるエージェントの行動の優先度を調整する優先度調整手段
をさらに備える請求項1
または請求項2に記載の推定装置。
【請求項4】
コンピュータが、
複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデル
が、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定する
ことを含む推定方法。
【請求項5】
コンピュータに、
複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデル
が、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定する
処理を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推定装置、推定方法およびプログラムに関する。
【背景技術】
【0002】
人工知能(Artificial Intelligence;AI)等によって、例えば、プラントにおける各装置、ロボット等の制御対象を制御する場合、AIによる解析結果の妥当性をチェックし、妥当な場合には、AI等の出力に従い制御対象を制御する必要がある。そのような一例として、プラントなどの観測対象における複数の観測点の関係を示す数式を構築し、観測点間の相関性を解析する方法が提案されている。
例えば、特許文献1には、貯水設備の貯水量と、貯水設備に接続された複数の管路それぞれの流入出量とに基づいて、貯水設備での流出入に使用されている管路を推定する方法が記載されている。
【0003】
特許文献1に記載の方法では、管路の流入出量の合計が、貯水設備の貯水量の変化分に等しいことを示す式を、複数の時刻それぞれについて構築する。このとき、管路の流入出量には値が未知の係数が乗算される。そして、特許文献1に記載の方法では、管路の流入出量の合計と貯水設備の貯水量の変化との2乗誤差の、全ての時刻についての合計が最小となるように、管路の流入出量の係数値を決定する。特許文献1に記載の方法では、決定した係数値が-1または1に近い管路を、貯水設備での流入出に使用されている管路と推定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができれば、担当者が数理モデルを構築する負担を軽減することができ、また、数理モデルを構築できない場合でも関係性を推定することができる。
【0006】
本発明の目的の一例は、上述した課題を解決することのできる推定装置、推定方法およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明の第一の態様によれば、推定装置は、複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデルが、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定する。
【0008】
本発明の第二の態様によれば、推定方法では、コンピュータが、複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデルが、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定することを含む。
【0009】
本発明の第三の態様によれば、プログラムは、コンピュータに、複数の項目の過去値またはそれらの一部の前記項目の過去値の入力を受けて1つ以上の前記項目の予測値を出力する予測モデルが、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して出力する前記第1項目の予測値の予測精度と、前記予測モデルが、前記項目の組み合わせから前記第2項目を除いた項目の過去値の入力に対して出力する前記第1項目の予測値の予測精度とに基づいて、前記第1項目と前記第2項目との関係性を推定する処理を行わせるためのプログラムである。
【発明の効果】
【0010】
本発明によれば、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態に係るシステムの構成の例を示す概略ブロック図である。
【
図2】第1実施形態に係る推定装置の構成の例を示す図である。
【
図3】第1実施形態に係る予測モデルの第1の例を示す図である。
【
図4】第1実施形態に係る推定装置が、予測モデルによる予測精度に基づいて項目間の相関関係を推定する処理の手順の例を示す図である。
【
図5】第1実施形態に係る予測モデルの第2の例を示す図である。
【
図6】第1実施形態に係る推定装置が、入力項目に対する重み付けノードを含む予測モデルを用いて項目間の相関関係を推定する処理の手順の例を示す図である。
【
図7】第1実施形態に係るモデル処理部が、予測モデルへの入力項目に対する重み付けを行う構成の例を示す図である。
【
図8】第1実施形態に係るモデル処理部が予測モデルへの入力項目に対する重み付けを行う場合の、推定装置が項目間の相関関係を推定する処理の手順の例を示す図である。
【
図9】第2実施形態に係る推定装置の構成の例を示す図である。
【
図10】第3実施形態に係る推定装置の構成の例を示す図である。
【
図11】第4実施形態に係る推定装置の構成の例を示す図である。
【
図12】第5実施形態に係る推定方法における処理手順の例を示す図である。
【
図13】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0013】
<第1実施形態>
図1は、第1実施形態に係るシステムの構成の例を示す概略ブロック図である。
図1に示す構成で、システム1は、推定装置100と、推定対象900とを備える。
【0014】
推定対象900は、推定装置100による推定の対象となる。推定対象900は、推定装置100が値を取得可能な項目を複数有し、推定装置100は、推定対象900における複数の項目間の関係性を推定する。
以下では、推定装置100が、推定対象900における複数の項目間の相関関係を推定する場合を例に説明する。ただし、推定装置100が推定する関係性は、特定のものに限定されない。例えば、推定装置100が、因果関係を推定するようにしてもよい。推定装置200および推定装置300についても同様である。
推定対象900における項目は、推定装置100がその項目の値を取得可能なものであればよく、特定の種類のものに限定されない。
【0015】
例えば、推定対象900における項目には、センサによる測定対象の項目が含まれていてもよい。
推定対象900における項目がセンサによる測定対象の項目である場合、その項目は、推定対象900内の所定の位置における電流など、推定対象900自体の項目であってもよい。あるいは、その項目は、推定対象900が設置された部屋の室温など、推定対象900の周囲環境に関する項目であってもよい。
【0016】
また、推定対象900における項目には、推定対象900に対する操作、または、推定対象900に対する制御指令、あるいはこれら両方が含まれていてもよい。推定対象900における項目が推定対象900に対する操作である場合、操作量を項目値として用いることができる。推定対象900における項目が推定対象900に対する制御指令である場合、制御指令値を項目値として用いることができる。
推定対象900における項目を、単に項目とも称する。
【0017】
推定装置100は、推定対象900における項目の過去値を取得し、過去値が観測された時刻よりも未来における項目値を予測する。ここでいう過去値は、予測対象の時刻よりも過去の時刻における値である。予測による項目値を予測値とも称する。
【0018】
以下では、時刻を時間ステップ毎の連番で、1、・・・、t-1、t、t+1、のように表記する。推定装置100は、時間ステップにおける時刻毎の過去値を取得し、時間ステップにおける時刻で、過去値が観測された時刻よりも未来の時刻における項目値を予測するものとする。例えば、推定装置100は、時刻1、・・・、t-1、tまでの項目値の時系列データを取得し、時刻t+1における項目値を予測する。
時刻は、必ずしも、1ステップごとでなくともよく、たとえば、2ステップと1ステップとが混在しているような、相互に異なるようなステップ間隔が含まれているような時刻ステップによって表されていてもよい。あるいは、時刻は、連続値によって表されていてもよい。時刻の表し方は、上述した例に限定されない。説明の便宜上、時刻1、・・・、t-1、tまでの各時刻について、項目値の時系列データを習得するものとする。
【0019】
推定対象900は、推定装置100が過去値を取得可能な項目が複数あるいろいろなものとすることができ、特定のものに限定されない。例えば、推定対象900は、化学プラント、蒸留塔、航空管制システム、または、鉄道システムの何れかであってもよいが、これに限定されない。
また、推定対象900は、複数の装置を含むシステムであってもよいし、単体の装置であってもよいし、装置の部分であってもよい。
【0020】
推定装置100は、過去値の入力を受けて予測値を出力する予測モデルを用いて予測値を算出する。また、推定装置100は、この予測モデルを用いて項目間の相関関係を推定する。予測モデルへの入力となる項目を、入力項目とも称する。予測モデルからの出力となる項目を、出力項目とも称する。
【0021】
予測モデルは、学習可能なモデルであればよく、特定の種類のモデルに限定されない。例えば、予測モデルがニューラルネットワーク、または、サポートベクターマシン等の機械学習アルゴリズムを用いて構成されていてもよいが、これに限定されない。
推定装置100は、例えばコンピュータを用いて構成される。
【0022】
図2は、推定装置100の構成の例を示す図である。
図2に示す構成で、推定装置100は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部190とを備える。制御部190は、モデル処理部191と、推定部192とを備える。
【0023】
通信部110は、他の装置と通信を行う。例えば、通信部110が推定対象900と通信を行って、時間ステップにおける時刻毎に推定対象900から過去値を受信するようにしてもよい。あるいは、通信部110が、訓練データを提供するサーバ装置から、推定対象900における項目の過去値による訓練データを受信するようにしてもよい。この訓練データが、予測モデルの学習に用いられてもよい。
【0024】
表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネルなどの表示画面を備え、各種画像を表示する。例えば、表示部120が、推定装置100による相関関係の推定結果を表示するようにしてもよい。
操作入力部130は、例えばキーボードおよびマウスなどの入力デバイスを備え、ユーザ操作を受け付ける。例えば、操作入力部130が、項目間の相関関係の推定を指示するユーザ操作を受け付けるようにしてもよい。
【0025】
記憶部180は、各種データを記憶する記憶部180は、推定装置100が備える記憶デバイスを用いて構成される。
制御部190は、推定装置100の各部を制御して各種処理を行う。制御部190の機能は、推定装置100が備えるCPU(Central Processing Unit、中央処理装置)が記憶部180からプログラムを読み出して実行することで実行されてもよい。
【0026】
モデル処理部191は、予測モデルに関する各種処理を行う。ここでいう予測モデルは、複数の項目の過去値またはそれらの一部の項目の過去値の入力を受けて1つ以上の項目の予測値を出力するモデルである。出力項目は、入力項目と同じであってもよいし、異なっていてもよい。
モデル処理部191は、例えば、予測モデルに過去値を入力して予測値を算出する。また、モデル処理部191は、予測モデルの学習を制御する。
モデル処理部191は、モデル処理手段の例に該当する。
推定部192は、予測モデルを用いて項目間の相関関係を推定する。
推定部192は、推定手段の例に該当する。
【0027】
推定部192が、予測モデルによる予測精度に基づいて、項目間の相関関係を推定するようにしてもよい。
図3は、予測モデルの第1の例を示す図である。
図3は、予測モデルが項目X、Y、Zの3つの項目の過去値の入力を受けて、項目X、Y、Zそれぞれの予測値を出力する場合の例を示している。項目X、Y、Zの値は、推定対象900に設けられたセンサX、Y、Zによるセンサ測定値であってもよい。
【0028】
ただし、予測モデルへの入力項目の個数は2つ以上であればよく、特定の個数に限定されない。また、予測モデルが、入力項目のうち一部の項目についてのみ予測値を出力するようにしてもよい。また、予測モデルへの入力項目は、センサによる項目に限定されない。
【0029】
図3の例で、予測モデルは、項目Xの過去値の時系列データX
t
(k)と、項目Yの過去値の時系列データY
t
(l)と、項目Zの過去値の時系列データZ
t
(m)との入力を受ける。
X
t
(k)は、時刻tからそのkステップ(kは自然数)前までの時刻における項目Xの過去値の時系列データを表す。X
t
(k)=X
t-k、・・・X
tと表される。同様に、Y
t
(l)=Y
t-l、・・・Y
t(lは自然数)と表される。Z
t
(m)=Z
t-m、・・・Z
t(mは自然数)と表される。kとlとmとは、同じ値であってもよいし、異なる値であってもよい。
予測モデルは、X
t
(k)、Y
t
(l)およびZ
t
(m)の入力に対して、時刻t+1における項目Xの予測値X
t+1と、時刻t+1における項目Yの予測値Y
t+1と、時刻t+1における項目Zの予測値Z
t+1とを出力する。
【0030】
推定部192は、予測モデルへの入力項目の違いによる予測精度の違いに基づいて、項目間の相関関係を推定する。
例えば、モデル処理部191が、時系列データXt
(k)およびYt
(l)の両方を予測モデルに入力したときの予測値Xt+1と、Xt
(k)およびYt
(l)のうちXt
(k)のみを予測モデルに入力したときの予測値Xt+1とを算出する。推定部192は、時系列データXt
(k)およびYt
(l)の両方を予測モデルに入力したときと、Xt
(k)およびYt
(l)のうちXt
(k)のみを予測モデルに入力したときとの予測精度の違いに基づいて、項目XとYとの相関性の有無を推定する。
時系列データXt
(k)およびYt
(l)の両方を予測モデルに入力したときの予測値Xt+1は、式(1)のように表される。
【0031】
【0032】
時系列データXt
(k)およびYt
(l)のうちXt
(k)のみを予測モデルに入力したときの予測値Xt+1は、式(2)のように表される。
【0033】
【0034】
時系列データXt
(k)およびYt
(l)の両方を予測モデルに入力する場合と、時系列データXt
(k)およびYt
(l)のうちXt
(k)のみを予測モデルに入力する場合とで、同じ予測モデルを用いることから、式(1)、(2)の何れでも予測モデルを関数fで表している。
式(1)の場合のほうが式(2)の場合よりも予測値Xt+1の予測精度が高い場合、項目XとYとの間に相関性があると推定できる。一方、式(1)の場合と式(2)の場合とで予測値Xt+1の予測精度が同じである場合、項目XとYとは無相関であると推定できる。ここでいう無相関は、相関性が無いことである。
【0035】
例えば、推定部192は、時系列データXt
(k)およびYt
(l)の両方を予測モデルに入力したときの予測値Xt+1の予測精度と、Xt
(k)およびYt
(l)のうちXt
(k)のみを予測モデルに入力したときの予測値Xt+1の予測精度との差異を算出する。そして、推定部192は、算出した差異と所定の閾値とを比較し、差異が閾値以上であると判定した場合、項目XとYとの間に相関性があると推定する。一方、差異が閾値よりも小さいと判定した場合、推定部192は、項目XとYとは無相関であると推定する。この場合に、所定の閾値は、項目についての相関性の有無を判定する基準を表す。
【0036】
ここでの予測精度は比較可能なものであればよく、特定の種類の予測精度に限定されない。
例えば、推定部192が、モデル処理部191が算出する予測値と、訓練データで正解として提示される予測値との誤差の大きさを予測精度として算出するようにしてもよい。この場合、推定部192は、誤差の大きさが小さいほど予測精度が高いと評価する。
【0037】
あるいは、モデル処理部191が予測モデルへの入力項目の複数通りの組み合わせそれぞれについて複数の時刻の予測値を算出するようにしてもよい。そして、推定部192が、入力項目の組み合わせ毎、かつ、時刻毎に、予測値と正解との誤差の大きさと所定の閾値とを比較して、予測が正しいか誤りかを判定するようにしてもよい。そして、推定部192が、入力項目の組み合わせ毎に正解率を算出し、予測精度として用いるようにしてもよい。
【0038】
図4は、推定装置100が、予測モデルによる予測精度に基づいて項目間の相関関係を推定する処理の手順の例を示す図である。
図4は、モデル処理部191が第1項目の予測値を算出し、推定部192が第1項目と第2項目との相関関係を推定する場合の例を示している。
図4の処理で、モデル処理部191は、第1項目と第2項目とを含む項目の組み合わせにおける過去値を予測モデルに入力して、第1項目の予測値を算出する(ステップS11)。
推定部192は、ステップS11でモデル処理部191が算出する第1項目の予測値を正解データと比較して、第1項目の予測精度を算出する(ステップS12)。
【0039】
また、モデル処理部191は、ステップS11での項目の組み合わせから第2項目を除いた項目の過去値を予測モデルに入力して、第1項目の予測値を算出する(ステップS13)。
推定部192は、ステップS13でモデル処理部191が算出する第1項目の予測精度を算出する(ステップS14)。
【0040】
そして、推定部192は、ステップS12で算出した予測精度と、ステップS14で算出した予測精度とを比較して、第1項目と第2項目との相関関係を推定する(ステップS15)。
例えば、推定部192は、ステップS12で算出した予測精度から、ステップS14で算出した予測精度を減算した差を算出する。そして、推定部192は、算出した差と所定の閾値とを比較して、ステップS12で算出した予測精度のほうが、閾値以上に精度が高いか否かを判定する。閾値以上に精度が高いと判定した場合、推定部192は、第1項目と第2項目との間に相関性があると推定する。一方、閾値以上に精度が高くないと判定した場合、推定部192は、第1項目と第2項目とは無相関であると推定する。
ステップS15の後、推定装置100は、
図4の処理を終了する。
【0041】
推定部192が、項目間の相関性の有無に加えて、あるいは代えて、相関性の強さを推定するようにしてもよい。
例えば、ステップS15で、推定部192が、ステップS12で算出した予測精度と、ステップS14で算出した予測精度との差異を、相関性の強さを示す指標値として出力するようにしてもよい。
【0042】
第2項目を入力項目に加えた場合のほうが、加えない場合よりも第1項目の値の予測精度が高い場合、推定部192が、第2項目が要因となり第1項目が結果となる因果関係があると推定するようにしてもよい。
例えば、ステップS15で、推定部192が、ステップS12で算出した予測精度のほうが、ステップS14で算出した予測精度よりも閾値以上に精度が高いと判定した場合、第2項目が要因となり第1項目が結果となる因果関係があると推定するようにしてもよい。
【0043】
推定部192が、予測モデルにおける入力項目に対する重み付けに基づいて項目間の相関関係を推定するようにしてもよい。
図5は、予測モデルの第2の例を示す図である。
図5は、入力項目に対する重み付けノードを含む予測モデルの例を示す。また、
図5は、予測モデルが項目X、Yの2つの項目の過去値の入力を受けて、項目Xの予測値を出力する場合の例を示している。
【0044】
ただし、
図3を参照して説明したように、予測モデルへの入力項目の個数は2つ以上であればよく、特定の個数に限定されない。また、予測モデルが、入力項目のうち一部の項目についてのみ予測値を出力するようにしてもよいし、入力項目の全ての項目について予測値を出力するようにしてもよい。また、予測モデルへの入力項目は、センサによる項目など特定の種類の項目に限定されない。
【0045】
図5の例で、ノードN11およびN12は、入力ノードである。ノードN21およびN22は、重みノードである。ノードN31およびN32は、重み付けノードである。ノードN41は出力ノードである。ノードN31およびN32とノードN41との間の層で、ノードN31の出力およびN32の出力に対する処理が行われてもよい。
【0046】
ノードN11は、項目Xの過去値の時系列データXt
(k)の入力を受ける。ノードN11が、項目Xの過去値をそのまま出力するようにしてもよいし、ノードN11で、項目Xの過去値に対する処理が行われていてもよい。
ノードN12は、項目Yの過去値の時系列データYt
(l)の入力を受ける。ノードN12が、項目Yの過去値をそのまま出力するようにしてもよいし、ノードN12で、項目Yの過去値に対する処理が行われていてもよい。
【0047】
ノードN21は、項目Xの過去値に対する重みを記憶する。
図5の例では、項目Xの過去値に対する重みは1となっている。
ノードN22は、項目Yの過去値に対する重みを記憶する。
図5の例では、項目Yの過去値に対する重みは0となっている。
ノードN31は、ノードN11の値にノードN21の値を乗算することで、項目Xの過去値に対する重み付けを行う。ノードN32は、ノードN12の値にノードN22の値を乗算することで、項目Xの過去値に対する重み付けを行う。
【0048】
図5の例のように、重みノードが記憶する重みが1または0の何れかである場合、重み付けノードによる重み付けは、入力データに対するマスクの役割を果たす。
図5の例では、ノードN21の値が1であるので、項目Xの過去値の時系列データX
t
(k)が項目Xの予測値X
t+1の算出に用いられる。これに対し、ノードN22の値が0であるので、項目Yの過去値の時系列データY
t
(l)は、項目Xの予測値X
t+1の算出には用いられない。
【0049】
ただし、重みノードが記憶する重みは、1または0に限定されない。例えば、重みノードが、0以上かつ1以下の実数値を重みとして記憶するようにしてもよい。
重みノードが記憶する全ての重みの合計が1であるなど、重みノードが記憶する重みに何らかの制約条件が設けられていてもよい。
【0050】
モデル処理部191が、予測モデルの学習を行う際、重みノードが記憶する重みも学習対象に含む。
ここでいう予測モデルの学習は、訓練データに基づいて予測モデルのパラメータ値を調整することである。例えば、モデル処理部191は、項目Xの過去値の時系列データXt
(k)と、項目Yの過去値の時系列データYt
(l)と、項目Xの予測値Xt+1の正解値とを含む訓練データを取得する。そして、モデル処理部191は、ノードN41の値が正解値に近付くように、重みノードが記憶する重みなど予測モデルのパラメータ値を調整する。
【0051】
学習済みの予測モデルにおける重みは、重み付けされる項目の、予測値の算出に対する寄与度を表していると考えることができる。寄与度が大きい項目程、予測値が算出される出力項目との相関性が強いと考えることができる。
そこで、推定部192は、学習済みの予測モデルにおける重みに基づいて、項目間の相関関係を推定する。
【0052】
図5の例のように、重みが1または0の値をとる場合、推定部192が、重み1で重み付けされる入力項目は出力項目との相関性があり、重み0で重み付けされる入力項目は出力項目と無相関であると推定するようにしてもよい。
あるいは、重みが0以上かつ1以下の実数値をとる場合、推定部192が、重みと所定の閾値とを比較するようにしてもよい。そして、推定部192が、閾値以上に大きい重みで重み付けされる入力項目は出力項目と相関性があり、閾値よりも小さい重みで重み付けされる入力項目は出力項目と無相関であると推定するようにしてもよい。
【0053】
推定部192が、項目間の相関性の有無に加えて、あるいは代えて、相関性の強さを推定するようにしてもよい。
例えば、推定部192が、入力項目毎の重みを、その入力項目と出力項目との相関性の強さを示す指標値として出力するようにしてもよい。
【0054】
図6は、推定装置100が、入力項目に対する重み付けノードを含む予測モデルを用いて項目間の相関関係を推定する処理の手順の例を示す図である。
図6の処理で、モデル処理部191は、訓練データを用いて予測モデルの学習を行う(ステップS21)。モデル処理部191は、入力項目に重み付けされる重みを学習対象に含んで、予測モデルの学習を行う。
【0055】
次に、推定部192は、学習済みの予測モデルにおける重みに基づいて項目間の相関関係を推定する(ステップS22)。例えば、重みが1または0の値をとる場合、推定部192は、重み1で重み付けされる入力項目は出力項目との相関性があり、重み0で重み付けされる入力項目は出力項目と無相関であると推定する。
ステップS22の後、推定装置100は、
図6の処理を終了する。
【0056】
予測モデル内での入力項目に対する重み付けに代えて、モデル処理部191が、予測モデルへの入力項目に対する重み付けを行うようにしてもよい。
図7は、モデル処理部191が、予測モデルへの入力項目に対する重み付けを行う構成の例を示す図である。
図7に例示される構成が、モデル処理部191の一部として設けられていてもよい。
【0057】
図7は、モデル処理部191が、項目X、Y、Zの過去値の時系列データX
t
(k)、Y
t
(l)、Z
t
(m)に対して重み付けを行って予測モデルに入力する場合の例を示している。また、
図7の例では、予測モデルは、予測値X
t+1、Y
t+1およびZ
t+1を出力する。
【0058】
ただし、
図3および
図5を参照して説明したように、予測モデルへの入力項目の個数は2つ以上であればよく、特定の個数に限定されない。また、予測モデルが、入力項目のうち一部の項目についてのみ予測値を出力するようにしてもよいし、入力項目の全ての項目について予測値を出力するようにしてもよい。また、予測モデルへの入力項目は、センサによる項目など特定の種類の項目に限定されない。
【0059】
図7の例で、時系列データX
t
(k)、Y
t
(l)、Z
t
(m)は、それぞれ再帰型ニューラルネットワーク(Recurrent Neural Network;RNN)および正規化器を経由して重み行列に入力される。
再帰型ニューラルネットワークは、時系列データに含まれる複数の時刻のデータを予測モデルへの入力値に反映させるために設けられている。
【0060】
正規化器は、重み行列への入力値がとり得る範囲(レンジ)を入力項目間で揃える正規化を行う。正規化器が正規化を行う方法として、畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)におけるバッチノーマライゼーション(Batch Normalization)の方法を用いるようにしてもよいが、これに限定されない。
【0061】
重み行列は、入力項目毎かつ予測モデル毎に、予測モデルへの入力データに対する重み付けを行う。重み行列は、
図7の例における重み行列τは、式(3)のように示される。
【0062】
【0063】
行列の各要素は、予測モデルに対する重みとして用いられる。要素名の下付きの添字は、入力項目名と出力項目名とを小文字で示している。
例えば、重みtxxは、項目Xの過去値の時系列データXt
(k)が、再帰型ニューラルネットワークおよび正規化器を経由したデータに対する重みとして乗算される。重みtxxで重み付けされたデータは、項目Xの予測値Xt+1を出力する予測モデルに入力される。
【0064】
重みtyzは、項目Yの過去値の時系列データYt
(l)が、再帰型ニューラルネットワークおよび正規化器を経由したデータに対する重みとして乗算される。重みtyzで重み付けされたデータは、項目Zの予測値Zt+1を出力する予測モデルに入力される。
【0065】
重み行列の各要素である重みは、モデル処理部191によって設定される。モデル処理部191が、重み行列の各要素の値を、0以上かつ1以下の実数の範囲でランダムに設定するようにしてもよい。この場合の要素の範囲は式(4)のように示される。
【0066】
【0067】
式(4)では、「*」は、「x」、「y」、「z」の何れかの値をとるワイルドカードを示す。
【0068】
モデル処理部191は、重み行列の設定を行う毎に、同じ訓練データを用いて予測モデルの学習を繰り返す。予測値の予測精度が高い学習で重みの値が大きく設定されている入力項目は、出力項目との相関性が高いと考えられる。
そこで、推定部192が、出力項目毎に、予測値の予測精度が高い順に学習結果を順位付けするようにしてもよい。そして、推定部192が、予測精度が高い学習結果で重みが大きく設定されている入力項目と、出力項目との相関性が強いと推定するようにしてもよい。
【0069】
例えば、推定部192が、出力項目毎に、予測精度が所定の閾値以上に高い学習結果を選択し、その出力項目の予測値を出力する予測モデルへの入力データに対する重みのそれぞれについて、全て学習結果における平均値を算出するようにしてもよい。そして、推定部192が、算出した平均値を出力項目と入力項目との相関性の強さを示す指標値として用いるようにしてもよい。
【0070】
さらに例えば、推定部192は、項目Xの予測値Xt+1の推定精度が所定の閾値以上に高い学習結果を選択する。そして、推定部192は、予測値Xt+1を出力する予測モデルへの入力データに対する重みtxx、tyx、tzxのそれぞれについて、選択した学習結果における平均値を算出する。推定部192は、算出した平均値を入力項目と出力項目との相関性の強さを示す指標値として算出する。
あるいは、推定部192が、算出した平均値と所定の閾値とを比較し、平均値が閾値以上の場合は入力項目と出力項目との相関性があると推定し、平均値が閾値未満の場合は入力項目と出力項目とは無相関であると推定するようにしてもよい。
【0071】
図8は、モデル処理部191が予測モデルへの入力項目に対する重み付けを行う場合の、推定装置100が項目間の相関関係を推定する処理の手順の例を示す図である。
図8の処理で、推定装置100は、予測モデルの学習を繰り返すループL11を開始する(ステップS31)。
【0072】
次に、モデル処理部191は、重み行列の各要素の値を設定する(ステップS32)。重み行列の要素は、予測モデルへの入力データに対する重みとして用いられる。モデル処理部191が、重み行列の各要素の値を、0以上かつ1以下の実数値の範囲でランダムに設定するようにしてもよい。
【0073】
次に、モデル処理部191は、予測モデルの学習を行う(ステップS33)。モデル処理部191が、ステップS33の処理を実行する毎に、予測モデルのパラメータ値を初期化した後、同じ訓練データを用いて予測モデルの学習を行うようにしてもよい。
再帰型ニューラルネットワークおよび正規化器については、一旦設定が完了すれば各学習に共通で用いることができる。したがって、再帰型ニューラルネットワークおよび正規化器については、ステップS33の処理毎に学習を行う必要は無い。
【0074】
次に、推定部192は、ステップS33での学習結果に基づいて、出力項目毎に予測値の予測精度を算出する(ステップS34)。
そして、推定装置100は、ループL11の終端処理を行う(ステップS35)。推定装置100は、所定の回数だけループL11を繰り返す。
【0075】
推定装置100がループL11の処理を終了した後、推定部192が、項目間の相関関係を推定する(ステップS36)。例えば、推定部192は、上記のように出力項目毎に、予測値の予測精度の高い順に学習結果を順位付けし、予測精度の高い学習結果における重みに基づいて、項目間の相関関係を推定する。
ステップS36の後、推定装置100は、
図8の処理を終了する。
【0076】
以上のように、推定部192は、複数の項目の過去値またはそれらの一部の項目の過去値の入力を受けて1つ以上の項目の予測値を出力する予測モデルを用いて、項目の間の関係性を推定する。
推定装置100は、この予測モデルの学習を行うことができる。推定装置100によれば、この点で、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
【0077】
また、推定部192は、第1項目と第2項目とを含む項目の組み合わせにおける過去値の入力に対して予測モデルが出力する第1項目の予測値の予測精度と、その項目の組み合わせから第2項目を除いた項目の過去値の入力に対して予測モデルが出力する第1項目の予測値の予測精度とに基づいて、第1項目と第2項目との関係性を推定する。
【0078】
推定装置100は、この予測モデルの学習を行うことができる。推定装置100によれば、この点で、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
また、推定装置100によれば、学習済みの予測モデルを用いて項目間の関係性を推定することができ、相関関係を推定するために毎回学習を行う必要がない点で、比較的短時間で関係性を推定することができる。
また、推定装置100によれば、流動的なデータの入力を受けて関係性の推定を繰り返すことができ、この点で、動的に変化する関係性を推定することができる。
【0079】
予測モデルは、項目毎の重みで過去値に対する重み付けを行う重み付けノードを含む。予測モデルの学習は、項目毎の重みの学習を含む。推定部192は、学習済みの予測モデルにおける重みに基づいて、項目の間の関係性を推定する。
推定装置100によれば、予測モデルの学習を行うことで項目間の関係性を推定することができ、この点で、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
【0080】
また、モデル処理部191は、複数の項目に対して複数通りの重み付けを行い、それぞれの重み付けで前記予測モデルによる同一の項目の値の予測の学習を行う。推定部192は、それぞれの重み付けでの学習済みの予測モデルによる同一の項目の値の予測精度に基づいて、項目の間の関係性を推定する。
推定装置100によれば、予測モデルの学習を行うことで項目間の関係性を推定することができ、この点で、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
【0081】
<第2実施形態>
第2実施形態では、第1実施形態に係る推定装置100の使用方法の例について説明する。
図9は、第2実施形態に係る推定装置の構成の例を示す図である。
図9に示す構成で、推定装置200は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部290とを備える。制御部290は、モデル処理部191と、推定部192と、説明部291とを備える。
【0082】
図9の各部のうち
図2の各部に対応して同様の構成を有する部分には同一の符号(110、120、130、180、190、191、192)を付し、ここでは詳細な説明を省略する。
推定装置200は、制御部290が、
図2の制御部190の各部に加えてさらに説明部291を備える点で、推定装置100と異なる。それ以外の点では、推定装置200は推定装置100と同様である。推定装置200は、推定装置100の例に該当する。
図1の構成における推定装置100に代えて推定装置200を用いることができる。
【0083】
説明部291は、推定部192の推定結果に基づいて、項目に関する操作の妥当性を説明する。説明部291は、説明手段の例に該当する。
例えば、推定対象900が蒸留塔であり、蒸留塔のガイドシステムが、蒸留によって得られる製品の濃度を所定の濃度にするために、ボイラを操作することを運転員に案内すること場合を考える。この場合、ボイラを操作することと製品の濃度を変化させることとの関係が明確でないときは、ボイラを操作することの妥当性を運転員に説明できることが好ましい。
推定部192が、ボイラを操作することと製品の濃度を変化させることとの間に相関性があると推定していれば、この推定結果を、ボイラを操作することの妥当性の説明として運転員に提示することができる。
【0084】
推定装置200が、相関関係の推定結果に基づいて、推定対象を制御するようにしてもよい。
例えば、表示部120が、項目間の相関関係の推定結果と、推定結果の相関関係を採用するか否かを問い合わせる画面を表示し、操作入力部130が、推定結果の相関関係を採用するか否かを回答するユーザ操作を受け付けるようにしてもよい。操作入力部130が、推定結果の相関関係を採用することを示すユーザ操作を受け付けた場合、制御部290が、推定結果に基づいて推定対象900を制御するようにしてもよい。
【0085】
上記の蒸留塔の例で、表示部120が、ボイラを操作することと製品の濃度を変化させることとの間に相関性があると、および、この相関性の推定結果を採用するか否かを問い合わせる画面を表示するようにしてもよい。操作入力部130が、推定結果を採用することを示すユーザ操作を受け付けた場合、制御部290が、ボイラを自動制御するようにしてもよい。
【0086】
あるいは、推定装置200が、相関関係の推定結果に基づいて、ユーザへの確認を行わすに直接、推定対象900を制御するようにしてもよい。
上記の蒸留塔の例で、制御部290が、ボイラを操作することと製品の濃度を変化させることとの間に相関性があるとの推定結果に基づいて、ボイラを自動制御するようにしてもよい。
【0087】
以上のように、説明部291は、推定部192の推定結果に基づいて、項目に関する操作の妥当性を説明する。
これにより、推定装置200では、項目間の関係を定性的に解析する必要なしに、操作の妥当性を説明することができる。
【0088】
<第3実施形態>
第3実施形態では、第1実施形態に係る推定装置100の使用方法の、もう1つの例について説明する。
図10は、第3実施形態に係る推定装置の構成の例を示す図である。
図10に示す構成で、推定装置300は、通信部110と、表示部120と、操作入力部130と、記憶部180と、制御部390とを備える。制御部390は、モデル処理部191と、推定部192と、優先度調整部391とを備える。
【0089】
図10の各部のうち
図2の各部に対応して同様の構成を有する部分には同一の符号(110、120、130、180、190、191、192)を付し、ここでは詳細な説明を省略する。
推定装置300は、制御部390が、
図2の制御部190の各部に加えてさらに優先度調整部391を備える点で、推定装置100と異なる。それ以外の点では、推定装置300は推定装置100と同様である。推定装置300は、推定装置100の例に該当する。
図1の構成における推定装置100に代えて推定装置300を用いることができる。
【0090】
優先度調整部391は、推定部192の推定結果に基づいて、過去値の出力元である推定対象900に関する強化学習におけるエージェントの行動の優先度を調整する。例えば、優先度調整部391は、報酬関数に用いられる項目と相関性があると推定部192が推定した操作の優先度を高く設定することで、エージェントが、この操作を行動として選択し易くなるようにする。
優先度調整部391は、優先度調整手段の例に該当する。
【0091】
推定対象900の制御装置などの学習器が、推定対象900に対する操作を強化学習で学習する場合、推定対象900に対する操作の組み合わせをエージェントの行動とすることが考えられる。推定対象900で操作可能な個所が多い場合、エージェントが行い得る行動が指数関数的に増大する。多数の行動のうち報酬を得られる行動の割合が小さい場合、学習が進まない可能性がある。
【0092】
これに対して、優先度調整部391は、報酬関数に用いられる項目と相関性があると推定部192が推定した操作の優先度を高く設定することで、エージェントが、この操作を行動として選択し易くなるようにする。これにより、エージェントが報酬を得られる頻度が高くなり、学習が進むことが期待される。
また、推定部192が、強化学習と並行してオンラインで項目間の相関関係を推定することで、優先度調整部391は、学習中における相関関係の動的な変化位に対応して優先度を更新することができ、学習器が学習を効率的に行えることが期待される。
【0093】
以上のように、優先度調整部391は、推定部192の推定結果に基づいて、過去値の出力元である推定対象900に関する強化学習におけるエージェントの行動の優先度を調整する。
これにより、推定装置300では、報酬を得られる可能性が高い行動をエージェントに優先的に行わせることができ、学習が進むことが期待される。
【0094】
<第4実施形態>
図11は、第4実施形態に係る推定装置の構成の例を示す図である。
図11に示す構成で、推定装置610は、推定部611を備える。
かかる構成で、推定部611は、複数の項目の過去値またはそれらの一部の項目の過去値の入力を受けて1つ以上の項目の予測値を出力する予測モデルを用いて、項目の間の関係性を推定する。
推定部611は、推定手段の例に該当する。
【0095】
推定装置610は、この予測モデルの学習を行うことができる。推定装置610によれば、この点で、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
推定部611は、例えば、
図1に示される推定部192等の機能を用いて実現することができる。
【0096】
<第5実施形態>
図12は、第5実施形態に係る推定方法における処理手順の例を示す図である。
図12に示す方法は、推定を行うこと(ステップS611)を含む。
推定を行うこと(ステップS611)では、コンピュータが、複数の項目の過去値またはそれらの一部の項目の過去値の入力を受けて1つ以上の項目の予測値を出力する予測モデルを用いて、項目の間の関係性を推定する。
図12に示す推定方法によれば、この予測モデルの学習を行うことで、複数の項目の関係を示す数理モデルを構築する必要なしにこれらの項目間の関係性を推定することができる。
【0097】
図13は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図13に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
【0098】
上記の推定装置100、200、300および610のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
【0099】
推定装置100がコンピュータ700に実装される場合、制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0100】
また、CPU710は、プログラムに従って、記憶部180に対応する記憶領域を主記憶装置720に確保する。通信部110が行う通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。表示部120が行う画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って画像を表示することで実行される。操作入力部130によるユーザ操作の受付は、インタフェース740が入力デバイスを備えてユーザ操作を受け付けることで実行される。
【0101】
推定装置200がコンピュータ700に実装される場合、制御部290およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0102】
また、CPU710は、プログラムに従って、記憶部180に対応する記憶領域を主記憶装置720に確保する。通信部110が行う通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。表示部120が行う画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って画像を表示することで実行される。操作入力部130によるユーザ操作の受付は、インタフェース740が入力デバイスを備えてユーザ操作を受け付けることで実行される。
【0103】
推定装置300がコンピュータ700に実装される場合、制御部390およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0104】
また、CPU710は、プログラムに従って、記憶部180に対応する記憶領域を主記憶装置720に確保する。通信部110が行う通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。表示部120が行う画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って画像を表示することで実行される。操作入力部130によるユーザ操作の受付は、インタフェース740が入力デバイスを備えてユーザ操作を受け付けることで実行される。
【0105】
推定装置610がコンピュータ700に実装される場合、推定部192の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0106】
推定装置610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。
推定装置610とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0107】
上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
【0108】
なお、推定装置100、200、300、および、610が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0109】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0110】
本発明は、推定装置、推定方法および記録媒体に適用してもよい。
【符号の説明】
【0111】
1 システム
100、200、300、610 推定装置
110 通信部
120 表示部
130 操作入力部
180 記憶部
190、290、390 制御部
191 モデル処理部
192、611 推定部
291 説明部
391 優先度調整部