[第1の実施形態]
本発明の第1の実施形態を図1から図12までを参照して説明する。図1は、学習装置1の構成の一例を示すブロック図である。図2は、センサ11が取得する時系列データ151の一例を示す図である。図3は、ラベル情報152の一例を示す図である。図4は、高信頼度期間情報153が示す高信頼度期間の一例を示す図である。図5から図7は、修正困難度スコア情報155が示す修正困難度スコアの一例を示す図である。図8は、分類結果情報156が示す分類結果の一例を示す図である。図9は、修正スコア情報157が示す修正スコアの一例を示す図である。図10は、修正案の例を示す図である。図11は、修正スコアを提示する際の表示の一例を示す図である。図12は、学習装置1の動作の一例を示すフローチャートである。
学習装置1(ラベル修正装置)は、工業プラントや制御・管理プラント、工場などの各種システムの監視を行う。例えば、学習装置1は、1以上のセンサ11から取得した時系列のデータである時系列データ151と、入力されたラベル情報152と、に基づいて、通常運転、高負荷運転、異常運転、停止、などのシステムの状態に応じたデータの特徴を学習する。そして、学習装置1は、学習した結果に基づいて、今の状態が上記システムの状態のいずれに該当するか判断する。
また、後述するように、本実施形態における学習装置1は、システムの状態はある程度長い期間続き、時系列点1点ごとにシステムの状態が入れ替わることはない、という時系列のデータが有する特性を踏まえた上で、ラベル情報152を修正する。具体的には、例えば、学習装置1は、所定の条件に基づいて、システムの状態が変化する点(例えば、時刻)を示すシステム状態変化点を変更(例えば、移動、追加、削除など)する、ブロックごとに付与されたシステム状態ラベルを一括変更する、などの方法により、ラベル情報152を修正する。これにより、学習装置1は、時系列点1点ごとにシステムの状態が入れ替わるなどの時系列のデータに対する修正としては不合理な修正を行うおそれを抑制しつつ、ラベル情報152を修正する。換言すると、学習装置1が行う学習ラベル情報152の修正には、システム状態変化点の変更、及び、システム状態ラベルの一括変更を含む。更に、システム状態変化点の変更には、システム状態変化点の移動、システム状態変化点の追加、及び、システム状態変化点の削除を含む。なお、後述するように、本実施形態の場合、システム状態変化点により、時系列データ151は複数のブロックに分割される。つまり、ブロックとは、システム状態変化点により区切られた時系列データ151の一部をいう。
図1は、学習装置1の構成の一例を示している。図1を参照すると、学習装置1は、例えば、主な構成要素として、センサ11と、操作入力部12と、画面表示部13と、通信I/F部14と、記憶部15と、演算処理部16と、を有している。
センサ11は、例えば1分ごとなど時系列点ごとのデータを取得することで時系列のデータを取得する。センサ11は、例えば、圧力計や温度計、流量計などの物理センサである。
本実施形態においては、学習装置1が有するセンサの数や種類については特に限定しない。学習装置1は、例えば、1以上の任意の数や種類のセンサ11を有することが出来る。
操作入力部12は、キーボードやマウスなどの操作入力装置からなる。操作入力部12は、学習装置1を操作するユーザの操作を検出して演算処理部16に出力する。例えば、学習装置1を操作するユーザは、操作入力部12を介して、後述するラベル情報152の入力、高信頼度期間情報153の入力、採用する修正案の選択、などの各種入力操作を行う。
画面表示部13は、LCD(Liquid Crystal Display、液晶ディスプレイ)などの画面表示装置からなる。画面表示部13は、演算処理部16からの指示に応じて、時系列データ151などの各種情報を画面表示する。
通信I/F部14は、通信回線を介して接続された各種装置との間でデータ通信を行う。
記憶部15は、ハードディスクやメモリなどの記憶装置である。記憶部15は、演算処理部16における各種処理に必要な処理情報やプログラム158を記憶する。プログラム158は、演算処理部16に読み込まれて実行されることにより各種処理部を実現する。プログラム158は、通信I/F部14などのデータ入出力機能を介して外部装置や記憶媒体から予め読み込まれ、記憶部15に保存されている。記憶部15で記憶される主な情報としては、例えば、時系列データ151と、ラベル情報152と、高信頼度期間情報153と、分類モデル154と、修正困難度スコア情報155と、分類結果情報156と、修正スコア情報157と、プログラム158と、などがある。
時系列データ151は、センサ11が取得した時系列のデータを示している。換言すると、時系列データ151は、センサ11が取得した各時系列点のデータの集合からなる時系列のデータを示している。換言すると、時系列データ151には、複数の時系列点のデータが含まれている。
本実施形態の場合、学習装置1は、1以上のセンサ11を有している。そのため、例えば、学習装置1が2以上の複数のセンサ11を含む場合、時系列データ151には、複数のセンサ11が取得した複数の時系列データが含まれる。
図2は、時系列データ151の一例を示している。図2で示す場合、時系列データ151には、センサA、センサB、センサC、センサDの4つのセンサ11が取得した時系列のデータが含まれている。このように、時系列データ151には、センサ11の数に応じた時系列のデータが含まれる。
ラベル情報152は、時系列データ151に対して付与されるラベルを示している。本実施形態の場合、ラベル情報152は、システム状態変化点(状態変化点)と、システム状態変化点によって区切られた各ブロックに対して付与されるシステム状態ラベル(ラベル)と、から構成される。後述するように、ラベル情報152は、例えば、学習装置1を操作するユーザによる操作により入力される。ラベル情報152は、学習装置1のラベル情報入力部162が時系列データ151などに基づいて自動的に入力するよう構成しても構わない。
ここで、システム状態変化点とは、時系列のデータの状態が変化する点のことをいう。システム状態変換点は、センサ11により監視するシステムの状態が変化する点(例えば、時刻)を示している。システム状態変化点により、時系列データ151は、複数のブロックに分割される。また、システム状態ラベルは、システム状態変化点によって区切られた各ブロックに対して付与されるラベルであり、システムの状態を示している。つまり、本実施形態の場合、同一のブロックに属する時系列点のデータに対して、同一のシステム状態ラベルが付与される。システム状態ラベルには、例えば、システム状態A(通常運転)、システム状態B(高負荷運転)、システム状態C(異常運転)、システム状態D(停止)、などがある。システム状態ラベルは、後述する分類モデル学習部164による学習を行う際や、修正部167によるラベル情報152の修正を行う際などに用いられる。なお、システム状態ラベルは、異常運転をより細かく判別するなど、上記例示したもの以外であっても構わない。
図3は、図2で示す時系列データ151に対して付与されるラベル情報152の一例を示している。例えば、図3で示す場合、時系列データ151は、4つのシステム状態変化点で区切られている。また、図3で示す場合、4つのシステム状態変化点で区切られた5つのブロックに対して、図3の左から右に向かって順番に、システム状態A(通常状態)、システム状態B(高負荷運転)、システム状態A(通常運転)、システム状態C(異常運転)、システム状態D(停止)、の4種類のシステム状態ラベルが付与されている。換言すると、例えば、図3で示すうち一番左側のブロックに属する時系列点には、システム状態A(通常運転)のシステム状態ラベルが付与されている。
このように、ラベル情報152は、時系列データ151を区切るシステム状態変化点と、システム状態変化点によって区切られた各ブロックに対して付与されるシステム状態ラベルと、から構成される。なお、ラベル情報152に含まれるシステム状態変化点の数やシステム状態ラベルの数、種類は、上記例示した以外であっても構わない。
高信頼度期間情報153は、時系列データ151のうち、信頼性が高いと判断される期間(例えば、ラベル付けが誤っているおそれが低いと考えられる期間)である高信頼度期間を示している。後述するように、高信頼度期間情報153が示す高信頼度期間内の時系列点のシステム状態ラベルに基づいて、最初の学習が行われる。そのため、高信頼度期間は、上述したラベル情報152に含まれるすべての種類のシステム状態ラベルに対して設定されることが望ましい。つまり、上述した例の場合、システム状態A(通常状態)、システム状態B(高負荷運転)、システム状態C(異常運転)、システム状態D(停止)、のすべての種類に対して高信頼度期間が設定されていることが望ましい。
後述するように、高信頼度期間は、例えば、学習装置1を操作するユーザによる操作により入力される。高信頼度期間は、学習装置1の高信頼度期間情報入力部163が、システム状態変化点からの距離などに基づいて入力されても構わない。
図4は、図2で示す時系列データ151に対して入力された高信頼度期間の一例を示している。図4では、システム状態A(通常運転)とシステム状態D(停止)中の所定期間に対して高信頼度期間が入力されている。図4で示す場合、システム状態A(通常運転)とシステム状態D(停止)中の高信頼度期間は、例えば、システム状態変化点から予め定められた値(任意の値で構わない)以上離れている。なお、図4では、システム状態Bとシステム状態Cに対して高信頼度期間が入力されていない。そのため、システム状態Bとシステム状態Cに対しては、図4で図示しない時系列のデータ中のどこかの期間に対して、高信頼度期間の入力が行われていることが望ましい。
分類モデル154は、分類モデル学習部164による学習の結果として生成されるモデルである。後述するように、分類モデル学習部164は、高信頼度期間情報153が示す高信頼度期間を対象とした学習を行う。そのため、分類モデル154は、高信頼度期間を対象とした学習の結果として生成されるモデルである、ということも出来る。換言すると、分類モデル154は、時系列データ151のうちの一部に対する学習の結果として生成されるモデルである。
修正困難度スコア155は、ラベルを修正する際の困難度を示す値である修正困難度スコアを示している。修正困難度スコアは、例えば、分類モデル学習部164による学習が行われなかった時系列点を対象として、修正困難度スコア計算部165により算出される。
修正困難度スコアは、例えば、値が大きくなれば大きくなるほどシステム状態変化点やシステム状態ラベルの修正が困難であることを示している。後述するように、例えば、修正困難度スコアは、時系列データと、システム状態変化点と、に基づいて算出することが出来る。具体的には、例えば、修正困難度スコアは、時系列データを構成する各時系列点のシステム状態変化点からの離れ具合と、時系列点と同一のブロックに分類モデル学習部164による学習が行われた期間を含むか否か、に基づいて算出することが出来る。なお、後述するように、修正困難度スコアは、修正案を採用する際の目安となる修正スコアを算出する際にも用いられる。そのため、修正困難度スコアは、ラベル情報152を修正する際に、後述する分類部166による分類の結果を補正する値である、ということも出来る。
図5は、ラベル情報152に含まれるシステム状態ラベルと、分類モデル学習部164による学習が行われたか否か(つまり、高信頼度期間内であるか否か)を示す学習済みフラグと、修正困難度スコアと、の対応の一例を示す図である。図5では、時系列点「12:04」と「12:05」の間にシステム状態変化点がある場合について例示している。
図5で示す場合、「12:00」「12:01」の時刻の時系列点のデータに対しては、既に分類モデル学習部164による学習が行われている。そのため、システム状態ラベルの修正は不可能であり、修正困難度スコア計算部165による修正困難度スコアの算出は行われない。その結果、修正困難度スコアは「(修正不可)」となっている。このように、分類モデル学習部164による学習が行われた時系列点(つまり、高信頼度期間内の時系列点)については、修正困難度スコアの算出は行われない。
また、図5の場合、「12:02」に対応する修正困難度スコアは「0.8」であり、「12:03」に対応する修正困難度スコアは「0.7」であり、「12:04」に対応する修正困難度スコアは「0.6」である。同様に、図5の場合、「12:05」に対応する修正困難度スコアは「0.2」であり、「12:06」に対応する修正困難度スコアは「0.3」であり、「12:07」に対応する修正困難度スコアは「0.4」であり、「12:08」に対応する修正困難度スコアは「0.5」である。
このように、図5で示す場合、修正困難度スコアは、システム状態変化点からの離れ具合が大きくなれば大きくなるほど、大きな値となっている。また、修正困難度スコアは、学習済みフラグが丸である(つまり、分類モデル学習部164による学習が既に行われた)期間を含むブロックに属している場合、大きな値となっている。なお、修正困難度スコアの詳細な算出方法は、後述する。
なお、時系列のデータは、システム状態変化点によりブロックに分割される。そのため、図6で示すように、ブロック内の各時系列点は、両端にシステム状態変化点を有することがある。このような場合、修正困難度スコアは、例えば、より近い方のシステム状態変化点からの離れ具合に基づいて算出することが出来る。例えば、図6で示す場合、「12:07」に対応する修正困難度スコアが「0.4」であり、「12:08」に対応する修正困難度スコアが「0.3」であり、「12:09」に対応する修正困難度スコアが「0.2」である。
図7は、図2で示す時系列データ151に対して修正困難度スコアを算出した場合の、修正困難度スコアの傾向の一例を示している。図7を参照すると、修正困難度スコアは、システム状態変化点からの離れ具合が大きくなれば大きくなるほど、大きな値となっていることが分かる。また、修正困難度スコアは、高信頼度期間情報153が入力されている(つまり、分類モデル学習部164による学習が既に行われた)期間を含むブロックに属している場合、大きな値となっていることが分かる。
分類結果情報156は、分類部166による分類の結果を示している。後述するように、分類部166は、分類モデル学習部164による学習に用いられなかった時系列点について、時系列点のデータの特徴と、分類モデル学習部164が生成した分類モデル154と、に基づいて、時系列点の分類を行う。そのため、分類結果情報156は、分類モデル学習部164による学習に用いられなかった時系列点に対する分類の結果を示している。
図8は、図5に分類結果情報156を加えた際の一例を示す図である。図8を参照すると、「12:00」と「12:01」は分類モデル学習部164による学習に用いられた時系列点であるため、分類の結果を示していない。また、図8を参照すると、例えば、「12:02」に対応する分類結果が「システム状態A」であり、「12:03」に対する分類結果が「システム状態A」であり、「12:04」に対する分類結果が「システム状態B」である。また、「12:05」に対する分類結果が「システム状態C」であり、「12:06」に対する分類結果が「システム状態C」であり、「12:07」に対する分類結果が「システム状態B」であり、「12:08」に対する分類結果が「システム状態C」である。
図8で示す場合、「12:02」、「12:03」、「12:07」の時系列点については、最初にラベル情報入力部162により付与されたシステム状態ラベルと、分類部166による分類の結果と、に差異が生じていない。一方、上記以外の時系列点である、「12:04」、「12:05」、「12:06」、「12:08」の時系列点については、最初にラベル情報入力部162により付与されたシステム状態ラベルと、分類部166による分類の結果と、に差異が生じている。このように、最初にユーザなどにより入力されるシステム状態ラベルと、分類部166による分類の結果と、には、齟齬が生じることがある。
修正スコア情報157は、修正スコアを示している。修正スコアとは、修正後に分類が正しくなり、かつ、修正が容易な度合いを示すスコアである。修正スコアは、修正案の採用可否を判断する目安として用いることが可能である。修正スコアは、修正部167が、分類部166による分類の結果及び修正困難度スコアを用いて算出する。
修正スコアは、例えば、値が大きくなれば大きくなるほど、修正により、分類部166による分類結果と実際に付与されるシステム状態ラベルとの齟齬が少なくなることを示している。また、修正スコアは、値が大きくなれば大きくなるほど、修正が容易であり合理的であることを示している。例えば、修正スコアは、修正により分類が正しくなる時系列点の数の合計と、修正により分類が間違いになる時系列点の数の合計と、対象となる修正困難度スコアの合計と、に基づいて算出することが出来る。
図9は、修正案ごとの修正スコアの値の一例を示している。また、図10は、各修正案が想定する修正の具体例を示している。例えば、図10を参照すると、「修正案1」では、システム状態変化点を、「12:04」と「12:05」の間から「12:03」と「12:04」の間に移動させる。図9を参照すると、上記のような修正案1を行った際の修正スコアは、例えば、「0.4」となる。また、図10を参照すると、「修正案2」では、システム状態変化点を、「12:04」と「12:05」の間から「12:02」と「12:03」の間に移動させる。図9を参照すると、上記のような修正案1を行った際の修正スコアは、例えば、「-1.3」となる。このように、修正スコア情報157には、各修正案を行った際の修正スコアが含まれる。
演算処理部16は、MPUなどのマイクロプロセッサとその周辺回路を有し、記憶部15からプログラム158を読み込んで実行することにより、上記ハードウェアとプログラム158とを協働させて各種処理部を実現する。演算処理部16で実現される主な処理部として、例えば、データ取得部161と、ラベル情報入力部162と、高信頼度情報期間入力部163と、分類モデル学習部164と、修正困難度スコア計算部165と、分類部166と、修正部167と、がある。
データ取得部161は、センサ11が取得した各時系列点のデータを取得する。そして、データ取得部161は、センサ11から取得したデータを時系列データ151として記憶部15に格納する。
ラベル情報入力部162は、ラベル情報152の入力を受け付ける入力部である。そして、ラベル情報入力部162は、受け付けたラベル情報152を記憶部15に格納する。上述したように、ラベル情報入力部162が入力を受け付けるラベル情報152には、システム状態変化点と、システム状態ラベルと、が含まれている。
例えば、画面表示部13上に、図2で示すような時系列データ151が表示されているとする。このような場合、ラベル情報入力部162は、例えば、画面表示部13上に表示した時系列データ151に対する、ユーザによる操作入力部12を介した入力を受け付けることで、システム状態変化点と、システム状態ラベルと、を含むラベル情報152の入力を受け付ける。このように、ラベル情報入力部162は、例えば、画面表示部13上に表示した時系列データ151に対するユーザの入力を受け付けることで、ラベル情報152の入力を受け付ける。その結果、画面表示部13上には、例えば、図3で示すように、時系列データ151とともにラベル情報152が表示される。
または、例えば、ラベル情報入力部162は、時系列データ151などに基づいて、自動的にラベル情報152の入力を受け付ける。本実施形態においては、自動的にラベル情報152の入力を受け付ける際の処理については特に限定しない。ラベル情報入力部162は、既知の方法を用いてラベル情報152の入力を受け付けることが出来る。
なお、ラベル情報入力部162により入力されるラベル情報152は、時系列のデータが有する特性を踏まえていることが望ましい。そのため、例えば、システム状態変化点間には、所定の期間が設けられている。換言すると、例えば、ラベル情報入力部162は、システム状態変化点とシステム状態変化点との間に、予め定められた基準(任意の値で構わない)以上の時系列点を含むように、ラベル情報152の入力を受け付ける。
高信頼度期間情報入力部163は、高信頼度期間の入力を受け付ける。そして、高信頼度期間情報入力部163は、受け付けた高信頼度期間を示す高信頼度期間情報153を記憶部15に格納する。
例えば、画面表示部13上に、図2で示すような時系列データ151が表示されているとする。または、画面表示部13上には、図3で示すように、時系列データ151とラベル情報152が表示されているとする。このような場合、高信頼度期間情報入力部163は、例えば、画面表示部13上に表示した時系列データ151に対する、ユーザによる操作入力部12を介した入力を受け付けることで、高信頼度期間の入力を受け付ける。この際、高信頼度期間はシステム状態変化点をまたいでも構わない。このように、高信頼度期間情報入力部163は、例えば、画面表示部13上に表示した時系列データ151に対するユーザの入力を受け付けることで、高信頼度期間の入力を受け付ける。
または、例えば、高信頼度期間情報入力部163は、システム状態変化点からの離れ具合などに基づいて、自動的に高信頼度期間の入力を受け付ける。例えば、高信頼度期間情報入力部163は、システム状態変化点から予め定められた任意の値以上離れている期間を高信頼度期間とする。なお、高信頼度期間情報入力部163は、システム状態ラベルごとの高信頼度期間内の時系列点の数や、システム状態ラベルごとの高信頼度期間と高信頼度期間外の期間の割合など、システム状態変化点からの離れ具合以外の情報も参照して、高信頼度期間を判断しても構わない。
分類モデル学習部164は、高信頼度期間情報153が示す高信頼度期間を対象とした学習を行う学習部である。例えば、分類モデル学習部164は、上記高信頼度期間内に属する時系列点のデータの特徴と、当該時系列点に付与されたシステム状態ラベルと、に基づくディープラーニングにより、分類モデル154を生成する。その後、分類モデル学習部164は、生成した分類モデル154を記憶部15に格納する。このように、分類モデル学習部164は、時系列データ151が示す時系列のデータのうち一部の期間である高信頼度期間を対象とした学習を行って分類モデル154を生成する。
なお、本実施形態においては、分類モデル学習部164が学習を行う際の処理については特に限定しない。例えば、分類モデル学習部164は、ニューラルネットワークを用いた学習を行うなど、既知の手段を用いた学習を行うことが出来る。
修正困難度スコア計算部165は、分類モデル学習部164による学習が行われなかった時系列点を対象として、修正困難度スコアを算出する。そして、修正困難度スコア計算部165は、算出した修正困難度スコアを修正困難度スコア情報155として、記憶部15に格納する。
例えば、修正困難度スコア計算部165は、時系列データ151を構成する各時系列点のシステム状態変化点からの離れ具合と、時系列点と同一のブロックに分類モデル学習部164による学習が行われた期間を含むか否か、に基づいて、修正困難度スコアを算出する。例えば、修正困難度スコア計算部165は、同じブロック内に学習済みの時系列点がある場合は+0.4、ない場合は+0、システム状態変化点から時系列点が1点離れるごとに+0.1、という計算を行うことで、算出の対象となる各時系列点の修正困難度スコアを算出する。なお、上述したように、ブロック内の各時系列点は、両端にシステム状態変化点を有している場合がある。このような場合、修正困難度スコア計算部165は、時系列点により近い方のシステム状態変化点を基準として、上記修正困難度スコアの算出を行うことが出来る。
具体的には、例えば、図5で示す場合、修正困難度スコア計算部165は、「12:02」の時系列点に対して、同じブロック内に学習済みの時系列点があるため+0.4、また、システム状態変化点からの離れ具合に応じて+0.4の合計「0.8」を修正困難度スコアとして算出する。同様に、図5で示す場合、例えば、修正困難度スコア計算部165は、「12:05」の時系列点に対して、同じブロック内に学習済みの時系列点がないため+0、また、システム状態変化点からの離れ具合に応じて+0.2の合計「0.2」を修正困難度スコアとして算出する。また、図6で示すように両端にシステム状態変化点を有している場合、修正困難度スコア計算部165は、例えば「12:08」の時系列点に対して、同じブロック内に学習済みの時系列点がないため+0、また、「12:08」の時系列点により近い図6の右側のシステム状態変化点を基準にした離れ具合に応じて+0.3の合計「0.3」を修正困難度スコアとして算出する。
このように、修正困難度スコア計算部165は、時系列データを構成する各時系列点のデータのシステム状態変化点からの離れ具合と、時系列点と同一のブロックに分類モデル学習部164による学習が行われた期間を含むか否か、に基づいて、修正困難度スコアを算出する。換言すると、修正困難度スコア計算部165は、システム状態ラベルの変更が容易であるか否か、システム状態変化点の変更が容易であるか否か、という観点から、修正困難度スコアを算出する。つまり、同じブロック内に学習済みの時系列点がある場合、システム状態ラベルの修正は困難になる。そのため、修正困難度スコア計算部165は、同じブロック内に学習済みの時系列点がある場合、修正困難度スコアを高くする。また、時系列点がシステム状態変化点から離れるほど、システム状態変化点をよい大きく移動させることが必要になり、システム状態変化点の移動は困難になる。そのため、修正困難度スコア計算部165は、システム状態変化点からの離れ具合に応じて、修正困難度スコアを加算する。
なお、修正困難度スコア計算部165による計算の方法は、あくまで一例である。修正困難度スコア計算部165は、上記例示した以外の方法を用いて修正困難度スコアを算出しても構わない。
分類部166は、分類モデル学習部164による学習に用いられなかった時系列点について、当該時系列点のデータの特徴と、分類モデル学習部164が生成した分類モデル154と、に基づいて、時系列点の分類を行う。つまり、分類部166は、時系列データ151中の所定期間を対象とした学習の結果生成される分類モデル154に基づいて、上記所定期間外の期間の時系列点を対象とした分類を行う。例えば、本実施形態の場合、分類部166は、時系列点の状態を、システム状態A(通常運転)、システム状態B(高負荷運転)、システム状態C(異常運転)、システム状態D(停止)のいずれかに分類する。分類部166は、上記例示した以外の分類を行っても構わない。
なお、分類部166は、時系列のデータが有する特性を考慮せずに、分類モデル154に基づく分類を行う。そのため、分類部166による分類の結果は、時系列点1点ごとにシステムの状態が入れ替わることがある(図8参照)など、時系列のデータに対する分類としては不合理なものになるおそれがある。そこで、本実施形態においては、分類部166による分類の結果をそのままラベル情報152の修正に用いることはない。後述する修正部167による処理を経ることで、時系列のデータが有する特性を踏まえた修正を行うことが可能となる。
修正部167は、修正案ごとに修正スコアを算出する。そして、修正部167は、算出した修正スコアを修正スコア情報157として記憶部15に格納する。また、修正部167は、算出した修正スコアを画面表示部13に表示する。そして、修正部167は、ユーザによる入力に応じて、採用する修正案を決定する。その後、修正部167は、採用した修正案を反映する。つまり、修正部167は、採用した修正案を含むようラベル情報152を変更する。
例えば、修正部167は、システム状態変化点を移動させる、システム状態変化点を追加または削除する、ブロックに付与されたシステム状態ラベルを一括変更する、上記の組み合わせ、などの修正案ごとに修正スコアを算出する。
具体的には、図10で示す場合、修正スコアを算出する対象となる修正案1は、「12:04」と「12:05」の間にあるシステム状態変化点を「12:03」と「12:04」の間に移動させる案である。また、修正案5は、システム状態変化点より右側のブロックに付与するシステム状態ラベルをシステム状態B(高負荷運転)からシステム状態C(異常運転)に一括変更する案である。また、修正案6は、「12:07」と「12:08」の間にシステム状態変化点を追加して、「12:04」と「12:05」の間のシステム状態変化点と追加したシステム状態変化点との間のブロックのシステム状態ラベルをシステム状態C(異常運転)に変更する案である。このように、修正スコアを算出する対象となる修正案には、システム状態変化点の変更やシステム状態ラベルの一括変更、その組み合わせなどがある。
また、修正部167による修正スコアの算出は、例えば、下記式に基づいて行われる。
分類が正しくなる時系列点の数の合計-分類が間違いになる時系列点の合計-修正困難度スコアの合計
例えば、図9、図10参照すると、上述した修正案1の場合、システム状態変化点が「12:03」と「12:04」の間に移動することで、「12:04」の属するブロックが変動する。これにより、「12:04」に付与されるシステム状態ラベルがシステム状態A(通常運転)からシステム状態B(高負荷運転)へと変化する。その結果、ラベル情報入力部162により入力されたシステム状態ラベルと、分類部166による分類の結果と、が正しくなる。そのため、修正部167は、修正スコアとして、1-0-0.6=0.4を算出する。また、修正案5の場合、「12:05」、「12:06」、「12:07」、「12:08」に付与されるシステム状態ラベルがシステム状態B(高負荷運転)からシステム状態C(異常運転)に変化する。その結果、「12:05」、「12:06」、「12:08」のシステム状態ラベルは正しくなるが、「12:07」のシステム状態ラベルは間違ったものとなる。そのため、修正部167は、修正スコアとして、3-1-(0.2+0.3+0.4+0.5)=0.6を算出する。同様に、修正案6の場合、「12:05」、「12:06」、「12:07」に付与されるシステム状態ラベルがシステム状態B(高負荷運転)からシステム状態C(異常運転)に変化する。その結果、「12:05」、「12:06のシステム状態ラベルは正しくなるが、「12:07」のシステム状態ラベルは間違ったものとなる。そのため、修正部167は、修正スコアとして、2-1-(0.2+0.3+0.4)=0.1を算出する。
例えば以上のように、修正部167は、複数の修正案について修正スコアを算出する。そして、修正部167は、算出した修正スコアを画面表示部13に表示させる。この際、修正部167は、例えば図11で示すように、算出した修正スコアをランキング形式に並び替えた上で、画面表示部13に表示させる。例えば、図11では、修正スコアが高い方がより上方に位置するよう並び替えている。その後、修正部167は、操作入力部12などを介したユーザから入力を受け付けることで、採用する修正案を決定する。そして、修正部167は、採用した修正案を反映する。つまり、修正部167は、ラベル情報152を更新する。なお、修正部167は、例えば、図10で示すような修正案を可視化したものと一緒にランキング形式の修正スコアを表示するなど、上記例示した以外の表示を行っても構わない。また、修正部167は、予め定められた基準に基づいて、採用する修正スコアを決定するよう構成しても構わない。例えば、修正部167は、予め定められた閾値(任意の値で構わない)を有している。そして、修正部167は、予め定められた閾値以上となる修正スコアを有する修正案を採用する修正案として決定する。
なお、修正部167は、システム状態変化点によって区切られるブロックの大きさ(例えば、ブロックに含まれる時系列点の数)が予め定められた閾値以下とならない修正案のみを修正スコアの算出対象とすることが望ましい。例えば、システム状態変化点を移動させたり、新たに追加したりする場合、ブロックの大きさが過度に小さくなってしまい、時系列のデータの特性を無視した修正案になってしまうおそれがある。上記のようにブロックの大きさに基づいて修正案を選択することで、修正部167は、上記のようなおそれを低減させた修正案に基づく修正スコアの算出を行うことが可能となる。
また、ユーザにより採用された修正案の期間は、信頼性が高い。そのため、高信頼度期間情報入力部163は、ユーザにより採用された修正案の期間を高信頼度期間に追加することが出来る。つまり、高信頼度期間情報入力部163は、修正部167による修正の結果を受けて、高信頼度期間情報153の更新を行うことが出来る。また、分類モデル学習部164は、新たに追加された期間を含む高信頼度期間を対象とした学習を行うことが出来る。また、その結果を受けて、分類部166は、新たに学習した分類モデル154による新たな分類を行う。以上のように、学習装置1は、修正部167による修正の結果を反映した処理を再度行うよう構成することが出来る。
以上が、学習装置1の構成についての説明である。
次に、学習装置1の動作について説明する。図12は、学習装置1の動作の一例を示している。
図12を参照すると、データ取得部161は、センサ11が取得した各時系列点のデータを取得する。そして、データ取得部161は、センサ11から取得したデータを時系列データ151として記憶部15に格納する。また、データ取得部161が取得した時系列データ151を、画面表示部13上に表示する(ステップS101)。
ラベル情報入力部162は、例えば、画面表示部13上に表示した時系列データ151に対する、ユーザによる操作入力部12を介した入力を受け付けることで、システム状態変化点と、システム状態ラベルと、を含むラベル情報152の入力を受け付ける(ステップS102)。または、ラベル情報入力部162は、時系列データ151などに基づいて、自動的にラベル情報152の入力を受け付ける。
高信頼度期間情報入力部163は、高信頼度期間情報153の入力を受け付ける(ステップS103)。高信頼度期間情報153の入力も、例えば、画面表示部13上に表示した時系列データ151に対する、ユーザによる操作入力部12を介した入力を受け付けることで行われる。または、高信頼度期間情報入力部163は、例えば、システム状態変化点からの離れ具合などに基づいて、自動的に高信頼度期間情報153の入力を受け付ける。
分類モデル学習部164は、高信頼度期間情報153が入力されている期間を対象とした学習を行う(ステップS104)。例えば、分類モデル学習部164は、上記期間内に属する時系列点のデータの特徴と、当該時系列点に付与されたシステム状態ラベルと、に基づくディープラーニングにより、分類モデル154を生成する。
修正困難度スコア計算部165は、分類モデル学習部164による学習が行われなかった時系列点を対象として、修正困難度スコアを算出する(ステップS105)。また、分類部166は、分類モデル学習部164による学習に用いられなかった時系列点について、当該時系列点のデータの特徴と、分類モデル学習部164が生成した分類モデル154と、に基づいて、時系列点の分類を行う(ステップS106)。
なお、ステップS105の処理とステップS106の処理は、どちらが先に行っても構わない。また、ステップS105の処理とステップS106の処理は、並行して行われても構わない。
修正部167は、修正案ごとに修正スコアを算出する(ステップS107)。そして、修正部167は、算出した修正スコアを画面表示部13に表示する。この際、修正部167は、算出した修正スコアを例えばランキング形式で画面表示部13に表示する(ステップS108)。また、修正部167は、操作入力部12などを介して入力されたユーザからの選択結果である、採用する修正案の入力を受け付ける(ステップS109)。これに応じて、修正部167は、受け付けた採用案を反映する。
修正部167が採用する修正案の入力を受け付けた場合(ステップS110、Yes)、高信頼度期間情報入力部163は、ユーザにより採用された修正案の期間を高信頼度期間情報153に追加する。また、分類モデル学習部164は、新たに追加された期間を含む高信頼度期間情報153が入力されている期間を対象とした学習を行う(ステップS111)。その後、ステップS105の処理に戻る。以降、上述した処理と同様の処理を行う。一方、修正部167が採用する修正案の入力を受け付けなかった場合(ステップS110、No)、処理を終了する。
以上が、学習装置1の動作の一例である。
このように、本実施形態における学習装置1は、ラベル情報入力部162と、高信頼度期間情報入力部163と、分類モデル学習部164と、修正困難度スコア計算部165と、分類部166と、修正部167と、を有している。このような構成により、分類モデル学習部164は、高信頼度期間情報入力部163により入力されたシステム状態ラベルの信頼度が高いと判断される期間のみを対象として、学習をすることが出来る。また、分類部166は、分類モデル学習部164による学習に用いられなかった時系列点について、時系列点の分類を行うことが出来る。その結果、修正部167は、分類部166による分類の結果と、修正困難度スコア計算部165による算出結果と、に基づいて、ラベル情報入力部162により入力されたシステム状態ラベルの修正を行うことが出来る。これにより、時系列データ151のうち信頼度が高い期間の学習結果に基づいて、信頼度が低い期間に付与されたシステム状態ラベルの修正を行うことが可能となる。
また、本実施形態の場合、修正部167は、システム状態変化点を移動させる、システム状態変化点を追加、または、削除する、ブロックに付与されたシステム状態ラベルを一括変更する、上記の組み合わせ、などの修正案ごとに修正スコアを算出するよう構成されている。そして、修正部167は、上記修正案のうちのユーザにより選択された修正案を反映させるよう構成されている。このような構成によると、時系列点1点ごとにシステムの状態が入れ替わるなど、時系列のデータの特性を踏まえない修正を行うおそれを低減させることが出来る。その結果、時系列のデータの特性を考慮しつつシステム状態ラベルの修正を行うことが可能となる。
また、本実施形態の場合、修正部167は、修正困難度スコアを考慮した修正スコアを算出するよう構成されている。このような構成により、ユーザは、修正困難度スコアを考慮した修正スコアに基づいて、採用する修正案を決定することが可能となる。ここで、修正困難度スコアは、システム状態ラベルを修正する際の困難度をしており、システム状態ラベルの変更が合理的であるか否かを判断する際の基準となる。そのため、上記のような構成とすることで、ユーザが合理的な判断を行う際の基準となる修正スコアをより的確に提示することが可能となる。
なお、学習装置1は、必ずしも1台の情報処理装置により構成される必要はない。学習装置1は、上述した各機能を有する複数台の情報処理装置により実現されても構わない。
また、本実施形態においては、学習装置1は、工業プラントや制御・管理プラント、工場などの各種システムの監視を行うとした。しかしながら、学習装置1の適用先は、上記例示したシステムなど、物理的なデータを扱う場合に限定されない。学習装置1は、時系列点1点ごとにシステムの状態が入れ替わるおそれが少ないなど、時系列のデータの特性を有するシステム全般に適用することが出来る。センサ11も、必ずしも物理センサでなくても構わない。
また、本実施形態においては、学習装置1がセンサ11を有するとした。しかしながら、必ずしも学習装置1がセンサ11を有していなくても構わない。例えば、データ取得部161は、学習装置1外部のセンサ11からネットワークなどを介して時系列データ151を取得するよう構成しても構わない。
また、本実施形態において、学習装置1は、修正困難度スコアを用いることとした。しかしながら、学習装置1は、必ずしも修正困難度スコアを用いなくても構わない。つまり、学習装置1は、修正困難度スコア計算部165を有していなくても構わない。この場合、修正部167は、例えば、分類が正しくなる時系列点の数の合計と分類が間違いになる時系列点の合計とに基づいて修正スコアを算出するよう構成することが出来る。
[第2の実施形態]
次に、本発明の第2の実施形態について、図13を参照して説明する。図13は、ラベル修正装置2の構成の一例を示すブロック図である。
図13を参照すると、ラベル修正装置2は、入力部21と、修正部22と、を有している。例えば、ラベル修正装置2は、プログラムを記憶する記憶装置とCPU(Central Processing Unit)などの演算装置とを有している。例えば、ラベル修正装置2は、記憶装置が記憶するプログラムを演算装置が実行することで、上記処理部を実現する。
入力部21は、時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力する。
修正部22は、状態変化点と、時系列のデータと、ラベルと、に基づいて、ラベルを修正する。
このように、ラベル修正装置2は、入力部21と、修正部22と、を有している。このような構成により、ラベル修正装置2は、修正部22によりラベルを変更することが出来る。このような構成によると、ブロックごとに付与されたラベルの修正を行うため、時系列のデータの特性を考慮したラベルの修正を行うことが出来る。
また、上述したラベル修正装置2は、コンピュータであるラベル修正装置2に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、ラベル修正装置2に、時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力する入力部21と、状態変化点と、時系列のデータと、ラベルと、に基づいて、ラベルを修正する修正部22と、を実現するためのプログラムである。
また、上述したラベル修正装置2により実行されるラベル修正方法は、ラベル修正装置2が、時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力し、状態変化点と、時系列のデータと、ラベルと、に基づいて、前記ラベルを修正する、という方法である。
上述した構成を有する、プログラム、または、ラベル修正方法、または、プログラムを記録したコンピュータが読み取り可能な記録媒体、の発明であっても、上記ラベル修正装置2と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
<付記>
上記実施形態の一部または全部は、以下の付記のようにも記載されうる。以下、本発明におけるラベル修正装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力する入力部と、
前記状態変化点と、前記時系列のデータと、前記ラベルと、に基づいて、前記ラベルを修正する修正部と、
を有する
ラベル修正装置。
(付記2)
付記1に記載のラベル修正装置であって、
前記時系列のデータのうち一部の期間を対象とした学習を行って分類モデルを生成する学習部と、
前記分類モデルを用いて、前記学習部による学習の対象とならない期間を対象とした分類を行う分類部と、
を有し、
前記修正部は、前記状態変化点と、前記分類部による分類の結果と、に基づいて、前記ラベルを修正する
ラベル修正装置。
(付記3)
付記2に記載のラベル修正装置であって、
前記ラベルを修正する際の困難度を示す修正困難度スコアを算出する計算部を有し、
前記修正部は、前記分類部による分類の結果及び前記修正困難度スコアを用いて、前記ラベルを修正する、
ラベル修正装置。
(付記4)
付記3に記載のラベル修正装置であって、
前記計算部は、前記状態変化点からの離れ具合と、前記学習部による学習が行われた範囲と、に基づいて、前記修正困難度スコアを算出する
ラベル修正装置。
(付記5)
付記3又は付記4に記載のラベル修正装置であって、
前記修正部は、前記状態変化点を変更することにより前記分類部による分類の結果と前記ラベルとが正しくなる数から、前記ラベルを修正することにより前記分類部による分類の結果と前記入力部により入力されたラベルとが間違ったものになる数と前記修正困難度スコアとを減算することで、修正後に分類が正しくなり、かつ、修正が容易な度合いを示す修正スコアを算出し、当該修正スコアに基づいて前記ラベルを修正する、
ラベル修正装置。
(付記6)
付記1から付記5までのいずれか1項に記載のラベル修正装置であって、
前記修正部は、前記状態変化点を変更することで前記ラベルを修正する
ラベル修正装置。
(付記7)
付記6に記載のラベル修正装置であって、
前記修正部は、前記状態変化点を移動させることで前記状態変化点を変更する
ラベル修正装置。
(付記8)
付記6又は付記7に記載のラベル修正装置であって、
前記修正部は、前記状態変化点を追加または削除することで前記状態変化点を変更する
ラベル修正装置。
(付記9)
付記1から付記8までのいずれか1項に記載のラベル修正装置であって、
前記修正部は、前記ブロックに付与された前記ラベルを一括変更することで、前記ラベルを修正する
ラベル修正装置。
(付記10)
ラベル修正装置が、
時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力し、
前記状態変化点と、前記時系列のデータと、前記ラベルと、に基づいて、前記ラベルを修正する
ラベル修正方法。
(付記11)
ラベル修正装置に、
時系列のデータの状態が変化する点である状態変化点で区切られたブロックごとにラベルが付与された学習用データを入力する入力部と、
前記状態変化点と、前記時系列のデータと、前記ラベルと、に基づいて、前記ラベルを修正する修正部と、
を実現するためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。