JP2020064367A - 異常検知装置及び異常検知方法 - Google Patents

異常検知装置及び異常検知方法 Download PDF

Info

Publication number
JP2020064367A
JP2020064367A JP2018194534A JP2018194534A JP2020064367A JP 2020064367 A JP2020064367 A JP 2020064367A JP 2018194534 A JP2018194534 A JP 2018194534A JP 2018194534 A JP2018194534 A JP 2018194534A JP 2020064367 A JP2020064367 A JP 2020064367A
Authority
JP
Japan
Prior art keywords
unit
model
candidate
data
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018194534A
Other languages
English (en)
Other versions
JP7071904B2 (ja
Inventor
トポン ポール
Paul Topon
トポン ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018194534A priority Critical patent/JP7071904B2/ja
Priority to US16/564,564 priority patent/US20200116522A1/en
Publication of JP2020064367A publication Critical patent/JP2020064367A/ja
Application granted granted Critical
Publication of JP7071904B2 publication Critical patent/JP7071904B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D3/00Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
    • G01D3/08Indicating or recording apparatus with provision for the special purposes referred to in the subgroups with provision for safeguarding the apparatus, e.g. against abnormal operation, against breakdown
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D1/00Measuring arrangements giving results other than momentary value of variable, of general application
    • G01D1/18Measuring arrangements giving results other than momentary value of variable, of general application with arrangements for signalling that a predetermined value of an unspecified parameter has been exceeded
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system

Abstract

【課題】異常検知モデルを最適化して異常検知の判定精度を向上する。【解決手段】異常検知装置は、時系列に入力される複数のセンサデータに基づいて、センサデータの異常を検知するための複数の候補モデルを複数の手法で生成するモデル生成部と、複数の候補モデルの判定精度を算出する精度算出部と、複数の候補モデルの判定精度に基づいて、複数の候補モデルの中から一つ以上の候補モデルを選択して異常検知モデルを生成するモデル選択部と、異常検知モデルに基づいて、新たなセンサデータが正常か異常かを判別するデータ分類部と、精度算出部で算出された複数の候補モデルの判定精度と、データ分類部にて正常か異常かが判別された新たなセンサデータと、に基づいて、複数の候補モデルを更新するモデル更新部と、を備える。【選択図】図1

Description

本発明の実施形態は、異常検知装置及び異常検知方法に関する。
製造工場やプラントでは、製品の品質あるいは製造工程を様々な装置に設置した様々な種類のセンサにより監視していることが多い。これらのセンサは、大量の正常データと少量の異常データからなる大量の時系列の波形データあるいは表データを生成する。製造工場やプラントの歩留まり向上、製品の品質向上、製造工場やプラントのオペレーションの信頼度向上、適切な保守計画を支援するためには、大量のデータからの異常検出が非常に重要である。
製造工場やプラントでのセンサデータに基づいて異常検知モデルを生成し、生成した異常検知モデルに基づいて、新たに取得されたセンサデータが正常か異常かを判別する異常検知装置が提案されている。
しかしながら、異常検知モデルを生成するには、種々の手法があり、各手法ごとに異なるモデルが生成されるため、最適なモデルを選択するのが容易ではない。また、異常データは時間の経過とともに増える傾向にあるため、正常データの割合が多い初期状態で生成した異常検知モデルを継続的に使用することが望ましいとは限らない。
特開2016−200971号公報
本発明が解決しようとする課題は、異常検知モデルを最適化して異常検知の判定精度を向上可能な異常検知装置及び異常検知方法を提供することである。
本実施形態によれば、時系列に入力される複数のセンサデータに基づいて、前記センサデータの異常を検知するための複数の候補モデルを複数の手法で生成するモデル生成部と、
前記複数の候補モデルの判定精度を算出する精度算出部と、
前記複数の候補モデルの判定精度に基づいて、前記複数の候補モデルの中から一つ以上の候補モデルを選択して異常検知モデルを生成するモデル選択部と、
前記異常検知モデルに基づいて、新たなセンサデータが正常か異常かを判別するデータ分類部と、
前記精度算出部で算出された前記複数の候補モデルの判定精度と、前記データ分類部にて正常か異常かが判別された前記新たなセンサデータと、に基づいて、前記複数の候補モデルを更新するモデル更新部と、を備える、異常検知装置が提供される。
第1の実施形態による異常検知装置のブロック図。 第1の実施形態による異常検知装置が異常検知モデルを生成する一具体例を示す図。 第1の実施形態による異常検知装置の処理動作を示すフローチャート。 第2の実施形態による異常検知装置の概略構成を示すブロック図。 第2の実施形態による異常検知装置が異常検知モデルを生成する一具体例を示す図。 第2の実施形態による異常検知装置の処理動作を示すフローチャート。 ユーザが各種の選択及び可視化を行うGUI画面の一例を示す図。 第3の実施形態による異常検知装置の概略構成を示すブロック図。 正常データを3つの特徴的なデータグループに分ける例を示す図。 第3の実施形態におけるグループ化部と手法選択部の処理動作を示すフローチャート。 第3の実施形態による異常検知装置が行うグループ化の意義を模式的に説明する図。 遺伝的アルゴリズムを用いて正常データをグループ化する例を示す図。 図12の各データグループに手法を割り当てるのに用いる遺伝的アルゴリズムの処理手順を説明する図。 (a)は手法リスト、(b)はセンサデータリスト、(c)は初期の候補モデル群を示す図。 (a)は複数の候補モデル群についての直前の候補解のリストを示す図、(b)は交叉と突然変異を適用して得られた候補解のリストを示す図。 データグループの評価のためのGUI画面の一例を示す図。
以下、図面を参照して本発明の実施形態を説明する。以下の実施形態では、異常検知装置内の特徴的な構成および動作を主に説明するが、異常検知装置には以下の説明で省略した構成および動作が存在しうる。
(第1の実施形態)
図1は第1の実施形態による異常検知装置1のブロック図である。図1の異常検知装置1は、前処理部2と、モデル群学習/更新部3と、モデル選択部4と、データ分類部5とを備えている。この他、図1の異常検知装置1は、製造工場やプラント等に設置された種々のセンサで検知されたセンサデータを格納するセンサデータ保持部6を備えていてもよい。なお、センサデータ保持部6は必須の構成部ではなく、種々のセンサからのセンサデータをリアルタイムで図1の異常検知装置1に取り込んでもよい。
センサデータは、各センサが増分的に生成する時系列波形データあるいは時系列波形データを統計値に変換した表データを含んでいてもよい。センサデータは異常検知モデルを学習するのに利用する教師データと、未知の異常を検知するのに利用するテストデータとを含んでいる。教師データは、各センサの正常データと異常データの少なくとも一方を含んでいる。教師データは一種類のセンサの正常データと異常データだけでなく、複数種類のセンサの正常データと異常データの少なくとも一方を含んでいてもよい。また、各センサデータは、教師データであるか、テストデータであるかを識別するフラグを保持していてもよい。さらに、センサデータは各センサデータのため前処理が必要かどうかを示すフラグも保持していてもよい。
図1の前処理部2は、必須の構成部ではないが、以下では、図1の異常検知装置1が前処理部2を備える例を説明する。前処理部2はセンサデータの前処理を行う。センサデータが時系列波形データの場合、前処理として時系列波形データの長さを調整する必要が生じる場合がある。この場合、前処理部2は、各時系列波形データの時間長を等しくする。あるいは、前処理部2は、時系列波形データを平滑化してもよい。平滑化手法としてローパスフィルタ、ハイパスフィルタ、カーネル密度推定などを適用してもよい。また、異常検知モデルが時系列波形データを処理できない場合は、前処理部2は時系列波形データから特徴を抽出する処理を行ってもよい。時系列波形データから抽出される特徴とは、統計値である。より具体的には、統計値には、最大値、中央値、最小値、平均値、標準偏差値、尖度、歪度、自己相関などが含まれる。あるいは、前処理部2が抽出する特徴は、時系列波形データの波形振幅、状態レベル、アンダーシュートとオーバーシュート、基準面、遷移時間などでもよい。あるいは、前処理部2は、時系列波形データを複数のセグメントに区切って各セグメントより以前の特徴を抽出することもできる。時系列波形データから特徴を抽出して生成したデータは表データとなる。前処理部2で生成したデータを図1のセンサデータ保持部6に格納してもよい。
異常検知モデルの候補となる候補モデルは、複数の手法で生成することができる。例えば、図1の異常検知装置1は、複数の手法がリスト化された手法リストを保持する手法リスト保持部7を備えていてもよい。手法リストは、教師なし学習の手法と教師あり学習の手法を含んでいる。教師なし学習の手法は、例えば、従来の1−クラスサポートベクターマシン(One-Class Support Vector Machine)を用いた手法、クラスタリング手法(k平均法、階層クラスタリング)、主成分分析手法、自己組織化写像手法、深層学習手法、教師なしインクリメンタル学習手法などを含んでいてもよい。教師あり学習の手法は、例えば、分類器を用いた手法、インクリメンタルサポートベクターマシンを用いた手法、インクリメンタル決定木手法、インクリメンタル深層畳み込みニューラルネットワーク手法、Learn++手法、Fuzzy ARTMAP手法などを含んでいてもよい。手法リスト保持部7をモデル群学習/更新部3に統合してもよい。
モデル群学習/更新部3は、手法リストから教師なし学習と教師あり学習の複数の手法を選択し、初期の教師データを用いて候補モデル群を学習し、増分的に来る教師データを用いて候補モデル群を更新する。
モデル群学習/更新部3は、モデル生成部8と、精度算出部9と、モデル更新部10とを有する。モデル生成部8は、時系列に入力される複数のセンサデータに基づいて、センサデータの異常を検知するための複数の候補モデルを複数の手法で生成する。精度算出部9は、複数の候補モデルの判定精度を算出する。モデル更新部10は、精度算出部9で算出された判定精度と、正常か異常かが判別された新たなセンサデータとに基づいて、複数の候補モデルを更新する。モデル更新部10は、専門家の知見により正常か異常かが判別された新たなセンサデータと、専門家の知見に加えて異常検知モデルに基づいて正常か異常かが判別された新たなセンサデータと、の少なくとも一方に基づいて、複数の候補モデルを更新してもよい。
モデル更新部10は、複数の方式のいずれかにてモデル更新を行うことができる。代表的な方式として以下の第1〜第4方式がある。
第1方式では、増分的に来る全ての教師データを収集して、増分的に教師データが来るタイミングで、モデル生成部8が選択した全ての手法を用いて新たに各候補モデルを学習する。第1方式では、大量の教師データを記憶する記憶装置が必要となる。
第2方式では、過去の教師データを廃棄して、増分的に来る教師データのみを用いてモデル生成部8が選択した全ての手法を用いて新たに各候補モデルを学習する。第2方式では、学習モデルの判定精度が変動する可能性がある。
第3方式では、初期教師データを用いてモデル生成部8が選択した全ての手法の候補モデルを学習し、増分的に来る教師データを用いて候補モデル群のパラメータを更新し、更新モデルを更新後に全ての教師データを廃棄する。第3方式では、大量の教師データを保持する記憶装置が不要となる。
第4方式では、第3方式と同じように初期教師データを用いてモデル生成部8が選択した全ての手法のモデルを学習し、増分的に来る教師データを用いて候補モデル群のパラメータを更新し、モデル更新後に教師データの一部を保持する。この場合、保持した教師データの選択手法が必要となる。通常は、教師データに含まれる異常データの割合は小さいため、全ての異常データと、増分的に来る正常データと、過去の正常データからランダムにピックアップした正常データとを保持することができる。
モデル更新部10が選択する方式は、モデル生成部8が選択した手法によって変わりうる。なお、モデル更新部10が選択する方式をユーザが事前に決定してもよい。
モデル選択部4は、複数の候補モデルの判定精度に基づいて、複数の候補モデルの中から、一つ以上の候補モデルを選択して異常検知モデルを生成する。具体的には、モデル選択部4は、モデル群学習/更新部3が学習あるいは更新した候補モデル群から一つ以上の良い候補モデルを選択する。モデル選択部4が複数の候補モデルを選択した場合、選択された複数の候補モデルを用いてメタモデルを生成し、そのメタモデルを適用する異常検知モデル(以下、適用モデルとも呼ぶ)を適用モデル保持部11に保持する。モデル群学習/更新部3がn個の候補モデルを学習した場合、候補モデルの組合せ数は2n−1個である。このため、モデル選択部4は、組み合わせ最適手法、ヒューリスティック手法あるいは貪欲法を用いて、良好な候補モデル群を選択することができる。候補モデル群の組み合わせ最適手法として遺伝的アルゴリズムと遺伝的プログラミングを用いることができる。複数の候補モデルを用いて生成するメタモデルで総合的な判断を行うため、メタモデルのルールが必要である。多数決定(Majority Voting)、 ORルールあるいは遺伝的プログラミングを用いたルールを利用してメタモデルを生成することができる。多数決定では、多数の候補モデルの判定結果が異常であればテストデータを異常と判断する。ORルールでは、一つ以上の候補モデルの判定結果が異常であればテストデータを異常と判断する。遺伝的プログラミングでは下記のようなルールを作ることができる。
IF (候補モデル1の判定=異常 AND 候補モデル2の判定=正常)OR(候補モデル1の判定=正常 AND 候補モデル2の判定=異常)THEN (テストデータ=異常)。
適用モデル保持部11は、モデル選択部4が選択した候補モデル群に基づいて生成したメタモデルを適用モデルとして保持する。
データ分類部5は、新たなセンサデータが正常か異常かを判別する。より具体的には、データ分類部5は、候補モデル群を用いて生成したメタモデルを用いて、前処理部2で前処理された新たなセンサデータ(テストデータ)が正常か異常かを分類し、その分類結果を分類結果保持部12に保持する。
図1の異常検知装置1は、コンセプトドリフト検出部(初期化部)13を備えていてもよい。コンセプトドリフト検出部13は、初期化判定部13aとモデル初期化部13bを有していてもよい。初期化判定部13aは、複数の候補モデルの判定精度を示す数値がいずれも所定値以下に低下したか否かを判定する。モデル初期化部13bは、複数の候補モデルの判定精度を示す数値がいずれも所定値以下に低下したと判定された場合に、異常検知モデルを初期化する。
より具体的には、コンセプトドリフト検出部13は、増分的に来る教師データを用いてモデル群学習/更新部3がモデル群を更新したとき、増分的に来る教師データは以前の教師データから大幅に変化しているかどうかを検出する。コンセプトドリフト検出部13は、コンセプトドリフトを検出すると、モデル群学習/更新部3に対してモデル学習をリセットする指示と、センサデータ保持部6に対して過去の教師データを廃棄する指示を発令する。コンセプトドリフト手法として、増分的に来た教師データを用いてモデル群学習/更新部3が候補モデル群を更新した後、複数あるいは全ての候補モデルの判定精度が落ちているかどうかの評価を利用することができる。コンセプトドリフト検出部13はモデル群学習/更新部3に統合してもよい。
図2は第1の実施形態による異常検知装置1が異常検知モデルを生成する一具体例を示す図である。図2の例では、センサデータ保持部6は、時刻t1で正常データ1と異常データ1からなる初期教師データを供給し、時刻t2で正常データ2と異常データ2からなる教師データ2を供給し、時刻t3で正常データ3と異常データ3からなる教師データ3を供給し、時刻t4で正常データ4と異常データ4からなる教師データ4を供給し、時刻t5で正常データ5と異常データ5からなる教師データ5を増分的に供給する。
手法リスト保持部7は、教師なし学習の手法として{A1,A2,A3,A4}を、教師あり学習の手法として{B1,B2,B3,B4,B5}を含む手法リストを保持する。
モデル群学習/更新部3は初期教師データを用いて全ての手法のモデルを学習し、判定精度を算出する。初期教師データは、正常データ1の割合が異常データ1の割合よりも多いという特徴がある。モデル群学習/更新部3内のモデル生成部8は、教師なし学習と教師あり学習を行う。教師なし学習では、正常データだけからなる教師データを用いて、複数の手法{A1,A2,A3,A4}にて、複数の候補モデル{A1(t1),A2(t1),A3(t1),A4(t1)}を生成する。精度算出部9は、これらの候補モデルの判定精度を算出する。この例では、{0.7、0.9、0.8、0.6}である。教師あり学習では、正常データと異常データからなる教師データを用いて、複数の手法{B1,B2,B3,B4,B5}にて、複数の候補モデル{B1(t1),B2(t1),B3(t1),B4(t1),B5(t1)}を生成する。これら候補モデルの判定精度は、{0.4、0.3、0.5、0.9、0.2}である。
モデル選択部4は、教師なし学習手法を用いたモデル{A1(t1),A2(t1),A3(t1),A4(t1)}の平均判定精度が良いことから、その中から最良であるA2(t1)を異常検知モデルとして選択する。
時刻t1から、次のモデル更新のタイミングである時刻t2までの間にセンサデータ保持部6から供給されたセンサデータについては、時刻t1にモデル選択部4で選択された異常検知モデルA2(t1)を用いて、正常か異常かを判断し、その判断結果は分類結果保持部12に保持される。時刻t1〜t2の間の正常と異常の判断結果は、時刻t2で候補モデルを更新する際に利用してもよい。
次に、時刻t2のときの処理を説明する。時刻t2のとき、センサデータ保持部6は正常データ2と異常データ2からなる教師データ2を供給する。前処理部2は、教師データ2の前処理を行う。モデル群学習/更新部3は、前処理後の教師データ2を用いて全ての手法の候補モデルを更新し、判定精度を算出する。
教師なし学習では、正常データだけからなる教師データを用いて、複数の手法{A1,A2,A3,A4}にて、複数の候補モデル{A1(t2),A2(t2),A3(t2),A4(t2)}を生成する。精度算出部9は、これらの候補モデルの判定精度を算出する。この例では、{0.7、1.0、0.7、0.5}である。教師あり学習では、正常データと異常データからなる教師データを用いて、複数の手法{B1,B2,B3,B4,B5}にて、複数の候補モデル{B1(t2),B2(t2),B3(t2),B4(t2),B5(t2)}を生成する。これら候補モデルの判定精度は、{0.5、0.4、0.6、0.9、0.3}である。
モデル選択部4は、教師なし学習手法を用いたモデル{A1(t2),A2(t2),A3(t2),A4(t2)}の平均判定精度が良いことから、その中から最良であるA2(t2)を異常検知モデルとして選択する。
次に、時刻t3のときの処理を説明する。時刻t3のとき、センサデータ保持部6は正常データ3と異常データ3からなる教師データ3を供給する。前処理部2では、教師データ3の前処理を行う。モデル群学習/更新部3は、前処理後の教師データ3を用いて全ての手法の候補モデルを更新し、判定精度を算出する。
教師なし学習では、正常データだけからなる教師データを用いて、複数の手法{A1,A2,A3,A4}にて、複数の候補モデル{A1(t3),A2(t3),A3(t3),A4(t3)}を生成する。精度算出部9は、これらの候補モデルの判定精度を算出する。この例では、{0.6、0.9、0.7、0.5}である。教師あり学習では、正常データと異常データからなる教師データを用いて、複数の手法{B1,B2,B3,B4,B5}にて、複数の候補モデル{B1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}を生成する。これら候補モデルの判定精度は、{0.8、0.9、0.7、1.0、0.5}である。
モデル選択部4は、教師なし学習手法を用いたモデル{B1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}の平均判定精度が良いことから、その中から最良であるB4(t3)を異常検知モデルとして選択する。
次に、時刻t4のときの操作は時刻t3のときと似ているので、説明を省略する。最後に、時刻t5のときの処理を説明する。時刻t5のとき、センサデータ保持部6は正常データ5と異常データ5からなる教師データ5を供給する。前処理部2では、教師データ5の前処理を行う。次に、モデル群学習/更新部3は、前処理後の教師データ5を用いて全ての手法のモデルを更新し、判定精度を算出する。
教師なし学習では、正常データだけからなる教師データを用いて、複数の手法{A1,A2,A3,A4}にて、複数の候補モデル{A1(t5),A2(t5),A3(t5),A4(t5)}を生成する。精度算出部9は、これらの候補モデルの判定精度を算出する。この例では、{0.5、0.7、0.5、0.3}である。教師あり学習では、正常データと異常データからなる教師データを用いて、複数の手法{B1,B2,B3,B4,B5}にて、複数の候補モデル{B1(t5),B2(t5),B3(t5),B4(t5),B5(t5)}を生成する。これら候補モデルの判定精度は、{0.6、0.4、0.5、0.7、0.2}である。
モデル選択部4は、教師なし学習手法を用いたモデル{B1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}の平均判定精度が良いことから、その中から最良であるB4(t3)を異常検知モデルとして選択する。
時刻t4と比べて、すべての候補モデルの判定精度が落ちているため、コンセプトドリフト検出部13はコンセプトドリフトが生じたと判断し、モデル群学習/更新部3へモデル学習をリセットする指示と、センサデータ保持部6に過去の教師データの廃棄指示を発令する。モデル群学習/更新部3はコンセプトドリフト検出部13からのモデル学習のリセット指示を受けて、教師データ5のみを用いて全ての手法のモデルを学習し、判定精度を算出する。
教師なし学習では、正常データだけからなる教師データを用いて、複数の手法{A1,A2,A3,A4}にて、複数の候補モデル{A1(t5),A2(t5),A3(t5),A4(t5)}を生成する。精度算出部9は、これらの候補モデルの判定精度を算出する。この例では、{0.7、0.8、0.8、0.7}である。教師あり学習では、正常データと異常データからなる教師データを用いて、複数の手法{B1,B2,B3,B4,B5}にて、複数の候補モデル{B1(t5),B2(t5),B3(t5),B4(t5),B5(t5)}を生成する。これら候補モデルの判定精度は、{0.7、0.5、0.6、0.8、0.3}である。
モデル選択部4は教師なし学習手法を用いたモデル{A1(t5),A2(t5),A3(t5),A4(t5)}の平均判定精度が良いので、その中から最良であるA3(t5)を異常検知モデルとして選択する。
図3は第1の実施形態による異常検知装置1の処理動作を示すフローチャートである。まず、前処理部2は、センサデータ保持部6から供給されたセンサデータから、教師データを抽出する(ステップS1)。次に、前処理部2は、教師データに対して前処理を行う(ステップS2)。前処理として、例えば、教師データの長さを調整する。
モデル学習/更新部は手法リスト保持部7から手法リストを取得する(ステップS3)。次に、モデル群学習/更新部3は、初期モデル学習か否かを判定する(ステップS4)。
初期モデル学習の場合(ステップS4がYES)、モデル群学習/更新部3は初期教師データを用いて全ての候補モデルを学習する(ステップS5)。ステップS4で初期モデル学習でないと判定された場合(NOの場合)、モデル群学習/更新部3は直近の学習で生成した候補モデルに対して新しい教師データを付与して、候補モデルを更新する(ステップS6)。
ステップS5又はS6の処理が終わると、コンセプトドリフト検出部13はコンセプトドリフトが生じたか否かを検出する(ステップS7)。コンセプトドリフトが生じた場合(YESの場合)、コンセプトドリフト検出部13はモデル群学習/更新部3へモデル学習をリセットする指示を発令する(ステップS8)。そのとき、モデル群学習/更新部3は候補モデルを初期化し、新しい教師データを用いて全ての候補モデルを学習し直す(ステップS9)。
次に、モデル選択部4は、複数の候補モデルの判定精度に基づいて、複数の候補モデルの中から、一つ以上の候補モデルを選択して適用モデルを生成して適用モデル保持部11に保持する(ステップS10)。
上述したように、コンセプトドリフト検出部13は省略してもよい。コンセプトドリフト検出部13を省略した場合には、図3のステップS7〜S9の処理は不要となる。
このように、第1の実施形態では、複数の手法を用いて教師なし学習を行って複数の候補モデルを生成して判定精度を検出するとともに、複数の手法を用いて教師あり学習を行って複数の候補モデルを生成して判定精度を検出する。そして、判定精度が高い方の複数の候補モデルの中から最適な候補モデルを適用モデルとして選択するため、候補モデルの判定精度を高めることができる。また、時系列に入力される複数のセンサデータを用いて、候補モデルの更新を継続的に行うため、時間の経過とともに正常データと異常データの割合が変化しても、それに応じて候補モデルを更新でき、候補モデルの信頼性を向上できる。また、複数の候補モデルの判定精度が一様に低下した場合には、コンセプトドリフトが生じたと判断して、候補モデルをリセットするとともに過去のセンサデータを廃棄して、新たに候補モデルを生成し直すことができるため、途中でセンサデータの種類が変化した場合には、新たな異常検知モデルを生成できる。さらに、各センサデータに対して前処理を行った後にモデル群学習/更新部3とデータ分類部5の処理を行うことができるため、各センサデータの時間長さや特徴が異なる場合であっても、センサデータに依存せずに異常検知の判定精度が高い異常検知モデルを生成できる。
(第2の実施形態)
第2の実施形態では、複数の候補モデルの中から1以上の候補モデルを含む候補モデル群を選択し、さらにその中から、1以上の候補モデルを含む適用モデル群を選択し、選択された適用モデル群に基づいて生成したメタモデル(適用モデル)を異常検知モデルとするものである。
図4は第2の実施形態による異常検知装置1の概略構成を示すブロック図である。図4の異常検知装置1は、モデル選択部4の処理が図1とは異なっている。図4のモデル選択部4は、候補モデル群選択部21と、適用モデル群選択部22と、適用モデル生成部23とを有する。
候補モデル群選択部21は、データ分類部5で正常と判別されたセンサデータに基づいて生成された複数の候補モデルを含む第1モデル群と、データ分類部5で正常又は異常と判別されたセンサデータに基づいて生成された複数の候補モデルを含む第2モデル群と、のいずれか一方を選択する。候補モデル群選択部21は、第1候補モデル群内の複数の候補モデルの判定精度と、第2候補モデル群内の複数の候補モデルの判定精度と、に基づいて、第1候補モデル群と第2候補モデル群とのいずれか一方を選択してもよい。
第1モデル群と第2モデル群は、現時点での複数の候補モデルだけでなく、過去モデル群保持部24に保持された過去の時点での複数の候補モデルを含んでいてもよい。よって、候補モデル群選択部21は、現時点の候補モデル群と過去の候補モデル群から複数の良い候補モデルを選択することができる。選択手法として、教師なし学習の手法を用いて学習した現時点又は過去の候補モデル群と、教師あり学習の手法を用いて学習した現時点又は過去の候補モデル群を選択することができる。
また、教師なし学習の手法を用いて学習した候補モデル群と、教師あり学習の手法を用いて学習した候補モデル群の組み合わせから、固定数の候補モデルを選択してもよい。選択する評価基準として、モデル群の平均判定精度を利用することができる。教師なし学習の手法を用いて学習した候補モデル群と、教師あり学習の手法を用いて学習した候補モデル群から一つの候補モデル群を選択する際には、平均的に判定精度が高い候補モデル群を選択する。固定数の候補モデルを含む候補モデル群を選択するとき、教師なし学習の手法を用いた候補モデル群と教師あり学習の手法を合わせた候補モデル群の中から、判定精度が上位の固定数の候補モデルを選択してもよい。増分的に来る教師データがノイジー教師データであり、幾つかの候補モデルをノイジー教師データを用いて更新する場合、更新された候補モデルの判定精度が落ちる可能性があるので、候補モデル群を選択する際には、過去の候補モデルを利用してもよい。すなわち、増分的に来る教師データを用いてある候補モデルを更新したときに判定精度が落ちる場合には、更新後の候補モデルの代わりに過去の候補モデルを用いてもよい。
過去モデル群保持部24は、候補モデル群選択部21が選択した候補モデル群と過去の候補モデル群を保持する。過去の何ステップ前の候補モデルを保持するか、候補モデル何個を保持するかを予め決めても良い。過去モデル群保持部24の機能を候補モデル群選択部21が備えていてもよい。
適用モデル群選択部22は、候補モデル群選択部21にて選択された第1候補モデル群又は第2候補モデル群から、1以上の候補モデルを含む適用モデル群を選択する。適用モデル群選択部22は、候補モデル群選択部21にて選択された第1候補モデル群又は第2候補モデル群内の複数の候補モデルの判定精度に基づいて、適用モデル群を選択してもよい。
より具体的には、適用モデル群選択部22は、候補モデル群選択部21が選択した候補モデル群から精度が良い1つ以上の候補モデル群を選択する。候補モデル群選択部21がn個の候補モデルを選択した場合、その候補モデルの組合せは2n−1個ある。適用モデル群選択部22は、組み合わせ最適手法、ヒューリスティック手法あるいは貪欲法等を用いて、精度の良い適用モデルを生成することができる。組み合わせ最適手法として遺伝的アルゴリズムと遺伝的プログラミングを用いることができる。
適用モデル生成部23は、適用モデル群選択部22が選択した適用モデル群からメタモデルを生成し、生成したメタモデルを適用モデル保持部11に保持する。複数の候補モデルを用いて生成するメタモデルで総合的な判断を行うため、メタモデルのルールが必要である。メタモデルとして多数決定(Majority Voting)、ORルールあるいは遺伝的プログラミングを用いたルールを利用することができる。多数決定では、多数の候補モデルの判定結果が異常であればテストデータを異常と判断する。ORルールでは、一つ以上の候補モデルの判定結果が異常であればテストデータを異常と判断する。遺伝的プログラミングでは下記のようなルールを作ることができる。
IF(候補モデル1の判定=異常AND候補モデル2の判定=正常)OR(候補モデル1の判定=正常AND候補モデル2の判定=異常)THEN(テストデータ=異常)。
適用モデル保持部11は、適用モデル群選択部22が選択した適用モデル群とその適用モデル群を用いて生成したメタモデルを保持する。
データ分類部5は、適用モデル保持部11が保持する適用モデル群と、その適用モデル群を用いて生成したメタモデルを用い、前処理後のテストデータを分類し、判断結果を分類結果保持部12に保存する。すなわち、データ分類部5はテストデータが異常か正常かであるかを判断する。
図5は第2の実施形態による異常検知装置1が異常検知モデルを生成する一具体例を示す図である。図5の例では、センサデータ保持部6は、時刻t1で正常データ1と異常データ1からなる初期教師データを供給し、時刻t2で正常データ2と異常データ2からなる教師データ2を供給し、時刻t3で正常データ3と異常データ3からなる教師データ3を供給し、時刻t4で正常データ4と異常データ4からなる教師データ4を供給し、時刻t5で正常データ5と異常データ5からなる教師データ5を増分的に供給する。
手法リスト保持部7は、教師なし学習の手法として{A1,A2,A3,A4}を、教師あり学習の手法として{B1,B2,B3,B4,B5}を含む手法リストを保持する。
時刻t1では、モデル群学習/更新部3内のモデル生成部8は、初期教師データを用いて、複数の手法にて、教師なし学習と教師あり学習を行う。
適用モデル群選択部22は、教師なし学習で得られた複数の候補モデル群{A1(t1),A2(t1),A3(t1),A4(t1)}の中から、良い判定精度が得るメタモデルを生成するため候補モデル群{A2(t1),A3(t1),A4(t1)}を選択する。候補モデル群の選択後は、データ分類部5は{A2(t1),A3(t1),A4(t1)}を用いた適用モデル(メタモデル)、例えば多数決定等により、テストデータを分類する。
次に、時刻t2のときの処理を説明する。時刻t2のとき、センサデータ保持部6は正常データ2と異常データ2からなる教師データ2を供給する。前処理部2では、教師データ2の前処理を行う。
モデル群学習/更新部3は、前処理後の教師データ2を用いて全ての手法のモデルを更新し、判定精度を算出する。教師データ2を用いた更新したモデルは{A1(t2),A2(t2),A3(t2),A4(t2)}とB1(t2),B2(t2),B3(t2),B4(t2),B5(t2)}であり、判定精度はそれぞれ{0.7、1.0、0.7、0.5}と{0.5、0.4、0.6、0.9、0.3}である。
候補モデル群選択部21は、例えば平均判定精度を用いて候補モデル群を選択する。教師なしモデル群の平均判定精度は0.725、教師ありモデル群の平均判定精度は0.54なので、候補モデル群選択部21は、教師なしモデル群{A1(t2),A2(t2),A3(t2),A4(t2)}を選択する。次に、選択した候補モデル群と過去の候補モデル群を比較して、判定精度の良い候補モデル群を選択する。選択した候補モデル群のうち、A3(t2),A4(t2)の判定精度はA3(t1),A4(t1)より落ちているので、候補モデル群選択部21はA3(t2),A4(t2)の代わりにそれぞれA3(t1),A4(t1)を候補モデル群として選択する。すなわち、候補モデル群選択部21は{A1(t2),A2(t2),A3(t1),A4(t1)}を選択し、過去モデル群保持部24に保持する。
適用モデル群選択部22は、選択された候補モデル群{A1(t2),A2(t2),A3(t1),A4(t1)}の中から、良い判定精度が得られる適用モデル(メタモデル)を生成するための適用モデル群{A1(t2),A2(t2),A4(t1)}を選択する。データ分類部5は、適用モデル群{A1(t2),A2(t2),A4(t1)}を用いた適用モデル(メタモデル)、例えば多数決定等により、テストデータを分類する。
次に、時刻t3のときの処理を説明する。時刻t3のとき、センサデータ保持部6は正常データ3と異常データ3からなる教師データ3を供給する。前処理部2では、教師データ3の前処理を行う。
モデル群学習/更新部3は、前処理後の教師データ3を用いて全ての手法のモデルを更新し、判定精度を算出する。教師データ3を用いた更新したモデルは{A1(t3),A2(t3),A3(t3),A4(t3)}とB1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}となり、判定精度はそれぞれ{0.6、0.9、0.7、0.5}と{0.8、0.9、0.7、1.0、0.5}となる。
候補モデル群選択部21は、例えば平均判定精度を用いて候補モデル群を選択する。教師なしモデル群の平均判定精度は0.675、教師ありモデル群の平均判定精度は0.78なので、候補モデル群選択部21は、教師ありモデル群B1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}を選択する。次に、選択した候補モデル群と過去の候補モデル群を比較して、判定精度の良い候補モデル群を選択する。選択した候補モデル群の判定精度は過去の候補モデルより良いので、選択した候補モデル群を変更せずに過去モデル群保持部24に保持する。
適用モデル群選択部22は、候補モデル群{B1(t3),B2(t3),B3(t3),B4(t3),B5(t3)}の中から、良い判定精度が得られる適用モデル(メタモデル)を生成するための適用モデル群{B1(t3),B2(t3),B4(t3)}を選択する。データ分類部5は、適用モデル群{{B1(t3),B2(t3),B4(t3)}を用いた適用モデル(メタモデル)、例えば多数決定を用いてテストデータを分類する。
次に、時刻t4のときの処理は時刻t2のときと似ているので、説明を省略する。最後に、時刻t5のときの処理を説明する。時刻t5のとき、センサデータ保持部6は正常データ5と異常データ5からなる教師データ5を供給する。前処理部2では、教師データ5の前処理を行う。
モデル群学習/更新部3は、教師データ5を用いて全ての手法のモデルを更新し、判定精度を算出する。教師なし学習では、複数の候補モデル{A1(t5),A2(t5),A3(t5),A4(t5)}を生成し、教師あり学習では、複数の候補モデルB1(t5),B2(t5),B3(t5),B4(t5),B5(t5)}を生成する。教師なし学習と教師あり学習で生成した複数の候補モデルの判定精度はそれぞれ{0.5、0.7、0.5、0.3}と{0.6、0.4、0.5、0.7、0.2}であり、以前の時刻での判定精度よりも低下している。このため、コンセプトドリフト検出部13はコンセプトドリフトを検出し、モデル群学習/更新部3へモデル学習をリセットする指示と、センサデータ保持部6に過去の教師データの廃棄指示を発令する。
モデル群学習/更新部3はコンセプトドリフト検出部13からモデル学習をリセットする指示を受けて、教師データ5のみを用いて全ての手法のモデルを学習し、判定精度を算出する。教師データ5を用いた学習したモデルは{A1(t5),A2(t5),A3(t5),A4(t5)}と{B1(t5),B2(t5),B3(t5),B4(t5),B5(t5)}であり、判定精度はそれぞれ{0.7、0.8、0.8、0.7}と{0.7、0.5、0.6、0.8、0.3}である。
候補モデル群選択部21は、例えば平均判定精度を用いて候補モデル群を選択する。教師なしモデル群の平均判定精度は0.75、教師ありモデル群の平均判定精度は0.58なので、候補モデル群選択部21は、教師なしモデル群{A1(t5),A2(t5),A3(t5),A4(t5)}を選択して、過去モデル群保持部24に保存する。
適用モデル群選択部22は、選択された候補モデル群{A1(t5),A2(t5),A3(t5),A4(t5)}の中から、良い判定精度が得られる適用モデル(メタモデル)を生成するための適用モデル群を選択する。本例では、候補モデル群選択部21は適用モデル(メタモデル)を生成するために、適用モデル群{A1(t5),A2(t5),A3(t5)}を選択する。データ分類部5は、適用モデル群{A1(t5),A2(t5),A3(t5)}を用いた適用モデル(メタモデル)、例えば多数決定を用いてテストデータを分類する。
ここで、k近傍法を用いたモデル学習と教師データの管理について説明する。時刻t1における教師なし学習では、例えばk近傍法が用いられる。時刻t1では、モデル群学習/更新部3は教師データ1を用いてk近傍法のモデルパラメータkを学習する。例えば、時刻t1ではk近傍法のモデルパラメータkの値が1とする。時刻t1で他の候補モデルの学習後、センサデータ保持部6は正常データ1を廃棄する。
時刻t2では、モデル群学習/更新部3は教師データ2と異常データ1を用いてk近傍法のモデルパラメータkを学習する。例えば、時刻t2ではk近傍法のモデルパラメータkの値が3になったとする。時刻t2で他の候補モデルの学習後、センサデータ保持部6は正常データ2を廃棄する。時刻t3では、モデル群学習/更新部3は教師データ3と異常データ1と異常データ2を用いてk近傍法のモデルパラメータkを学習する。例えば、時刻t3ではk近傍法のモデルパラメータkの値が3となったとする。時刻t3で他の候補モデルの学習後、センサデータ保持部6は正常データ2を廃棄する。また、t3でk近傍法のモデルパラメータkの値が変わってないので、センサデータ保持部6は異常データ3も廃棄することができる。
図6は第2の実施形態による異常検知装置1の処理動作を示すフローチャートである。図6のステップS11〜S19は、図4のステップS1〜S9と同じであるため、説明を省略する。
ステップS17でコンセプトドリフトが生じていないと判定された場合、あるいはステップS19でモデル群学習/更新部3が候補モデルを初期化し、新しい教師データを用いて全てのモデルを学習し直した場合、次に、候補モデル群選択部21は更新した現在モデル群と過去モデル群の中から候補モデル群を選択し、選択した候補モデル群を過去モデル群保持部24に保存する(ステップS20)。次に、適用モデル群選択部22は、候補モデル群から判定精度の良い適用モデル群を選択し、選択した適用モデル群を用いた新しい適用モデル(メタモデル)を生成し、適用モデル保持部11に保存する(ステップS21)。
候補モデル群の選択は、自動的な処理で行ってもよいし、手動で行ってもよい。また、コンセプトドリフトが生じたか否かを可視化できるようにしてもよい。図7はユーザが各種の選択及び可視化を行うGUI画面30の一例を示す図である。図7のGUI画面30は、第1指示部31と、第2指示部32と、第3指示部33と、第4指示部34と、第1可視化部35と、第2可視化部36と、選択適用モデル群表示部37と、メタモデル情報表示部38とを有する。第1〜第4指示部31〜34は、ユーザが選択指示するものである。
第1指示部31は、候補モデル群を候補モデル群選択部21にて自動で選択するか、操作者が手動で候補モデル群を選択するか指示する。第2指示部32は、適用モデル群を適用モデル群選択部22にて自動で選択するか、操作者が手動で適用モデル群を選択するかを指示する。第3指示部33は、第1指示部31にて、操作者が手動で候補モデル群を選択すると指示された場合に、現時点の候補モデル群に含まれる候補モデルの選択と、過去の候補モデル群に含まれる候補モデルの選択とを指示する。第3指示部33には、各候補モデルを選択するか否かを指示するチェックボタンが設けられている。第4指示部34は、第1〜第3指示部31〜33による指示が終わった後に、適用モデルの学習を指示する。
第1可視化部35は、正常なセンサデータの波形を可視化する。より具体的には、第1可視化部35は、過去の代表的なセンサデータの正常波形と、現在の正常波形とを可視化する。第2可視化部36は、異常なセンサデータの波形を可視化する。より具体的には、第2可視化部36は、過去の代表的なセンサデータの異常波形と、現在の異常波形とを可視化する。選択適用モデル群表示部37は、適用モデル群を構成する各候補モデルを生成するのに用いる手法と、判定精度と、適用モデル群に基づくメタモデルの判定精度とを表示する。メタモデル情報表示部38は、メタモデルの詳細情報又はメタモデルを特定するパラメータ値を表示する。
ユーザは、第1可視化部35と第2可視化部36で可視化される正常データと異常データの波形を確認することにより、コンセプトドリフトが生じたか否かを目視で確認できる。また、ユーザは、過去の正常データと異常データのうち、代表的な正常波形と異常波形を持つ候補モデル群を選択し、新たに供給されるセンサデータを用いて、その候補モデル群を更新することで、正常波形と異常波形を更新することができる。
このように、第2の実施形態では、各時刻での教師なし学習で得られた複数の候補モデルと、教師あり学習で得られた複数の候補モデルの中から、候補モデル群を選択し、さらに候補モデル群の中から、判定精度の高い適用モデル群を選択し、適用モデル群から適用モデル(メタモデル)を生成する。これにより、判定精度の高い複数の候補モデルを考慮に入れて、最終的な適用モデルを生成でき、センサデータの異常検知をより精度よく行うことができる。
また、適用モデル群を選択する際には、現時点の候補モデルだけでなく、過去の候補モデルも選択対象に含めることができるため、適用モデル群の判定精度を向上できる。
さらに、候補モデル群や適用モデル群を選択する際には、ユーザがGUI画面で種々の細かい選択を行えるようにしたため、ユーザの意向を考慮に入れて、適用モデル群とメタモデルを選択できる。
(第3の実施形態)
第3の実施形態は、センサデータをグループ化して、グループごとに最適な手法でモデル化を行うものである。
図8は第3の実施形態による異常検知装置1の概略構成を示すブロック図である。図8の異常検知装置1は、図1の異常検知装置1と比べて、モデル群学習/更新部3の内部構成が異なっている。
図8の異常検知装置1内のモデル群学習/更新部3は、モデル生成部8、精度算出部9及びモデル更新部10に加えて、グループ化部41と、手法選択部42と、グループ評価部43とを有する。
グループ化部41は、前処理部2で前処理を行った後の複数のセンサデータを、一つ以上の特徴的なグループに分類する。より具体的には、グループ化部41は、前処理を行った後の教師データを複数の特徴的なデータグループに分類する。グループ化の手法として、クラスタリング手法、例えば、k平均法、階層型クラスタリングなどを適用できる。
手法選択部42は、グループ化部41で分類された各データグループごとに、候補モデルを生成するのに最適な手法を選択する。手法選択部42は、組合せ最適手法を用いて手法を選択してもよいし、ヒューリスティックス法や貪欲法を用いてもよい。データグループがm個、手法がn個ある場合、m×n個の組合せの候補モデルの学習を行って、最終的に最良の手法を選択することができる。手法選択部42の他に、モデルパラメータ値DB44とマッピングDB45を設けてもよい。モデルパラメータ値DB44は、手法選択部42が選択した手法に対応するモデルパラメータ値を保持する。モデルパラメータ値は、候補モデルを生成する際に使用される。マッピングDB45は、手法選択部42が選択した手法とデータグループとの対応関係を保持する。
グループ評価部43は、グループ化部41で分類された各データグループごとに、手法選択部42で選択された手法にて生成された候補モデルの評価値を算出する。必要に応じてグループ評価部43は、サブグループ化が必要なデータグループを選択してもよいし、あるいは、教師データから削除が必要なデータグループを選択してもよい。GUIにより、ユーザにデータグループを評価させてもよい。
モデル生成部8は、グループ化部41で分類された各データグループごとに、手法選択部42で選択された手法にて候補モデルを生成する。手法選択部42は、グループ化部41で分類された各データグループごとに、グループ評価部43で算出された評価値に基づいて手法を選択する。モデル更新部10は、グループ評価部43で算出された評価値に基づいて手法選択部42が選択し直した手法を用いて、候補モデルを更新する。モデル選択部4は、グループ化部41で分類された各データグループごとに、モデル更新部10で更新された候補モデルに基づいて異常検知モデルを生成する。
手法選択部42は、グループ化部41で分類された各データグループに複数の手法をそれぞれ適用して候補モデルを生成した場合の適応度が最大になるように、遺伝的アルゴリズムを利用して最適な手法を選択してもよい。
図9は正常データを3つの特徴的なデータグループG1,G2,G3に分ける例を示す図である。図9は、正常データを、波形の形状により、3つのデータグループG1〜G3に分類する例を示している。各データグループG1〜G3には任意の手法を割り当てることができる。図9では、各データグループG1〜G3のそれぞれに、手法A,B,Cを割り当てて生成した候補モデルの判定精度をグループ評価部43で評価し、最終的にデータグループG1,G2,G3にそれぞれ手法A,B,Cを割り当てた例を示している。
図10は第3の実施形態におけるグループ化部41と手法選択部42の処理動作を示すフローチャートである。まず、前処理部2はセンサデータの中から教師データを抽出し(ステップS31)、例えばデータ長さを調整する等の前処理を行う(ステップS32)。次に、グループ化部41は、クラスタリングにてセンサデータを特徴的な複数のデータグループに分類する(ステップS33)。次に、グループ評価部43は、データグループを評価する(ステップS34)。具体的には、グループ評価部43は、よいグループ化を行えたか否かを評価する(ステップS35)。よいグループ化を行えなかったと評価された場合、サブグループ化や削除が必要なデータグループを明示する等して、グループ化部41に再度のグループ化を指示する。この場合、ステップS33以降の処理が再度行われることになる。
一方、よいグループ化が行えたと、グループ評価部43が評価した場合、手法選択部42は、グループ化を行った各データグループに種々の手法を適用して、候補モデルの学習を行う(ステップS36)。グループ評価部43は、各データグループに種々の手法を適用して生成した候補モデルの評価値を計算し、評価値が高い手法を各データグループに割り当てる(ステップS37)。手法選択部42は、候補モデルを生成する際に使用されるモデルパラメータ値をモデルパラメータ値DB44に保存するとともに、手法選択部42が選択した手法とデータグループとの対応関係をマッピングDB45に保存する(ステップS38)。
ステップS38の処理が終了した後は、各データグループごとに、図3のステップS4以降の処理が行われる。
図11は第3の実施形態による異常検知装置1が行うグループ化の意義を模式的に説明する図である。図11の黒色星マーク46は従来手法で検知できる異常を示し、白抜き星マーク47は従来手法では検知できない異常を示している。従来手法では、黒色星マーク46が存在しない範囲を正常と判断するため、図11の大円48内を正常と判断するような異常検知モデルが生成される。これに対して、図11の異常検知装置1では、複数のデータグループに分けて、各データグループごとに異常検知モデルを生成するため、複数の小円49からなる複数の異常検知モデルが生成される。よって、従来は検知できなかった白抜き星マーク47も、異常として正しく検知できるようになる。
図12は遺伝的アルゴリズムを用いて正常データ(教師データ)をグループ化する例を示す図である。図12では、センサデータをN(Nは2以上の整数)個のデータグループに分類し、各データグループごとに、遺伝的アルゴリズムにて個別の手法を割り当てて、候補モデルを生成するものである。各データグループに割り当てられる手法は、例えば、1−クラスSVM、k平均法、ロジステックス回帰、k−近傍法、SVM、深層学習、ニューラルネットワークなどである。
図13は図12の各データグループに手法を割り当てるのに用いる遺伝的アルゴリズムの処理手順を説明する図である。図13では、上述した7つの手法を識別するIDを含む手法リスト(図14(a))と、N個のデータグループを識別するIDを含むセンサデータリスト(図14(b))とに基づいて、M(Mは2以上の整数)個の候補解からなる初期の候補モデル群を生成し(図14(c))、各候補モデル群を評価するための適応度を計算する(ステップS41)。図14(c)に示すように、M個の候補解はそれぞれ、各候補モデルが使用する手法の組合せが異なっている。
次に、終了条件と一致するか否かを判定する(ステップS42)。終了条件とは、適応度が所定の値(例えば、1.0)以上になった場合である。また、処理の反復回数が予め設定した回数に到達した場合を終了条件としてもよい。終了条件と一致する場合には、例えば適応度が最も高い候補モデル群を選択する(ステップS43)。
ステップS42で終了条件と一致しないと判定されると、遺伝的アルゴリズムを利用して以下のステップS44〜S46の処理を行う。ステップS44では、直前の候補解から適応度に応じて二つの候補解を選択する。図15(a)は複数の候補モデル群についての直前の候補解のリストを示す図である。ステップS44では、このリストから、候補解が高い上の二つの候補解を選択する。次に、ステップS45では、選択した候補解に交叉と突然変異を適用して新たな二つの候補解を生成する。ステップS45により、図15(b)のようなリストが得られる。ステップS46では、新たな二つの候補解の適応度を算出する。
次に、ステップS47では所定値以上の新たな候補解を生成したか否かをチェックする。所定値以上の新たな候補解を生成していない場合(ステップS47のNO)、ステップS44〜S46にて新たな候補解を生成する。所定値以上の新たな候補解を生成している場合(ステップS47のYES)、ステップS42の処理が行われる。
図8のグループ評価部43は、ユーザによる設定に基づいてデータグループを評価してもよい。図16はデータグループの評価のためのGUI画面51の一例を示す図である。図16のGUI画面51は、第1選択部52と、第1可視化部53と、第2選択部54と、第2可視化部55と、第3選択部56と、第4選択部57と、グループID入力部58とを有する。
第1選択部52は、すべてのセンサデータをグループ化するか、一部のセンサデータをグループ化するかを選択する。第1可視化部53は、第1選択部52で選択されたデータグループに供給されるセンサデータを可視化する。第2可視化部55は、グループ化部41で分類される各データグループごとに、第2選択部54で選択された手法で生成された候補モデルを可視化する。第3選択部56は、グループ化を終了するか否かを選択する。第4選択部57は、サブグループ化を行うか否かを選択する。グループID入力部58は、サブグループ化を行う場合に、サブグループ化を行うデータグループの識別番号を入力する。
図16は、手法A(k平均法)と、手法B(階層型クラスタリング)と、手法C(遺伝的アルゴリズム)の中から一つを選択する例を示しているが、選択可能な具体的な手法は図16に示したものに限定されない。
第2可視化部55は、グループ化した結果を表示する。具体的には、各データグループごとに、波形データを可視化する。データグループがサブグループ化されている場合は、サブグループの波形データを可視化する。
第3選択部56は、グループ化結果データ可視化部で可視化された波形データが良好であるとユーザが判断した場合に、ユーザによって操作される。このボタンの操作により、グループ化の処理が完了になる。
このように、第3の実施形態では、センサデータを複数のデータグループに分類して、各データグループごとに最適な手法を選択して、各データグループごとに異常検知モデルを生成する。これにより、従来は異常を検知できなった異常も正しく検知でき、異常検知精度を向上できる。
上述した実施形態で説明した異常検知装置1の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、異常検知装置1の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、異常検知装置1の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 異常検知装置、2 前処理部、3 モデル群学習/更新部、4 モデル選択部、5 データ分類部、6 センサデータ保持部、7 手法リスト保持部、8 モデル生成部、9 精度算出部、10 モデル更新部、11 適用モデル保持部、12 分類結果保持部、13 コンセプトドリフト検出部、13a 初期化判定部、13b モデル初期化部、21 候補モデル群選択部、22 適用モデル群選択部、23 適用モデル生成部、24 過去モデル群保持部、41 グループ化部、42 手法選択部、43 グループ評価部、44 モデルパラメータ値DB、45 マッピングDB

Claims (11)

  1. 時系列に入力される複数のセンサデータに基づいて、前記センサデータの異常を検知するための複数の候補モデルを複数の手法で生成するモデル生成部と、
    前記複数の候補モデルの判定精度を算出する精度算出部と、
    前記複数の候補モデルの判定精度に基づいて、前記複数の候補モデルの中から一つ以上の候補モデルを選択して異常検知モデルを生成するモデル選択部と、
    前記異常検知モデルに基づいて、新たなセンサデータが正常か異常かを判別するデータ分類部と、
    前記精度算出部で算出された前記複数の候補モデルの判定精度と、前記データ分類部にて正常か異常かが判別された前記新たなセンサデータと、に基づいて、前記複数の候補モデルを更新するモデル更新部と、を備える、異常検知装置。
  2. 前記モデル選択部は、
    前記データ分類部で正常と判別されたセンサデータに基づいて生成された前記複数の候補モデルを含む第1候補モデル群と、前記データ分類部で正常又は異常と判別されたセンサデータに基づいて生成された前記複数の候補モデルを含む第2候補モデル群と、のいずれか一方の候補モデル群を選択する候補モデル群選択部と、
    前記候補モデル群選択部にて選択された前記第1候補モデル群又は前記第2候補モデル群から、1以上の候補モデルを含む適用モデル群を選択する適用モデル群選択部と、
    前記適用モデル群に基づいて生成された適用モデルを前記異常検知モデルとする適用モデル生成部と、を有する、請求項1に記載の異常検知装置。
  3. 前記候補モデル群選択部は、前記第1候補モデル群内の前記複数の候補モデルの判定精度と、前記第2候補モデル群内の前記複数の候補モデルの判定精度と、に基づいて、前記第1候補モデル群と前記第2候補モデル群とのいずれか一方を選択し、
    前記適用モデル群選択部は、前記候補モデル群選択部にて選択された前記第1候補モデル群又は前記第2候補モデル群内の前記複数の候補モデルの判定精度に基づいて、前記適用モデル群を選択する、請求項2に記載の異常検知装置。
  4. 前記候補モデル群を前記候補モデル群選択部にて自動で選択するか、操作者が手動で前記候補モデル群を選択するか指示する第1指示部と、
    前記適用モデル群を前記適用モデル群選択部にて自動で選択するか、操作者が手動で前記適用モデル群を選択するかを指示する第2指示部と、
    前記第1指示部にて、操作者が手動で前記候補モデル群を選択すると指示された場合に、現時点の候補モデル群に含まれる候補モデルの選択と、過去の候補モデル群に含まれる候補モデルの選択とを指示する第3指示部と、
    前記第1、第2及び第3指示部による指示が終わった後に、前記適用モデルの学習を指示する第4指示部と、
    正常なセンサデータの波形を可視化する第1可視化部と、
    異常なセンサデータの波形を可視化する第2可視化部と、を備える、請求項2又は3に記載の異常検知装置。
  5. 前記複数の候補モデルの判定精度を示す数値がいずれも所定値以下に低下したか否かを判定する初期化判定部と、
    前記複数の候補モデルの判定精度を示す数値がいずれも前記所定値以下に低下したと判定された場合に、前記異常検知モデルを初期化する候補モデル初期化部と、を新たに備える、請求項1乃至4のいずれか一項に記載の異常検知装置。
  6. 前記複数のセンサデータを、一つ以上の特徴的なデータグループに分類するグループ化部と、
    前記グループ化部で分類された各データグループごとに、候補モデルを生成するのに最適な手法を選択する手法選択部と、
    前記グループ化部で分類された各データグループごとに、前記手法選択部で選択された手法にて生成された前記候補モデルの評価値を算出するグループ評価部と、を新たに備え、
    前記モデル生成部は、前記グループ化部で分類された各データグループごとに、前記手法選択部で選択された手法にて前記候補モデルを生成し、
    前記手法選択部は、前記グループ化部で分類された各データグループごとに、前記グループ評価部で算出された前記評価値に基づいて前記手法を選択し、
    前記モデル更新部は、前記グループ評価部で算出された前記評価値に基づいて前記手法選択部が選択し直した前記手法を用いて、前記候補モデルを更新し、
    前記モデル選択部は、前記グループ化部で分類された各データグループごとに、前記モデル更新部で更新された前記候補モデルに基づいて前記異常検知モデルを生成する、請求項1に記載の異常検知装置。
  7. 前記手法選択部は、前記グループ化部で分類された各データグループに前記複数の手法をそれぞれ適用して前記候補モデルを生成した場合の適応度が最大になるように、遺伝的アルゴリズムを利用して前記最適な手法を選択する、請求項6に記載の異常検知装置。
  8. 前記グループ評価部は、
    すべてのセンサデータをグループ化するか、一部のセンサデータをグループ化するかを選択する第1選択部と、
    前記第1選択部で選択されたデータグループに供給されるセンサデータを可視化する第1可視化部と、
    前記グループ化部で分類される各データグループごとに、候補モデルを生成するための手法を選択する第2選択部と、
    前記グループ化部で分類される各データグループごとに、前記第2選択部で選択された手法で生成された候補モデルを可視化する第2可視化部と、
    グループ化を終了するか否かを選択する第3選択部と、
    サブグループ化を行うか否かを選択する第4選択部と、
    サブグループ化を行う場合に、サブグループ化を行うデータグループの識別番号を入力するグループID入力部と、を備える請求項6又は7に記載の異常検知装置。
  9. 時系列に入力される前記複数のセンサデータに対する前処理を行う前処理部を備え、
    前記モデル生成部は、前記前処理を行った後の前記複数のセンサデータに基づいて、前記複数の候補モデルを生成し、
    前記データ分類部は、前記前処理部で前処理を行った後の前記複数のセンサデータが正常か異常かを判別する、請求項1乃至8のいずれか一項に記載の異常検知装置。
  10. 前記モデル更新部は、専門家の知見により正常か異常かが判別された前記新たなセンサデータと、専門家の知見に加えて前記異常検知モデルに基づいて正常か異常かが判別された前記新たなセンサデータと、の少なくとも一方に基づいて、前記複数の候補モデルを更新する、請求項1乃至9のいずれか一項に記載の異常検知装置。
  11. 時系列に入力される複数のセンサデータに基づいて、前記センサデータの異常を検知するための複数の候補モデルを複数の手法で生成し、
    前記複数の候補モデルの判定精度を算出し、
    前記複数の候補モデルの判定精度に基づいて、前記複数の候補モデルの中から一つ以上の候補モデルを選択して異常検知モデルを生成し、
    前記異常検知モデルに基づいて、新たなセンサデータが正常か異常かを判別し、
    前記算出された前記複数の候補モデルの判定精度と、正常か異常かが判別された前記新たなセンサデータと、に基づいて、前記複数の候補モデルを更新する処理をコンピュータに実行させる、異常検知方法。
JP2018194534A 2018-10-15 2018-10-15 情報処理装置、情報処理方法及びプログラム Active JP7071904B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018194534A JP7071904B2 (ja) 2018-10-15 2018-10-15 情報処理装置、情報処理方法及びプログラム
US16/564,564 US20200116522A1 (en) 2018-10-15 2019-09-09 Anomaly detection apparatus and anomaly detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018194534A JP7071904B2 (ja) 2018-10-15 2018-10-15 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020064367A true JP2020064367A (ja) 2020-04-23
JP7071904B2 JP7071904B2 (ja) 2022-05-19

Family

ID=70158967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018194534A Active JP7071904B2 (ja) 2018-10-15 2018-10-15 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20200116522A1 (ja)
JP (1) JP7071904B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021177541A (ja) * 2020-05-04 2021-11-11 アプライド マテリアルズ イスラエル リミテッド 試料の検査のためのアルゴリズムモジュールの自動選択
CN113807441A (zh) * 2021-09-17 2021-12-17 长鑫存储技术有限公司 半导体结构制备中的异常传感器监测方法及其装置
WO2022249418A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
JP7473389B2 (ja) 2020-05-14 2024-04-23 株式会社日立製作所 学習モデル生成システム、及び学習モデル生成方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200607B2 (en) * 2019-01-28 2021-12-14 Walmart Apollo, Llc Methods and apparatus for anomaly detections
US20210209486A1 (en) * 2020-01-08 2021-07-08 Intuit Inc. System and method for anomaly detection for time series data
CN112085053B (zh) * 2020-07-30 2022-08-26 山东浪潮科学研究院有限公司 一种基于最近邻方法的数据漂移判别方法及装置
JP7318612B2 (ja) * 2020-08-27 2023-08-01 横河電機株式会社 監視装置、監視方法、および監視プログラム
US20220318684A1 (en) * 2021-04-02 2022-10-06 Oracle International Corporation Sparse ensembling of unsupervised models

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236337A (ja) * 2000-02-22 2001-08-31 Fuji Electric Co Ltd ニューラルネットワークによる予測装置
US20180219889A1 (en) * 2017-01-31 2018-08-02 Splunk Inc. Anomaly detection based on relationships between multiple time series

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198695B2 (en) * 2013-03-15 2019-02-05 Sony Corporation Manifold-aware ranking kernel for information retrieval
US10410135B2 (en) * 2015-05-21 2019-09-10 Software Ag Usa, Inc. Systems and/or methods for dynamic anomaly detection in machine sensor data
US20180357539A1 (en) * 2017-06-09 2018-12-13 Korea Advanced Institute Of Science And Technology Electronic apparatus and method for re-learning trained model
US10990901B2 (en) * 2017-11-13 2021-04-27 Accenture Global Solutions Limited Training, validating, and monitoring artificial intelligence and machine learning models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236337A (ja) * 2000-02-22 2001-08-31 Fuji Electric Co Ltd ニューラルネットワークによる予測装置
US20180219889A1 (en) * 2017-01-31 2018-08-02 Splunk Inc. Anomaly detection based on relationships between multiple time series

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021177541A (ja) * 2020-05-04 2021-11-11 アプライド マテリアルズ イスラエル リミテッド 試料の検査のためのアルゴリズムモジュールの自動選択
JP7150918B2 (ja) 2020-05-04 2022-10-11 アプライド マテリアルズ イスラエル リミテッド 試料の検査のためのアルゴリズムモジュールの自動選択
JP7473389B2 (ja) 2020-05-14 2024-04-23 株式会社日立製作所 学習モデル生成システム、及び学習モデル生成方法
WO2022249418A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
CN113807441A (zh) * 2021-09-17 2021-12-17 长鑫存储技术有限公司 半导体结构制备中的异常传感器监测方法及其装置
CN113807441B (zh) * 2021-09-17 2023-10-27 长鑫存储技术有限公司 半导体结构制备中的异常传感器监测方法及其装置

Also Published As

Publication number Publication date
US20200116522A1 (en) 2020-04-16
JP7071904B2 (ja) 2022-05-19

Similar Documents

Publication Publication Date Title
JP7071904B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2018142097A (ja) 情報処理装置、情報処理方法及びプログラム
CN109241997B (zh) 一种生成训练集的方法及装置
JP6828807B2 (ja) データ解析装置、データ解析方法およびデータ解析プログラム
JP6952660B2 (ja) 更新支援装置、更新支援方法およびプログラム
US20200293018A1 (en) Time series data monitoring system and time series data monitoring method
JP2019197355A (ja) クラスタリング装置、クラスタリング方法およびプログラム
JPWO2019012653A1 (ja) 学習システム、分析システム、学習方法及び記憶媒体
JP6922983B2 (ja) 分析システム、分析方法及びプログラム
JP2005165375A (ja) 設備の診断装置及び診断方法
JP7238378B2 (ja) 異常検出装置、異常検出プログラム、及び、異常検出方法
CN110674940A (zh) 一种基于神经网络的多指标异常检测方法
JP6988995B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
US20200379016A1 (en) Waveform segmentation device and waveform segmentation method
JP4997524B2 (ja) 多変数決定木構築システム、多変数決定木構築方法および多変数決定木を構築するためのプログラム
JP7131351B2 (ja) 学習方法、学習プログラムおよび学習装置
JP6895908B2 (ja) 打音検査装置
JP2020052460A (ja) 異常検出システム、及び異常検出プログラム
Zakharova et al. Visual Classification of Data Sets with the Assistance of Experts in the Problems of Intelligent Agents Learning for Incompletely Automated Control Systems
JP4308113B2 (ja) データ分析装置及びその方法、プログラム
US11829883B2 (en) Executing a genetic algorithm on a low-power controller
JP6929260B2 (ja) 時系列特徴抽出装置、時系列特徴抽出方法及びプログラム
US20210373987A1 (en) Reinforcement learning approach to root cause analysis
JP2021131835A (ja) 画像処理システム、及び画像処理プログラム
CN113377630A (zh) 一种通用的kpi异常检测框架实现方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220509

R151 Written notification of patent or utility model registration

Ref document number: 7071904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151