(57)【要約】      （修正有）【課題】各入力データの出力データに対する重要度を動的かつ容易に確認し、異常を防ぐためにどのセンサに関する項目を制御すればよいかなどのアクションに繋げることができる装置を提供する。【解決手段】監視装置１０は、監視対象に関する複数のデータを収集する収集手段１１と、収集手段によって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出手段１２と、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出手段１４とを有する。【選択図】図１
2019179400.tif 000002
【特許請求の範囲】
【請求項１】
監視対象に関する複数のデータを収集する収集手段と、
前記収集手段によって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出手段と、
前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出手段と
を有することを特徴とする監視装置。
【請求項２】
前記検出手段は、前記収集手段によって収集された複数のデータを入力データとして、前記自己符号化器を用いて、各入力データを再現した出力データを出力し、該入力データと該出力データとを比較して、該入力データに対する該出力データの再現誤差を検出することを特徴とする請求項１に記載の監視装置。
【請求項３】
前記検出手段は、前記入力データに対する前記出力データの再現誤差を検出し、該再現誤差に応じて、前記監視対象の異常度を算出することを特徴とする請求項２に記載の監視装置。
【請求項４】
前記算出手段は、前記検出手段によって検出された再現誤差が所定の閾値以上である出力データを抽出し、前記自己符号化器に入力された各入力データと抽出した出力データとを用いて、抽出した出力データに対する前記各入力データの重要度を算出することを特徴とする請求項２に記載の監視装置。
【請求項５】
前記算出手段は、前記自己符号化器に入力された各入力データと前記自己符号化器のニューラルネットワークにおける中間層のノードの出力データとを用いて、該中間層の出力データに対する前記各入力データの重要度を算出することを特徴とする請求項１に記載の監視装置。
【請求項６】
前記算出手段によって算出された重要度を用いて、前記各入力データの出力データに対する重要度の推移を示すグラフを作成する作成手段と、
前記作成手段によって作成されたグラフを表示する表示手段と
をさらに有することを特徴とする請求項１に記載の監視装置。
【請求項７】
監視装置によって実行される監視方法であって、
監視対象に関する複数のデータを収集する収集工程と、
前記収集工程によって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出工程と、
前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出工程と
を含んだことを特徴とする監視方法。
【請求項８】
監視対象設備で取得された複数のデータを収集する収集ステップと、
監視対象に関する複数のデータを収集する収集ステップと、
前記収集ステップによって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出ステップと、
前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出ステップと
をコンピュータに実行させることを特徴とする監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、監視方法および監視プログラムに関する。
【背景技術】
【０００２】
ニューラルネットワークの一つである自己符号化器は、入力データを教師データとして自らを再現するように学習するモデルである。この自己符号化器は、入力層と出力層のノード数が同じであり、且つ、中間層のノード数が入出力層より少ないのが特徴である。自己符号化器の応用方法としては、いくつか存在する。例えば、学習後のモデルの中間層の出力から主成分分析のようにデータの特徴の抽出を行うことが挙げられる。また、工場の異常検知として、正常なセンサデータや画像を学習させたモデルに対して、入力データと出力データとの差を比べることで異常検知を行うことに使用される。
【０００３】
異常検知の利用例としては、まず、プラントのセンサ等のデータのうち正常であるものだけを学習させたモデルを作成する。このモデルは、学習したデータ、すなわち正常なデータに対してはデータを再現できるため、再現誤差が少なくなる。一方、学習されていない異常なデータに対しては再現が出来ないために再現誤差が大きくなる。このように、再現誤差を見ることで異常検知を行うことができる。
【０００４】
また、ニューラルネットワークを用いずに、異常検知や状態推定等を行う方法として、クラスタリング等が存在する。これらの方法では、正常と異常との間のデータ距離などから異常を抽出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１４２６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記したような従来の手法では、各入力データの出力データに対する重要度を動的かつ容易に確認することができないという課題があった。例えば、上記した正常と異常との間のデータ距離などから異常を抽出する方法では、正常と異常との間のデータ距離などから間接的に重要特徴を得ることはできるが、特徴間の関係等も考慮した詳細な特徴を得ることが難しい。また、ディープラーニング技術はブラックボックスと呼ばれる通り、そのモデルがどのように予測、判断を行ったかを抽出することが難しかった。自己符号化器もその例外ではなく、どの入力が出力に影響を及ぼしたのか確認することが難しい。
【０００７】
例えば、異常検知の例であれば異常なデータに対してどの入力が影響を及ぼして再現誤差を生じているかを特定することが困難なため、異常を防ぐためにどのセンサに関する項目を制御すればよいかなどのアクションに繋げることができなかった。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の監視装置は、監視対象に関する複数のデータを収集する収集手段と、前記収集手段によって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出手段と、前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出手段とを有することを特徴とする。
【０００９】
また、本発明の監視方法は、監視装置によって実行される監視方法であって、監視対象に関する複数のデータを収集する収集工程と、前記収集工程によって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出工程と、前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出工程とを含んだことを特徴とする。
【００１０】
また、本発明の監視プログラムは、監視対象設備で取得された複数のデータを収集する収集ステップと、監視対象に関する複数のデータを収集する収集ステップと、前記収集ステップによって収集された複数のデータを入力データとして、自己符号化器を用いて、前記監視対象の状態を検出する検出ステップと、前記自己符号化器に入力された各入力データと、前記自己符号化器から出力された出力データとを用いて、前記自己符号化器に入力された各入力データの出力データに対する重要度を算出する算出ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、各入力データの出力データに対する重要度を動的かつ容易に確認することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施形態に係る監視装置の構成例を示すブロック図である。
【図２】図２は、自己符号化器の学習について説明する図である。
【図３】図３は、入力データと出力データの再現誤差から異常を判定する処理を説明する図である。
【図４】図４は、入力データと出力データの再現誤差から異常を判定する処理を説明する図である。
【図５】図５は、自己符号化器に対する重要度算出処理の一例を説明する図である。
【図６】図６は、Ｎ×Ｎの重要度を計算する場合の例を説明する図である。
【図７】図７は、再現誤差に応じて重要度計算対象を絞り込む処理の一例を説明する図である。
【図８】図８は、ニューラルネットワークにおける中間層のノードを重要度計算対象として絞り込む処理の一例を説明する図である。
【図９】図９は、監視装置によって実行される全体の処理の概要を説明する図である。
【図１０】図１０は、第１の実施形態に係る監視装置における異常予測処理の流れの一例を示すフローチャートである。
【図１１】図１１は、第１の実施形態に係る監視装置における重要度算出処理の流れの一例を示すフローチャートである。
【図１２】図１２は、第１の実施形態に係る監視装置におけるグラフ表示処理の流れの一例を示すフローチャートである。
【図１３】図１３は、監視プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願に係る監視装置、監視方法および監視プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る監視装置、監視方法および監視プログラムが限定されるものではない。
【００１４】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係る監視装置１０の構成、監視装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。なお、以下では、監視装置１０が工場やプラントなどの監視対象設備からデータを収集し、自己符号化器を用いて、監視対象設備の異常度を算出する場合の例を説明する。
【００１５】
［監視装置の構成］
まず、図１を用いて、監視装置１０の構成を説明する。図１は、第１の実施形態に係る監視装置の構成例を示すブロック図である。監視装置１０は、例えば、工場やプラントなどの監視対象設備に設置されるセンサによって取得された複数のデータを収集し、収集した複数のデータを入力データとして、自己符号化器を用いて、各入力データを再現した出力データを出力し、該入力データと該出力データとを比較して、該入力データに対する該出力データの再現誤差を検出し、再現誤差に応じて、監視対象設備の異常度を算出する。
【００１６】
また、監視装置１０は、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、自己符号化器に入力された各入力データの出力データに対する重要度を算出する。ここで重要度とは、各入力が出力に対してどれだけ寄与したかを示すものであり、言い換えると、各入力が出力の再現にどれだけ重要であったか示すものであり、重要度の絶対値が大きいほど、その入力は出力に対する影響度が高かったことを意味する。
【００１７】
図１に示すように、この監視装置１０は、収集部１１、検出部１２、出力可視化部１３、算出部１４、重要度可視化部１５、プロセスデータバッファ１６、分析フレームバッファ１７、フレーム異常評価値バッファ１８およびモデルバッファ１９を有する。以下に監視装置１０が有する各部の処理を説明する。
【００１８】
収集部１１、検出部１２、出力可視化部１３、算出部１４および重要度可視化部１５は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphical  Processing  Unit）などの電子回路やＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路である。また、プロセスデータバッファ１６、分析フレームバッファ１７、フレーム異常評価値バッファ１８およびモデルバッファ１９は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子等の記憶装置である。
【００１９】
収集部１１は、監視対象設備で取得された監視対象に関する複数のデータを収集する。例えば、収集部１１は、工場やプラントなどの監視対象設備に設置されるセンサからデータを定期的（例えば、１分ごと）に受信し、プロセスデータバッファ１６に格納する。ここでセンサが取得するデータとは、例えば、監視対象設備である工場、プラント内の装置や反応炉についての温度や圧力、音、振動等の各種データである。なお、センサによって取得された時系列のデータを、以下では適宜プロセスデータと記載する。また、収集部１１が収集するデータはセンサが取得したデータに限定されるものではなく、例えば、人的に入力された数値データや、材料の種類や銘柄などのラベルデータ等でもよい。
【００２０】
検出部１２は、収集部１１によって収集された複数のデータを入力データとして、自己符号化器を用いて、監視対象設備の状態を検出する。具体的には、検出部１２は、各入力データを再現した出力データを出力し、該入力データと該出力データとを比較して、該入力データに対する該出力データの再現誤差を検出する。例えば、検出部１２は、プロセスデータおよび自己符号化器を用いて、自己符号化器のニューラルネットワークに対して入力される入力データに対する出力データの再現誤差を検出し、該再現誤差に応じて、監視対象設備の異常度を算出する。なお、以下では、自己符号化器を用いて再現誤差を検出し、再現誤差に応じて監視対象設備の異常度を算出することで監視対象設備の状態を検出する場合を例に説明するが、これに限定されるものではなく、自己符号化器を用いてどのように監視対象設備の状態を検出するようにしてもよい。例えば、自己符号化器で学習した後に中間層を可視化することで、監視対象設備の状態を検出できるようにしてもよい。検出部１２は、分析フレーム抽出部１２ａおよびフレーム異常評価値算出部１２ｂを有する。なお、以下で説明する異常度算出処理は、一例であり、これに限定されるものではない。
【００２１】
分析フレーム抽出部１２ａは、収集部１１によって収集されたプロセスデータから、所定時点または所定の時間幅である分析フレームに含まれるプロセスデータを抽出する。具体的には、分析フレーム抽出部１２ａは、フレーム分のプロセスデータをプロセスデータバッファ１６から抽出して読み出し、読み出したプロセスデータを分析フレームバッファ１７に格納する。なお、所定の時点とは、現時点であってもよいし、現時点から１０秒前等の予め設定された時点であってもよい。
【００２２】
例えば、分析フレーム抽出部１２ａは、収集部１１が１分毎にプロセスデータを収集し、現時刻ｔに取得されたプロセスデータをプロセスデータバッファ１６から抽出して読み出す。また、例えば、分析フレーム抽出部１２ａは、時間幅が「５」である場合には、現時刻ｔに取得されたプロセスデータ、現時刻の１分前に取得されたプロセスデータ、現時刻の２分前に取得されたプロセスデータ、現時刻の３分前に取得されたプロセスデータ、現時刻の４分前に取得されたプロセスデータをプロセスデータバッファ１６から抽出して読み出す。
【００２３】
プロセスデータバッファ１６は、収集部１１によって収集されたプロセスデータを記憶する。プロセスデータバッファ１６には、プロセスデータとして、少なくとも、所定時点または所定の時間幅のフレーム分の最新のプロセスデータが格納されている。分析フレームバッファ１７は、分析フレーム抽出部１２ａによって抽出されたプロセスデータを記憶する。
【００２４】
フレーム異常評価値算出部１２ｂは、分析フレーム抽出部１２ａによって抽出されたプロセスデータを入力として、自己符号化器を用いて、自己符号化器のニューラルネットワークに対して入力される入力データに対する出力データの再現誤差を検出し、該再現誤差に応じて、監視対象設備の異常度を算出する。
【００２５】
例えば、フレーム異常評価値算出部１２ｂは、分析フレーム抽出部１２ａから抽出された時刻ｔのプロセスデータとして、センサＡ、センサＢ、センサＣ、センサＤおよびセンサＥのデータを受信する。そして、フレーム異常評価値算出部１２ｂは、時刻ｔにおけるセンサＡ、センサＢ、センサＣ、センサＤおよびセンサＥのデータをそれぞれ自己符号化器に入力し、入力データと出力データとの再現誤差を検出し、該再現誤差に応じて、時刻ｔにおける監視対象設備の異常度であるフレーム異常評価値を算出する。
【００２６】
また、フレーム異常評価値とは、例えば、監視対象設備の異常が発生している確率値であって、「０」〜「１」で表現される数値であってもよい。この場合には、例えば、ある時点において監視対象設備の異常が発生している確率が「４０％」と予測された場合には、フレーム異常評価値が「０．４」となる。また、フレーム異常評価値はこれに限定されるものではなく、例えば、監視対象設備の異常が発生している可能性が一定以上存在するか否かを示す値として、「０」または「１」のいずれかで表現される数値であってもよい。
【００２７】
フレーム異常評価値バッファ１８は、自己符号化器から出力された出力データと、フレーム異常評価値算出部１２ｂによって検出された入力データに対する出力データの再現誤差と、算出されたフレーム異常評価値を記憶する。なお、フレーム異常評価値バッファ１８には、フレーム異常評価値として、少なくとも、所定時点または所定の時間幅のフレーム分の最新のフレーム異常評価値が格納されている。モデルバッファ１９は、前述のフレーム異常評価値算出部１２ｂによって利用される自己符号化器、すなわち監視対象設備の異常を検出するための学習済モデルを記憶している。
【００２８】
ここで、図２を用いて、自己符号化器の学習について説明する図である。図２に例示するように、自己符号化器のニューラルネットワークでは、入力層と出力層のノード数が同じであり、中間数のノード数が入出力層より少ない。そして、自己符号化器に対して入力データを入力すると、入力データを教師データとして自らを再現するように学習する。ここで、自己符号化器に学習させるデータは、監視対象設備が正常時におけるセンサが取得したデータ（以下、適宜「正常データ」と記載）のみとする。つまり、正常データのみを入力データとして学習させることで、入力データが正常データである場合だけうまく再現できるように学習させ、入力データが異常データである場合にはうまく再現できないようにする。
【００２９】
また、このように、正常データのみで学習を行うことで、監視対象設備が工場やプラント内の装置等のように通常時に異常が発生しにくいために正常データが異常データに比べて圧倒的に多く、異常データが少ないような場合でも、適切に学習させることが可能となる。なお、監視装置１０では、学習済の自己符号化器がモデルバッファ１９に予め記憶されている場合を例として説明するが、監視装置１０が学習処理を行うようにしてもよい。
【００３０】
次に、図３を用いて、入力データと出力データの再現誤差から異常を判定する処理を説明する。図３および図４は、入力データと出力データの再現誤差から異常を判定する処理を説明する図である。図３の例では、正常データが入力データとして入力され、図４の例では、異常データが入力データとして入力された場合を例示している。図３に例示するように、例えば、検出部１２は、正常データを入力データとして自己符号化器に入力し、出力データを出力する。自己符号化器は、正常データだけを再現できるように学習しているので、入力データと出力データとの再現誤差が小さい。
【００３１】
一方、図４に例示するように、例えば、検出部１２は、異常データを入力データとして自己符号化器に入力し、出力データを出力する。自己符号化器は、正常データだけを再現できるように学習しているので、入力データと出力データとの再現誤差が大きい。
【００３２】
つまり、検出部１２は、入力データに対する出力データの再現誤差を検出し、該再現誤差が大きければ大きいほど監視対象設備の異常度が大きくなるように算出し、再現誤差が小さければ小さいほど監視対象設備の異常度が小さくなるように算出する。
【００３３】
図１の説明に戻って、出力可視化部１３は、異常予測評価値に基づき警告サインを出力したり、異常予測評価値の時系列データをチャート画面として出力したりする。出力可視化部１３は、異常判定部１３ａおよびチャート表示部１３ｂを有する。
【００３４】
異常判定部１３ａは、フレーム異常評価値算出部１２ｂによって算出されたフレーム異常評価値が所定の閾値以上であるか否かを判定し、異常予測評価値が所定の閾値以上である場合には、異常発生に関する警告を出力する。例えば、異常判定部１３ａは、異常予測評価値が所定の閾値以上である場合には、警告サインとして、一定時間後に監視対象設備に異常が発生する可能性がある旨の警告メッセージを出力してもよいし、警告を報知する音を出力するようにしてもよい。
【００３５】
チャート表示部１３ｂは、フレーム異常評価値算出部１２ｂによって算出されたフレーム異常評価値の時系列データをチャート画面として表示する。例えば、チャート表示部１３ｂは、ユーザからの表示要求を受け付けると、異常予測評価値の時系列データをチャート画面として表示する。
【００３６】
算出部１４は、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、自己符号化器に入力された各入力データの出力データに対する重要度を算出する。例えば、算出部１４は、Ｓａｌｉｅｎｃｙ  Ｍａｐを始めとする重要度特徴手法を用いて、各入力データの出力データに対する重要度を算出する。算出部１４は、重要度算出部１４ａおよび重要度ノイズ除去部１４ｂを有する。
【００３７】
重要度算出部１４ａは、自己符号化器に入力された入力データ（プロセスデータ）を分析フレームバッファ１７から読み出すとともに、自己符号化器から出力された出力データと、入力データに対する出力データの再現誤差と、フレーム異常評価値とをフレーム異常評価値バッファ１８から読み出し、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、自己符号化器に入力された各入力データの出力データに対する重要度を算出する。
【００３８】
ここで、重要度を計算する具体例について説明する。例えば、重要度算出部１４ａは、入力値から出力値を算出する学習済モデルにおいて、出力値の各入力値に関する偏微分値またはその概算値を用いて、各時刻におけるセンサごとに、重要度を算出する。一例としては、重要度算出部１４ａは、Ｓａｌｉｅｎｃｙ  Ｍａｐを用いて、各時刻におけるセンサごとに、重要度を算出する。Ｓａｌｉｅｎｃｙ  Ｍａｐは、ニューラルネットワークの画像分類において利用される技術であり、ニューラルネットワークの出力の各入力に関する偏微分値を出力に寄与する重要度として抽出する技術である。
【００３９】
なお、Ｓａｌｉｅｎｃｙ  Ｍａｐ以外の手法で重要度を算出してもよく、例えば、出力値をニューラルネットワークの各層に伝播させることで入力の重要度を求める手法（参考文献１参照）や、ニューラルネットワークを単純なモデル（決定木等）に近似してデータに対する入力の重要度を求める手法であってもよい（参考文献２参照）。
参考文献１：Bach,  Sebastian,  et  al.  "On  pixel-wise  explanations  for  non-linear  classifier  decisions  by  layer-wise  relevance  propagation."  PloS  one  10.7  (2015):  e0130140.
参考文献２：Shrikumar,  Avanti,  Peyton  Greenside,  and  Anshul  Kundaje.  "Learning  important  features  through  propagating  activation  differences."  arXiv  preprint  arXiv:1704.02685  (2017).
【００４０】
ここで、図５の例を用いて、自己符号化器に対する重要度算出処理の一例を説明する。図５は、自己符号化器に対する重要度算出処理の一例を説明する図である。図５に例示するように、重要度算出部１４ａは、ｘ１〜ｘｎまでの入力データを自己符号器に入力すると、ｙ１〜ｙｎまでの出力データを出力する。ここで、出力データのうちｙ２に着目すると、重要度算出部１４ａは、ｙ２の再現に重要な各入力データｘ１〜ｘｎの重要度をそれぞれ算出することになる。
【００４１】
ここで、重要度算出部１４ａは、全ての出力データについて、各入力データｘ１〜ｘｎの重要度をそれぞれ算出するようにしてもよい。この場合には、図６に例示するように、Ｎ個の入力データを入力した場合には、出力データもＮ個になるため、Ｎ×Ｎの重要度を算出することとなる。図６は、Ｎ×Ｎの重要度を計算する場合の例を説明する図である。このため、入力次元が大きな状況下では、監視装置１０の処理負荷が重く、また、人間が見て分析や制御判断を行うには数が多すぎる場合がある。
【００４２】
そこで、重要度算出部１４ａは、検出部１２によって検出された再現誤差が所定の閾値以上である出力データを抽出し、自己符号化器に入力された各入力データと抽出した出力データとを用いて、抽出した出力データに対する各入力データの重要度を算出するようにしてもよい。例えば、上記の図５の例を用いて説明すると、重要度算出部１４ａは、入力データｘ１と出力データｙ１との再現誤差、入力データｘ２と出力データｙ２との再現誤差、・・・入力データｘｎと出力データｙｎとの再現誤差が所定の閾値以上であるか否かをそれぞれ判定する。この結果、重要度算出部１４ａは、再現誤差が所定の閾値以上であると判定された出力データのみを抽出し、抽出した出力データに対する各入力データの重要度を算出する。
【００４３】
図７の例を用いて、再現誤差に応じて重要度計算対象を絞り込む処理について説明する。図７は、再現誤差に応じて重要度計算対象を絞り込む処理の一例を説明する図である。図７に例示するように、Ｎ個の入力データを入力した場合には、出力データもＮ個になるが、各出力データのうち再現誤差が大きな出力データのみを重要度計算の対象とした結果、３つの出力データが重要度計算の対象となった場合には、３×Ｎ個の重要度を算出することとなり、Ｎ×Ｎの重要度を算出することと比べて、監視装置１０の処理負荷が軽くなり、また、人間が分析や制御判断を行うことを容易にする。
【００４４】
また、重要度算出部１４ａは、ニューラルネットワークにおける中間層ごとに、各入力データの重要度を算出するようにしてもよい。例えば、重要度算出部１４ａは、自己符号化器に入力された各入力データと自己符号化器のニューラルネットワークにおける中間層のノードの出力データとを用いて、該中間層の出力データに対する各入力データの重要度を算出する。
【００４５】
図８の例を用いて、ニューラルネットワークにおける中間層のノードを重要度計算対象として絞り込む処理の一例を説明する。図８は、ニューラルネットワークにおける中間層のノードを重要度計算対象として絞り込む処理の一例を説明する図である。図８に例示するように、Ｎ個の入力データを入力した場合には、出力データもＮ個になるが、入出力層よりもノード数が少ない中間層のノードを重要度計算の対象とした結果、３つの中間層のノードの出力データが重要度計算の対象となった場合には、３×Ｎ個の重要度を算出することとなり、Ｎ×Ｎの重要度を算出することと比べて、監視装置１０の処理負荷が軽くなり、また、人間が分析や制御判断を行うことを容易にする。
【００４６】
重要度ノイズ除去部１４ｂは、重要度算出部１４ａによって計算された重要度を所定の時間幅でスムージングしてノイズを除去する。例えば、重要度ノイズ除去部１４ｂは、ノイズを除去する技術としてＳｍｏｏｔｈ  Ｇｒａｄの手法を用いて、重要度をスムージングしてもよい。Ｓｍｏｏｔｈ  Ｇｒａｄは、入力画像にランダムなガウシアンノイズをかけた複製を数十枚作成し、それぞれから抽出された重要度を平均することでノイズを取り除く手法である。なお、上述のノイズを除去する処理については、省略してもよく、その場合には、監視装置１０は重要度ノイズ除去部１４ｂの機能部を有していなくてもよい。
【００４７】
重要度可視化部１５は、各センサデータの重要度の推移を示すグラフを表示したり、異常判定部１３ａの判定結果と同期して重要なセンサを報知したりする。重要度可視化部１５は、取得部１５ａ、作成部１５ｂ、重要度表示部１５ｃおよび報知部１５ｄを有する。なお、重要度可視化部１５の各機能を監視装置１０とは別の表示装置に持たせるようにしてもよい。
【００４８】
取得部１５ａは、自己符号化器に入力された各入力データの出力データに対する重要度を取得する。例えば、取得部１５ａは、重要度ノイズ除去部１４ｂによってノイズが除去された各センサの重要度を取得する。
【００４９】
作成部１５ｂは、取得部１５ａによって取得された重要度を用いて、各入力項目の重要度の推移を示すグラフを作成する。重要度表示部１５ｃは、作成部１５ｂによって作成されたグラフを表示する。
【００５０】
報知部１５ｄは、監視対象設備の異常が検知された場合に、取得部１５ａによって取得された各重要度のうち、重要度が所定の閾値以上である入力項目を報知する。例えば、報知部１５ｄは、異常判定部１３ａによる判定結果を取得し、監視対象設備の異常が検知された場合、すなわち、異常予測評価値が所定の閾値以上であった場合には、異常が検知された時刻に対応する各センサの重要度のうち、重要度が所定の閾値以上であるセンサを報知する。これにより、異常が発生した際に、特に重要度の高いセンサ同士の関係を報知することが可能である。
【００５１】
ここで、図９を用いて、監視装置１０によって実行される異常予測処理の概要を説明する図である。図９は、監視装置によって実行される異常予測処理の概要を説明する図である。
【００５２】
図９では、プラント内の反応炉や装置などにセンサや運転用の信号などを収集するデバイスが取り付けられ、一定時間毎にデータを収集していることを図示している。そして、図９では、収集部１１が各センサＡ〜センサＥから収集したプロセスデータの推移を示したものを図示しており（図９の（Ａ）参照）、検出部１２は、プロセスデータおよび自己符号化器を用いて、自己符号化器のニューラルネットワークに対して入力される入力データに対する出力データの再現誤差を検出し、該再現誤差に応じて、監視対象設備の異常予測評価値を算出する（図９の（Ｂ）参照）。そして、出力可視化部１３は、算出された異常予測評価値の時系列データをチャート画面として出力する（図９の（Ｃ）参照）。
【００５３】
また、算出部１４は、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、自己符号化器に入力された各入力データの出力データに対する重要度を算出する（図９の（Ｄ）参照）。そして、重要度可視化部１５は、各センサデータの重要度の推移を示すグラフを表示する（図９の（Ｅ）参照）。図９の例では、センサＡについての出力データに対する各センサＡ〜センサＥについての入力データの重要度の推移を示すグラフを表示している。
【００５４】
［監視装置の処理手順］
次に、図１０〜図１２を用いて、第１の実施形態に係る監視装置１０による処理手順の例を説明する。図１０は、第１の実施形態に係る監視装置における異常予測処理の流れの一例を示すフローチャートである。図１１は、第１の実施形態に係る監視装置における重要度算出処理の流れの一例を示すフローチャートである。図１２は、第１の実施形態に係る監視装置におけるグラフ表示処理の流れの一例を示すフローチャートである。なお、図１１に例示する処理は、再現誤差が大きい入力項目（センサ）のみを重要度計算の対象として絞り込む場合の処理である。
【００５５】
まず、図１０を用いて、監視装置１０による異常予測処理の流れを説明する。図１０に例示するように、収集部１１が、プロセスデータを収集すると（ステップＳ１０１肯定）、収集部１１によって収集されたプロセスデータから、所定時点または所定の時間幅である分析フレームにおけるプロセスデータを抽出する（ステップＳ１０２）。
【００５６】
そして、フレーム異常評価値算出部１２ｂは、オートエンコーダ（自己符号化器）を用いて、入力データを再現し（ステップＳ１０３）、オートエンコーダのニューラルネットワークに対して入力される入力データに対する出力データの再現誤差を検出し、該再現誤差に応じて、監視対象設備の異常度であるフレーム異常評価値を算出する（ステップＳ１０４）。
【００５７】
その後、出力可視化部１３の異常判定部１３ａは、フレーム異常評価値算出部１２ｂによって算出されたフレーム異常評価値が所定の閾値以上であるか否かを判定する（ステップＳ１０５）。この結果、異常判定部１３ａは、異常予測評価値が所定の閾値未満である場合には（ステップＳ１０５否定）、そのまま処理を終了する。また、異常判定部１３ａは、異常予測評価値が所定の閾値以上である場合には（ステップＳ１０５肯定）、警告サインを出力する（ステップＳ１０６）。
【００５８】
次に、図１１を用いて、監視装置１０による重要度算出処理の流れを説明する。図１１に例示するように、重要度算出部１４ａは、学習済モデルに入力されたプロセスデータを分析フレームバッファ１７から取得するとともに、学習済モデルから出力されたフレーム異常評価値をフレーム異常評価値バッファ１８から取得すると（ステップＳ２０１肯定）、再現誤差が大きい入力項目（センサ）を重要度計算の対象として抽出する（ステップＳ２０２）。
【００５９】
そして、重要度算出部１４ａは、重要度計算の対象として抽出した項目の出力データに対する各入力データの重要度を算出する（ステップＳ２０３）。そして、重要度ノイズ除去部１４ｂは、重要度算出部１４ａによって計算された重要度を所定の時間幅でスムージングしてノイズを除去する（ステップＳ２０４）。例えば、重要度ノイズ除去部１４ｂは、ノイズを除去する技術としてＳｍｏｏｔｈ  Ｇｒａｄの手法を用いて、重要度をスムージングする。
【００６０】
次に、図１２を用いて、監視装置１０によるグラフ表示処理の流れを説明する。図１２に例示するように、取得部１５ａが、自己符号化器に入力された各入力データの出力データに対する重要度を取得すると（ステップＳ３０１肯定）、作成部１５ｂは、取得部１５ａによって取得された重要度を用いて、各センサの重要度の推移を示すグラフを作成する（ステップＳ３０２）。そして、重要度表示部１５ｃは、作成部１５ｂによって作成されたグラフを表示する（ステップＳ３０３）。
【００６１】
（第１の実施形態の効果）
第１の実施形態に係る監視装置１０は、監視対象設備に関する複数のデータを収集し、収集された複数のデータを入力データとして、自己符号化器を用いて、各入力データを再現した出力データを出力し、該入力データと該出力データとを比較して、該入力データに対する該出力データの再現誤差を検出する。そして、監視装置１０は、自己符号化器に入力された各入力データと、自己符号化器から出力された出力データとを用いて、自己符号化器に入力された各入力データの出力データに対する重要度を算出する。このため、監視装置１０では、各入力データの出力データに対する重要度を動的かつ容易に確認することが可能となる。
【００６２】
つまり、第１の実施形態に係る監視装置１０では、センサ等の入力値から自己符号化器の学習済モデルを通すことで通常の異常検知や状態判定などを行い、その状態において出力に対してどの入力値が重要であるかを動的に確認することができる。その結果、出力値に応じてどの入力値を操作すればよいか判別し易くなる。
【００６３】
例えば、第１の実施形態に係る監視装置１０では、各時刻、各サンプルの入力に対して、自己符号化器の出力に重要な入力をその重要度とともに逐一抽出して提示することができる。これにより、その時々の状態に対して重要なセンサを提示することができるようになり、状態の変化する系に対しても対応できるようになった。また、状態を熟知している専門家でなくとも、その状態に対してどの項目に対して操作を行うかといった特定も行いやすくなった。
【００６４】
また、第１の実施形態に係る監視装置１０では、例えば、再現誤差が大きな出力データの項目のみを重要度計算の対象とした場合には、処理負荷を軽減するとともに処理を高速化し、重要な入力を効率的に特定することが出来る。
【００６５】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵやＧＰＵおよび当該ＣＰＵやＧＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６６】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６７】
（プログラム）
また、上記実施形態において説明した監視装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る監視装置１０が実行する処理をコンピュータが実行可能な言語で記述した監視プログラムを作成することもできる。この場合、コンピュータが監視プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる監視プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された監視プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【００６８】
図１３は、監視プログラムを実行するコンピュータを示す図である。図１３に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００６９】
メモリ１０１０は、図１３に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図１３に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図１３に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図１３に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図１３に例示するように、例えばディスプレイ１１３０に接続される。
【００７０】
ここで、図１３に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、監視プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【００７１】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【００７２】
なお、監視プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、監視プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７３】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７４】
１０  監視装置
１１  収集部
１２  検出部
１２ａ  分析フレーム抽出部
１２ｂ  フレーム異常評価値算出部
１３  出力可視化部
１３ａ  異常判定部
１３ｂ  チャート表示部
１４  算出部
１４ａ  重要度算出部
１４ｂ  重要度ノイズ除去部
１５  重要度可視化部
１５ａ  取得部
１５ｂ  作成部
１５ｃ  重要度表示部
１５ｄ  報知部
１６  プロセスデータバッファ
１７  分析フレームバッファ
１８  フレーム異常評価値バッファ
【図１】
2019179400.tif 000003
【図２】
2019179400.tif 000004
【図３】
2019179400.tif 000005
【図４】
2019179400.tif 000006
【図５】
2019179400.tif 000007
【図６】
2019179400.tif 000008
【図７】
2019179400.tif 000009
【図８】
2019179400.tif 000010
【図９】
2019179400.tif 000011
【図１０】
2019179400.tif 000012
【図１１】
2019179400.tif 000013
【図１２】
2019179400.tif 000014
【図１３】
2019179400.tif 000015