以下に本発明の制御状態監視システムの各実施形態について図面を参照して説明する。各実施形態は、一部の構成が異なるのみであるため、共通部分や対応部分については、各実施形態で同じ符号を付すものとする。各実施形態は、説明の便宜上、簡易な構成から複雑な構成へと順番に説明を進めるために分けているに過ぎず、全体で1つの実施形態と捉えてもよいものである。従って、全ての実施形態で、制御状態監視システム10、状態推定器50、異常検知器60等の共通符号を用いて説明を行う。
[第1実施形態]
図1には、第1実施形態の制御状態監視システム10の全体構成が示されている。第1実施形態は、動作環境、累積稼働回数・時間を考慮することなく、目的動作のみを考慮して制御状態の監視を行う場合であり、本発明の基本構成を説明するための実施形態である。図2は、交流回路の電圧・電流の説明図である。図3には、状態データおよび特徴データの送信や保存の形態が示されている。また、図4には、前段の状態推定を1つのパターン認識器で行う場合(ケースC1-1)、図5には、前段の状態推定を複数のパターン認識器で行う場合(ケースC1-2)の構成がそれぞれ示されている。さらに、図6~図10には、異常検知器60の各タイプの構成が示されている。
<制御状態監視システム10の全体構成>
図1において、制御状態監視システム10は、機器20の動作制御の状態を監視するシステムである。この制御状態監視システム10による制御状態の監視には、機器20に元々設置されている計測器の出力データや、機器20に元々設置されている計測器ではなく制御状態の監視のために設置した計測器の出力データ等が用いられるので、制御状態の監視対象である機器20の一部が、制御状態監視システム10の構成要素にもなっている。
図1において、制御状態監視システム10は、機器20の一部(制御状態の監視に必要な状態データやその他の情報を取得する部分)と、機器20から取得した状態データやその他の情報をネットワーク1上に送出する接続装置26と、それぞれネットワーク1に接続された装置である異常検知処理装置30、データ収集装置80、学習装置90とを備えて構成されている。また、ネットワーク1には、ユーザ(異常検知結果の利用者)が操作するユーザ端末100と、本システムの管理者が操作する管理者端末110とが接続されている。
ここで、ネットワーク1は、主としてインターネットのような外部ネットワークであるが、これとイントラネットやLAN等の内部ネットワークとの組合せ等でもよく、有線であるか、無線であるか、有線・無線の混在型であるかは問わない。また、ネットワーク1は、例えば、社内、工場内、事業所内、グループ企業内、学内、所定の地域内等に限定されたイントラネットやLAN等の内部ネットワークであってもよい。
また、本実施形態では、機器20から取得した状態データを用いて動作制御の状態監視(異常検知)に関する各種処理を行うためのシステム構成として、それぞれ別々のコンピュータからなる接続装置26と、異常検知処理装置30と、データ収集装置80と、学習装置90とをネットワーク1で接続した構成を採用しているが、このようなネットワーク接続によるシステム構成は一例に過ぎない。従って、制御状態監視システム10は、必ずしもこのように複数台のコンピュータにより構成されている必要はなく、各装置26,30,80,90で実現される機能を1台のコンピュータにまとめた構成としてもよく、あるいは各機能を任意の台数のコンピュータに分散してもよい。
例えば、異常検知処理装置30で実現される各機能(状態データ取得手段40、状態推定器50、異常検知器60、出力手段70の各機能)を、複数台のコンピュータに分散してもよく、あるいは、異常検知処理装置30で実現される各機能の一部(例えば、状態データ取得手段40の全部または一部の機能、またはそれに加えて状態推定器50の全部または一部の機能)を、接続装置26で実現してもよい。
後者の場合、接続装置26は、各地に設置された機器20に対応して設けられているので、状態データ取得手段40の全部または一部の機能(例えば、周波数分析等の前処理の機能)や、状態推定器50の全部または一部の機能が、各地のそれぞれで実現されることになる。なお、機器20と接続装置26とは、比較的近距離に設置されるので、原則として、同じ場所や同じエリア内に設置されるが、両者が1対1である必要はなく、複数の機器20に対して1つの接続装置26が設置されていてもよい。また、機器20が例えばプラント機器のように大きな機器である場合には、1つの機器20に対して複数の接続装置26が設置されていてもよく、この場合、例えば、1つの機器20について複数の場所で異なる種類の状態データを取得し、それぞれの状態データを、それぞれの場所に設置された接続装置26へ送信するケース等がある。
そして、図1での図示は省略されているが、機器20の周辺に、制御状態監視システム10の一部として機能する配電盤や分電盤を設けてもよい。この場合には、配電盤や分電盤に接続装置26の機能を設けることができ、また、機器20に対して給電を行う電源23、電源23から機器20への入力電流・電圧の値を外部観測データとして取得する状態監視用センサ24、あるいは目的動作取得手段25を、配電盤や分電盤に設けてもよい。さらに、このような配電盤や分電盤に、状態データ取得手段40の全部または一部の機能、状態推定器50の全部または一部の機能を設けてもよい。
また、状態推定器50の機能が、接続装置26で実現される場合は、状態推定器50が各地に設置されることになるので、状態データがネットワーク1上を流れるのではなく、特徴データがネットワーク1上を流れることになる。なお、状態データや特徴データが動作制御の状態監視(異常検知)の処理を行うためにネットワーク1上を流れることと、状態データや特徴データがデータ収集装置80に保存されて学習用データとして提供されるか否かとは、別のことである。従って、データがネットワーク1上を流れることをもって、そのデータについての学習用データとしての使用が承諾されているわけではない。
<機器20の構成>
図1に示すように、機器20は、動作部21と、この動作部20を制御する制御部22とを備えて構成されている。動作部21には、電源23から駆動用の電力が供給されるようになっている。なお、図示は省略されているが、制御部22にも電源23からの電力供給がある。
制御部22には、機器20の利用者(以下、制御状態監視システム10の利用者と区別する必要があるときには、一般ユーザまたはエンドユーザと称する。)から、動作部20をどのように動作させるのかという目的動作についての指示が入力される。この指示の入力は、機器20に設けられた制御盤のボタン操作による指示でもよく、パーソナルコンピュータ、またはスマートフォンやタブレット端末等のモバイル機器からの遠隔操作による指示でもよい。指示された目的動作を示す情報は、制御部22に記憶される。
動作部21および制御部22の組合せは任意であり、制御部22が予め定められた少なくとも1つの目的動作を動作部21に実行させるための制御を行うようになっていれば、本発明を適用することができる。具体的には、例えば、動作部21がフライホイールで、制御部22がインバータの組合せである。また、機器20がインバータエアコンの場合には、動作部21がコンプレッサ(室外機に設置された圧縮機)のモータであり、制御部22はインバータである。
また、機器20には、状態監視用センサ24が設置されている。この状態監視用センサ24は、機器20に元々設置されている制御用センサとは別に、制御状態監視システム10による制御状態の監視(異常検知)を行うために設置されたものである。従って、この状態監視用センサ24が無くても、機器20の動作制御は何の不都合もなく行うことができるが、制御状態の監視(異常検知)のために取得する状態データの種類が減ることになるので、制御状態監視システム10の性能向上のためには、状態監視用センサ24を設置したほうがよい場合がある。一方、機器20の種別によっては、状態監視用センサ24を設置しなくても、十分に高精度な異常検知を行うことができる場合もある。
さらに、機器20の周辺には、制御部22から目的動作を示す情報(予め定められた複数の目的動作のうちの制御実行中の目的動作を示す情報)を取得し、取得した目的動作を示す情報を、有線または無線で接続装置26へ送信する処理を実行する目的動作取得手段25が設けられている。この目的動作取得手段25は、例えばマイクロコントローラ(いわゆるマイコン)等により構成されるが、汎用のパーソナルコンピュータで構成してもよい。
<状態データの取得、ネットワーク送信を行うための構成>
制御部22から動作部21に入力される制御信号と、この制御信号以外で動作部21へ入力される外部入力データ(例えば、電源23から動作部21へ供給される電圧・電流の波形データ等)と、動作部21から制御部22へ送信される内部観測データ(制御用センサの出力データであり、フィードバック制御を行う場合のフィードバック信号や、制御盤でのモニタリング用の計測データ等を含む。)と、外部観測データ(状態監視用センサ24の出力データ)とは、図1中の点線で示すように、それぞれ状態データとして、接続装置26へ有線または無線で送信されるようになっている。なお、図1では、これらの状態データは、接続装置26へ直接に送信されるように記載されているが、目的動作取得手段25の場合と同様に、取得した状態データを接続装置26へ送信する状態データ送信手段(例えば、マイクロコントローラや、パーソナルコンピュータ等により構成される手段)を設置してもよく、各状態データおよび目的動作を示す情報を、まとめて接続装置26へ送信する状態データ・目的動作送信手段(従って、目的動作取得手段25を含む)を設置してもよく、これらの状態データ送信手段や状態データ・目的動作送信手段で、周波数分析等の前処理を行ってもよい。
上述したように、機器20から取得する状態データには、(1)制御信号と、(2)外部入力データと、(3)内部観測データと、(4)外部観測データとがある。但し、制御状態の監視対象となる全ての機器20について、これらの(1)~(4)の状態データの全てが必要になるという意味ではない。機器20の種別に応じ、(1)~(4)の状態データの中から少なくとも1つの状態データを選択して使用(状態推定器50によるパターン認識処理で使用するという意味)すればよい。
また、(1)~(4)の状態データの各々には、1種類または複数種類の状態データがある。従って、2以上の状態データを組み合わせて使用する場合には、例えば、(2)と(3)との組合せ、(2)と(3)と(4)との組合せのように、(1)~(4)のうちの異なる系統の状態データを組み合わせてもよく、あるいは、(1)同士、(2)同士、(3)同士、(4)同士の組合せのように、同じ系統に属する異なる種類の状態データの組合せとしてもよい。
(3)内部観測データと(4)外部観測データとの相違は、センサの設置位置が機器20の筐体の内部と外部という意味ではなく、機器20に元々設置されている制御用センサであるか、制御状態監視システム10を構築するために追加で設置した状態監視用センサ24であるかの相違である。
また、同じ物理量を示す計測値でも、複数の系統の状態データとして捉えられる場合がある。例えば、電源23から動作部21へ供給される電圧や電流の波形データは、(2)外部入力データ、(3)内部観測データ、(4)外部観測データとして計測される場合がある。この場合、上述したように(3)と(4)との相違は、センサの設置目的の相違であるが、(2)と、(3)や(4)との相違は、計測場所の相違または考え方の相違である。電源23側に帰属する装置で計測されれば、(2)外部入力データであり、機器20側に帰属する装置で計測されれば、(3)内部観測データまたは(4)外部観測データであると考えることができる。従って、配電盤や分電盤を、電源23側の装置であると考えるか、機器20側の装置であると考えるかによっても変わってくる。しかし、電圧や電流の波形データを、状態データとして取得することができればよいので、取得したデータが、(2)~(4)のうちのいずれの系統の状態データに該当するのかは問題にならない。なお、機器20側(負荷側)で計測して(4)外部観測データとする場合には、機器20側におけるいずれの負荷部分の電圧・電流を計測するのかにより、異なる種類の状態データが得られる。R相、T相の相違という意味ではなく、機器20内の回路のいずれの個所の電圧・電流を計測するのかの相違という意味である。
さらに、(1)~(4)のうちの同じ系統の場合(例えば、ともに(4)の場合等)で、かつ、同じ現象を計測する場合でも、計測位置や計測方向が異なる場合や、センサ種別が異なる場合は、異なる種類の状態データになる場合がある。例えば、同じ現象について、異なるセンサ特性を有する2以上のセンサを用いて計測すれば、異なる種類の状態データになるので、それらを組み合わせて使用してもよい。
(3)内部観測データは、制御用センサの出力データであり、制御に関連する何らかの目的で、機器20に元々設置されているセンサ出力をすべて含む。例えば、フィードバック制御を行う場合のフィードバック信号(動作部21への入力である制御信号(入力信号)にフィードバック(帰還)する信号)、制御盤でのモニタリング用の計測データ(直接に制御信号に反映されるデータではなく、人間が制御中に参照するためのデータ)、バルブのON・OFF状態を示す信号、制御盤のランプ点灯用の信号等を含む。従って、シーケンス制御を行っている機器20からのセンサ出力も含む。また、ここでいうフィードバック信号は、フィードバック経路上の信号という意味であり、動作部21から出力された直後の信号(フィードバック経路上の伝達関数よりも上流側の信号)と、制御信号にフィードバックされる直前の信号(フィードバック経路上の伝達関数よりも下流側の信号)との双方を含む。
(3)内部観測データは、機器20に元々設置されているセンサ出力であるから、それを制御状態監視システム10による異常検知に利用することができれば、安価かつ容易にシステムを構築することができる。一方、(3)内部観測データとして得られないデータを、状態データとして使用したい場合には、別途にセンサを設置する必要があるが、そのセンサ出力は、前述したように設置場所や考え方によっては、(2)外部入力データとなり、あるいは(4)外部観測データとなる。前述したように、(2)であるか、(4)であるかは重要ではなく、どのような状態データを、どのような種別または特性のセンサを設置して取得するのかが重要となる。
(2)外部入力データ、または(4)外部観測データには、例えば、電圧、電流、振動、熱、音(騒音)等の各種データが含まれる。そして、設置するセンサは、例えば、電流値の取得であれば、電流検出器(CT:Current Transformer)を用いることができ、その他、計測対象に応じて、加速度センサ、ギャップセンサ、熱センサ、マイクロフォン、光電センサ、磁気センサ、画像センサ等の各種のセンサを用いることができる。
より具体的には、例えば、(3)内部観測データとして得られない電圧値および電流値を、配電盤または分電盤から取得し、それらを状態データとして使用することができる。配電盤等から機器20への出力であるが、機器20にとっては入力電源であるため、配電盤等を電源23側の装置であると考えれば、この状態データは、(2)外部入力データであると考えることができる。また、機器20側のいずれかの負荷部分で計測すれば、(4)外部観測データであると考えることができる。
図2に示すように、電源23が交流電源である場合には、電圧や電流の波形データは、正弦波に近いデータとなり、電圧と電流とで位相がずれている。これらの電圧および電流の波形データを、状態データとして用いれば、機器20の負荷(ここでは交流波形の説明なのでインピーダンスを指し、直流の場合の抵抗に相当)、負荷力率、ノイズとして発生するリップル電流(電流の中に含まれている脈動の成分)等の微小な変化を捉えることができ、異常検知を行うことが可能であると考えられる。機器20の異常時には、その影響が負荷(インピーダンスや、抵抗)、力率、リップル電流等の変化として観測可能であると考えられるからである。
このように電圧や電流の波形データを取得し、状態データとして用いて機器20の負荷(交流の場合のインピーダンスや、直流の場合の抵抗)、負荷力率、ノイズとして発生するリップル電流(電流の中に含まれている脈動の成分)等の微小な変化を捉える処理は、電圧値および電流値が(3)内部観測データとして得られない場合に限らず、(3)内部観測データとして得られる場合に行っても同様な効果が得られる。従って、(3)内部観測データとしての電圧や電流の波形データを用いてもよい。
なお、電源23が交流電源である場合の電圧および電流の各波形データは、そのまま状態データとして用いてもよく、これらの波形データを周波数分析(例えば、FFT、MFCC等)して得られた各周波数帯域の成分値を状態データとして用いてもよい。また、三相交流の場合には、通常は三相全部を使用する必要はなく、二相の情報があれば、残りの一相の情報は完全に復元可能である。従って、三相のうち二相だけを使用すればよく、また、一相だけを使用してもよい。
具体的には、電源23が三相交流電源である場合には、電圧および電流からの特徴量の取得方法として、例えば、次のような方法を採用することができる。下記の第1~第4の状態データは、全て高サンプリング周波数で計測された時系列データであり、時間軸に対して全ての観測が同期しているものとする。
第1の状態データは、R相の電圧波形から得られたN次元のベクトルデータである。
第2の状態データは、R相の電流波形から得られたN次元のベクトルデータである。
第3の状態データは、T相の電圧波形から得られたN次元のベクトルデータである。
第4の状態データは、T相の電流波形から得られたN次元のベクトルデータである。
これらのN次元のベクトルデータは、時系列データであり、観測された値そのものであるから、周波数分析(例えば、FFT、MFCC等)して得られた各周波数帯域の成分値ではない。また、全ての観測が同期しているので、4つのN次元のベクトルデータにおける1番目の値(1番目の次元の値)のそれぞれは、同時刻の値であり、2番目の値のそれぞれも、同時刻の値であり、3番目以降の値も同様である。
そして、これらの波形データを画像画素(R,G,B)のように扱い、畳み込み・ニューラル・ネットワーク(CNN)によるパターン認識処理を行う状態推定器50に入力する。第1~第4の状態データは、いずれも図2のような波形を直接にイメージできる時系列データであり、(時刻t1の値、時刻t2の値、…、時刻tNの値)というN次元のベクトルデータであるが、この時系列データを、順番に入力するのではなく、1時点の入力データとして、まとめて同時に状態推定器50に入力することになる。
このような電圧・電流波形から得られた第1~第4の状態データのいずれかを用いることにより、機器20側(負荷側)のインピーダンスや力率やリップル電流等の変化がモデル化されると考えられる。また、いずれか1つを用いてもよいが、よりインピーダンスや力率やリップル電流等のモデル化を可能にするために、第1と第2の状態データ(R相の電圧・電流波形)をまとめるか、または、第3と第4の状態データ(T相の電圧・電流波形)をまとめることにより、2×N次元のベクトルデータを、CNNによる状態推定器50への入力データとしてもよく、この場合には、フィルタ数が2倍のCNNが構築される。さらに、第1~第4の状態データの全てをまとめ、4×N次元のベクトルデータを、CNNによる状態推定器50への入力データとしてもよい。また、電流値×電圧値から構成されるN次元の電力値ベクトルや、電圧値/電流値から構成されるN次元の抵抗値ベクトル等を、CNNによる状態推定器50への入力データとしてもよい。
なお、上記のような電圧・電流波形による第1~第4の状態データを得る場合を含め、より一般に、波形データから、状態推定器50への入力データを作成する方法には、大別すると、3通りの方法がある。
第1の方法では、高サンプリング周波数で取得した1次元のデータ(ある1時刻のデータ)を、1次元のデータとして、そのまま時系列で(順番に)入力する。従って、状態推定器50への入力データの次元数は小さくなり、1次元の入力データでも状態推定を行うことが可能な場合がある。但し、この第1の方法では、状態推定器50は、内部メモリ(前回または前回以前の内部的処理結果を記憶する内部メモリ)を有することにより、内部構造的に系列モデリングを実現しているパターン認識器である必要がある。すなわち、内部メモリによる時系列パターン認識処理を行う必要がある。例えば、リカレント・ニューラル・ネットワーク(RNN)、またはRNNの中のロング・ショート・ターム・メモリ(LSTM)、あるいは隠れマルコフモデル(HMM)等による時系列パターン認識処理である。
第2の方法では、高サンプリング周波数で取得した1次元のデータの集合(複数の時刻のデータ)を、そのまま(つまり、周波数分析をせずに)、まとめて一気に高次元のデータとして入力する。前述した第1~第4の状態データ(電圧・電流波形から得られたN次元のベクトルデータ)を、CNNによる状態推定器50へ入力する場合は、この第2の方法である。第2の方法では、状態推定器50は、内部メモリによる時系列パターン認識処理を行う必要はなく、静的な(スタティックな)パターン認識処理でよいが、内部メモリによる時系列パターン認識処理を行ってもよい。
第3の方法では、周波数分析を行い、各周波数帯域の成分値を、まとめて一気に高次元のデータとして入力する。周波数分析としては、例えば、FFT、MFCC等を採用することができ、本実施形態では、周波数分析は、前処理手段41により実行する。この際、周波数分析の演算窓の時間長は、分析対象の波形の状態に応じて定めればよい。また、複数の演算窓の各々で周波数分析を行った結果を、例えば平均値や合計値等の算出による統合処理(帯域毎の演算でよいが、複数の帯域に跨った演算でもよい。)を行い、その統合処理の結果を、状態推定器50への入力データとしてもよく、この統合処理も、本実施形態では、前処理手段41により実行する。例えば、1つの演算窓での周波数分析の結果(各周波数帯域の成分値)として1024次元のベクトルデータが得られたとすれば、複数個(L個)の1024次元のベクトルデータ(L個の演算窓の各データ)から、統合処理で1つの1024次元のベクトルデータを作成し、それを入力データとする。さらに、複数の演算窓は、時間的にずれているが、統合処理の対象とする複数個(L個)の演算窓は、重なっていてもよく、重なりがなくてもよい。例えば、各演算窓での周波数分析の結果を示す多次元のベクトルデータが生成時刻順にQ1,Q2,Q3,Q4,…であり、L個=100個であるとすれば、(Q1,Q2,…,Q100)、(Q2,Q3,…,Q101)のように、1つずつずらしながら統合処理の対象としてもよく、(Q1,Q2,…,Q100)、(Q101,Q102,…,Q200)のように、重なりなく統合処理の対象としてもよく、あるいは、(Q1,Q2,…,Q100)、(Q11,Q12,…,Q110)のように、重なりはあるが、ずらし量が1つではなく、2以上になるように統合処理の対象を設定してもよい。また、各演算窓は、重なりなく連続していてもよく、前後の演算窓が部分的に重なっていてもよく、前後の演算窓が離れていてもよい(前後の演算窓の間に時間的な隙間があってもよい)。この第3の方法でも、状態推定器50は、内部メモリによる時系列パターン認識処理を行う必要はなく、静的な(スタティックな)パターン認識処理でよいが、内部メモリによる時系列パターン認識処理を行ってもよい。
接続装置26は、ネットワーク1へのデータ送出を行うエッジデバイスとしての機能(例えば、通信プロトコルの変換等の機能)を有する装置であり、コンピュータにより構成され、機器20や状態監視用センサ24や目的動作取得手段25(あるいは、図示されない状態データ送信手段や状態データ・目的動作送信手段でもよい。)から出力される状態データおよび目的動作を示す情報を有線または無線で受信し、受信した状態データおよび目的動作を示す情報を、データ管理に必要となる情報とともに、ネットワーク1を介して異常検知処理装置30(状態データ取得手段40)へ送信する処理を実行するものである。
より詳細には、機器20から接続装置26を経由して状態データ取得手段40へ送信するデータは、図3に示す通りである。すなわち、状態データ取得手段40への送信データには、状態データについてのデータ識別情報(データID)と、機器識別情報(機器の製造番号等)と、機器タイプ識別情報(機器の型番等)と、目的動作を示す情報と、機器稼働開始年月日および/または累積稼働回数を示すカウント値と、状態データについてのデータ取得日時(年月日・時分秒)と、少なくとも1つの状態データとが含まれている。そして、状態データには、(1)制御信号と、(2)外部入力データ(電源の電圧および/または電流の波形データを含む)と、(3)内部観測データ(フィードバック信号を含む)と、(4)外部観測データとがある。なお、状態データおよび目的動作を示す情報を除くデータ(データ管理に必要となる情報)は、接続装置26が付与してもよい。
<異常検知処理装置30の全体構成>
異常検知処理装置30は、1台または複数台のコンピュータ(サーバ)により構成され、状態データ取得手段40と、状態推定器50と、異常検知器60と、出力手段70とを含んで構成されている。状態データ取得手段40は、前処理手段41を備えている。また、状態推定器50は、状態推定用のパターン認識アルゴリズムを実行する状態推定用パターン認識処理手段51と、このパターン認識処理に用いる状態推定モデルを記憶する状態推定モデル記憶手段52とを備えている。さらに、異常検知器60は、クラス識別処理、外れ値検知処理、新規性検知処理のうちの少なくとも1つの処理を実行する異常検知処理手段61と、この異常検知のための処理に用いる異常検知モデルを記憶する異常検知モデル記憶手段62とを備えている。
ここで、状態データ取得手段40、前処理手段41、状態推定用パターン認識処理手段51、異常検知処理手段61、および出力手段70は、異常検知処理装置30を構成するコンピュータ本体の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。また、状態推定モデル記憶手段52、異常検知モデル記憶手段62としては、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等を採用することができる。
状態データ取得手段40は、接続装置26からネットワーク1を介して送信されてくる状態データおよび目的動作を示す情報(付加されたデータ管理に必要となる情報を含む。図3参照)を受信(取得)する処理を実行するものである。接続装置26からの状態データ等の送信は、接続装置26側で管理されるタイミングで行われてもよく、状態データ取得手段40からの取得要求に基づき行われてもよい。
また、前処理手段41は、取得した状態データについて、必要な場合に、例えば、高速フーリエ変換(FFT)やメル周波数ケプストラム係数(MFCC)等の周波数分析、画像データについての背景除去、正規化、エッジ画像作成等の各種の前処理を実行するものである。さらに、前処理手段41で行う前処理には、分離して送信されてきた複数種類の状態データまたはそれらについて前処理(周波数分析等)を行った後の状態データを結合して状態推定器50への入力データを作成する処理も含まれる。
なお、本実施形態では、状態データ取得手段40は、接続装置26からネットワーク1を介して送信されてくる状態データおよび目的動作を示す情報を受信する構成とされているが、機器20や状態監視用センサ24や目的動作取得手段25から出力される状態データおよび目的動作を示す情報を直接に取得する構成としてもよい。接続装置26に状態データ取得手段40を設ける構成とする場合もあり、また、ネットワーク構成にせずに、機器20の設置場所付近で異常検知処理を行う構成とする場合もあるからである。
<状態推定器50の構成>
状態推定器50は、状態データ取得手段40により取得した状態データから作成されたパターン認識用の入力データを用いて、制御実行中の動作部21の実際の動作状態が、制御の目的動作を示す状態になっているか否かまたは制御の達成度を示すデータを出力するパターン認識処理を実行し、このパターン認識処理で得られる特徴データを抽出する処理を繰り返し実行するものである。
目的動作は、少なくとも1つは必要であり、また、各目的動作は、予め定められた動作でなければならない。目的動作での稼働時における機器20の動作制御の状態について、学習を行って状態推定モデル記憶手段52に記憶させる状態推定モデルを作成するからである。つまり、目的動作が予め定められていないと、状態推定モデルを構築できない。
本発明で動作制御の状態を監視する際には、目的動作は既知の状態となっている。目的動作は、機器20の利用者(一般ユーザ)による指示としてボタン操作や遠隔操作等で制御部22に与えられ、制御部22には、目的動作を示す情報が記憶されている。従って、目的動作取得手段25により、制御部22から目的動作を示す情報を取得し、取得した目的動作を示す情報を、異常検知処理装置30へ送信することにより、状態推定器50、異常検知器60、および出力手段70では、目的動作が既知の状態となる。
また、機器20の利用者(一般ユーザ)は、機器20に対し、目的動作について指示を出しているので、目的動作を自分で知っている。従って、機器20の利用者は、ユーザ端末100を操作し、ネットワーク1を介して異常検知処理装置30に対して目的動作を示す情報を送信することができ、これにより、状態推定器50、異常検知器60、および出力手段70では、目的動作が既知の状態となる。なお、機器20の利用者(一般ユーザ)が、異常検知処理装置30の周辺にいる場合には、ネットワーク経由ではなく、異常検知処理装置30に対してボタン操作等で直接に目的動作を示す情報を与えることができる。
さらに、制御状態監視システム10の利用者は、機器20を利用する一般ユーザ(機器20を使用して事業を行う運用事業者や、家庭内で機器20を使用する者等のエンドユーザ)だけではない。例えば、メーカ、販売業者、保守・点検業者、廃棄物処理業者等の作業員が、例えば、新製品リリース前の点検、個々の製品の出荷前の点検、製品販売前の点検、製品販売後の定期点検、一般ユーザの依頼に基づく任意の時期の点検、廃棄製品を利用したデータ収集等のような様々な目的で、制御状態監視システム10を利用する。従って、これらの作業者が、点検等の目的で機器20を稼働させる際には、制御部22に対して目的動作を指示し、目的動作取得手段25により、制御部22から目的動作を示す情報が取得され、異常検知処理装置30へ送信される。また、これらの作業者が、ユーザ端末100を操作し、ネットワーク1を介して異常検知処理装置30に対して目的動作を示す情報を送信する場合もあり、これらの作業者が、異常検知処理装置30の周辺にいるときには、ネットワーク経由ではなく、異常検知処理装置30に対してボタン操作等で直接に目的動作を示す情報を与える場合もある。
なお、本発明は、目的動作が1つしかない機器20にも適用することができ、この場合には、その唯一の目的動作での稼働時の状態を学習してモデルを構築し、運用時にそのモデルを用いて動作制御の状態を監視することになる。従って、目的動作取得手段25の設置は省略してもよく、また、ユーザ端末100等から異常検知処理装置30に対して目的動作を示す情報を与える必要もない。
機器20に、複数の目的動作がある場合とは、具体的には、例えば、動作部21が、フライホイール、ベルトコンベアのベルトを回動させるプーリ、エアコンのコンプレッサのモータであれば、目的動作X=100回転での定常運転、目的動作Y=70回転での定常運転、目的動作Z=30回転での定常運転等である。また、状態データにより学習可能な特徴を捉えることができる場合には、目的動作は、定常状態だけではなく、過渡状態でもよく、例えば、90回転から100回転へ移行する運転等であってもよい。
さらに、目的動作は、複数のパラメータを備えていてもよく(目的動作で制御するパラメータが複数あってもよく)、例えば、回転数(rpm)およびファンのON/OFFという複数(2つ)のパラメータを組み合わせた複合的な目的動作としてもよい。具体的には、例えば、目的動作X=「100回転、かつ、ファンONでの定常運転(ファンをONにした状態での100回転での定常運転)」、目的動作Y=「100回転、かつ、ファンOFFでの定常運転」、目的動作Z=「50回転、かつ、ファンOFFでの定常運転」等である。この場合は、目的動作を構成するいずれのパラメータも、既知の情報であり、上記の例であれば、回転数が100回転であるか、50回転であるかは既知であり、かつ、ファンがONであるか、OFFであるかも既知である。
また、機器20の利用者(一般ユーザ)による指示が、直接に目的動作になるのではなく、制御部22に対する目的動作の間接的な指示になる場合もある。例えば、エアコンの場合、一般ユーザは、「26度の冷房」のような設定をするが、制御部22は、このような一般ユーザの指示そのものを目的動作とするのではなく、26度の冷房という指示を受けた後に、その設定温度(26度)と現在の室内温度との関係でエアコンのパワーを決定するコンプレッサ(室外機に設置された圧縮機)のモータの回転数を設定し、それを目的動作とする。従って、インバータエアコンの場合、一般ユーザの指示による「26度の冷房」という設定ではなく、インバータによるコンプレッサのモータの回転数制御の目的動作(モータの回転数)が、本発明における目的動作に該当する。
状態推定器50を構成するパターン認識器の数は、1つでもよく、複数でもよい。パターン認識器は、アルゴリズム(状態推定用パターン認識処理手段51を実現する状態推定用のパターン認識アルゴリズム)と、モデル(状態推定モデル記憶手段52に記憶されている状態推定モデル)との組合せであるから、パターン認識器の数を複数にする場合は、アルゴリズムが同じで、異なる状態推定モデル(パラメータ)を用意するか、または、複数種類のアルゴリズムを用意してもよく、いずれの場合でも、後段の異常検知器60を構成する異常検知モデルは、それぞれのパターン認識器に対応させて用意する。後段の異常検知器60を構成する異常検知モデルを学習により構築するには、対応する前段のパターン認識器から抽出した特徴データを用いることになり、かつ、運用時にも、同じ対応関係で、前段のパターン認識器から抽出した特徴データを、後段の異常検知器60に入力することになるからである。
具体的には、本実施形態の状態推定器50は、一例として、畳み込み・ニューラル・ネットワーク(CNN)によるパターン認識処理を実行する構成とする。但し、隠れマルコフモデル(HMM)等を採用してもよく、あるいは、CNNによるパターン認識器と、HMMによるパターン認識器との双方を混在させてもよい。状態推定器50への入力データは、例えば、1024次元等であり、抽出する特徴データは、例えば、256次元等である。
図4および図5に示すように、CNNは、入力層、複数の中間層、出力層(最終層)を備え、状態推定器50は、CNNの中間層(例えば、最終層から2つ前の中間層等)から出力される特徴量を、後段の異常検知器60に入力するための特徴データとして抽出する処理を実行する。目的動作の数は任意であるが、ここでは、説明の便宜上、3つの目的動作X,Y,Zがあるものとする。例えば、目的動作X=100回転での定常運転、目的動作Y=70回転での定常運転、目的動作Z=30回転での定常運転等である。実際には、機器20の種別にもよるが、100以上の目的動作がある場合もある。
図4では、状態推定器50は、CNNによる1つのパターン認識器により、複数の目的動作X,Y,Zでの稼働時の各々の識別結果を出力する。すなわち、目的動作Xでの稼働時には、制御実行中の動作部21の実際の動作状態が、目的動作Xを示す状態(正常な状態)になっているか否かまたは制御の達成度を示すデータを出力する。換言すれば、CNNの出力層(最終層)には、目的動作Xに対応する2つの出力ノード(2ユニット)があり、目的動作Xでの正常な動作制御の状態であることの確からしさを示す尤度と、それ以外の状態であることの確からしさを示す尤度とが出力される。目的動作Y,Zについても同様である。但し、特徴データとして中間層出力を抽出するので、これらの尤度は、後段の異常検知器60では使用されない。
また、図4に示す状態推定器50は、マルチタスクCNNの構成とされ、入力層から、特徴データを抽出する中間層に至るまでのネットワーク部分は、3つの目的動作X,Y,Zで共通化され、その部分(CNN中間層の共有部)のパラメータはシェアされている。一方、特徴データを抽出する中間層よりも出力層(最終層)寄りの部分は、第1のタスク用(目的動作X用)のCNN出力層に至る部分(非共有部)と、第2のタスク用(目的動作Y用)のCNN出力層に至る部分(非共有部)と、第3のタスク用(目的動作Z用)のCNN出力層に至る部分(非共有部)とに分かれている。
第1のタスク(目的動作X)の学習を行う際には、目的動作Xでの正常な運転が行われている際の多数の状態データおよび目的動作Xであるというタグ情報と、それ以外の運転が行われている際の多数の状態データおよび目的動作Xではないというタグ情報とを用いて、CNN中間層の共有部および3つの非共有部のうちの第1のタスク用(目的動作X用)の非共有部で学習を行う。それ以外の運転が行われている際の状態データとしては、目的動作Y,Zでの運転、または目的動作X,Y,Zのいずれでもない過渡状態の運転が行われている際の状態データ、あるいは類似タイプの機器の運転時の状態データやその加工データ等を用いることができる。
同様に、第2のタスク(目的動作Y)の学習を行う際には、目的動作Yでの正常な運転が行われている際の多数の状態データおよび目的動作Yであるというタグ情報と、それ以外の運転が行われている際の多数の状態データおよび目的動作Yではないというタグ情報とを用いて、CNN中間層の共有部および3つの非共有部のうちの第2のタスク用(目的動作Y用)の非共有部で学習を行う。それ以外の運転が行われている際の状態データとしては、目的動作X,Zでの運転、または目的動作X,Y,Zのいずれでもない過渡状態の運転が行われている際の状態データ、あるいは類似タイプの機器の運転時の状態データやその加工データ等を用いることができる。
また、第3のタスク(目的動作Z)の学習を行う際には、目的動作Zでの正常な運転が行われている際の多数の状態データおよび目的動作Zであるというタグ情報と、それ以外の運転が行われている際の多数の状態データおよび目的動作Zではないというタグ情報とを用いて、CNN中間層の共有部および3つの非共有部のうちの第3のタスク用(目的動作Z用)の非共有部で学習を行う。それ以外の運転が行われている際の状態データとしては、目的動作X,Yでの運転、または目的動作X,Y,Zのいずれでもない過渡状態の運転が行われている際の状態データ、あるいは類似タイプの機器の運転時の状態データやその加工データ等を用いることができる。
なお、図4では、CNN中間層の共有部の最後の層の出力を、特徴データとして抽出しているが、CNN中間層の共有部における最後の層以外の層の出力を、特徴データとして抽出してもよい。但し、後段の異常検知器60の学習時に使用する特徴データと、運用時時に使用する特徴データとは、同じ層から抽出した特徴データとする必要がある。
また、図4中の2点鎖線で示すように、非共有部の層の出力を、特徴データとして抽出してもよい。この場合も、後段の異常検知器60の学習時に使用する特徴データと、運用時時に使用する特徴データとは、同じ層から抽出した特徴データとする必要がある。この際、運用時には、目的動作X,Y,Zのうちのいずれでの制御中なのかが既知であるため、3つの非共有部のうちのいずれの非共有部の層の出力を、特徴データとして抽出するのかを判断することができる。
さらに、図4の例のように、目的動作X=100回転での定常運転、目的動作Y=70回転での定常運転、目的動作Z=30回転での定常運転とする場合、これらの目的動作X,Y,Zは、同時には発生しないので、状態推定器50は、マルチタスクではなく、1つのシングルタスクで構成することもできる。一方、前述したように、目的動作で制御するパラメータが複数あり、複数のパラメータの組み合わせで複合的な目的動作が定められている場合があるが、このような場合には、マルチタスクとすれば、同時に発生する状態に対応する出力ラベルを別のタスクに配置することができるので、目的動作を構成するパラメータ単位でのクラス識別を行う状態推定器50を構築することも可能である。例えば、目的動作X=「100回転、かつ、ファンONでの定常運転」、目的動作Y=「100回転、かつ、ファンOFFでの定常運転」、目的動作Z=「50回転、かつ、ファンOFFでの定常運転」等である場合に、状態推定器50を構成するマルチタスクCNNに、100回転での正常な運転であるか、それ以外であるかの識別用の第1のタスクと、50回転での正常な運転であるか、それ以外であるかの識別用の第2のタスクと、ファンのON/OFFの識別用の第3のタスクとを設けること等が可能である。このような目的動作を構成するパラメータ単位でのクラス識別を行うタスクを設ける場合については、後述する[変形の形態]で詳細を説明する。
一方、図5では、状態推定器50は、複数の目的動作X,Y,Zのそれぞれについて、別々のパターン認識器(いずれもCNN)による処理を実行し、複数の目的動作X,Y,Zの各々の識別結果を出力する。すなわち、状態推定器50は、第1(目的動作X用)のパターン認識器50Xと、第2(目的動作Y用)のパターン認識器50Yと、第3(目的動作Z用)のパターン認識器50Zとを備えて構成されている。
第1(目的動作X用)のパターン認識器50Xの出力層(最終層)には、目的動作Xに対応する2つの出力ノード(2ユニット)があり、目的動作Xでの正常な動作制御の状態であることの確からしさを示す尤度と、それ以外の状態であることの確からしさを示す尤度とが出力される。目的動作Y,Zについても同様である。但し、特徴データとして中間層出力を抽出するので、これらの尤度は、後段の異常検知器60では使用されない。
これらの3つのパターン認識器50X,50Y,50Zは、独立しているので、運用時には、第1(目的動作X用)のパターン認識器50Xには、目的動作Xでの稼働時の状態データしか入力されない。パターン認識器50Y,50Zも同様である。運用時には、目的動作X,Y,Zのうちのいずれでの制御中なのかが既知であるため、そのような入力が可能となる。
第1(目的動作X用)のパターン認識器50Xの学習を行う際には、目的動作Xでの正常な運転が行われている際の多数の状態データおよび目的動作Xであるというタグ情報と、それ以外の運転が行われている際の多数の状態データおよび目的動作Xではないというタグ情報とを用いる。それ以外の運転が行われている際の状態データとしては、目的動作Y,Zでの運転、または目的動作X,Y,Zのいずれでもない過渡状態の運転が行われている際の状態データ、あるいは類似タイプの機器の運転時の状態データやその加工データ等を用いることができる。従って、図4に示したマルチタスクCNNの第1のタスク(目的動作X用)の学習と同様である。そして、第2(目的動作Y用)のパターン認識器50Yの学習、および第3(目的動作Z用)のパターン認識器50Zの学習も、それぞれ図4に示したマルチタスクCNNの第2のタスク(目的動作Y用)の学習、および第3のタスク(目的動作Z用)の学習と同様にして行われる。
なお、本発明は、目的動作が1つしかない場合にも適用することができるが、その場合は、状態推定器50が、第1(目的動作X用)のパターン認識器50Xだけで構成されていると考えればよい。この場合、目的動作Y,Zはないので、その他の具体的な識別要素がない場合(動作環境も1つしかなく、累積稼働回数・時間の区分けも1つしかなく、故障発生の有無の別もない場合)であれば、状態推定器50の学習を行う際には、目的動作ではない過渡状態の運転が行われている際の状態データ、あるいは類似タイプの機器の運転時の状態データやその加工データ等を用いることができる。
また、第1(目的動作X用)のパターン認識器50Xから抽出された特徴データは、後段の異常検知器60において、対応するモデルである第1(目的動作X用)の異常検知モデル62Xによる処理に使用される。パターン認識器50Y,50Zの場合も同様であり、パターン認識器50Y,50Zから抽出された特徴データは、それぞれ異常検知モデル62Y,62Zによる処理に使用される。
さらに、図5では、状態推定器50は、3つのパターン認識器50X,50Y,50Zのいずれについても、中間層の出力を、特徴データとして抽出する構成とされていたが、必ずしも全てについて中間層出力を抽出する必要はなく、一部について、出力層(最終層)出力を抽出する構成としてもよい。また、3つのパターン認識器50X,50Y,50Zは、別々のパターン認識器であるので、特徴データを抽出する中間層に至るネットワーク部分のパラメータは、それぞれ異なっており、それぞれのパターン認識器50X,50Y,50Zを構成する中間層の数も異なっていてもよい。さらには、特徴データを抽出する中間層の位置(何番目の層の出力を抽出するのか)も、それぞれのパターン認識器50X,50Y,50Zで異なっていてもよい。
<異常検知器60の構成>
異常検知器60は、状態推定器50により抽出した特徴データを用いて、クラス識別処理、外れ値検知処理(アウトライヤ・ディテクション)、新規性検知処理(ノベルティ・ディテクション)のうちの少なくとも1つの処理を実行し、動作制御の異常の有無または程度を示すスコアを出力する処理を実行するものである。なお、クラス識別処理、外れ値検知処理、新規性検知処理のいずれも、パターン認識処理の範疇に含まれる。
ここで、異常検知器60に入力されるのは特徴データであるから、外れ値検知処理は、大部分の特徴データから乖離した特徴データを検知する処理であり、新規性検知処理は、システムが認識していない特徴データ、すなわち学習していない特徴データを検知する処理である。一般的には、外れ値検知処理では、異常データの存在が前提となり、既知の異常データを用いた学習が行われることも多いが、本発明では、本第1実施形態のように、正常データ(正常な動作制御が行われている機器20から取得した状態データを前段の状態推定器50に入力し、そこから抽出した特徴データ)だけを用いて後段の異常検知器60の学習を行うことが可能であり、その場合には、既知の異常データはなく、異常データの分布は未知である。また、一般的には、新規性検知処理では、検知された新規なデータは、異常データとはみなされず、正常データである場合もあるが、本発明では、本第1実施形態のように正常データだけを用いて後段の異常検知器60の学習を行うことが可能であり、その場合には、検知された新規なデータを異常データとみなすことがある。従って、本発明では、前段の状態推定器50や後段の異常検知器60の学習形態(モデルの構築形態)にもよるが、外れ値検知処理と、新規性検知処理とは、同じ意味の処理となる場合があり、本第1実施形態では、同じ意味の処理となる。
図4および図5に示すように、異常検知器60を構成する異常検知モデル記憶手段62には、第1(目的動作X用)の異常検知モデル62Xと、第2(目的動作Y用)の異常検知モデル62Yと、第3(目的動作Z用)の異常検知モデル62Zとが記憶されている。運用時において、これらの3つの異常検知モデル62X,62Y,62Zによる処理を行う際には、図4では、前段の状態推定器50を構成する1つのパターン認識器から抽出された特徴データを用いるのに対し、図5では、複数(3つ)のパターン認識器50X,50Y,50Zのうちの対応するパターン認識器から抽出された特徴データを用いる。
また、異常検知器60は、動作制御の異常の有無または程度を示すスコアを出力する構成とされているが、算出したスコアを、出力手段70に送ってもよく、あるいは、算出したスコアと、予め定められている閾値との比較判定を行うことにより、動作制御の異常の有無(または正常であるか否か)の判定結果を出し、その判定結果を出力手段70に送ってもよい。
さらに、異常検知器60は、類似度を示すスコアや、乖離度を示すスコアを算出する場合があるが、出力手段70にスコアを送る際には、類似度から乖離度へ、または乖離度から類似度への変換処理を行ってから、出力手段70にスコアを送るようにしてもよい。類似度と乖離度とは、数値の大小関係が逆であるので、変換処理は、この関係を逆転させる処理となるが、このような変換処理は、関数で行ってもよく、テーブルで行ってもよい。
具体的には、異常検知器60による処理として、以下のような様々なタイプの処理を採用することができる。
<異常検知器60の構成/オートエンコーダを用いるタイプ1の場合:図6>
タイプ1の処理は、図6に示すように、前段の状態推定器50から抽出した特徴データについて、オートエンコーダを用いて、元に戻ったか否かを判定する処理である。オートエンコーダは、ニューラル・ネットワークにおいて、入力層と出力層に同じデータを用いて教師あり学習を行って構築された判定器である。オートエンコーダの各層の次元数は、例えば、256次元→128次元→64次元→32次元→64次元→128次元→256次元のようになり、次元圧縮が行われるが、層数や各層の次元数は、機器20の種別や特徴データの大きさや状態に応じて定めればよい。
より具体的には、前段の状態推定器50で繰り返し抽出した抽出時刻の異なる複数の時系列の特徴データ(状態推定器50における連続する複数回のパターン認識処理で得られた複数時刻の特徴データ)を、その発生順に、F1,F2,F3,F4,F5,…であるとする。後段の異常検知器60は、運用時に、このような時系列の特徴データF1,F2,…の中から、直近の一定期間である切出区間Cに含まれる複数(K個)の特徴データを切り出して異常検知器60に入力する。但し、タイプ1の場合、複数(K個)の特徴データを、まとめて同時にオートエンコーダに入力するのではなく、1つずつ特徴データを入力する。また、複数(K個)の特徴データを1つずつオートエンコーダに入力する際に、複数(K個)の特徴データの中での入力の順序は問わず、時系列は考慮しなくてよい。なお、K=1個としてもよいが、異常検知の精度向上の観点からは、複数の特徴データを用いることが好ましい。
また、運用時における切出区間Cによる切出処理は、時系列の特徴データがF1,F2,F3,F4,…(K個=例えば100個)であるとすれば、(F1,F2,…,F100)、(F2,F3,…,F101)のように、1つずつずらしながら切り出してもよく、(F1,F2,…,F100)、(F101,F102,…,F200)のように、重なりなく切り出してもよく、あるいは、(F1,F2,…,F100)、(F11,F12,…,F110)のように、重なりはあるが、ずらし量が1つではなく、2以上である切り出しを行ってもよい。
学習時には、目的動作Xでの正常な稼働時における多数(運用時におけるK個よりも多い数)の学習用の特徴データを用いて、目的動作X用のオートエンコーダのパラメータを決定し、これを第1の異常検知モデル62Xとする。この学習では、オートエンコーダ(ニューラル・ネットワーク)の入力層および出力層に同じ特徴データを入力することにより、入力層に入力した特徴データが、出力層で元に戻るようになるパラメータを決定する。
この際、第1の異常検知モデル62Xの学習に用いる特徴データは、前段の状態推定器50に、目的動作Xで正常に稼働している際の状態データを入力し、その状態推定器50から抽出した特徴データである。状態推定器50が複数のパターン認識器で構成されている場合には、対応するパターン認識器から抽出した特徴データでなければならない。従って、図4では、状態推定器50は、1つのパターン認識器(マルチタスクCNN)で構成されているので、目的動作Xで正常に稼働している際の状態データを、その唯一のパターン認識器に入力し、そこから抽出した特徴データを学習用データとして用いればよいが、図4中の2点鎖線で示すように、特徴データを非共有部から抽出する場合には、第1のタスク用(目的動作X用)の非共有部から抽出した特徴データでなければならない。また、図5では、状態推定器50は、複数(3つ)のパターン認識器50X,50Y,50Zで構成されているので、目的動作Xで正常に稼働している際の状態データを、第1(目的動作X用)のパターン認識器50Xに入力し、そこから抽出した特徴データを学習用データとして用いなければならない。
また、第2の異常検知モデル62Yの学習、第3の異常検知モデル62Zの学習に用いる特徴データも同様であり、目的動作Y,Zで正常に稼働している際の状態データを、前段の状態推定器50における対応するパターン認識器に入力し、そこから抽出した特徴データを学習用データとして用いる。
そして、学習を行って決定したX用、Y用、Z用のオートエンコーダのパラメータを、第1の異常検知モデル62X、第2の異常検知モデル62Y、第3の異常検知モデル62Zとして、異常検知器60を構成する異常検知モデル記憶手段62に記憶させておく。
前述したように、運用時には、複数個(K個)の特徴データを、X用、Y用、Z用のオートエンコーダに入力するので、目的動作X,Y,Zのいずれの場合でも、オートエンコーダへの入力ベクトル(入力した特徴ベクトル)と、オートエンコーダからの出力ベクトルとを用いて算出された複数個(K個)のサブスコアが得られる。
このサブスコアの算出では、例えば、入力ベクトルと出力ベクトルとの対応する次元の数値を用いて、2乗平均誤差を算出することができる。すなわち、入力ベクトル=(U(1),U(2),…,U(M))、出力ベクトル=(V(1),V(2),…,V(M))とすると、これらの2つのM次元ベクトルの2乗平均誤差は、{(U(1)-V(1))2+(U(2)-V(2))2+…+(U(M)-V(M))2}/Mとなる。この2乗平均誤差の算出は、前述した特許文献2に記載された算出方法と同じである。また、サブスコアの算出方法は、これに限定されるものではなく、例えば、入力ベクトルと出力ベクトルとのコサイン類似度等としてもよく、要するに、入力ベクトルと出力ベクトルとの類似度または乖離度を示すことができればよい。
そして、運用時には、複数個(K個)のサブスコアを用いて、例えば平均値や合計値等の算出によりスコアを算出し、算出したスコアを、出力手段70に送るか、または、算出したスコアと閾値との比較判定を行い、動作制御の異常の有無(正常であるか否か)の判定結果を、出力手段70に送る。
また、サブスコアの段階で閾値との比較を行うことにより、動作制御の異常の有無(または正常であるか否か)についてのK個の判定結果を出し、それらのK個の判定結果を用いて、正常または異常の確率を求め、その確率を出力手段70に送ってもよく、あるいは、K個の判定結果のうちの幾つが正常または異常であるかの閾値を設定しておき、その閾値との比較を行うことにより、動作制御の異常の有無(または正常であるか否か)についての最終的な判定結果を出し、出力手段70に送ってもよい。
<異常検知器60の構成/切出区間Cの特徴データの集合を分布として捉えて分布間の類似度(乖離度)を求めるタイプ2の場合:図7>
タイプ2の処理は、図7に示すように、予め用意されて異常検知モデル記憶手段62に記憶されている正常な動作制御を行っている際の特徴データの分布と、運用時に抽出した複数(K個)の特徴データの分布との類似度(乖離度)を算出する処理である。
タイプ2では、学習時および運用時の双方で、特徴データの集合を分布として捉える。但し、分布の標本数は、学習時と運用時とで異なり、運用時は、時間軸上で移動する切出区間C内のK個の特徴データであるから、学習時に対し、相対的に少ない標本数である。
より具体的には、学習時にも運用時にも、M次元ベクトルである特徴データの集合を分布として捉え、それぞれの分布の代表値(代表ベクトル)を求める。すなわち、学習時には、目的動作X用、目的動作Y用、目的動作Z用の特徴データ(正常な状態で稼働している際の特徴データ)の各分布があるので、それらの各分布についての代表値を、別々に求める。そして、運用時には、切出区間C内のK個の特徴データ(M次元ベクトル)による分布があるので、その分布についての代表値を求める。この代表値(代表ベクトル)の次元数は、特徴データの次元数(M次元)と一致していてもよく、一致していなくてもよい。
分布の代表値(代表ベクトル)としては、様々なものを選択することができ、1つの代表値ではなく、複数の代表値の組合せとしてもよく、例えば、平均値、最頻値、中央値(メジアン)、標準偏差、分散の各ベクトル等を選択することができる。図7には、一例として、分布として正規分布を仮定し、平均ベクトルμおよび標準偏差ベクトルσの組合せが示され、いずれも次元数は、特徴データと同じであり、M次元ベクトルである。目的動作Xについては、(μX,σX)が求められ、目的動作Yについては、(μY,σY)が求められ、目的動作Zについては、(μZ,σZ)が求められる。そして、学習時に求められた各目的動作X,Y,Z用の分布の代表値(代表ベクトル)は、異常検知モデル記憶手段62に記憶される。また、運用時も同様に、運用時の分布についての(μ,σ)が求められるが、目的動作X,Y,Zのいずれであるかが既知であるため、既知である目的動作についての(μ,σ)、すなわち、(μX,σX)、(μY,σY)、(μZ,σZ)のいずれかが求められることになる。
なお、ここでは、分布の代表値は、代表ベクトルとしているが、スカラ値でもよく、あるいは、行列やテンソル量でもよい。
以上のように、運用時において、切出区間C内のK個の特徴データによる分布の代表値(代表ベクトル)が得られるとともに、事前の学習により各目的動作X,Y,Z用の特徴データの分布の代表値(代表ベクトル)が予め求められて異常検知モデル記憶手段62に記憶されている状況下では、代表値(代表ベクトル)間の類似度を算出することができる。
すなわち、運用時には、目的動作X,Y,Zのいずれであるかが既知であるため、既知である目的動作について求めた分布の代表値(代表ベクトル)(従って、(μX,σX)、(μY,σY)、(μZ,σZ)のいずれかとなる。)と、異常検知モデル記憶手段62に記憶されている対応する目的動作(運用時における既知の目的動作と同じ目的動作)についての分布の代表値(代表ベクトル)との類似度(LX,LY,LZのいずれか)を算出することができる。この際、類似度としては、例えば、正規分布を仮定し分布の代表値として平均ベクトルμおよび標準偏差ベクトルσが求められている場合は、KLダイバージェンス(KL距離)を用いることができる。また、例えば、ユークリッド距離やコサイン類似度等を用いてもよい。
そして、運用時において、算出した類似度(LX,LY,LZのいずれか)がスコアとなるので、これを出力手段70へ送るか、または、算出したスコアと閾値との比較判定を行い、その判定結果を、出力手段70に送る。
<異常検知器60の構成/分布に対する尤度を算出するタイプ3の場合>
タイプ3の処理は、抽出した特徴データについて、事前の学習で予め用意されて異常検知モデル記憶手段62に記憶されている正常な動作制御を行っている際の特徴データの分布に対する尤度を算出する処理である。
より具体的には、学習時には、目的動作Xでの正常な動作制御を行っている際の多数の特徴データの分布を、第1の異常検知モデル62Xとして異常検知モデル記憶手段62に記憶させておく。同様に、目的動作Y,Zでの正常な動作制御を行っている際の多数の特徴データの分布を、第2の異常検知モデル62Y、第3の異常検知モデル62Zとして異常検知モデル記憶手段62に記憶させておく。さらに、分布に対する尤度についての閾値をパーセンタイル(百分位数)等で設定しておく。この閾値は、目的動作X,Y,Z毎に異なっていてもよく、同じでもよい。分布を構成する多数の特徴データが正常な状態を示すデータである場合には、分布に対する尤度が高い(大きい)と正常であり、低い(小さい)と異常であることになる。
運用時には、目的動作X,Y,Zのいずれであるかが既知であるため、既知である目的動作での稼働時の特徴データが得られるが、正常・異常の別は不明である。そして、得られた1つの特徴データについて、異常検知モデル記憶手段62に記憶されている対応する目的動作(運用時における既知の目的動作と同じ目的動作)についての分布に対する尤度を求め、求めた尤度と、閾値との比較判定を行うことにより、動作制御の異常の有無(または正常であるか否か)についての判定結果を出し、その判定結果を出力手段70に送る。
また、運用時には、複数(K個)の特徴データについて、上述した分布に対する尤度をそれぞれ求め、これらをサブスコアとし、複数(K個)のサブスコアを用いて、例えば平均値や合計値等の算出によりスコアを算出し、算出したスコアを、出力手段70に送るか、または、算出したスコアと閾値との比較判定を行い、動作制御の異常の有無(正常であるか否か)の判定結果を、出力手段70に送ってもよい。
さらに、運用時には、複数(K個)の特徴データについて、上述した分布に対する尤度をそれぞれ求め、それぞれの尤度と閾値との比較判定を行うことにより、動作制御の異常の有無(または正常であるか否か)についてのK個の判定結果を出し、それらのK個の判定結果を用いて、正常または異常の確率を求め、その確率を出力手段70に送ってもよく、あるいは、K個の判定結果のうちの幾つが正常または異常であるかの閾値を設定しておき、その閾値との比較判定を行うことにより、動作制御の異常の有無(または正常であるか否か)についての最終的な判定結果を出し、出力手段70に送ってもよい。
<異常検知器60の構成/切出区間Cの特徴データの集合をベクトル化してベクトル間の類似度を求めるタイプ4の場合:図8>
タイプ4の処理は、事前の学習で予め用意されて異常検知モデル記憶手段62に記憶されている正常な動作制御を行っている際の混合ガウスモデルを構成するガウス分布の平均ベクトルを連結して形成した高次元のスーパーベクトルまたはこれを低次元化したiベクタと、抽出した複数(K個)の特徴データを用いて算出したスーパーベクトルまたはiベクタとの類似度(乖離度)を算出する処理である。
より具体的には、学習時に、各目的動作X,Y,Zでの正常な動作制御を行っている際の多数の特徴データを用いて、最尤学習により、各目的動作X,Y,Zの混合ガウスモデル(GMM)、および全体のGMMを構築する。全体のGMMは、各目的動作X,Y,Zでの正常な動作制御を行っている際の全ての特徴データ(目的動作Xでの正常な動作制御を行っている際の全ての特徴データ+目的動作Yでの正常な動作制御を行っている際の全ての特徴データ+目的動作Zでの正常な動作制御を行っている際の全ての特徴データ)を使った学習で得られるモデルであり、ユニバーサル・バックグランド・モデル(UBM)である。各目的動作X,Y,ZのGMMは、全体的・平均的な内容を示すUBMに対し、各目的動作X,Y,Zでの正常な動作制御を行っている際の特徴データの集合から得られる部分的な情報(例えば、目的動作Xだけの情報)を適応させたモデルである。
続いて、各目的動作X,Y,ZのGMM、および全体のGMMのそれぞれについて、スーパーベクトル(SV)を作成する。このSVは、GMMを構成するガウス分布の平均ベクトルμを全て連結して形成した高次元ベクトルである。これにより、目的動作XのGMMのSV、目的動作YのGMMのSV、目的動作ZのGMMのSV、および、全体のGMMのSVが作成される。
それから、これらのSVを用いて、次の式に基づき、確率的因子分析を行うことにより、射影行列、および各目的動作X,Y,Zのiベクタを算出する。iベクタは、SVよりも次元数の小さい低次元ベクトルであるが、このiベクタの次元数は、本システムを構築するシステム管理者が、適切な次元を選択して決める。なお、iベクタに関する技術自体は公知技術である(非特許文献1参照)。
各目的動作X,Y,ZのGMMのSV=全体のGMMのSV+射影行列×各目的動作X,Y,Zのiベクタ
これにより、目的動作Xのiベクタ、目的動作Yのiベクタ、目的動作Zのiベクタ、および、1つの射影行列が得られる。その後、各目的動作X,Y,Zのiベクタ、射影行列、および、全体のGMMのSVを、異常検知モデル記憶手段62に記憶させる。射影行列および全体のGMMのSVを記憶させるのは、運用時のiベクタを上記の式で算出する際に、これらを固定値として用いるからである。各目的動作X,Y,Zのiベクタが、X,Y,Z用の異常検知モデル62X,62Y,62Zに相当する。
なお、iベクタを算出せずに、学習時の処理をSVの算出までの処理とし、SVを類似度の判定に用いてもよい。SVを類似度の判定に用いる場合には、各目的動作X,Y,ZのSVを、異常検知モデル記憶手段62に記憶させる必要があるが、運用時にiベクタの算出は行わないので、全体のGMMのSVを記憶させる必要はない。
運用時には、切出区間C内のK個の特徴データを用いて、運用時のGMMを生成し、更に、この運用時のGMMのSVを生成する。それから、生成した運用時のSVを、射影行列および全体のGMMのSVの部分が固定値とされている状態(これらは、パラメータとして、異常検知モデル記憶手段62から読み込まれる。)の前述した式に入力し、運用時のiベクタを算出する(実際の計算はEMアルゴリズム等により行う)。
以上のように、運用時において、切出区間C内のK個の特徴データによる運用時のiベクタが得られるとともに、事前の学習で各目的動作X,Y,Zのiベクタが予め求められて異常検知モデル記憶手段62に記憶されている状況下では、iベクタ間の類似度を算出することができる。この際、類似度としては、例えば、コサイン類似度等を用いることができる。
この際、前者の運用時のiベクタは、運用時には、目的動作X,Y,Zのいずれであるかが既知であるため、既知である目的動作のiベクタであるが、正常・異常の別は不明である。また、後者の異常検知モデル記憶手段62には各目的動作X,Y,Zのiベクタが記憶されているが、運用時には、各目的動作X,Y,Zのiベクタのうちの対応する目的動作(運用時における既知の目的動作と同じ目的動作)のiベクタだけが、運用時のiベクタとの類似度の算出に用いられる。従って、運用時には、図8中の類似度RX,RY,RZの全てが算出されるのではなく、いずれかが算出される。
そして、運用時において、算出した類似度(RX,RY,RZのいずれか)がスコアとなるので、これを出力手段70へ送るか、または、算出したスコアと閾値との比較判定を行い、その判定結果を、出力手段70に送る。
<異常検知器60の構成/内部メモリを有するパターン認識器による時系列パターン認識処理を行うタイプ5の場合:図9>
タイプ5の処理では、内部メモリを有するパターン認識器により、各目的動作X,Y,Zでの動作制御が正常な状態であるか否かを識別する時系列パターン認識処理を行う。この時系列パターン認識処理を行うパターン認識器としては、例えば、リカレント・ニューラル・ネットワーク(RNN)、隠れマルコフモデル(HMM)等を採用することができる。RNNは、ある層の出力が、次回のその層に入力されて次回の処理に反映されるという構造を有するので、前回の処理結果を反映した出力を行うことができ、前回の処理結果は、更にその前の処理結果を反映していることから、前回以前の処理結果を反映する時系列パターン認識処理を実現している。
より具体的には、学習時には、目的動作Xでの正常な運転が行われている際の多数の特徴データおよびそれ以外の運転が行われている際の多数の特徴データを用いて、目的動作Xでの動作制御が正常な状態で行われているか否かを識別可能な目的動作X用の時系列パターン認識器のパラメータを決定し、第1(目的動作X用)の異常検知モデル62Xとして異常検知モデル記憶手段62に記憶させておく。それ以外の運転が行われている際の特徴データとしては、目的動作Y,Zでの運転、または目的動作X,Y,Zのいずれでもない過渡状態の運転が行われている際の特徴データ、あるいは類似タイプの機器の運転時の状態データやその加工データを前段の状態推定器50に入力して得られた特徴データ等を用いることができる。
また、目的動作Y,Zについても同様な学習を行い、目的動作Y,Z用の時系列パターン認識器のパラメータを決定し、第2(目的動作Y用)の異常検知モデル62Y、第3(目的動作Z用)の異常検知モデル62Zとして異常検知モデル記憶手段62に記憶させておく。
運用時には、前段の状態推定器50を構成するパターン認識器のうちの対応するパターン認識器から抽出した特徴データを、時系列で(順番に)異常検知器60に入力する。この際、運用時には、目的動作X,Y,Zのいずれであるかが既知であるため、異常検知器60を構成する複数(3つ)の異常検知モデル62X,62Y,62Zのうち、既知である目的動作用の異常検知モデルによる処理を行う。
例えば、目的動作Xでの制御中の場合には、目的動作Xでの運転中の状態データ(但し、正常・異常の別は不明)を、前段の状態推定器50を構成するパターン認識器のうちの対応するパターン認識器(図4では、1つのマルチタスクCNNであり、図5では、第1(目的動作X用)のパターン認識器50Xである。)に入力し、そこから抽出した特徴データを、第1(目的動作X用)の異常検知モデル62Xに入力する。
そして、運用時において、複数(3つ)の異常検知モデル62X,62Y,62Zのうちのいずれかの出力がスコアとなるので、これを出力手段70へ送るか、または、算出したスコアと閾値との比較判定を行い、その判定結果を、出力手段70に送る。
なお、異常検知器60として、例えばRNNを採用した場合には、RNNの内部構造により前回以前の処理結果を反映する構成とすることができるが、前段の状態推定器50で繰り返し抽出した抽出時刻の異なる複数の時系列の特徴データ(状態推定器50における連続する複数回のパターン認識処理で得られた複数時刻の特徴データ)を、まとめて後段の異常検知器60に同時に入力してもよい。
<異常検知器60の構成/切出区間Cの特徴データの集合を1つずつ、内部メモリを有していない静的なパターン認識器に入力するタイプ6の場合:図10>
タイプ6の処理では、切出区間Cの特徴データの集合を1つずつ、内部メモリを有していない静的な(スタティックな)パターン認識器に入力することにより、各目的動作X,Y,Zでの動作制御が正常な状態であるか否かを識別する静的なパターン認識処理を行う。静的なパターン認識処理を行うパターン認識器としては、例えば、単純なニューラル・ネットワーク(内部メモリを持たないNN)、サポート・ベクター・マシン(SVM)等を採用することができる。
前述したタイプ5で述べた、内部メモリを有するパターン認識器(例えば、RNNやHMM等)による時系列パターン認識処理は、内部メモリ(前回または前回以前の内部的処理結果を記憶する内部メモリ)を有することにより、内部構造的に系列モデリングを実現しているパターン認識器による処理であり、このようなパターン認識器では、内部メモリの情報が反映されるので、同じ入力が与えられたとしても、前後の入力が異なっている場合には常に同じ出力になるとは限らない。一方、タイプ6の処理は、内部メモリによる系列モデリングを行わない静的なパターン認識器による処理であり、このようなパターン認識器では、同じ入力に対し、前後の入力とは非依存で常に同じ出力結果が得られる。
より具体的には、学習時には、前述したタイプ5の場合と同様な学習処理を行うことにより、目的動作X,Y,Zでの動作制御がそれぞれ正常な状態で行われているか否かを識別可能な目的動作X,Y,Z用の静的なパターン認識器のパラメータを決定し、第1(目的動作X用)の異常検知モデル62X、第2(目的動作Y用)の異常検知モデル62Y、第3(目的動作Z用)の異常検知モデル62Zとして異常検知モデル記憶手段62に記憶させておく。
運用時には、前段の状態推定器50を構成するパターン認識器のうちの対応するパターン認識器から抽出した複数(K個)の時系列の特徴データを、1つずつ異常検知器60に入力する。但し、入力の際には、複数個(K個)の中での入力の順序は問わず、時系列は考慮しなくてよい。この際、運用時には、目的動作X,Y,Zのいずれであるかが既知であるため、異常検知器60を構成する複数(3つ)の異常検知モデル62X,62Y,62Zのうち、既知である目的動作用の異常検知モデルによる処理を行う。これにより、複数個(K個)のサブスコアが得られる。
例えば、目的動作Xでの制御中の場合には、目的動作Xでの運転中の状態データ(但し、正常・異常の別は不明)を、前段の状態推定器50を構成するパターン認識器のうちの対応するパターン認識器(図4では、1つのマルチタスクCNNであり、図5では、第1(目的動作X用)のパターン認識器50Xである。)に入力し、そこから抽出した複数(K個)の特徴データを、1つずつ第1(目的動作X用)の異常検知モデル62Xに入力する。これにより、第1(目的動作X用)の異常検知モデル62Xによる処理で、複数個(K個)のサブスコアが得られる。
そして、運用時には、複数個(K個)のサブスコアを用いて、例えば平均値や合計値等の算出によりスコアを算出し、算出したスコアを、出力手段70に送るか、または、算出したスコアと閾値との比較判定を行い、動作制御の異常の有無(正常であるか否か)の判定結果を、出力手段70に送る。
また、サブスコアの段階で閾値との比較を行うことにより、動作制御の異常の有無(または正常であるか否か)についてのK個の判定結果を出し、それらのK個の判定結果を用いて、正常または異常の確率を求め、その確率を出力手段70に送ってもよく、あるいは、K個の判定結果のうちの幾つが正常または異常であるかの閾値を設定しておき、その閾値との比較を行うことにより、動作制御の異常の有無(または正常であるか否か)についての最終的な判定結果を出し、出力手段70に送ってもよい。
<出力手段70の構成>
出力手段70は、異常検知器60から出力された異常の有無の判定結果またはスコア(異常の程度を示すスコア)を用いて、異常検知結果を出力する処理を実行するものである。具体的には、出力手段70は、異常検知結果の出力用データを、ネットワーク1を介してユーザ端末100(またはユーザが管理する連携システムでもよい。)へ送信する処理、あるいは、必要に応じて管理者端末110へ送信する処理を実行する。また、出力手段70は、本システムのユーザ(一般ユーザ、メンテンナンス業者・販売業者・メーカ等の作業員)または本システムの管理者が、異常検知処理装置30(出力手段70が設けられた装置)の設置場所の周辺にいる場合等には、異常検知結果を、異常検知処理装置30に接続された表示装置(不図示)に画面表示するか、印刷装置(不図示)で印刷するか、スピーカ(不図示)で音声出力するか、または異常検知結果に応じた報知音若しくは報知光をブザーやランプ等の報知用機器(不図示)で出力する処理を実行してもよい。
ユーザ端末100等への異常検知結果の出力用データの送信処理を行う場合には、送信する異常検知結果の出力用データは、主として画面表示用のデータとなるが、音声出力用のデータを加えてもよく、また、音声出力用のデータだけとしてもよい。また、送信タイミングは、出力手段70側のタイミングでもよく、あるいは、ユーザ端末100等からの要求に応じて送信してもよい。
具体的には、例えば、電子メール等により異常検知結果の出力用データを自動送信してもよく、電子メールの自動送信や自動架電等により異常検知処理装置30へのアクセスを促し(例えば、アクセス先のURLを通知する等)、ユーザ端末100等からの出力要求(主として画面表示要求)を受けてから、異常検知結果の出力用データを送信してもよい。なお、ユーザ端末100等からの出力要求を受けてから送信する場合には、既に作成されている異常検知結果の出力用データ(出力用データ記憶手段(不図示)に記憶されている出力用データ)を送信してもよく、あるいは、出力要求を受けてから、スコア記憶手段(不図示)に記憶されている異常検知器60の出力スコアや出力判定結果を用いて異常検知結果の出力用データを作成し、送信してもよい。
また、出力手段70は、前段の状態推定器50に入力された状態データ(付加されたデータ管理に必要となる情報を含む。状態データは、前処理を行う前後いずれのものでもよい。図3参照)、および、後段の異常検知器60に入力された特徴データ(付加されたデータ管理に必要となる情報を含む。図3参照)を、ネットワーク1を介してデータ収集装置80へ送信する処理も実行する。但し、メーカや一般ユーザ等の関係者の事情により、データ収集装置80へのデータ送信が制限されているデータについては、送信は行われない。
本第1実施形態では、目的動作のみを考慮して異常検知を行う場合を説明しているので、出力手段70による出力形式は、比較的簡易である。具体的には、例えば、目的動作X,Y,Zのいずれかでの制御中に、動作制御が異常であるか否か(または正常である否か)を示す出力(画面表示等)を行うか、あるいは、異常である可能性が高い、異常である可能性がある、異常を疑ったほうがよい、詳細点検が必要である等のような異常の程度を示す出力(画面表示等)を行う。
<データ収集装置80の構成>
データ収集装置80は、1台または複数台のコンピュータ(サーバ)により構成され、データベースマネジメントシステム(DBMS)の機能を有するデータ収集手段81と、データベース82とを備えて構成されている。データベース82は、状態推定器50に入力された状態データ等を記憶する状態推定器学習用データ記憶手段83と、異常検知器60に入力された特徴データ等を記憶する異常検知器学習用データ記憶手段84とを含んでいる。
ここで、データ収集手段81は、データ収集装置80を構成するコンピュータ本体の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。また、データベース82は、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等により実現される。
状態推定器学習用データ記憶手段83には、図3に示すように、異常検知処理装置30の出力手段70によりネットワーク1を介して送信されてくる状態データ等、およびユーザ端末100や管理者端末110からネットワーク1を介して送信されてくる状態データに付されるタグ情報(目的動作を示す情報以外のタグ情報)が記憶される。なお、タグ情報の一部(目的動作を示す情報を含む)は、異常検知に関する判定処理時における既知の情報として、出力手段70からネットワーク1を介して送信されてくる。そして、状態データおよびそのタグ情報は、学習装置90の状態推定器用学習手段91による学習処理に利用される。
具体的には、状態推定器学習用データ記憶手段83には、図3に示すように、例えば、状態データについてのデータ識別情報(データID)と、機器識別情報(機器の製造番号等)と、機器タイプ識別情報(機器の型番等)と、目的動作を示す情報と、機器稼働開始年月日および/または累積稼働回数を示すカウント値と、状態データについてのデータ取得日時(年月日・時分秒)と、少なくとも1つの状態データと、目的動作を示す情報以外のタグ情報とが記憶されている。そして、状態データには、(1)制御信号と、(2)外部入力データ(電源の電圧および/または電流の波形データを含む)と、(3)内部観測データ(フィードバック信号を含む)と、(4)外部観測データとがある。保存する状態データは、前処理を行う前後いずれのものでもよい。また、目的動作を示す情報以外のタグ情報は、動作制御が正常であったか否かの人による判定情報、動作環境等であり、ユーザ端末100や管理者端末110から送信されてきた事後的に付与されたタグ情報でもよく、出力手段70から送信されてきた異常検知に関する判定処理時における既知の情報としてのタグ情報でもよい。
また、異常検知器学習用データ記憶手段84には、図3に示すように、異常検知処理装置30の出力手段70によりネットワーク1を介して送信されてくる特徴データ等、およびユーザ端末100や管理者端末110からネットワーク1を介して送信されてくる特徴データに付されるタグ情報(目的動作を示す情報以外のタグ情報)が記憶される。なお、タグ情報の一部(目的動作を示す情報を含む)は、異常検知に関する判定処理時における既知の情報として、出力手段70からネットワーク1を介して送信されてくる。そして、特徴データおよびそのタグ情報は、学習装置90の異常検知器用学習手段92による学習処理に利用される。
具体的には、異常検知器学習用データ記憶手段84には、図3に示すように、例えば、特徴データについてのデータ識別情報(データID)と、機器識別情報(機器の製造番号等)と、機器タイプ識別情報(機器の型番等)と、目的動作を示す情報と、機器稼働開始年月日および/または累積稼働回数を示すカウント値と、特徴データについてのデータ取得日時(年月日・時分秒)(状態データについてのデータ取得日時で代用してもよい。)と、特徴データの取得元の状態推定器識別情報(状態推定器50およびそれを構成するパターン認識器のバージョン番号等)と、特徴データと、目的動作を示す情報以外のタグ情報とが記憶されている。目的動作を示す情報以外のタグ情報は、動作制御が正常であったか否かの人による判定情報、動作環境等であり、ユーザ端末100や管理者端末110から送信されてきた事後的に付与されたタグ情報でもよく、出力手段70から送信されてきた異常検知に関する判定処理時における既知の情報としてのタグ情報でもよい。
なお、学習用データとなる状態データや特徴データの収集は、ネットワーク1を介したデータ収集装置80での収集に限らず、例えば、メンテナンス業者・販売業者・メーカ等の作業員が、USBメモリやDVD等の記録媒体を使い、機器20の点検等の作業現場から持ち帰って収集してもよい。
<学習装置90の構成>
学習装置90は、1台または複数台のコンピュータ(サーバ)により構成され、状態推定器用学習手段91と、異常検知器用学習手段92とを備えて構成されている。ここで、各学習手段91,92は、学習装置90を構成するコンピュータ本体の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。
状態推定器用学習手段91は、データ収集装置80の状態推定器学習用データ記憶手段83に記憶された状態データおよびそのタグ情報を用いて、状態推定器50用の学習処理を実行することにより、新たに状態推定モデル(CNNのパラメータ等)を作成し、作成したモデルで、状態推定モデル記憶手段52に記憶された状態推定モデルを更新する処理を実行するものである。
異常検知器用学習手段92は、データ収集装置80の異常検知器学習用データ記憶手段84に記憶された特徴データおよびそのタグ情報を用いて、異常検知器60用の学習処理を実行することにより、新たに異常検知モデルを作成し、作成したモデルで、異常検知モデル記憶手段62に記憶された異常検知モデルを更新する処理を実行するものである。
<ユーザ端末100、管理者端末110の構成>
ユーザ端末100、管理者端末110は、コンピュータにより構成され、例えばマウスやキーボード等の入力手段と、例えば液晶ディスプレイ等の表示手段とを備えている。これらの端末100,110は、例えば、スマートフォンやタブレット端末等の携帯機器であってもよい。
<異常検知処理の全体的な流れ>
このような第1実施形態においては、以下のようにして制御状態監視システム10により、機器20の動作制御についての異常検知処理が行われる。
先ず、図1において、事前の学習により状態推定モデル(CNNのパラメータ等)を作成して状態推定器50の状態推定モデル記憶手段52に記憶させるとともに、異常検知モデル(分布、NNのパラメータ等)を作成して異常検知器60の異常検知モデル記憶手段62に記憶させる。
この際、状態推定モデルは、目的動作X,Y,Zでの正常な運転を行っている際の多数の状態データを用いて学習する。異常検知モデルは、学習で得られた状態推定モデルによる状態推定器50に、目的動作X,Y,Zでの正常な運転を行っている際の多数の状態データを入力し、その状態推定器50から抽出した特徴データを用いて学習する。従って、異常検知モデルの学習に用いた特徴データが、状態推定器50を構成するいずれのパターン認識器から抽出された特徴データであるのかが重要であり、その対応関係は、運用時にも維持される。
例えば、図4の場合には、状態推定器50は、1つのマルチタスクCNNにより構成されているので、複数(3つ)の異常検知モデル62X,62Y,62Zのいずれについても、1つのマルチタスクCNNから抽出した特徴データを用いて学習を行う。一方、図5の場合には、状態推定器50は、複数(3つ)のパターン認識器50X,50Y,50Zにより構成されているので、第1(目的動作X用)の異常検知モデル62Xは、第1(目的動作X用)のパターン認識器50Xから抽出した特徴データを用いて学習を行い、同様に、第2(目的動作Y用)の異常検知モデル62Yは、第2(目的動作Y用)のパターン認識器50Yから抽出した特徴データを用いて学習を行い、第3(目的動作Z用)の異常検知モデル62Zは、第3(目的動作Z用)のパターン認識器50Zから抽出した特徴データを用いて学習を行う。
続いて、運用時には、機器20の利用者が、目的動作の指示を機器20の制御部22に与える。例えば、目的動作Xが指示で与えられた場合には、制御部22により動作部21に対し、目的動作Xでの動作制御が開始される。
目的動作Xでの動作制御中には、目的動作取得手段25により制御部22から目的動作を示す情報(目的動作X)が取得され、各状態データおよび目的動作を示す情報(目的動作X)が接続装置26に送信され、さらにネットワーク1を介して異常検知処理装置30へ送信される。
異常検知処理装置30では、状態データ取得手段40により、各状態データおよび目的動作を示す情報(例えば、目的動作X)を受信し、必要な場合には、前処理手段41により周波数分析等の前処理を行い、前処理を行った状態データを、状態推定器50に入力する。従って、この時点で、目的動作は、既知の情報(例えば、目的動作X)である。なお、目的動作は、機器20の利用者が自分でわかっているので、ユーザ端末100からネットワーク1を介して異常検知処理装置30の状態データ取得手段40に送信してもよい。
目的動作Xでの動作制御中において、状態データを状態推定器50に入力する際には、図4の場合は、状態推定器50を構成するマルチタスクCNNに入力する。一方、図5の場合は、目的動作Xが既知であるため、第1(目的動作X用)のパターン認識器50Xに入力する。
それから、状態推定器50を構成するパターン認識器の中間層出力を、特徴データとして抽出する。図5の場合は、第1(目的動作X用)のパターン認識器50Xの中間層出力を、特徴データとして抽出する。
続いて、状態推定器50から抽出した特徴データを、異常検知器60に入力する。この際、目的動作(例えば、目的動作X)が既知であるため、第1(目的動作X用)の異常検知モデル62Xによる処理器に入力する。
さらに、異常検知器60から異常検知に関する判定結果またはスコアが出力され、その判定結果またはスコアが、出力手段70に送られる。そして、出力手段70により、ユーザ端末100や管理者端末110で、異常検知結果の出力(画面表示等)が行われる。また、出力手段70により、状態データや特徴データが、それらのタグ情報である目的動作を示す情報(例えば、目的動作X)とともに、データ収集装置80に送信される。
その後、ユーザ(一般ユーザ、メンテナンス業者・販売業者・メーカ等の作業員)は、ユーザ端末100を操作し、データ収集装置80に記憶されている状態データや特徴データに対し、可能な範囲でタグ情報を付す。タグ情報としては、動作制御が正常であったという情報や、後述する第2実施形態における動作環境等である。また、ユーザは、出力手段70による異常検知結果の出力の際に、既知の情報(その時点で判明している情報)や動作制御が正常であるという情報(正常だと確信が持てる場合)を、出力手段70に入力してもよく、そこで入力された既知の情報や動作制御が正常であるという情報は、出力手段70により、タグ情報としてデータ収集装置80に送信され、記憶される。なお、タグ情報の付与は、本システムの管理者が、管理者端末110を操作して行ってもよい。
それから、データ収集装置80に、状態データや特徴データ、およびそれらのタグ情報が、ある程度、溜まった段階で、学習装置90による学習処理を行い、状態推定モデル記憶手段52に記憶されている状態推定モデルの更新や、異常検知モデル記憶手段62に記憶されている異常検知モデルの更新を行う。
<第1実施形態の効果>
このような第1実施形態によれば、次のような効果がある。すなわち、本実施形態の制御状態監視システム10では、前段の状態推定器50および後段の異常検知器60の2段階の構成で異常検知を行うので、前段の状態推定器50を構成する状態推定モデルと、後段の異常検知器60を構成する異常検知モデルとを独立して管理することができる。
従って、後段の異常検知モデルの更新を、前段の状態推定モデルの更新から切り離すことができるので、前段の状態推定モデルを更新しなくても、後段の異常検知モデルを更新することや、後段の異常検知モデルを追加することができる。前段の状態推定モデルの更新では、学習用データとして状態データが必要となるが、後段の異常検知モデルの更新では、前段の状態推定モデルを用いたパターン認識処理で得られた特徴データがあれば、状態データが無くても、学習を行うことができるからである。このため、状態データの収集が困難な場合でも、異常検知モデルの更新を行い、システムの性能向上を図ることができる。
状態データの収集が困難な場合が生じるのは、機器20が、様々な立場の者(メーカ、販売業者、一般ユーザ等)の管理下に置かれることがあり、そこには様々な事情が存在するからである。しかし、状態データが、機器20から直接に得られるデータ(センサデータ等)であるのに対し、特徴データは、それだけでは何を意味するのか判らないデータであるため、機器20の管理者にとっては、状態データの提供が困難な場合であっても、特徴データの提供は可能な場合がある。従って、異常検知モデルの学習用データである特徴データの収集は、状態データの収集に比べて容易に行うことができる。
また、後段の異常検知モデルは、特徴データがあれば、状態データが無くても、学習を行うことができるので、前段の状態推定モデルをそのまま変えることなく、新たな異常検知モデルを追加することができる。このため、前段の状態推定モデルが変わっていなくても、その状態推定モデルを用いたパターン認識処理で新たな状態を捉えた特徴データが得られれば、その特徴データを用いた学習を行うことにより新たな異常検知モデルを作成することができ、その異常検知モデルの追加により、新たな観点でのクラス識別処理、外れ値検知処理、または新規性検知処理を行うことができる。従って、異常検知の幅(異常検知処理で判定できる内容の幅)を広げることができる。この際、状態データの収集が困難な場合でも、異常検知モデルの追加を行うことができるというのは、上述した異常検知モデルの更新の場合と同様である。
このような異常検知モデルの追加は、特に、後述する第3、第4実施形態において顕著な効果を発揮するが、本第1実施形態では、それを実現可能にする基礎構成を説明している。なお、新たな目的動作用の異常検知モデルの追加が可能な場合もある。例えば、目的動作X,Y,Zが既にある状態で、新たな目的動作Wが機器20に設定されたときに、前段の状態推定モデルをそのまま変えることなく、目的動作W用の後段の異常検知モデルを追加可能な場合(目的動作Wでの正常な稼働状態の特徴を効果的に捉えることができる場合)もある。
さらに、異常検知モデルの追加が可能なことからも明らかであるが、前段の状態推定モデルと、後段の異常検知モデルとは、1対1の対応関係である必要はなく、1対多でもよい。つまり、1つの状態推定モデルによるパターン認識処理で得られた特徴データは、複数の異常検知モデルによる処理で使用することができる。例えば、図5は、1対1の対応関係であるが、図4は、1対多の対応関係である。また、1対多の対応関係は、前段の状態推定モデルおよび後段の異常検知モデルの双方が初期モデルの時期に形成されていてもよく、後からの異常検知モデルの追加により、形成されてもよい。例えば、図4の場合に、新たな目的動作W用の異常検知モデルの追加が可能な場合もある。
また、前段の状態推定モデルが複数用意されていてもよく、この場合、モデルの数だけ見れば、多対多になるが、ある1つの前段の状態推定モデルから見ると、後段の複数の異常検知モデルが対応していてもよいのに対し、ある1つの後段の異常検知モデルから見ると、その後段の異常検知モデルに対応する前段の状態推定モデルは1つである。例えば、図5は、モデルの数だけ見れば、多対多(3対3)になるが、1対1の対応関係が複数(3つ)ある状態である。図4および図5を組み合わせた構成としてもよく、この場合は、1対多の対応関係と、1対1の対応関係とが混在することになる。
このような対応関係が構築されるのは、ある1つの後段の異常検知モデルを学習する際には、ある1つの前段の状態推定モデルによるパターン認識処理で得られた特徴データを用いた学習を行うので、学習に用いた特徴データを抽出した状態推定モデルが、後段の異常検知モデルに対応する前段の状態推定モデルとなり、運用時にも、対応する状態推定モデルで得られた特徴データを、対応する異常検知モデルに入力することになるからである。
そして、制御状態監視システム10では、製品の製造・検査時の観測情報を用いて学習することで、個体差(同型の異なる機器同士の差)や設置環境の相違を吸収した頑健な状態推定モデルを構築することができる。加えて、前段の状態推定モデルを変えることなく、後段の異常検知モデルの更新や追加を行うことができるので、個体差や設置環境の影響が大きい機器20の場合には、前段の状態推定器で、グルーバルな状態推定モデルを事前に用意しておき、その後、後段の異常検知器で、実働環境下での比較的少量の学習用の特徴データ(但し、比較的少量といっても、運用時に異常検知結果を1回出力するのに用いられる特徴データの個数よりは多い。)を用いたモデルの適応技術により、一部の機器20の状況や設置環境に依存した異常検知モデルの構築を行うことができる。
すなわち、特定の状況下で得られた特徴データを用いた学習により、特定の状況下に置かれた機器20にだけ適用可能な、または適用する意義のある異常検知モデルを構築し、運用時には、機器20が当該特定の状況下にあることが既知であることを前提として、その異常検知モデルを用いるか、あるいは、機器20が当該特定の状況下にあることを仮定した状態で、その異常検知モデルを用いて異常検知を行うことができる。後者の特定の状況下にあることを仮定した状態というのは、例えば「もし機器20が、~という状況に置かれていた場合には、~である可能性が高い。」等のような条件付きの異常検知結果を出力する場合である。このような一部の機器20の状況や設置環境に依存した異常検知モデルの構築は、前述したように、前段の状態推定モデルと、後段の異常検知モデルとが、1対多の対応関係を許容することから可能になる。
より具体的には、特定の状況には、様々な状況があり、後述する第2実施形態の動作環境、第3実施形態の故障発生予兆の有無、第4実施形態の累積稼働回数・時間も含まれるが、その他の例を挙げれば、例えば、標高を閾値として機器20が高地または低地に設置されている場合を区別して学習すると、外気圧の高低に依存する異常検知モデルを構築することができる。つまり、同じ目的動作X用の異常検知モデルであっても、高地用の異常検知モデルと、低地用の異常検知モデルとを構築することができる。機器20の種別によっては、動作制御の状態が外気圧の高低に影響される場合もあり得るからである。
同様に、機器20が高緯度または低緯度の地方に設置されている場合を区別して学習すると、外気温の平均値の高低に依存する異常検知モデルを構築することができる。冬と夏といった季節の差でも同じである。さらに、雨の日、晴れの日の区別や、湿度の高低の差でもよい。
また、海辺に設置されているか否かの区別で、塩害の影響を考慮した異常検知モデルを構築することができる。
さらに、同型の機器20でも、機器20を使用するエンドユーザの業種の相違により、使用方法が異なる場合もあるので、エンドユーザの業種に依存する異常検知モデルを構築してもよい。
また、機器20が、自動車・電車・飛行機・船舶等の移動体に設置されて使用されるのか、固定した場所に設置されて使用されるかの区別により、振動の影響を考慮した異常検知モデルを構築してもよい。
さらに、機器20で実際に発生する状態の頻度の高低とは無関係に、従って、たとえ発生頻度の低い状態であっても、その状態を示す学習用データである特徴データが得られれば、その状態を識別可能な異常検知モデルを構築することができる。
そして、機器20の設置環境の改善や、機器20の改良(型番が変わる程の大きな改良ではなく、マイナーチェンジ)等により、そのような発生頻度の低い状態を識別可能な異常検知モデルが不要になった場合には、後から異常検知モデルを削除することもできる。削除しても前段の状態推定モデルに変化はなく、それに対応する後段の異常検知モデルの数が少なくなるだけであるから、システムは正常に機能することになる。このように異常検知モデルの削除を行うことができることも、前段の状態推定モデルと、後段の異常検知モデルとが、1対多の対応関係を許容することから可能になる。
また、制御状態監視システム10では、正常状態にある状態データや特徴データだけで学習を行うことができる。このため、異常状態にある状態データや特徴データを学習用データに含める必要がない。この点は、前述した特許文献1に記載された異常判定システムと同様である。但し、異常状態にある状態データや特徴データを用いて学習を行ってもよい。
さらに、制御状態監視システム10では、状態推定器50への入力データに、電源23の電圧および/または電流の波形データ(周波数分析を行う場合を含む)を含めることができるので、機器20の負荷(交流の場合のインピーダンスや、直流の場合の抵抗)、負荷力率、ノイズとして発生するリップル電流(電流の中に含まれている脈動の成分)等の変化を捉え、異常検知を行うことができる。
また、制御状態監視システム10では、ニューラル・ネットワークの中間層出力を抽出する構成とされているので、最終層(出力層)出力を抽出する場合に比べ、特徴データを用いた処理を行う後段の異常検知器60に対し、その後段の処理に有効な情報を特徴データとして入力することができる。すなわち、最終層(出力層)の出力データは、制御実行中の動作部21の実際の動作状態が、制御の目的動作を示す状態になっているか否かまたは制御の達成度を示すだけのデータであり、情報量が少なく、後段の処理で利用可能な情報が欠落している場合があるので、ニューラル・ネットワークの入力層に入力される状態データ(非常に多くの情報量)から、最終層(出力層)の出力データ(かなり絞り込まれた情報量)に至るまでのネットワーク上に存在する中間的な情報量を抽出し、後段の処理で利用することができる。また、最終層(出力層)の出力データは、情報量が少ないので、その判別結果が誤っていた場合には、後段の処理に与える影響が大きいが、中間層出力を後段の処理で利用すれば、影響を小さくすることができる。
[第2実施形態]
第2実施形態の制御状態監視システム10では、目的動作に加え、動作環境を考慮して機器20の動作制御の状態監視を行う。図11には、前段の状態推定を1つのパターン認識器で行う場合(ケースC2-1)が示され、図12には、前段の状態推定を細分化した複数のパターン認識器で行う場合(ケースC2-2)が示され、図13には、前段の状態推定を適度な数に分散した複数のパターン認識器で行う場合(ケースC2-3)が示されている。
<動作環境の詳細>
機器20の動作環境には、通常の健全な動作環境(好ましい動作環境)と、人為的に作り出された動作環境とがある。人為的に作り出された動作環境は、好ましくない動作環境であり、そのまま放置すると機器20の故障に繋がる可能性や、機器20の寿命を縮める可能性のある動作環境等である。
好ましくない動作環境は、機器20の長期間稼働により生じるような動作環境であるから、少なくとも初期モデルの構築時には、そのような動作環境下での状態データや特徴データが自然に得られていることは殆どなく、特に、新製品の初期モデルの構築時には、入手し得ないデータである。既存の製品について、制御状態監視システム10を後発的に開発する場合には、入手できる可能性はゼロではないが、システム開発前にモデルの構築を前提としてタグ付けされた学習用データが収集されることはないので、入手できるのは、極めて稀なケースである。つまり、システム開発前は、そもそもデータを収集する動機付けがなく、さらには収集できたとしても、事後的にタグ情報を付すのは困難である。そこで、本第2実施形態では、そのような好ましくない動作環境を人為的に作り出し、モデルを構築する。人為的に作り出す作業は、例えば、メーカ、販売業者、保守・点検業者、廃棄物処理業者等の作業員が、システム開発(モデル構築)の協力者として行ってもよく、本システムの管理者が行ってもよい。
具体的には、動作環境としては、通常の健全な動作環境も含めて挙げると、次のようなものがある。例えば、動作環境A1=機器20に含まれるオイルが汚れていない(健全な動作環境)、動作環境A2=オイルが汚れている等がある。動作環境A2は、事前に用意しておいた劣化したオイルを人為的に充填すればよい。また、オイルの濁度を、3段階以上にして、動作環境A1,A2,A3,…としてもよい。
また、機器20の内部ガス濃度についての動作環境がある。例えば、動作環境B1=特定の気体が充填されている(健全な動作環境)、動作環境B2=特定の気体が充填されていない等がある。動作環境B2は、特定の気体を人為的に抜いて、別の気体(空気等)を充填したり、真空に近い状態を作ればよい。また、真空の状態が健全な動作環境であれば、気体(空気等)を充填すればよい。内部ガス濃度を、3段階以上にして、動作環境B1,B2,B3,…としてもよい。
さらに、機器20のボルトやネジの外れの有無についての動作環境がある。例えば、動作環境C1=ボルトやネジが外れていない(健全な動作環境)、動作環境C2=ボルトやネジが少なくとも1本は外れている等がある。動作環境C2は、ボルトやネジを人為的に取り外せばよい。動作環境C1=ボルトやネジが外れていない(健全な動作環境)、動作環境C2=1~2本外れている、動作環境C3=3本以上外れている等のように、3段階以上にしてもよい。
また、機器20の一部に亀裂が入っているか否かの動作環境がある。例えば、動作環境D1=機器20のどこにも亀裂は入っていない(健全な動作環境)、動作環境D2=機器20の一部に亀裂が入っている等がある。動作環境D2は、亀裂の入った部品と人為的に交換すればよい。亀裂の個所の数に応じ、3段階以上の動作環境D1,D2,D3,…としてもよい。
さらに、機器20に汚れが付いていて動作が悪くなっているか否かの動作環境がある。例えば、動作環境E1=機器20に汚れは付いていない(健全な動作環境)、動作環境E2=機器20に汚れが付いていて動作が悪くなっている等がある。動作環境E2は、特定の場所に汚れた油を塗布する等により実現すればよい。汚れの付着個所の数の多少、付着範囲の広狭、付着量の多少により、3段階以上の動作環境E1,E2,E3,…としてもよい。
<前段の状態推定を1つのパターン認識器で行う場合(ケースC2-1):図11>
図11において、状態推定器50は、一例として、1つのマルチタスクCNNにより構成されている。この例では、複数(第1~第12)のタスクは、すべて2クラス分類としているが、3クラス以上の分類としてもよい。例えば、動作環境B1,B2,B3の識別タスクとする等である。
第1~第4のタスクは、いずれも目的動作X用のタスクであり、第1のタスクは、目的動作Xにおける動作環境A1,A2の識別タスクであり、第2のタスクは、目的動作Xにおける動作環境B1,B2の識別タスクであり、第3のタスクは、目的動作Xにおける動作環境C1,C2の識別タスクであり、第4のタスクは、目的動作Xにおける動作環境(A2+B2+C2)とそれ以外との識別タスクである。
第4のタスクは、複数の動作環境A2,B2,C2を組み合わせた動作環境であり、任意の組合せの動作環境とすることができ、各動作環境A1,A2,…、各動作環境B1,B2,…、各動作環境C1,C2,…、各動作環境D1,D2,…、各動作環境E1,E2,…等の総当たりの組合せの動作環境を用意してもよいが、システム構成の簡易化やモデル構築の容易性等から、実際の稼働において比較的高い頻度で発生しそうな組合せの動作環境を用意すればよい。
同様に、第5~第8のタスクは、いずれも目的動作Y用のタスクであり、目的動作X用の第1~第4のタスクに対応している。また、第9~第12のタスクは、いずれも目的動作Z用のタスクであり、これらも目的動作X用の第1~第4のタスクに対応している。
また、第1~第12のタスクに加え、前記第1実施形態の図4の第1~第3のタスク(目的動作X,Y,Z用のタスク)を用意してもよい。
異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2,B1,B2,C1,C2,(A2+B2+C2)との全ての組合せに対応する異常検知モデルが用意されている。例えば、(X+A1)用の異常検知モデル、(X+A2)用の異常検知モデル、…、(Y+A1)用の異常検知モデル、(Y+A2)用の異常検知モデル、…等である。従って、図11の例では、状態推定モデルと、異常検知モデルとは、1対多の対応関係となっている。
なお、例えば、(X+A1)については、A1は、健全な動作環境であるから、(X+A1)のデータは、目的動作Xでの正常な動作制御が行われている際のデータであると言える。一方、(X+A2)については、A2は、好ましくない動作環境であるから、(X+A2)のデータは、目的動作Xでの正常な動作制御が行われている際のデータであるとは言えないが、そのまま不都合なく運転を継続できる場合もあるので、異常時のデータであるとも言えず、放置すると将来的に故障の原因となり得る動作環境下で動作制御が行われている際のデータであると言える程度である。このように好ましくない動作環境下での運転を、異常と呼ぶか、正常と呼ぶか、異常ではないが正常とも言えないと捉えるかは、メーカやシステム管理者の基準に依るところとなる。
学習時には、これらのいずれの異常検知モデルについても、1つの状態推定モデルによる状態推定器50(1つのマルチタスクCNN)から抽出された特徴データを用いて学習を行うことになる。
運用時には、全ての状態データが、1つのマルチタスクCNNに入力されるが、そこから抽出された特徴データは、既知の情報である目的動作に対応する異常検知モデルのみに入力される。例えば、目的動作Xが既知であれば、(X+A1)用の異常検知モデル、(X+A2)用の異常検知モデル、…に入力されるが、(Y+A1)用の異常検知モデル、(Y+A2)用の異常検知モデル、…には入力されない。同様に、目的動作Yが既知であれば、(Y+A1)用の異常検知モデル、(Y+A2)用の異常検知モデル、…に入力されるが、(X+A1)用の異常検知モデル、(X+A2)用の異常検知モデル、…には入力されない。
また、図11での記載は省略されているが、動作環境で既知のものがあれば、本システムのユーザ(機器20を利用する一般ユーザ、あるいはメーカ・メンテナンス業者・販売業者等の作業員)が、異常検知処理装置30に入力することができる。この入力情報(既知の動作環境)は、ユーザ端末100を操作してネットワーク1を介して異常検知処理装置30へ送信してもよく、ユーザが異常検知処理装置30の設置個所の周辺にいれば、ボタン操作等により異常検知処理装置30に入力してもよい。この入力が行われると、状態推定器50や異常検知器60による異常検知に関する判定処理で利用され、あるいは、出力手段70による異常検知結果の出力処理に利用される。
例えば、ボルトやネジが外れているか否かは、一般ユーザでも把握することができ、オイルが汚れているか否かは、メーカ・メンテナンス業者・販売業者等の作業員が、点検等の際に確認することができ、あるいは知識のある一般ユーザであれば、普段でも(点検等の際でなくても)確認することができる。通常、ボルトやネジが外れていることを確認した場合には、ボルトやネジを締め、オイルが汚れていることを確認した場合には、オイルを交換して運転を再開することになるが、その前に、他に好ましくない動作環境があるか否かを本システムで確認するために、そのまま運転を継続し、本システムによる異常検知に関する判定処理を行う場合もある。このような場合には、ユーザによる既知の情報の入力に基づき、特徴データを入力する異常検知モデル(による処理器)を、より絞ることができる。例えば、オイルが汚れているか否かの既知の情報を入力すれば、目的動作Xが既知である場合には、(X+A1)用の異常検知モデル、および(X+A2)用の異常検知モデルによる処理器への特徴データの入力を省略することができる。また、オイルが汚れていなければ、動作環境A1であり、A2ではないので、(A2+B2+C2)には該当しないことから、(A2+B2+C2)用の異常検知モデルの使用も省略することができる。
出力手段70には、異常検知器60から複数のスコアまたは判定結果が送られ、それらを出力手段70で統合して異常検知結果を出力するか、あるいは異常検知器60で全部または一部を統合し、その統合結果を出力手段70へ送信してもよい。
例えば、目的動作Xが既知である場合には、(X+A1)用の異常検知モデル、(X+A2)用の異常検知モデル、…による各処理器から、複数のスコアまたは判定結果が得られる。これをどのような形式でユーザ(一般ユーザ、あるいはメーカ・メンテナンス業者等の作業員)に対して出力するかは、メーカやシステム管理者等のポリシーに従うものとなる。
具体的には、例えば、(X+A1)用および/または(X+A2)用の異常検知モデルで、オイルが汚れていない(健全な動作環境)と判定され、かつ、(X+B1)用および/または(X+B2)用の異常検知モデルで、特定の気体が充填されている(健全な動作環境)と判定され、かつ、(X+C1)用および/または(X+C2)用の異常検知モデルで、ボルトやネジが外れていない(健全な動作環境)と判定され、さらに、(X+A2+B2+C2)用の異常検知モデルで、当該状態に該当しない(健全な動作環境)と判定された場合に、異常は確認できない(正常である)等の出力を行うことができる。その他の場合には、例えば、オイルが汚れている可能性がある、可能性が高い、オイルの交換時期です、オイルの交換を検討してください等の出力や、「~して下さい。このまま放置すると故障のおそれがあります。」等の出力を行うことができる。
また、矛盾するようなスコアや判定結果が得られた場合には、例えば、計測をやり直してください、制御状態を把握することができませんでした、~であるか否かが不明です等の出力を行ってもよい。例えば、(X+A1)用および(X+A2)用の各異常検知モデルから出力された尤度が、ともに大きい場合、オイルが汚れているのか否かの判定ができないので、上記のような出力を行ってもよい。
<前段の状態推定を細分化した複数のパターン認識器で行う場合(ケースC2-2):図12>
図12において、状態推定器50は、一例として、多数のパターン認識器(すべてシングルタスクCNN)により構成されている。この例では、各パターン認識器には、2クラス分類のものと、3クラス分類のものとがある。動作環境B1,B2,B3を識別可能なパターン認識器(シングルタスクCNN)が、3クラス分類となっている。なお、4以上のクラス分類のパターン認識器としてもよい。
異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2,B1,B2,B3,C1,C2,(A2+B2+C2)との全ての組合せに対応する異常検知モデルが用意されている。例えば、(X+A1)用、(X+A2)用、(X+B1)用、(X+B2)用、(X+B3)用、…、(Y+A1)用、(Y+A2)用、(Y+B1)用、(Y+B2)用、(Y+B3)用、…の異常検知モデル等である。
但し、図12の例では、状態推定モデルと、異常検知モデルとは、1対1の対応関係になる場合と、1対1の対応関係にならない場合とがある。(X+A2+B2+C2)とそれ以外とを識別可能なパターン認識器の状態推定モデルに対応して、(X+A2+B2+C2)用の異常検知モデルが用意されているので、この場合は、1対1の対応関係である。つまり、状態推定モデルが2クラス分類のパターン認識器を構成しているが、対応する異常検知モデルの数は、2つではなく、1つであり、1対1の対応関係となっている。この対応関係は、前記第1実施形態の図5の場合と同様である。図5の場合も、目的動作Xでの正常な運転を行っている場合の異常検知モデルは用意しているが、それ以外の運転を行っている場合の異常検知モデルは用意していないので、1対1の対応関係となっている。
一方、例えば、(X+A1)と(X+A2)とを識別可能なパターン認識器の状態推定モデルに対応して、(X+A1)用および(X+A2)用の2つの異常検知モデルが用意されているので、この場合は、1対2の対応関係である。また、(X+B1)と(X+B2)と(X+B3)とを識別可能なパターン認識器の状態推定モデルに対応して、(X+B1)用、(X+B2)用、(X+B3)用の3つの異常検知モデルが用意されているので、この場合は、1対3の対応関係である。これらの場合、状態推定モデルがNクラス分類のパターン認識器を構成していれば、対応する異常検知モデルの数は、クラス数と同じ数になり、1対Nの対応関係となる。4以上のクラス数でも同様である。仮に、図5の状態推定器50を、目的動作X,Y,Zを識別可能な1つのパターン認識器(1つのシングルタスクCNN)で構成すれば、3クラス分類のパターン認識器となり、対応する異常検知モデルの数は3つである(3つの異常検知モデル62X,62Y,62Zが用意されている。)から、クラス数と同じ数になり、1対3の対応関係となる。
図12では、運用時には、前段の状態推定器50側で、既知の状態に基づき、使用するパターン認識器の選択が行われる。例えば、目的動作Xが既知である場合には、状態データは、目的動作Xに関する識別を行うパターン認識器のみに入力される。従って、例えば、状態データは、(X+A1)と(X+A2)とを識別可能なパターン認識器には入力されるが、(Y+A1)と(Y+A2)とを識別可能なパターン認識器には入力されない。そして、後段の異常検知器60側では、対応するパターン認識器から抽出された特徴データが、対応する異常検知モデルによる処理器にのみ入力される。
出力手段70による出力は、図11の場合と同様である。従って、例えば目的動作Xでの動作制御中には、その目的動作Xが既知であるので、目的動作Xに対応する各異常検知モデルによる処理器からのスコアや判定結果を用いた出力が行われる。
<前段の状態推定を適度な数に分散した複数のパターン認識器で行う場合(ケースC2-3):図13>
図13において、状態推定器50は、一例として、複数(適度に分散した数)のパターン認識器(すべてマルチタスクCNN)により構成されている。この例では、各パターン認識器は、目的動作X,Y,Z毎に用意されている。そして、例えば、目的動作X用のパターン認識器(マルチタスクCNN)は、複数(第1~第4)のタスクにより、動作環境を学習するようになっている。目的動作Y,Z用のパターン認識器(マルチタスクCNN)も同様である。なお、マルチタスクCNNと、シングルタスクCNNとを、併設してもよい。従って、図13の例は、図11の例と図12の例とを折衷または混在させた場合である。
異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2,B1,B2,C1,C2,(A2+B2+C2)との全ての組合せに対応する異常検知モデルが用意されている。例えば、(X+A1)用の異常検知モデル、(X+A2)用の異常検知モデル、…、(Y+A1)用の異常検知モデル、(Y+A2)用の異常検知モデル、…等である。そして、図13の例では、目的動作X用のパターン認識器(マルチタスクCNN)の状態推定モデルと、異常検知モデルとは、1対多の対応関係となっている。目的動作Y,Zについても同様である。
図13では、運用時には、前段の状態推定器50側で、既知の状態に基づき、使用するパターン認識器の選択が行われる。例えば、目的動作Xが既知である場合には、状態データは、目的動作X用のパターン認識器(マルチタスクCNN)のみに入力される。そして、後段の異常検知器60側では、対応するパターン認識器から抽出された特徴データが、対応する異常検知モデルによる処理器にのみ入力される。
図13の場合も、出力手段70による出力は、図11の場合と同様である。従って、例えば目的動作Xでの動作制御中には、その目的動作Xが既知であるので、目的動作Xに対応する各異常検知モデルによる処理器からのスコアや判定結果を用いた出力が行われる。
<第2実施形態の効果>
このような第2実施形態によれば、前記第1実施形態で得られる効果と同様な効果が得られることに加え、次のような効果を得ることができる。
すなわち、制御状態監視システム10は、前段の状態推定器50の状態推定モデル記憶手段52に、人為的に作り出された機器20の故障の原因となり得る動作環境下での状態データを用いて作成された、動作環境の識別が可能な状態推定モデルを記憶する構成とされている。また、後段の異常検知器60の異常検知モデル記憶手段62にも、人為的に作り出された機器の故障の原因となり得る動作環境下での特徴データを用いて作成された、動作環境の識別が可能な異常検知モデルを記憶する構成とされている。
このため、初期モデル構築時における学習用データを得るために、通常その時点では自然に形成されることのない動作環境を積極的に作り出し、そのような積極的に作り出した動作環境下での状態データや特徴データを学習用データとして用いて、通常は初期モデルとして構築することができないような状態推定モデルや異常検知モデルを作成することができる。換言すれば、長期間の機器20の使用によって偶発的に生じ得るような動作環境下での状態データや特徴データを意図的に用意し、そのような特殊な環境の識別が可能な状態推定モデルや異常検知モデルを作成することができる。従って、異常検知の幅(異常検知処理で判定できる内容の幅)を広げることができる。
また、上記の説明では、初期モデルの構築時において特殊な動作環境(好ましくない動作環境)を人為的に作り出すことに言及しているが、状態推定モデルや異常検知モデルの更新時において、そのような特殊な動作環境を人為的に作り出してもよい。この際、一般ユーザが使用を開始している機器20において、好ましくない動作環境を人為的に作り出すことは通常はできないが、例えば、廃棄物処理業者が廃棄対象の機器20を回収した後に、その機器20を用いて、好ましくない動作環境を人為的に作り出し、データ収集に協力する場合、あるいは、回収した機器20をメーカやシステム管理者に引き渡し、メーカやシステム管理者が、引き取った機器20を用いて、好ましくない動作環境を人為的に作り出し、データ収集を行う場合等がある。
また、上述したように、一般ユーザが使用を開始している機器20において、好ましくない動作環境を人為的に作り出すことは通常はできないが、好ましくない動作環境の中にも、その程度があり、中間的な状態にある動作環境(健全な動作環境であるとはいえないが、すぐに故障に繋がるとも言えないような動作環境)を確認しながら、それを放置して運転を継続する場合があり、この場合には、得られる状態データや特徴データについてタグ情報を付することができることがある。一般には、機器20の動作環境は、いつから変化したのか判りにくく、実稼働で収集した状態データや特徴データが、どのような動作環境下で収集されたデータであるかのタグ情報を付すことが困難なことが多く、その点で、動作環境に関する状態推定モデルや異常検知モデルの更新はしにくい。しかし、メンテナンス業者・メーカ・販売業者等の作業員による定期点検等の際に、例えば、前回の定期点検から今回の定期点検までの間に、動作環境(オイルの濁度、気体の充填量、目詰まりの度合い等)が変わっていなければ、収集した状態データや特徴データへのタグ付けを行うことができる。多少好ましくない動作環境であっても、交換基準等までは達していないという理由で、または、コスト面を考慮した一般ユーザの意思により、前回の定期点検等の際に、点検作業員が、その動作環境をそのまま放置した場合には、そういう状況下でのデータ収集およびタグ付けが可能なことがあるからである。また、点検作業中に収集した状態データや特徴データ(先ず、動作環境を確認し、確認した状態のままで点検稼働して得られた状態データや特徴データ)であれば、タグ付けを行うことができる。
また、新製品である機器のリリース後、時間が経過すると、人為的に作り出していた特殊な動作環境(好ましくない動作環境)が、実際に(自然に)発生する場合があり、そのような実際に発生した動作環境(機器20の故障の原因となり得る動作環境)下での状態データや特徴データを収集することができ、かつ、それらの状態データや特徴データにタグ情報(そういう動作環境下で収集した状態データや特徴データであるというタグ情報)を付すことができる場合には、それらの状態データや特徴データを用いて、状態推定モデルや異常検知モデルの更新のための学習を行ってもよい。
さらに、前段の状態推定モデルを変えずに維持したまま、動作環境に関する異常検知モデルを後から追加することや、追加した異常検知モデルが不要になった場合にそれを削除すること(削除には、モデルのデータは残したまま、それを使用しないようにすることを含む。)や、初期モデルから用意されている動作環境に関する異常検知モデルを後から削除することもできる。そして、異常検知モデルの追加や削除が行われた場合には、出力手段70によるユーザに対する出力形式を変更する必要が生じる場合もあるが、その場合には、追加や削除が行われた場合の予備の出力形式を、出力手段70を実現するプログラムの中に予め記述しておくことが好ましい。なお、異常検知モデルの追加や削除を行うことになった段階で、それに対応する出力形式のプログラムを作成してもよい。
[第3実施形態]
第3実施形態の制御状態監視システム10では、目的動作に加え、動作環境を考慮するとともに、故障発生予兆の有無の判定を伴う制御状態の監視を行う。図14には、故障発生時期である第1の範囲と、その予兆を捉える期間である第2の範囲との関係が示されている。図15には、前段の状態推定を1つのパターン認識器で行う場合(ケースC3-1)が示され、図16には、前段の状態推定を複数のパターン認識器で行う場合(ケースC3-2)が示されている。
第3実施形態では、長期間の実稼働で故障が発生した機器20から得られた状態データや特徴データを用いて、識別的に故障発生の予兆検知を行う。具体的には、累積稼働回数または累積稼働時間が予め定められた第1の範囲内(例えば、稼働開始後、6ヶ月経過時点から1年経過時点までの間、または、5,000回から10,000回までの間)に故障した機器20と故障しなかった機器20を集め、それらの機器20について、予め定められた第2の範囲内(例えば、稼働開始直後から3か月経過時点までの間、または、100回から2,000回までの間)の状態データや特徴データを収集し、それらの状態データや特徴データに出現する故障発生の予兆を捉えることにより、故障発生の予兆の有無の識別が可能な状態推定モデルや異常検知モデルを構築する。
例えば、第1の範囲を、稼働開始後6ヶ月経過時点から1年経過時点までの間に設定し、第2の範囲を、稼働開始直後から3か月経過時点までの間に設定した場合には、半年から1年以内の間に故障するような機器20は、稼働開始直後からその兆候が出ている可能性が高いので、それの兆候を捉えることにより、故障発生の予兆検知を行うといった考え方等に基づき、設定を行っていることになる。
図14において、第2の範囲は、第1の範囲よりも前の時期(ここでいう時期は、累積稼働回数または累積稼働時間で示される時期である。)であればよい。従って、第2の範囲は、第1の範囲と連続していてもよく、稼働開始直後を含んでいてもよい。図14の例では、稼働開始直後を含んでいる。また、図14の例では、第1の範囲に対し、1つの第2の範囲が設定されているが、複数の第2の範囲を設定してもよい。
<前段の状態推定を1つのパターン認識器で行う場合(ケースC3-1):図15>
図15において、状態推定器50は、一例として、1つのマルチタスクCNNにより構成されている。図15(A)の例は、後から故障発生予兆の有無の判定用の異常検知モデルを追加する場合であり、図15(B)の例は、故障発生予兆の有無の判定用の状態推定モデルおよび異常検知モデルが最初から用意されている場合である。
<ケースC3-1:図15(A)>
図15(A)において、状態推定器50を構成するパターン認識器(1つのマルチタスクCNN)は、複数(第1~第3)のタスクで学習を行っている。いずれのタスクも2クラス分類としている。
第1のタスクは、目的動作Xと動作環境A1とを組み合わせた(X+A1)と、目的動作Xと動作環境A2とを組み合わせた(X+A2)との識別タスクであり、第2のタスクは、目的動作Yと動作環境A1とを組み合わせた(Y+A1)と、目的動作Yと動作環境A2とを組み合わせた(Y+A2)との識別タスクであり、第3のタスクは、目的動作Zと動作環境A1とを組み合わせた(Z+A1)と、目的動作Zと動作環境A2とを組み合わせた(Z+A2)との識別タスクである。従って、図15(A)の例では、状態推定器50には、故障発生予兆の有無の判定用の状態推定モデルは用意されていない。
図15(A)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1)用、(X+A2)用、(Y+A1)用、(Y+A2)用、(Z+A1)用、(Z+A2)用の各異常検知モデルが用意されている。
また、異常検知器60には、図15(A)中の点線で示すように、後から追加された複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルが用意されている。これらの故障発生予兆の有無の判定用の異常検知モデルには、目的動作Xと第1の範囲内で故障が発生したこと(K1)との組合せに対応する(X+K1)用の異常検知モデルと、目的動作Xと第1の範囲内で故障が発生しなかったこと(K2)との組合せに対応する(X+K2)用の異常検知モデルと、目的動作Yと第1の範囲内で故障が発生したこと(K1)との組合せに対応する(Y+K1)用の異常検知モデルと、目的動作Yと第1の範囲内で故障が発生しなかったこと(K2)との組合せに対応する(Y+K2)用の異常検知モデルと、目的動作Zと第1の範囲内で故障が発生したこと(K1)との組合せに対応する(Z+K1)用の異常検知モデルと、目的動作Zと第1の範囲内で故障が発生しなかったこと(K2)との組合せに対応する(Z+K2)用の異常検知モデルとがある。
図15(A)において、学習時には、(X+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。(X+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。(Y+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。(Y+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。(Z+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Zでの動作制御を行っていた際の特徴データを用いて学習する。(Z+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Zでの動作制御を行っていた際の特徴データを用いて学習する。
これらの学習用の特徴データは、すべて状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)から抽出された特徴データである。また、第2の範囲内で目的動作X,Y,Zでの動作制御を行っていた際の特徴データが残っていない場合であっても、第2の範囲内で目的動作X,Y,Zでの動作制御を行っていた際の状態データが残っていれば、それらの状態データを、状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)入力することにより、特徴データを抽出できるので、それを学習用の特徴データとすればよい。パターン認識器(1つのマルチタスクCNN)は、第2の範囲の時期から現在(改めて特徴データを抽出する時点)まで変わっていないからである。
図15(A)において、運用時には、全ての状態データが、1つのマルチタスクCNNに入力されるが、そこから抽出された特徴データは、既知の情報である目的動作に対応する異常検知モデルのみに入力される。例えば、目的動作Xが既知であれば、(X+A1)用、(X+A2)用、(X+K1)用、(X+K2)用の各異常検知モデルに入力されるが、(Y+A1)用、(Y+A2)用、(Y+K1)用、(Y+K2)用、(Z+A1)用、(Z+A2)用、(Z+K1)用、(Z+K2)用の各異常検知モデルには入力されない。同様に、目的動作Yが既知であれば、(Y+A1)用、(Y+A2)用、(Y+K1)用、(Y+K2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。また、目的動作Zが既知であれば、(Z+A1)用、(Z+A2)用、(Z+K1)用、(Z+K2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。
但し、上記の異常検知モデルのうち、複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルが使用されるのは、制御状態監視システム10による異常検知の対象とされている機器20が、第2の範囲内の時期にあるときだけである。その機器20にとっての第2の範囲内の時期に、故障発生予兆の有無の判定を行うことにより、その機器20にとっての第1の範囲内の時期に故障が発生する可能性を判定するからである。なお、その機器20にとっての第2の範囲に該当しない時期については、複数(6つ)の故障発生予兆の有無の判定用の異常検知モデル以外の異常検知モデルは使用される。つまり、動作環境に関する異常検知モデルは使用されるので、前記第2実施形態と同様な処理が行われる。
また、運用時において、制御状態監視システム10による異常検知の対象とされている機器20が、第2の範囲内の時期にあるか否かは、機器20から状態データとともに送信されてくる機器稼働開始年月日および/または累積稼働回数を示すカウント値(図3参照)を用いて判定することができる。この際、累積稼働回数の場合には、カウント値を用いればよく、累積稼働時間の場合には、機器稼働開始年月日と現在時刻との差分になるが、現在時刻は、機器20から状態データとともに送信されてくる当該状態データについてのデータ取得日時(図3参照)としてもよく、判定時の時刻としてもよい。
なお、学習時において、第2の範囲内のデータを学習用データとして収集する際も、上記と同様に判定することができ、この際、データ取得日時については、状態データの場合には、状態推定器学習用データ記憶手段83に記憶されている当該状態データについてのデータ取得日時(図3参照)を用いればよく、特徴データの場合には、異常検知器学習用データ記憶手段84に記憶されている当該特徴データについてのデータ取得日時(図3参照)を用いればよい。また、機器20が第1の範囲内で故障したか否かは、故障が発生した機器20の場合には、当該機器20についてデータ収集装置80で最後に収集されたデータ(図3参照)を参照するか、または、故障時における当該機器20の管理者(通常は、一般ユーザ)の申告情報に基づけばよく、故障が発生しなかった機器20の場合には、当該機器20についてデータ収集装置80に第1の範囲の最後の時期までデータが存在するか否かを参照するか、または、第1の範囲の最後の時期における当該機器20の管理者(通常は、一般ユーザ)の申告情報に基づけばよい。
その後、出力手段70により、第2の範囲内の時期にある場合には、故障発生予兆の有無の判定結果を伴う異常検知結果の出力が行われる。例えば、目的動作Xでの動作制御中であれば、(X+K1)用および(X+K2)用の各異常検知モデルからのスコアまたは判定結果が得られるので、これにより出力手段70は、ユーザに対し、故障発生予兆の有無の判定結果の出力を行うことができる。例えば、(X+K1)用の異常検知モデルから出力された尤度が大きく、(X+K2)用の異常検知モデルから出力された尤度が小さければ、その機器20にとっての第1の範囲内の時期に、故障が発生する可能性が高い等の出力を行うことができる。尤度の大小が逆であれば、故障が発生する可能性が低い等の出力を行うことができる。双方の尤度が大きい場合等のように、矛盾するスコアが出力された場合は、ユーザに対し、何も出力しないか、判定不能である旨の出力等を行えばよい。
また、運用時において、制御状態監視システム10による異常検知の対象とされている機器20についての累積稼働回数・時間が不明である場合には、「もし、現在が稼働開始後3ヶ月以内であれば、稼働開始後6ヶ月から12ヶ月までの間に相当する時期に、故障する可能性がある」等といった条件付きの出力を行うこともできる。この条件付きの出力を行うには、累積稼働回数・時間が不明な場合でも、(X+K1)用および(X+K2)用の各異常検知モデルを使用してスコアを得ていることが前提である。
<ケースC3-1:図15(B)>
図15(B)において、状態推定器50を構成するパターン認識器(1つのマルチタスクCNN)は、複数(第1~第6)のタスクで学習を行っている。いずれのタスクも2クラス分類としている。
第1のタスクは、目的動作Xと動作環境A1とを組み合わせた(X+A1)と、目的動作Xと動作環境A2とを組み合わせた(X+A2)との識別タスクであり、第2のタスクは、目的動作Xと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(X+K1)と、目的動作Xと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(X+K2)との識別タスクである。また、第3のタスクは、目的動作Yと動作環境A1とを組み合わせた(Y+A1)と、目的動作Yと動作環境A2とを組み合わせた(Y+A2)との識別タスクであり、第4のタスクは、目的動作Yと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(Y+K1)と、目的動作Yと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(Y+K2)との識別タスクである。さらに、第5のタスクは、目的動作Zと動作環境A1とを組み合わせた(Z+A1)と、目的動作Zと動作環境A2とを組み合わせた(Z+A2)との識別タスクであり、第6のタスクは、目的動作Zと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(Z+K1)と、目的動作Zと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(Z+K2)との識別タスクである。従って、図15(B)の例では、図15(A)の例とは異なり、状態推定器50には、故障発生予兆の有無の判定用の状態推定モデルが用意されていることになる。より正確には、状態推定器50は、1つのパターン認識器(1つのマルチタスクCNN)により構成されているので、故障発生予兆の有無の判定用のタスク部分を備えているということになる。
図15(B)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1)用、(X+A2)用、(Y+A1)用、(Y+A2)用、(Z+A1)用、(Z+A2)用の各異常検知モデルが用意されている。但し、(Z+A1)用、(Z+A2)用の図示は省略されている。この点は、図15(A)の場合と同様である。
また、異常検知器60には、図15(A)の場合と同様に、複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルが用意されている。すなわち、(X+K1)用、(X+K2)用、(Y+K1)用、(Y+K2)用、(Z+K1)用、(Z+K2)用の各異常検知モデルが用意されている。但し、(Z+K1)用、(Z+K2)用の図示は省略されている。これらの複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルは、後から追加されたものではなく、最初から用意されている点を除き、図15(A)の場合と同様であり、同様な学習処理を行って作成されている。従って、学習用の特徴データは、すべて状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)から抽出された特徴データである。
さらに、運用時における状態データや特徴データの流れ、および、出力手段70による判定結果の出力も、図15(A)の場合と同様である。
<前段の状態推定を複数のパターン認識器で行う場合(ケースC3-2):図16>
図16において、状態推定器50は、一例として、複数のパターン認識器(いずれもシングルタスクCNN)により構成されている。図16(A)の例は、後から故障発生予兆の有無の判定用の異常検知モデルを追加する場合であり、図16(B)の例は、故障発生予兆の有無の判定用の状態推定モデルおよび異常検知モデルが最初から用意されている場合である。
<ケースC3-2:図16(A)>
図16(A)において、状態推定器50は、複数(3つ)のパターン認識器(CNN)により構成されている。すなわち、目的動作Xと動作環境A1とを組み合わせた(X+A1)と、目的動作Xと動作環境A2とを組み合わせた(X+A2)との識別用のパターン認識器(CNN)と、目的動作Yと動作環境A1とを組み合わせた(Y+A1)と、目的動作Yと動作環境A2とを組み合わせた(Y+A2)との識別用のパターン認識器(CNN)と、目的動作Zと動作環境A1とを組み合わせた(Z+A1)と、目的動作Zと動作環境A2とを組み合わせた(Z+A2)との識別用のパターン認識器(CNN)とにより構成されている。但し、(Z+A1)と(Z+A2)との識別用のパターン認識器(CNN)の図示は省略されている。従って、図16(A)の例では、状態推定器50には、故障発生予兆の有無の判定用の状態推定モデルは用意されていない。
図16(A)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1)用、(X+A2)用、(Y+A1)用、(Y+A2)用、(Z+A1)用、(Z+A2)用の各異常検知モデルが用意されている。但し、(Z+A1)用、(Z+A2)用の図示は省略されている。
また、異常検知器60には、図16(A)中の点線で示すように、後から追加された複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルが用意されている。すなわち、(X+K1)用、(X+K2)用、(Y+K1)用、(Y+K2)用、(Z+K1)用、(Z+K2)用の各異常検知モデルが用意されている。但し、(Z+K1)用、(Z+K2)用の図示は省略されている。
図16(A)において、学習時には、(X+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。(X+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。これらの学習用の特徴データは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+A1)と(X+A2)との識別用のパターン認識器)から抽出された特徴データである。
また、(Y+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。(Y+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。これらの学習用の特徴データは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((Y+A1)と(Y+A2)との識別用のパターン認識器)から抽出された特徴データである。
図示は省略されているが、(Z+K1)用の異常検知モデル、(Z+K2)用の異常検知モデルの場合も同様である。
図16(A)において、運用時には、状態データは、既知の目的動作に対応するパターン認識器(CNN)に入力される。例えば、目的動作Xが既知である場合には、(X+A1)と(X+A2)との識別用のパターン認識器に入力され、そこから抽出された特徴データは、対応する異常検知モデルのみに入力される。例えば、目的動作Xが既知であれば、(X+A1)用、(X+A2)用、(X+K1)用、(X+K2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。
図16(A)において、出力手段70による判定結果の出力は、図15(A)の場合と同様である。
<ケースC3-2:図16(B)>
図16(B)において、状態推定器50は、複数(6つ)のパターン認識器(CNN)により構成されている。すなわち、状態推定器50は、目的動作Xと動作環境A1とを組み合わせた(X+A1)と、目的動作Xと動作環境A2とを組み合わせた(X+A2)との識別用のパターン認識器(CNN)を備えている。また、目的動作Yと動作環境A1とを組み合わせた(Y+A1)と、目的動作Yと動作環境A2とを組み合わせた(Y+A2)との識別用のパターン認識器(CNN)を備えている。さらに、図示は省略されているが、目的動作Zと動作環境A1とを組み合わせた(Z+A1)と、目的動作Zと動作環境A2とを組み合わせた(Z+A2)との識別用のパターン認識器(CNN)を備えている。
また、状態推定器50は、目的動作Xと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(X+K1)と、目的動作Xと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(X+K2)との識別用のパターン認識器(CNN)を備えている。また、目的動作Yと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(Y+K1)と、目的動作Yと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(Y+K2)との識別用のパターン認識器(CNN)を備えている。さらに、図示は省略されているが、目的動作Zと第1の範囲内で故障が発生したこと(K1)とを組み合わせた(Z+K1)と、目的動作Zと第1の範囲内で故障が発生しなかったこと(K2)とを組み合わせた(Z+K2)との識別用のパターン認識器(CNN)を備えている。従って、図16(B)の例では、図16(A)の例とは異なり、状態推定器50には、故障発生予兆の有無の判定用の状態推定モデルが用意されている。
図16(B)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1)用、(X+A2)用、(Y+A1)用、(Y+A2)用、(Z+A1)用、(Z+A2)用の各異常検知モデルが用意されている。但し、(Z+A1)用、(Z+A2)用の図示は省略されている。この点は、図16(A)の場合と同様である。
また、異常検知器60には、図16(A)の場合と同様に、複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルが用意されている。すなわち、(X+K1)用、(X+K2)用、(Y+K1)用、(Y+K2)用、(Z+K1)用、(Z+K2)用の各異常検知モデルが用意されている。但し、(Z+K1)用、(Z+K2)用の図示は省略されている。これらの複数(6つ)の故障発生予兆の有無の判定用の異常検知モデルは、後から追加されたものではなく、最初から用意されている点が、図16(A)の場合と異なっている。
図16(B)において、学習時には、(X+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。(X+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Xでの動作制御を行っていた際の特徴データを用いて学習する。これらの学習用の特徴データは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+K1)と(X+K2)との識別用のパターン認識器)から抽出された特徴データである。この点が、図16(A)の場合と異なっている。図16(A)の場合には、状態推定器50に、故障発生予兆の有無の判定用の状態推定モデルが用意されていないので、(X+A1)と(X+A2)との識別用のパターン認識器から抽出された特徴データを用いて学習を行うからである。
また、(Y+K1)用の異常検知モデルは、第1の範囲内で故障が発生したK1の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。(Y+K2)用の異常検知モデルは、第1の範囲内で故障が発生しなかったK2の機器20についての第2の範囲内で目的動作Yでの動作制御を行っていた際の特徴データを用いて学習する。これらの学習用の特徴データは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((Y+K1)と(Y+K2)との識別用のパターン認識器)から抽出された特徴データである。この点が、図16(A)の場合と異なっている。図16(A)の場合には、状態推定器50に、故障発生予兆の有無の判定用の状態推定モデルが用意されていないので、(Y+A1)と(Y+A2)との識別用のパターン認識器から抽出された特徴データを用いて学習を行うからである。
図示は省略されているが、(Z+K1)用の異常検知モデル、(Z+K2)用の異常検知モデルの場合も同様である。
図16(B)において、運用時には、状態データは、既知の目的動作に対応するパターン認識器(CNN)に入力される。例えば、目的動作Xが既知である場合には、(X+A1)と(X+A2)との識別用のパターン認識器、および(X+K1)と(X+K2)との識別用のパターン認識器に入力される。それから、(X+A1)と(X+A2)との識別用のパターン認識器から抽出された特徴データは、対応する異常検知モデル((X+A1)用および(X+A2)用の各異常検知モデル)のみに入力される。また、(X+K1)と(X+K2)との識別用のパターン認識器から抽出された特徴データは、対応する異常検知モデル((X+K1)用および(X+K2)用の各異常検知モデル)のみに入力される。
図16(B)において、出力手段70による判定結果の出力は、図16(A)の場合と同様である。
<第3実施形態の効果>
このような第3実施形態によれば、前記第1、第2実施形態で得られる効果と同様な効果が得られることに加え、次のような効果を得ることができる。
すなわち、制御状態監視システム10は、状態推定モデル記憶手段52に、故障発生の予兆の有無を識別可能な状態推定モデルを記憶する構成とされ、また、異常検知モデル記憶手段62に、故障発生の予兆の有無を識別可能な異常検知モデルを記憶する構成とされているので、実稼働で実際に故障が発生したときに、その故障発生時よりも前の時期に出現していた状態データや特徴データの変化を学習しておくことができる。このため、運用時に、故障発生の予兆の有無を判定することができる。
なお、実稼働で実際に故障が発生しないと必要な学習用データである状態データや特徴データが得られないので、通常は、状態推定器50や異常検知器60に、最初からこのような故障発生の予兆の有無を識別可能な状態推定モデルや異常検知モデルを設けておくことは困難であるが、例えば、新製品をリリースしてから暫く時間が経過した後に、制御状態監視システム10を構築する場合には、既に必要な学習用データが存在することもあるので、初期モデルとして、このような故障発生の予兆の有無を識別可能な状態推定モデルや異常検知モデルを設けることができる。また、新製品のリリース前に、長期間の試験運転期間を設け、その試験運転期間中に故障が発生すれば、新製品のリリース前に、必要な学習用データを得ることができるので、この場合も同様に、初期モデルとして、故障発生の予兆の有無を識別可能な状態推定モデルや異常検知モデルを設けることができる。従って、図15(B)や図16(B)のように、故障発生予兆の有無の判定用の状態推定モデルおよび異常検知モデルを最初から用意しておくことができる。
また、上述したように、初期のモデル構築時に、実際に故障が発生した機器20のデータを収集できるのは、限られたケースであるから、通常は、故障発生予兆の有無の判定用のモデルは、同型製品の運用開始後に構築されるモデルとなる。この際、制御状態監視システム10は、前段の状態推定器50と後段の異常検知器60との2段構成になっているので、図15(A)や図16(A)の点線で示すように、状態推定モデルを変えることなく、後から異常検知モデルの追加を行うことができる。このため、故障発生予兆の有無の判定が可能なシステムを容易に構築することができる。
このように後から異常検知モデルの追加を行うことができると、機器20を利用する一般ユーザには、次のようなメリットがある。例えば、製品寿命が長い機器20であれば、一般ユーザ(例えば、後発的な事業参入者)がその製品を購入したときに、既に故障発生予兆の有無の判定用の異常検知モデルが構築され、本システムに追加されている状況になっている場合があるので、その場合には、その一般ユーザは、製品の購入直後から、追加した異常検知モデルを用いた故障発生予兆の有無の判定結果を得ることができる。
また、発売直後に、すなわち同時期に同タイプの製品を導入した一般ユーザが多数いる場合において、他の一般ユーザが使用している比較的多数の機器20に故障が発生し、それらの故障が発生した機器20のデータ収集が行われ、故障発生予兆の有無の判定用の異常検知モデルが構築され、その異常検知モデルが本システムに追加されたとすると、その時点から、故障発生予兆の有無の判定を伴う異常検知処理が行われるので、未だ故障が発生していない機器20を使用している一般ユーザは、その利益を享受することができる。換言すれば、同時期に発売された全ての製品の故障発生タイミングが同じであるわけではないので、自分の機器20よりも前に故障が発生した他人の機器20のデータを用いて、同時期に導入した自分の機器20に同様な故障が発生しないかを判定することができる。
但し、第1の範囲内で故障が発生した機器20については、その故障が発生した時点でデータ収集が可能であるが、第1の範囲内で故障が発生しなかった機器20というのは、厳密にいえば、第1の範囲の最後の時期が経過しなければ、その事実が確定しないので、データ収集できないことになる。従って、より早い時期に、故障発生予兆の有無の判定用の異常検知モデルの追加を行う場合には、第1の範囲内で故障が発生した機器20のデータと、故障が発生しなかった機器20のデータとの識別ではなく、例えば、第1の範囲内で故障が発生した機器20のデータと、それ以外のデータ(どのようなデータでもよく、例えば、先行する類似タイプの旧製品で故障しなかった機器の該当期間のデータでもよい。)との識別用のモデルを構築し、それを早い段階で仮のモデルとして本システムに追加し、その後、第1の範囲の最後の時期が経過した時点で、より正確なモデルとして、第1の範囲内で故障が発生した機器20のデータと、故障が発生しなかった機器20(その事実が確定した機器20)のデータとの識別用のモデルを構築し、それを正式なモデルとして本システムに追加するとともに、仮のモデルを削除すること等を行ってもよい。
[第4実施形態]
第4実施形態の制御状態監視システム10では、目的動作に加え、動作環境および累積稼働回数・時間を考慮して制御状態の監視を行う。図17には、前段の状態推定を1つのパターン認識器で行う場合(ケースC4-1)が示され、図18には、前段の状態推定を複数のパターン認識器で行う場合(ケースC4-2)が示されている。
第4実施形態では、機器20の累積稼働回数または累積稼働時間とともに収集された状態データや特徴データを用いて、累積稼働回数または累積稼働時間の区分け毎に学習を行うことにより、機器20の経年変化を捉えることが可能な状態推定モデルや異常検知モデルを構築し、経年劣化を考慮した異常検知処理を行う。
ここで、累積稼働回数または累積稼働時間の区分けT0,T1,T2,…は、累積稼働時間の場合は、例えば、T0=稼働開始前(製品出荷前の点検期間やデータ収集期間を含む)、T1=稼働開始から1年以内、T2=稼働開始後1~2年経過、T3=稼働開始後2~5年経過、T4=稼働開始後5年以上経過等である。また、累積稼働回数の場合は、例えば、T0=稼働開始前、T1=1,000回以内、T2=1,001回~2,000回、T3=2,001回~5,000回、T4=5,001回以上等である。各区分けT0,T1,T2,…は、等間隔(等しい時間長や回数)である必要はなく、また、それぞれの時間長や回数も任意である。
また、累積稼働回数または累積稼働時間の判定方法は、前記第3実施形態の場合と同様であり、前記第3実施形態の説明で既に詳述しているため、ここでは詳しい説明を省略する。
なお、累積稼働時間を判定する場合に、途中で不使用期間があるケースでは、メーカやシステム管理者の定めたルールに従って、累積稼働時間への寄与を定めればよい。例えば、1年間使用し、その後2年間不使用で、さらに3年間使用したケースでは、不使用期間を含めないで1+3=4年間としてもよく、不使用期間を含めて1+2+3=6年間としてもよく、係数を乗じた不使用期間を含めて1+2×0.5+3=5年間等としてもよい。
<前段の状態推定を1つのパターン認識器で行う場合(ケースC4-1):図17>
図17において、状態推定器50は、一例として、1つのマルチタスクCNNにより構成されている。図17(A)の例は、後から累積稼働回数・時間の識別用の異常検知モデルを追加する場合であり、図17(B)の例は、累積稼働回数・時間の識別用の状態推定モデルおよび異常検知モデルが最初から用意されている場合である。
<ケースC4-1:図17(A)>
図17(A)において、状態推定器50を構成するパターン認識器(1つのマルチタスクCNN)は、複数(第1~第3)のタスクで学習を行っている。いずれのタスクも2クラス分類としている。
第1のタスクは、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(X+A1+T0)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(X+A2+T0)との識別タスクである。なお、例えば、(X+A1+T0)は、累積稼働回数・時間の区分けT0に含まれる時期に、動作環境A1の下で、目的動作Xでの動作制御を行っている際のデータという意味である。第2のタスクは、目的動作Yと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Y+A1+T0)と、目的動作Yと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(Y+A2+T0)との識別タスクである。第3のタスクは、目的動作Zと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A1+T0)と、目的動作Zと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A2+T0)との識別タスクである。従って、図17(A)の例では、状態推定器50には、累積稼働回数・時間の識別用の状態推定モデルは用意されていない。
図17(A)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2と累積稼働回数・時間の区分けT0との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1+T0)用、(X+A2+T0)用、(Y+A1+T0)用、(Y+A2+T0)用、(Z+A1+T0)用、(Z+A2+T0)用の各異常検知モデルが用意されている。但し、(Z+A1+T0)用、(Z+A2+T0)用の図示は省略されている。
また、異常検知器60には、図17(A)中の点線で示すように、後から追加された累積稼働回数・時間の識別用の異常検知モデルが用意されている。これらの累積稼働回数・時間の識別用の異常検知モデルには、目的動作Xと累積稼働回数・時間の区分けT1との組合せに対応する(X+T1)用の異常検知モデルと、目的動作Xと累積稼働回数・時間の区分けT2との組合せに対応する(X+T2)用の異常検知モデルと、目的動作Yと累積稼働回数・時間の区分けT1との組合せに対応する(Y+T1)用の異常検知モデルと、目的動作Yと累積稼働回数・時間の区分けT2との組合せに対応する(Y+T2)用の異常検知モデルと、目的動作Zと累積稼働回数・時間の区分けT1との組合せに対応する(Z+T1)用の異常検知モデルと、目的動作Zと累積稼働回数・時間の区分けT2との組合せに対応する(Z+T2)用の異常検知モデルとがある。但し、(Z+T1)用、(Z+T2)用の図示は省略されている。また、後から追加された異常検知モデルであるため、T0のモデルはない。T3以降がないのは、製品販売開始からの経過年数がそこまで達していないため、データ収集できないからである。さらに、動作環境A1,A2がないのは、実稼働開始後に得られた実際の経年変化データを学習用データとして、後から学習を行って追加用の異常検知モデルを構築するので、学習用データについて動作環境A1,A2に関するタグ情報がないからである。換言すれば、人為的に作り出した動作環境下で収集した学習用データではないからである。
図17(A)において、学習時には、(X+T1)用の異常検知モデルは、累積稼働回数または累積稼働時間が区分けT1に属する時期に、目的動作Xでの動作制御を行っている際の特徴データを用いて学習する。(X+T2)用の異常検知モデルは、累積稼働回数または累積稼働時間が区分けT2に属する時期に、目的動作Xでの動作制御を行っている際の特徴データを用いて学習する。(Y+T1)用の異常検知モデルは、累積稼働回数または累積稼働時間が区分けT1に属する時期に、目的動作Yでの動作制御を行っている際の特徴データを用いて学習する。(Y+T2)用の異常検知モデルは、累積稼働回数または累積稼働時間が区分けT2に属する時期に、目的動作Yでの動作制御を行っている際の特徴データを用いて学習する。(Z+T1)用および(Z+T2)用の各異常検知モデルについても同様である。
これらの学習用の特徴データは、すべて状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)から抽出された特徴データである。また、特徴データが収集できない場合であっても、状態データが収集できれば、それらの状態データを、状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)入力することにより、特徴データを抽出できるので、それを学習用の特徴データとすればよい。パターン認識器(1つのマルチタスクCNN)は、変わっていないからである。
図17(A)において、運用時には、全ての状態データが、1つのマルチタスクCNNに入力されるが、そこから抽出された特徴データは、既知の情報である目的動作に対応する異常検知モデルのみに入力される。さらに、既知の情報である目的動作に対応する異常検知モデルの中でも、累積稼働回数または累積稼働時間に基づき、使用する異常検知モデルの選択が行われる。すなわち、制御状態監視システム10による異常検知の対象となっている機器20についての累積稼働回数・時間が、不明である場合(T未知)と、区分けT1に属する時期である場合(T1既知)と、区分けT2以降(T2,T3,T4,…)に属する時期である場合(T2以降既知)とで、使用する異常検知モデルが異なる。
例えば、目的動作Xが既知であれば、(X+A1+T0)用、(X+A2+T0)用、(X+T1)用、(X+T2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。同様に、目的動作Yが既知であれば、(Y+A1+T0)用、(Y+A2+T0)用、(Y+T1)用、(Y+T2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。また、目的動作Zが既知の場合も同様である。
さらに、例えば目的動作Xが既知である場合において、累積稼働回数・時間に基づく選択により、T未知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+T1)用、(X+T2)用の各異常検知モデルに入力される。つまり、目的動作Xに関する全ての異常検知モデルに入力される。
また、T1既知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+T1)用の各異常検知モデルに入力されるが、(X+T2)用の異常検知モデルには入力されない。T1が判明しているときに、T2の状態に近いか否かを判定する必要はないからである。
さらに、T2以降既知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+T2)用の各異常検知モデルに入力されるが、(X+T1)用の異常検知モデルには入力されない。T2以降(T2,T3,T4,…)が判明しているときに、T1の状態に近いか否かを判定する必要はないからである。なお、T3以降のモデルがないので、T3以降既知の場合には、最も状態が近いT2のモデルを使用することにしている。
その後、出力手段70により、異常検知結果の出力が行われる。この際、T未知の場合と、T1既知の場合と、T2以降既知の場合とで、出力形式が異なる。例えば、目的動作Xでの動作制御中であれば、次のようになる。
T未知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+T1)用、(X+T2)用の各異常検知モデルからのスコアまたは判定結果が得られるので、先ず、(X+A1+T0)、(X+A2+T0)からのスコアまたは判定結果を用いて、動作環境A1,A2に関する異常検知結果の出力を行う。ここで、(X+A1+T0)、(X+A2+T0)から出力された尤度が、両方とも大きい等のように矛盾が生じた場合、あるいは、動作環境が悪いという判定結果になった場合には、それらの原因が経年劣化によるものかもしれないので、(X+T1)、(X+T2)からのスコアまたは判定結果を用いて、条件付きの出力を行う。例えば、(X+T1)から出力された尤度が大きければ、「お使いの機器が、もし稼働開始後~年目から~年目の間(T1に属する時期)であれば、経年劣化はありますが、正常です」等の出力を行い、(X+T2)から出力された尤度が大きければ、「お使いの機器が、もし稼働開始後~年以上経過(T2以降に属する時期)している場合には、経年劣化はありますが、正常です」等の出力を行うことができる。
T1既知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+T1)用の各異常検知モデルからのスコアまたは判定結果が得られるので、先ず、(X+A1+T0)、(X+A2+T0)からのスコアまたは判定結果を用いて、動作環境A1,A2に関する異常検知結果の出力を行う。ここで、(X+A1+T0)、(X+A2+T0)から出力された尤度が、両方とも大きい等のように矛盾が生じた場合、あるいは、動作環境が悪いという判定結果になった場合には、それらの原因が経年劣化によるものかもしれないので、(X+T1)からのスコアまたは判定結果を用いて、次のような出力を行うことができる。例えば、(X+T1)から出力された尤度が大きければ、「お使いの機器は、動作環境が悪く、オイルを交換したほうがよいかもしれませんが、経年劣化の影響である可能性もあります。お早めに点検を依頼してください。」等の出力を行うことができる。T2以降既知の場合も同様である。
<ケースC4-1:図17(B)>
図17(B)において、状態推定器50を構成するパターン認識器(1つのマルチタスクCNN)は、複数(第1~第9)のタスクで学習を行っている。いずれのタスクも2クラス分類としている。
第1のタスクは、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(X+A1+T0)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(X+A2+T0)との識別タスクである。第2のタスクは、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT1とを組み合わせた(X+A1+T1)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT1とを組み合わせた(X+A2+T1)との識別タスクである。第3のタスクは、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT2とを組み合わせた(X+A1+T2)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT2とを組み合わせた(X+A2+T2)との識別タスクである。
また、第4のタスクは、目的動作Yと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Y+A1+T0)と、目的動作Yと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(Y+A2+T0)との識別タスクである。第5のタスクは、目的動作Yと動作環境A1と累積稼働回数・時間の区分けT1とを組み合わせた(Y+A1+T1)と、目的動作Yと動作環境A2と累積稼働回数・時間の区分けT1とを組み合わせた(Y+A2+T1)との識別タスクである。第6のタスクは、目的動作Yと動作環境A1と累積稼働回数・時間の区分けT2とを組み合わせた(Y+A1+T2)と、目的動作Yと動作環境A2と累積稼働回数・時間の区分けT2とを組み合わせた(Y+A2+T2)との識別タスクである。
さらに、第7のタスクは、目的動作Zと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A1+T0)と、目的動作Zと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A2+T0)との識別タスクである。第8のタスクは、目的動作Zと動作環境A1と累積稼働回数・時間の区分けT1とを組み合わせた(Z+A1+T1)と、目的動作Zと動作環境A2と累積稼働回数・時間の区分けT1とを組み合わせた(Z+A2+T1)との識別タスクである。第9のタスクは、目的動作Zと動作環境A1と累積稼働回数・時間の区分けT2とを組み合わせた(Z+A1+T2)と、目的動作Zと動作環境A2と累積稼働回数・時間の区分けT2とを組み合わせた(Z+A2+T2)との識別タスクである。
従って、図17(B)の例では、図17(A)の例とは異なり、状態推定器50には、累積稼働回数・時間の識別用の状態推定モデルが用意されていることになる。より正確には、状態推定器50は、1つのパターン認識器(1つのマルチタスクCNN)により構成されているので、累積稼働回数・時間の識別用のタスク部分を備えているということになる。
図17(B)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2と累積稼働回数・時間の区分けT0,T1,T2の全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用、(Y+A1+T0)用、(Y+A2+T0)用、(Y+A1+T1)用、(Y+A2+T1)用、(Y+A1+T2)用、(Y+A2+T2)用、(Z+A1+T0)用、(Z+A2+T0)用、(Z+A1+T1)用、(Z+A2+T1)用、(Z+A1+T2)用、(Z+A2+T2)用の各異常検知モデルが用意されている。但し、(Z+A1+T0)用、(Z+A2+T0)用、(Z+A1+T1)用、(Z+A2+T1)用、(Z+A1+T2)用、(Z+A2+T2)用の図示は省略されている。
従って、異常検知器60には、累積稼働回数・時間の識別用の異常検知モデルが用意されている。これらの異常検知モデルのうち、T0だけではなく、T1,T2のモデルも、後から追加されたものではなく、最初から用意されているので、この点が、図17(A)の例とは異なっている。
また、図17(A)における後から追加した累積稼働回数・時間の識別用の異常検知モデルとは異なり、図17(B)の例では、T0だけではなく、T1,T2のモデルも、動作環境A1,A2との組合せのモデルとなっている。これは、初期モデルを用意するので、好ましくない動作環境を人為的に作り出すことができるからである。例えば、経年劣化した機器20を廃棄物処理業者、メーカ、販売業者等が回収し、回収した機器20において、好ましくない動作環境下でのデータ収集を行うことができる。
図17(B)において、学習用の特徴データは、すべて状態推定器50を構成する1つのパターン認識器(1つのマルチタスクCNN)から抽出された特徴データである。この点は、図17(A)の場合と同様である。
図17(B)において、運用時には、全ての状態データが、1つのマルチタスクCNNに入力されるが、そこから抽出された特徴データは、既知の情報である目的動作に対応する異常検知モデルのみに入力される。さらに、既知の情報である目的動作に対応する異常検知モデルの中でも、累積稼働回数または累積稼働時間に基づき、使用する異常検知モデルの選択が行われる。すなわち、制御状態監視システム10による異常検知の対象となっている機器20についての累積稼働回数・時間が、不明である場合(T未知)と、区分けT1に属する時期である場合(T1既知)と、区分けT2以降(T2,T3,T4,…)に属する時期である場合(T2以降既知)とで、使用する異常検知モデルが異なる。この点は、図17(A)の場合と同様である。
例えば、目的動作Xが既知であれば、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。同様に、目的動作Yが既知であれば、(Y+A1+T0)用、(Y+A2+T0)用、(Y+A1+T1)用、(Y+A2+T1)用、(Y+A1+T2)用、(Y+A2+T2)用の各異常検知モデルに入力されるが、その他の異常検知モデルには入力されない。また、目的動作Zが既知の場合も同様である。
さらに、例えば目的動作Xが既知である場合において、累積稼働回数・時間に基づく選択により、T未知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルに入力される。つまり、目的動作Xに関する全ての異常検知モデルに入力される。
また、T1既知の場合には、(X+A1+T1)用、(X+A2+T1)用の各異常検知モデルに入力されるが、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T2)用、(X+A2+T2)用の異常検知モデルには入力されない。T1が判明しているときに、T0,T2の状態に近いか否かを判定する必要はないからである。なお、前述した図17(A)の場合に、(X+A1+T0)用、(X+A2+T0)用の異常検知モデルにも入力していたのは、(X+T1)用の異常検知モデルに、動作環境A1,A2が含まれていなかったからである。
さらに、T2以降既知の場合には、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルに入力されるが、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用の異常検知モデルには入力されない。T2以降(T2,T3,T4,…)が判明しているときに、T0,T1の状態に近いか否かを判定する必要はないからである。なお、T3以降のモデルがないので、T3以降既知の場合には、最も状態が近いT2のモデルを使用することにしている。
その後、出力手段70により、異常検知結果の出力が行われる。この際、T未知の場合と、T1既知の場合と、T2以降既知の場合とで、出力形式が異なる。例えば、目的動作Xでの動作制御中であれば、次のようになる。
T未知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルからのスコアまたは判定結果が得られるので、T0,T1,T2の各々について動作環境A1,A2に関する異常検知結果の条件付きの出力を行う。例えば、「お使いの機器が、もし初めての使用でしたら(T0相当)、オイルが~ですので~してください。もし稼働開始後~年目から~年目の間(T1に属する時期)でしたら、オイルが~ですので~してください。もし稼働開始後~年以上経過(T2以降に属する時期)していましたら、オイルが~ですので~してください。」等の出力を行うことができる。
また、T1既知、T2以降既知の場合には、使用する異常検知モデルが絞られているので、動作環境A1,A2に関する異常検知結果について、条件付きではなく、通常の出力を行う。
<前段の状態推定を複数のパターン認識器で行う場合(ケースC4-2):図18>
図18において、状態推定器50は、一例として、複数のパターン認識器(いずれもシングルタスクCNN)により構成されている。図18(A)の例は、後から累積稼働回数・時間の識別用の異常検知モデルを追加する場合であり、図18(B)の例は、累積稼働回数・時間の識別用の状態推定モデルおよび異常検知モデルが最初から用意されている場合である。
<ケースC4-2:図18(A)>
図18(A)において、状態推定器50は、複数(3つ)のパターン認識器(CNN)により構成されている。すなわち、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(X+A1+T0)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(X+A2+T0)との識別用のパターン認識器(CNN)と、目的動作Yと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Y+A1+T0)と、目的動作Yと動作環境A2と累積稼働回数・時間の区分けT0を組み合わせた(Y+A2+T0)との識別用のパターン認識器(CNN)と、目的動作Zと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A1+T0)と、目的動作Zと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(Z+A2+T0)との識別用のパターン認識器(CNN)とにより構成されている。但し、(Z+A1+T0)と(Z+A2+T0)との識別用のパターン認識器(CNN)の図示は省略されている。従って、図18(A)の例では、状態推定器50には、累積稼働回数・時間の識別用の状態推定モデルは用意されていない。
図18(A)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2と累積稼働回数・時間の区分けT0との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1+T0)用、(X+A2+T0)用、(Y+A1+T0)用、(Y+A2+T0)用、(Z+A1+T0)用、(Z+A2+T0)用の各異常検知モデルが用意されている。但し、(Z+A1+T0)用、(Z+A2+T0)用の図示は省略されている。
また、異常検知器60には、図18(A)中の点線で示すように、後から追加された複数(6つ)の累積稼働回数・時間の識別用の異常検知モデルが用意されている。すなわち、(X+T1)用、(X+T2)用、(Y+T1)用、(Y+T2)用、(Z+T1)用、(Z+T2)用の各異常検知モデルが用意されている。但し、(Z+T1)用、(Z+T2)用の図示は省略されている。
図18(A)において、学習時には、(X+T1)用、(X+T2)用の異常検知モデルは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+A1+T0)と(X+A2+T0)との識別用のパターン認識器)から抽出された特徴データを用いて学習を行う。
また、(Y+T1)用、(Y+T2)用の異常検知モデルは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((Y+A1+T0)と(Y+A2+T0)との識別用のパターン認識器)から抽出された特徴データを用いて学習を行う。
図示は省略されているが、(Z+T1)用の異常検知モデル、(Z+T2)用の異常検知モデルの場合も同様である。
図18(A)において、運用時には、状態データは、既知の目的動作に対応するパターン認識器(CNN)に入力される。例えば、目的動作Xが既知である場合には、(X+A1+T0)と(X+A2+T0)との識別用のパターン認識器に入力され、そこから抽出された特徴データは、対応する異常検知モデルのみに入力される。さらに、既知の情報である目的動作に対応する異常検知モデルの中でも、累積稼働回数または累積稼働時間に基づき、使用する異常検知モデルの選択が行われる。すなわち、制御状態監視システム10による異常検知の対象となっている機器20についての累積稼働回数・時間が、不明である場合(T未知)と、区分けT1に属する時期である場合(T1既知)と、区分けT2以降(T2,T3,T4,…)に属する時期である場合(T2以降既知)とで、使用する異常検知モデルが異なる。この点は、図17(A)の場合と同様である。
その後、出力手段70により、異常検知結果の出力が行われる。この際、T未知の場合と、T1既知の場合と、T2以降既知の場合とで、出力形式が異なる。この点も、図17(A)の場合と同様である。
<ケースC4-2:図18(B)>
図18(B)において、状態推定器50は、複数(9つ)のパターン認識器(CNN)により構成されている。すなわち、状態推定器50は、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT0とを組み合わせた(X+A1+T0)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT0とを組み合わせた(X+A2+T0)との識別用のパターン認識器(CNN)を備えている。また、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT1とを組み合わせた(X+A1+T1)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT1とを組み合わせた(X+A2+T1)との識別用のパターン認識器(CNN)を備えている。さらに、目的動作Xと動作環境A1と累積稼働回数・時間の区分けT2とを組み合わせた(X+A1+T2)と、目的動作Xと動作環境A2と累積稼働回数・時間の区分けT2とを組み合わせた(X+A2+T2)との識別用のパターン認識器(CNN)を備えている。また、図示は省略されているが、目的動作Y,Zの各々についても、動作環境A1,A2と累積稼働回数・時間T0,T1,T2との組合せの識別用のパターン認識器(CNN)を備えている。従って、図18(B)の例では、図18(A)の例とは異なり、状態推定器50には、累積稼働回数・時間の識別用の状態推定モデルが用意されている。
図18(B)において、異常検知器60には、各目的動作X,Y,Zと各動作環境A1,A2と累積稼働回数・時間の区分けT0,T1,T2との全ての組合せに対応する異常検知モデルが用意されている。すなわち、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルが用意されている。また、図示は省略されているが、(Y+A1+T0)用、(Y+A2+T0)用、(Y+A1+T1)用、(Y+A2+T1)用、(Y+A1+T2)用、(Y+A2+T2)用、(Z+A1+T0)用、(Z+A2+T0)用、(Z+A1+T1)用、(Z+A2+T1)用、(Z+A1+T2)用、(Z+A2+T2)用の各異常検知モデルが用意されている。この点は、図17(B)の場合と同様である。
従って、異常検知器60には、累積稼働回数・時間の識別用の異常検知モデルが用意されている。これらの異常検知モデルのうち、T0だけではなく、T1,T2のモデルも、後から追加されたものではなく、最初から用意されているので、この点が、図18(A)の例とは異なっている。
また、図18(A)における後から追加した累積稼働回数・時間の識別用の異常検知モデルとは異なり、図18(B)の例では、T0だけではなく、T1,T2のモデルも、動作環境A1,A2との組合せのモデルとなっている。これは、初期モデルを用意するので、好ましくない動作環境を人為的に作り出すことができるからである。例えば、経年劣化した機器20を廃棄物処理業者、メーカ、販売業者等が回収し、回収した機器20において、好ましくない動作環境下でのデータ収集を行うことができる。この点は、図17(B)の場合と同様である。
図18(B)において、学習時には、(X+A1+T0)用、(X+A2+T0)用の異常検知モデルは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+A1+T0)と(X+A2+T0)との識別用のパターン認識器)から抽出された特徴データを用いて学習を行う。また、(X+A1+T1)用、(X+A2+T1)用の異常検知モデルは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+A1+T1)と(X+A2+T1)との識別用のパターン認識器)から抽出された特徴データを用いて学習を行う。さらに、(X+A1+T2)用、(X+A2+T2)用の異常検知モデルは、状態推定器50を構成する複数のパターン認識器(CNN)のうちの対応するパターン認識器((X+A1+T2)と(X+A2+T2)との識別用のパターン認識器)から抽出された特徴データを用いて学習を行う。図示は省略されているが、目的動作Y,Zに関する異常検知モデルの学習も同様である。
図18(B)において、運用時には、状態データは、既知の目的動作に対応するパターン認識器(CNN)に入力される。例えば、目的動作Xが既知である場合には、(X+A1+T0)と(X+A2+T0)との識別用のパターン認識器か、(X+A1+T1)と(X+A2+T1)との識別用のパターン認識器か、(X+A1+T2)と(X+A2+T2)との識別用のパターン認識器に入力され、そこから抽出された特徴データは、対応する異常検知モデルのみに入力される。この際、既知の情報である目的動作に対応するパターン認識器(CNN)の中において、累積稼働回数または累積稼働時間に基づき、使用するパターン認識器(CNN)の選択(状態推定モデルの選択)が行われる。すなわち、制御状態監視システム10による異常検知の対象となっている機器20についての累積稼働回数・時間が、不明である場合(T未知)と、区分けT1に属する時期である場合(T1既知)と、区分けT2以降(T2,T3,T4,…)に属する時期である場合(T2以降既知)とで、使用するパターン認識器(CNN)、つまり使用する状態推定モデルが異なる。
例えば目的動作Xが既知である場合において、累積稼働回数・時間に基づく選択により、T未知の場合には、状態データは、(X+A1+T0)と(X+A2+T0)との識別用のパターン認識器と、(X+A1+T1)と(X+A2+T1)との識別用のパターン認識器と、(X+A1+T2)と(X+A2+T2)との識別用のパターン認識器との全部に入力される。そして、これらのパターン認識器に入力され、そこから抽出された特徴データは、それぞれのパターン認識器に対応する異常検知モデルのみに入力される。
また、T1既知の場合には、(X+A1+T1)と(X+A2+T1)との識別用のパターン認識器のみに入力され、そこから抽出された特徴データは、そのパターン認識器に対応する異常検知モデルのみに入力される。
さらに、T2以降既知の場合には、(X+A1+T2)と(X+A2+T2)との識別用のパターン認識器のみに入力され、そこから抽出された特徴データは、そのパターン認識器に対応する異常検知モデルのみに入力される。
その後、出力手段70により、異常検知結果の出力が行われる。この際、T未知の場合と、T1既知の場合と、T2以降既知の場合とで、出力形式が異なる。それぞれの場合の出力形式は、図17(B)の場合と同様である。例えば、目的動作Xでの動作制御中であれば、次のようになる。
T未知の場合には、(X+A1+T0)用、(X+A2+T0)用、(X+A1+T1)用、(X+A2+T1)用、(X+A1+T2)用、(X+A2+T2)用の各異常検知モデルからのスコアまたは判定結果が得られるので、図17(B)の場合と同様に、T0,T1,T2の各々について動作環境A1,A2に関する異常検知結果の条件付きの出力を行う。
また、T1既知、T2以降既知の場合には、図17(B)の場合と同様に、使用する異常検知モデルが絞られているので、動作環境A1,A2に関する異常検知結果について、条件付きではなく、通常の出力を行う。
<第4実施形態の効果>
このような第4実施形態によれば、前記第1、第2実施形態で得られる効果と同様な効果が得られることに加え、次のような効果を得ることができる。
すなわち、制御状態監視システム10は、状態推定モデル記憶手段52に、累積稼働回数・時間を識別可能な状態推定モデルを記憶する構成とされ、また、異常検知モデル記憶手段62に、累積稼働回数・時間を識別可能な異常検知モデルを記憶する構成とされているので、機器20の経年劣化の状態を捉えつつ、異常検知を行うことができる。
また、実稼働を長期間継続することにより経年劣化の状態を実際に作らないと必要な学習用データが得られないので、通常は、機器20の販売が開始されてから、ある程度の期間が経過した時点で、必要な学習用データが得られることになる。この際、制御状態監視システム10は、前段の状態推定器50と後段の異常検知器60との2段構成になっているので、状態推定モデルを変えることなく、後から異常検知モデルを追加することができる。従って、販売開始後、時間が経過し、必要な学習用データである特徴データが得られれば、累積稼働回数・時間を識別可能な異常検知モデルを構築することができ、その異常検知モデルを後からでも容易に本システムに追加することができる。従って、制御状態監視システム10の性能向上を容易に図ることができる。また、機器20の管理者の事情や都合により、状態データを収集することができなくても、後から得られた特徴データだけで累積稼働回数・時間を識別可能な異常検知モデルを構築し、追加することができる。
[変形の形態]
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
例えば、前記実施形態では、制御状態監視システム10は、ネットワーク1を用いて構成されていたが、本発明の制御状態監視システムは、スタンドアロンの構成としてもよく、また、スタンドアロンの構成とする場合には、機器20と一体化してもよい。さらに、前記第1実施形態の説明でも詳述したが、状態データ取得手段40および状態推定器50を接続装置26に設けてもよく、その場合には、特徴データがネットワーク1上を流れることになり、また、状態データ取得手段40および状態推定器50を機器20と一体化してもよく、その場合には、特徴データが接続装置26を経由してネットワーク1を介して異常検知器60に送信される。そして、スタンドアロンの構成とする場合には、例えば、機器20の周辺に設けられた配電盤や分電盤に、制御状態監視システム10の全ての機能を集中させてもよい。
また、本発明の制御状態監視システムを、スタンドアロンの構成とする場合には、状態推定モデルや異常検知モデルの更新に用いる学習用の状態データや特徴データの収集は、ネットワーク経由ではなく、保守・点検業者やメーカ等の作業員、あるいは一般ユーザが、例えばUSBメモリやDVD等の記録媒体で行ってもよい。
さらに、前記第3実施形態では、故障発生予兆の有無を判定し、前記第4実施形態では、累積稼働回数・時間を考慮した異常検知を行う構成とされていたが、前記第3、第4実施形態を同時に適用してもよい。すなわち、累積稼働回数・時間を考慮しつつ、故障発生予兆の有無の判定を伴う異常検知を行ってもよい。
そして、前記各実施形態で示された具体例では、目的動作X,Y,Zは、1つのパラメータで定められた目的動作であったが、複数のパラメータの組み合わせによる複合的な目的動作とすることもできる。そして、この場合、後段の異常検知器60が、目的動作の単位で出力を行う構成であるのに対し、マルチタスクのニューラル・ネットワーク(例えば、マルチタスクCNN)で構成した前段の状態推定器50は、目的動作を構成する各パラメータ単位でのクラス識別結果を出力する構成としてもよい。
すなわち、パラメータα=α1,α2,α3,…、パラメータβ=β1,β2,β3,…、パラメータγ=γ1,γ2,γ3,…、パラメータδ=δ1,δ2,δ3,…等を組み合わせて、例えば、目的動作X=「α1かつβ1かつγ1かつδ1」、目的動作Y=「α1かつβ2かつγ1かつδ1」、目的動作Z=「α2かつβ1かつγ1かつδ1」等のような複合的な目的動作を定めることができる。各パラメータα,β,γ,δ等は、すべて既知の情報であるから、それらを組み合わせた目的動作X,Y,Z等も既知の情報となる。具体的には、例えば、パラメータα(回転数)=α1(100回転),α2(50回転)等であり、パラメータβ(ファン)=β1(ON),β2(OFF)等である。
この場合に、後段の異常検知器60は、前記各実施形態のように、目的動作X,Y,Zに対応する異常検知モデルを構築し、目的動作X,Y,Zに対応する判定結果を出力するようにする。一方、前段の状態推定器50は、パラメータ単位での識別を行うタスク部分を備えたマルチタスクNN(例えばマルチタスクCNN)により構成することができる。この際、パラメータ単位での識別を行うタスク部分は、1つのパラメータだけに対応するタスク部分としてもよく、複数のパラメータの組合せに対応するタスク部分としてもよい。具体的には、1つのパラメータだけに対応するタスク部分としては、例えば、α1(100回転)であるかそれ以外であるかの識別を行うタスク部分、α2(50回転)であるかそれ以外であるかの識別を行うタスク部分、β1(ファンON)とβ2(ファンOFF)との識別を行うタスク部分等である。また、複数のパラメータの組合せに対応するタスク部分としては、例えば、「α1かつβ1」であるかそれ以外であるかの識別を行うタスク部分、「α1かつβ1かつγ1」であるかそれ以外であるかの識別を行うタスク部分等であるが、通常は、目的動作X,Y,Zを構成するパラメータ数未満のパラメータ数の組合せとする。目的動作X,Y,Zを構成するパラメータ数と同数の組合せとしてしまうと、結局、目的動作X,Y,Z自体であるか否かの識別を行うことになり、パラメータ単位での識別を行うタスク部分とは言えないからである。
前段の状態推定器50と後段の異常検知器60との関係について、より具体的に述べると、次のようになる。例えば、目的動作X=「100回転、かつ、ファンONでの定常運転」であり、目的動作Y=「100回転、かつ、ファンOFFでの定常運転」であり、目的動作Z=「50回転、かつ、ファンOFFでの定常運転」であるとする。マルチタスクCNNによる状態推定器50において、100回転での正常な運転であるか、それ以外であるかの識別用の第1のタスクと、50回転での正常な運転であるか、それ以外であるかの識別用の第2のタスクと、ファンのON/OFFの識別用の第3のタスクとで学習行えば、その学習結果として、このマルチタスクCNNの共有部についてのパラメータの値は、上記の目的動作X,Y,Zでの各運転が正常であるか否かの判定を行うための特徴データとして、適切な特徴データを抽出することができる状態となる。従って、このような学習で得られたマルチタスクCNNによる状態推定器50に、目的動作X(100回転、かつ、ファンONでの定常運転)が正常であるときの状態データを入力し、そこから抽出される特徴データを、目的動作X用の異常検知器60の学習用データとして用いることができる。目的動作Y,Zについても同様である。
以上のように、状態推定器50を、目的動作を構成するパラメータ単位での識別を行うタスク部分を備えたマルチタスクのニューラル・ネットワークによるパターン認識処理を行う構成とした場合も、本発明の状態推定器における「制御実行中の動作部の実際の動作状態が、制御の目的動作を示す状態になっているか否かまたは制御の達成度を示すデータを出力するパターン認識処理」に該当する。複数のタスク部分からの出力結果を統合すると、該当する状態になるからである。