JP2019179395A - 異常検知システム、サポート装置および異常検知方法 - Google Patents

異常検知システム、サポート装置および異常検知方法 Download PDF

Info

Publication number
JP2019179395A
JP2019179395A JP2018068167A JP2018068167A JP2019179395A JP 2019179395 A JP2019179395 A JP 2019179395A JP 2018068167 A JP2018068167 A JP 2018068167A JP 2018068167 A JP2018068167 A JP 2018068167A JP 2019179395 A JP2019179395 A JP 2019179395A
Authority
JP
Japan
Prior art keywords
abnormality detection
abnormality
score
monitoring target
determination
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.)
Pending
Application number
JP2018068167A
Other languages
English (en)
Inventor
真輔 川ノ上
Shinsuke Kawanokami
真輔 川ノ上
幸太 宮本
Kota Miyamoto
幸太 宮本
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018068167A priority Critical patent/JP2019179395A/ja
Priority to EP19156772.6A priority patent/EP3547057A1/en
Priority to CN201910111360.1A priority patent/CN110322583B/zh
Priority to US16/275,348 priority patent/US20190301979A1/en
Publication of JP2019179395A publication Critical patent/JP2019179395A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • G01M99/005Testing of complete machines, e.g. washing-machines or mobile phones
    • 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/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0216Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
    • 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/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • 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/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • 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/0243Electric 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 model based detection method, e.g. first-principles knowledge model
    • G05B23/0254Electric 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 model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C3/00Registering or indicating the condition or the working of machines or other apparatus, other than vehicles
    • G07C3/005Registering or indicating the condition or the working of machines or other apparatus, other than vehicles during manufacturing process

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定したいというニーズがある。【解決手段】第1異常検知部は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、算出部により算出されるスコアと異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定することで、第1判定基準に合致している場合には第1判定結果を出力し、第2判定基準に合致している場合には第2判定結果を出力する判定部とを含む。【選択図】図1

Description

本技術は、監視対象に生じ得る異常を検知するための異常検知システム、異常検知システムに接続されるサポート装置、および異常検知システムで用いられる異常検知方法に関する。
様々な生産現場において、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常を検知して、設備を停止しなければ状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。
このような予知保全を実現するために、機械や装置の状態値を収集するとともに、収集された状態値に基づいて、当該機械や装置に何らかの異常が生じているか否かを判断するような仕組みが提案されている。
例えば、特開平07−043352号公報(特許文献1)は、性状が正常なものと異常なものとに分けられた診断対象群に対して複数の診断用パラメータに関する値を測定し、この測定値に統計的処理を施し、この処理結果から有効なパラメータと予測される診断用パラメータを抽出し、抽出した有効な診断用パラメータについての測定値に基づいて判定レベルを決定し、さらに、有効パラメータの組み合わせ並びに判定レベルを目標正解率が得られるまで逐次更新する方法を開示する。
特開平07−043352号公報
実際の生産現場への予知保全の適用を考えると、特開平07−043352号公報(特許文献1)に開示されるように、診断対象群の性状を「正常」および「異常」のいずれかに区分することは難しい。現実の機械や装置は徐々に劣化していくことも多く、どの程度の劣化を「異常」とすべきかという判定基準は、対象の機械や装置の特性や重要度、および、要求される保全レベルに応じて任意にされ得るからである。
実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定したいというニーズがある。本技術の一つの目的は、このようなニーズを満たすことである。
本開示の一例に従う異常検知システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部とを含む。第1異常検知部は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、算出部により算出されるスコアと異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定することで、第1判定基準に合致している場合には第1判定結果を出力し、第2判定基準に合致している場合には第2判定結果を出力する判定部とを含む。
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
上述の開示において、第1判定基準は、第2判定基準に比較して、スコアがより高い値を示す場合に合致するように設定されていてもよい。第1判定基準に対応する第1判定結果は、第2判定基準に対応する第2判定結果に比較して、異常の度合いがより高いことを示すようにしてもよい。
この開示によれば、異常の度合いに応じて、それぞれ判定結果を得ることができるので、保全員などは、何らかの判定結果が出力された場合に、その判定結果の内容に応じた優先順位で保全作業を実施できる。
上述の開示において、異常検知システムは、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部と、状態値格納部から提供される状態値を用いて、第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部と、第2異常検知部による検知結果に基づいて、第1異常検知部に対して設定される、異常検知用パラメータおよび学習データセットを決定するモデル生成部とをさらに含んでいてもよい。
この開示によれば、第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部を用いて、オフラインで異常検知を実行するモデルを生成できる。
上述の開示において、モデル生成部は、状態値格納部から提供される状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、第1判定基準および第2判定基準として、スコアのデータ系列に対する2つのしきい値の設定を受付ける手段とを含んでいてもよい。
この開示によれば、ユーザは、スコアのデータ系列を参照しながら、適切な複数のしきい値をそれぞれ判定基準として設定できる。
上述の開示において、モデル生成部は、スコアのデータ系列に含まれる各要素に付与されたラベルと、スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含んでいてもよい。
この開示によれば、ユーザは、自身が指定した判定基準を設定した場合に、当該設定した判定基準による検知精度を客観的に把握できる。
上述の開示において、検知精度を示す指標値は、異常のラベルが付与された要素を正常と判定した確率である見逃し率と、正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、要素に付与されたラベルどおりの判定がなされた確率である正答率と、のうち少なくとも1つを含むようにしてもよい。
この開示によれば、ユーザは、検知精度を定量的に把握できる。
上述の開示において、モデル生成部は、設定されるしきい値が変更されると、検知精度を示す指標値を更新するようにしてもよい。
この開示によれば、ユーザがしきい値を試行錯誤的に変更させる毎に、そのときの検知精度を都度知ることができるため、しきい値の設定作業を効率化できる。
上述の開示において、異常検知システムは、判定部からの判定結果に応じた形態で報知動作を行う報知装置をさらに含んでいてもよい。
この開示によれば、複数の判定基準のうち、いずれの判定基準により報知されているのかを一見して把握できる。
本開示の別の一例に従えば、制御対象を制御するための制御装置に接続されるサポート装置が提供される。制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部と、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部とを含む。サポート装置は、状態値格納部から提供される状態値を用いて、第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部と、第2異常検知部による検知結果に基づいて、第1異常検知部に対して設定される、異常検知用パラメータおよび学習データセットを決定するモデル生成部とを含む。モデル生成部は、状態値格納部から提供される状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、スコアのデータ系列に対して、第1判定基準および第2判定基準の設定を受付ける手段とを含む。
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
本開示のさらに別の一例に従う異常検知方法は、制御対象を制御するための制御演算を実行するステップと、制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップとを含む。異常を検知するステップは、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップと、算出されるスコアと異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定するステップと、算出されるスコアが第1判定基準に合致している場合には第1判定結果を出力し、第2判定基準に合致している場合には第2判定結果を出力するステップとを含む。
この開示によれば、スコアに対して、複数の判定基準を適用して、それぞれの判定結果を出力できるので、実際の生産現場への予知保全の適用を柔軟に行うことができる。
本技術によれば、実際の生産現場での予知保全のニーズに応じて、複数の判定基準を柔軟に設定できる。
本実施の形態に係る異常検知システムの機能的な構成例を示す模式図である。 本実施の形態に係る異常検知システムの全体構成例を示す模式図である。 本実施の形態に係る異常検知システムを運用するための処理手順の概要を示す模式図である。 本実施の形態に係る異常検知システムを構成する制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る異常検知システムを構成するサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る異常検知システムのソフトウェア構成例を示すブロック図である。 図6に示す解析ツールに含まれる機能モジュールの概要を示すブロック図である。 本実施の形態に係る異常検知システムの異常検知処理の基本的な考え方を説明するための模式図である。 本実施の形態に係る異常検知システムの異常検知処理における処理手順を概略した模式図である。 本実施の形態に係る制御装置において実行される異常検知処理の処理手順を示すフローチャートである。 図3に示す処理手順に含まれる解析処理(ST2)の内容を示す模式図である。 図11に示される(a)〜(e)の処理の概要を視覚的に示す模式図である。 本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。 図13のステップS10においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。 図13のステップS12〜S16においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に係るサポート装置の解析ツールが実行する処理手順を示すフローチャートである。 本実施の形態に係るサポート装置の解析ツールが実行する特徴量の重要度を評価する処理を説明するための模式図である。 本実施の形態に係るサポート装置の解析ツールによる学習データセットへの仮想データを追加する処理を説明するための模式図である。 本実施の形態に係るサポート装置の解析ツールにより生成される仮想データの一例を示す模式図である。 本実施の形態に係る異常検知処理において算出される検知精度を算出するための指標値の一例を示す模式図である。 本実施の形態に係る異常検知処理におけるAUCの算出処理を説明するための模式図である。 本実施の形態に係る異常検知処理におけるしきい値の自動設定に係る処理を説明するための模式図である。 図16に示すフローチャートのステップS140に示されるしきい値の自動設定に係るより詳細な処理手順を示すフローチャートである。 検知精度を示す指標値の表示例を示す模式図である。 検知精度を示す指標値の表示例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
本実施の形態に係る異常検知機能を有する制御システムの機能的な構成例について説明する。以下の説明においては、主として、制御システムが有している異常検知機能に注目して説明するので、制御システム全体を「異常検知システム」とも称する。
図1は、本実施の形態に係る異常検知システム1の機能的な構成例を示す模式図である。図1を参照して、異常検知システム1は、制御演算部10と、異常検知部20とを含む。これらの構成は、基本的には、PLC(プログラマブルコントローラ)などの制御装置に実装される。
制御演算部10は、制御対象を制御するための制御演算を実行する。異常検知部20は、制御演算部10により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する。
本明細書において、「状態値」は、任意の制御対象(含む:監視対象)にて観測できる値を包含する用語であり、例えば、任意のセンサにより測定できる物理値や、リレーやスイッチなどのON/OFF状態、PLCがサーボドライバに与える位置、速度、トルクなどの指令値、PLCが演算に用いる変数値などを含み得る。
本明細書において、「異常検知用パラメータ」および「学習データセット」は、監視対象に生じ得る異常を検知するためのモデルの定義を含む。典型的には、異常検知用パラメータおよび学習データセットは、サポート装置において生成され、その生成された異常検知用パラメータおよび学習データセットがサポート装置から制御装置へ与えられる。異常検知用パラメータおよび学習データセットの生成に係る詳細な手順および処理については後述する。
異常検知部20は、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部22を含む。
本明細書において、「スコア」は、評価対象の1または複数の特徴量の組が、外れ値または異常値である可能性の度合いを示す値を意味する。スコアは、その値が大きいほど異常値である可能性が高いように算出される(但し、異常値である可能性が高くなるほどスコアが小さな値を示すようにしてもよい)。算出部22によるスコアの算出方法については、後に詳述する。
異常検知部20は、さらに、算出部22により算出されるスコアと異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定することで、第1判定基準に合致している場合には第1判定結果を出力し、第2判定基準に合致している場合には第2判定結果を出力する判定部24とを含む。
このように、本実施の形態に係る異常検知システムは、スコアに対して、複数の判定基準を適用して、各判定基準での異常の有無を評価できる。それぞれの判定基準を適切に設定することで、監視対象に生じる異常のレベル(例えば、劣化の進行状態など)を推定できる。このような機能を採用することで、実際の生産現場への予知保全の適用に適した判定基準を柔軟に設定できる。
<B.システムの全体構成例>
まず、本実施の形態に係る異常検知システム1の全体構成例について説明する。図2は、本実施の形態に係る異常検知システム1の全体構成例を示す模式図である。
図2を参照して、本実施の形態に係る異常検知システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続されるサポート装置200とを含む。図2には、異常検知システム1が包装機600を異常検知の対象(以下、「監視対象」とも称す。)とする構成例を示す。
制御装置100は、PLCなどの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドネットワーク2を介して制御対象に配置された1または複数のフィールドデバイスと接続されるとともに、別のフィールドネットワーク4を介して1または複数の操作表示装置400と接続される。
制御装置100は、さらに、上位ネットワーク6を介してデータベースサーバ300に接続されてもよい。制御装置100は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。なお、データベースサーバ300および操作表示装置400はオプショナルな構成であり、異常検知システム1の必須の構成ではない。
フィールドネットワーク2およびフィールドネットワーク4は、産業用ネットワークを採用することが好ましい。このような産業用ネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
制御装置100は、制御対象を制御するための制御演算を実行する制御演算部(以下、「PLCエンジン130」とも称す。)に加えて、任意の監視対象について異常の有無を監視する処理部(以下、「異常検知エンジン150」とも称す。)を有している。異常検知エンジン150に関して、制御装置100は、(1)監視対象から状態値を収集する処理、(2)収集した状態値から1または複数の特徴量を生成する処理、(3)生成した特徴量に基づいて異常検知する処理、を実行する。
制御装置100の異常検知エンジン150が何らかの異常を検知すると、その検知内容を任意の方法で報知してもよい。図2に示す構成においては、I/Oユニット16を介して接続される報知装置18を点滅および/または鳴動させることで報知する例を示す。報知方法としては、報知装置18に限らず、任意のインジケータ、音声出力装置、音声合成装置、電子メール、任意の端末への通知、などを用いることができる。
制御装置100において検知精度の高い異常検知エンジン150を実現するためには、監視対象の特性に応じた特徴量や判定基準(典型的には、しきい値)などを適切に設定する必要がある。本実施の形態に係る異常検知システム1では、統計的な手法を用いて、収集された状態値が通常とは異なる特徴を示すと判断されるときに、監視対象が異常であると検知する。
このような異常検知エンジン150を実現するために、(1)異常検知に用いる特徴量および異常であるか否かを判断するための判定基準(典型的には、しきい値)を含む異常検知用パラメータと、(2)監視対象が正常であるときに現れる1または複数の状態値および/または特徴量を含む学習データセットとが用意される。これにより、異常検知エンジン150は、PLCエンジン130により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する。
なお、以下の説明においては、判定基準の典型例として、1または複数のしきい値を用いる形態について例示するが、判定基準としては、しきい値に限られず、任意の幅を有する許容範囲や、複数の値により規定される条件であってもよい。
異常検知用パラメータおよび学習データセットの用意は、いずれの装置で実施してもよいが、図2に示す構成においては、制御装置100により収集された状態値(収集データ)がサポート装置200に与えられ、サポート装置200が後述するような解析処理を実行することで、異常検知用パラメータおよび学習データセットを決定する。
後述するように、本実施の形態に係る異常検知システム1においては、異常検知のための、1または複数のしきい値を決定できる。決定されたそれぞれのしきい値を用いて、異常の有無が監視される。例えば、2段階のしきい値(注意レベルおよび警告レベル、あるいは、cautionレベルおよびdamageレベル)を設定することが実用的である。
このように、少なくとも第1判定基準および第2判定基準を設定した場合には、第1判定基準は、第2判定基準に比較して、スコアがより高い値を示す場合に合致するように設定されていてもよい。その場合、第1判定基準に対応する第1判定結果(例えば、警告レベル)は、第2判定基準に対応する第2判定結果(注意レベル)に比較して、異常の度合いがより高いことを示すようにしてもよい。
上述したように、異常検知システム1は、報知動作を行う報知装置18を含んでいてもよい。この場合、制御装置100の異常検知エンジン150による判定結果に応じた形態で報知動作を行うようにしてもよい。すなわち、報知装置18において、注意レベルの報知形態と、警告レベルの報知形態とを異ならせてもよい。例えば、複数の報知形態が可能な報知装置18を用いる場合には、注意レベルのしきい値に到達した場合には「黄色」で点灯表示または点滅表示を行い、警告レベルのしきい値に到達した場合には「赤色」で点灯表示または点滅表示を行うようにしてもよい。
一方、サポート装置200は、決定された異常検知用パラメータおよび学習データセットを制御装置100の異常検知エンジン150に設定する。具体的には、サポート装置200から制御装置100に対して、異常検知用パラメータ(1または複数のしきい値を含む)および学習データセットが与えられる。
なお、制御装置100およびサポート装置200を一体化した構成を採用してもよく、その場合には、単一の装置において異常検知用パラメータおよび学習データセットの決定、ならびに、異常検知処理の両方が実行されることになる。
図3は、本実施の形態に係る異常検知システム1を運用するための処理手順の概要を示す模式図である。図3を参照して、まず、制御装置100において生データを収集する処理が実行される(ST1)。以下の説明において、「生データ」は、監視対象から収集された状態値の時系列データを意味する。基本的に、「生データ」は、監視対象から収集されたそのままの状態値を含むものであり、状態値から生成される特徴量などは含まれない。この生データの収集は、制御装置100に実装される時系列データベース(以下、「TSDB」とも略称する。)に状態値を順次書込むことで実現される。
収集された生データは、サポート装置200へ与えられ、解析処理が実行される(ST2)。この解析処理においては、異常検知用パラメータおよび学習データセットが生成される。以下の説明においては、監視対象に応じた異常検知用パラメータおよび学習データセットを生成する処理を「モデル生成処理」と称することもある。
生成された異常検知用パラメータおよび学習データセットは、制御装置100へ与えられる。制御装置100は、サポート装置200からの異常検知用パラメータおよび学習データセットに基づいて、異常検知の運用を開始する(ST3)。このとき、制御装置100(異常検知エンジン150)は、与えられた異常検知用パラメータに従って、監視対象から収集される状態値に基づいて特徴量を生成し、生成した特徴量に基づいて異常検知を実行する。
以上のような異常検知に係るより詳細な処理および機能などについては後述する。
再度図2を参照して、図2に示す構成における監視対象である包装機600は、所定の搬送方向に搬送される包装体604に対するシール処理および/または切断処理を実行する。包装機600は、同期して回転する一対のロータ610,620を有している。各ロータは、包装体604に接する位置での外周の接線方向が搬送方向と一致するように配置されており、ロータの表面が包装体604に接触することで、包装体604をシールおよび/または切断する。
包装機600のロータ610,620は、サーボモータ618,628によって、それぞれ回転軸612,622を中心に同期して回転駆動される。ロータ610,620の表面には、それぞれ処理機構614,624が設けられており、処理機構614は、円周方向(回転方向)に前後して配置されたヒータ615,616と、ヒータ615とヒータ616との間に配置されたカッター617とを含む。同様に、処理機構624は、円周方向に前後して配置されたヒータ625,626と、ヒータ625とヒータ626との間に配置されたカッター627とを含む。ロータ610,620は、その外周面上に配置された、包装体604を切断するためのカッター617,627を含む。
ロータ610,620が包装体604の搬送速度と同期して回転することで、ヒータ615とヒータ625とによって、包装体604の紙面右側の位置において対向する面同士(上面と下面)がシール(接着)されるとともに、ヒータ616とヒータ626とによって、包装体604の紙面左側の位置において対向する面同士(上面と下面)がシール(接着)される。これらのシール処理と並行して、カッター617とカッター627とによって包装体604が切断される。このような一連の処理が繰返されることで、被包装物605を含む包装体604に対して、シールおよび切断が繰返し実行されて、個別包装体606が順次生成される。
ロータ610,620を回転駆動するサーボモータ618,628は、ドライバ(駆動装置)の一例である、サーボドライバ619,629によって回転速度やトルクなどが制御される。制御装置100は、サーボドライバ619,629ならびにI/Oユニット16から、包装機600の状態値を収集できる。包装機600の状態値としては、(1)ロータ610,620の回転位置(位相/回転角度)、(2)ロータ610,620の速度、(3)ロータ610,620の加速度、(4)サーボモータ618,628のトルク値、(5)サーボドライバ619,629の電流値、(6)サーボドライバ619,629の電圧値、などを含む。
制御装置100は、包装機600からの状態値に基づいて、包装機600に対する異常検知を行う。異常検知を実行するにあたって、包装機600からは複数の状態値を収集可能であり、いずれの状態値を用いるべきかを事前に決定する必要がある。また、各収集される状態値(時系列データ)をそのまま用いることも可能であるし、状態値の時系列データから何らかの特徴量を抽出して用いることも可能である。
本実施の形態に係るモデル生成処理においては、監視対象から収集される1または複数の状態値のうち、いずれの状態値を用いるのか、および/または、収集される状態値のどのような特徴量を用いるのか、といった内容を異常検知用パラメータとして決定する。
<C.ハードウェア構成例>
次に、本実施の形態に係る異常検知システム1を構成する主要な装置のハードウェア構成例について説明する。
(c1:制御装置100のハードウェア構成例)
図4は、本実施の形態に係る異常検知システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図4を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124−1,124−2,…とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、PLCエンジン130および異常検知エンジン150を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
二次記憶装置108には、PLCエンジン130を実現するためのシステムプログラムに加えて、PLCエンジン130を利用して実行されるユーザプログラムが格納される。さらに、二次記憶装置108には、異常検知エンジン150を実現するためのプログラムも格納される。
上位ネットワークコントローラ110は、上位ネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124−1,124−2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ118は、フィールドネットワーク2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、フィールドネットワーク4を介した他の装置との間のデータの遣り取りを制御する。
図4には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(c2:サポート装置200のハードウェア構成例)
本実施の形態に係るサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
図5は、本実施の形態に係る異常検知システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図5を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、上位ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するようなモデル生成処理を含む各種処理を実現する。
二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム222と、制御装置100との間で異常検知機能に関するデータを遣り取りするためのPLCインターフェイスプログラム224と、本実施の形態に係るモデル生成処理を実現するための解析プログラム226と、OS228とが格納される。二次記憶装置208には、図5に示すプログラム以外の必要なプログラムが格納されてもよい。
サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置208などにインストールされる。
サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。上位ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
図5には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
<D.ソフトウェア構成例/機能構成例>
次に、本実施の形態に係る異常検知システム1を構成する主要な装置のソフトウェア構成例および機能構成例について説明する。図6は、本実施の形態に係る異常検知システム1のソフトウェア構成例を示すブロック図である。
図6を参照して、制御装置100は、主要な機能構成として、PLCエンジン130と、時系列データベース(TSDB:Time Series Data Base)140と、異常検知エンジン150とを含む。
PLCエンジン130は、ユーザプログラム132を逐次解釈して、指定された制御演算を実行する。PLCエンジン130は、フィールドから収集される状態値を変数138の形で管理しており、変数138は予め定められた周期で更新される。PLCエンジン130は、制御装置100のプロセッサ102がシステムプログラムを実行することで実現されてもよい。
本実施の形態に係る異常検知システム1を実現するにあたって、ユーザプログラム132は、特徴量生成命令134および書込命令136を含む。
特徴量生成命令134は、予め定められた状態値について、予め定められた処理に従って特徴量(例えば、所定時間に亘る平均値、最大値、最小値など)を生成する命令を含む。生成された特徴量が異常検知エンジン150における異常検知処理に用いられる。
書込命令136は、収集された状態値(変数138)を時系列データベース140に書込む命令を含む。
時系列データベース140に順次書込まれる状態値が生データ142として出力される。後述するように、時系列データベース140に格納される生データ142の一部は、サポート装置200におけるモデル生成処理においても利用される。このように、時系列データベース140は、PLCエンジン130により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部に相当する。
異常検知エンジン150は、予め与えられた学習データセット160を、監視対象を示すモデルとして用いて、異常検知用パラメータ162に従って、監視対象の異常の有無を監視する。より具体的には、異常検知エンジン150は、異常検知用パラメータ162に含まれる各しきい値と、収集される状態値から算出される異常の可能性を示す値(後述するような、スコア)とを比較する(しきい値判定)。
異常検知エンジン150において、監視対象に何らかの異常が発生したと判断されると(すなわち、スコアが予め定められたしきい値を上回る、あるいは、下回ると)、異常の発生をPLCエンジン130へ通知し(異常検知イベントの発生)、あるいは、予め定められた変数138に異常を示す値に更新する。
一方、サポート装置200は、主要な機能構成として、解析ツール230と、PLCインターフェイス232と、可視化モジュール234と、イベント管理モジュール236とを含む。
解析ツール230は、制御装置100において収集された状態値からなる生データ142を解析して、学習データセット160および異常検知用パラメータ162を決定する。解析ツール230は、典型的には、サポート装置200のプロセッサ202が解析プログラム226を実行することで実現される。
PLCインターフェイス232は、制御装置100から生データ142を取得する処理、および、決定した学習データセット160および異常検知用パラメータ162を制御装置100へ送信する処理などを担当する。PLCインターフェイス232は、典型的には、サポート装置200のプロセッサ202が解析プログラム226を実行することで実現される。
可視化モジュール234は、解析ツール230により提供される情報を画面ユーザインターフェイスとして可視化するとともに、ユーザからの操作を受付ける。
イベント管理モジュール236は、サポート装置200の内部または外部で発生するイベントに応じて、各モジュールに必要な処理を実行させる。
可視化モジュール234およびイベント管理モジュール236は、典型的には、OSに含まれる機能として提供される。
図7は、図6に示す解析ツール230に含まれる機能モジュールの概要を示すブロック図である。図7を参照して、サポート装置200の解析ツール230は、主要な機能構成として、ユーザインターフェイス240と、ファイル管理モジュール250と、画面生成モジュール260と、解析モジュール270と、解析ライブラリ280とを含む。
ユーザインターフェイス240は、ユーザからの設定を受付けるとともに、ユーザに対して各種情報を提供するための統括的な処理を実行する。具体的な実装形態として、ユーザインターフェイス240は、スクリプトエンジン242を有しており、必要な処理を記述したスクリプトを含む設定ファイル244を読込んで、設定された処理を実行する。
ファイル管理モジュール250は、指定されたファイルなどからデータを読込むデータ入力機能252と、生成したデータなどを含むファイルを生成するデータ生成機能254とを含む。
画面生成モジュール260は、入力されたデータなどに基づいて折れ線グラフを生成する折れ線グラフ生成機能262、および、ユーザの操作を受けて各種パラメータを変更するパラメータ調整機能264を含む。パラメータの変更に伴って、折れ線グラフ生成機能262は折れ線を更新することもある。折れ線グラフ生成機能262およびパラメータ調整機能264は、グラフライブラリ266を参照して必要な処理を実行する。
解析モジュール270は、解析ツール230の主要な処理を実現するモジュールであり、特徴量生成機能272と、特徴量選択機能274と、パラメータ決定機能276とを有している。
特徴量生成機能272は、生データ142に含まれる任意の状態値の時系列データから特徴量を生成する。特徴量選択機能274は、異常検知処理に用いる特徴量を選択する処理および特徴量の選択を受付ける処理を実行する。パラメータ決定機能276は、異常検知処理に必要なパラメータを決定する処理を実行する。
解析ライブラリ280は、解析モジュール270に含まれる各機能が処理を実行するためのライブラリを含む。より具体的には、解析ライブラリ280は、特徴量生成機能272が利用する特徴量生成ライブラリ282と、特徴量選択機能274が利用する特徴量選択ライブラリ284と、パラメータ決定機能276が利用する異常検知エンジン286とを含む。
解析モジュール270に含まれる特徴量生成機能272が実行する処理は、制御装置100のユーザプログラム132に記述される特徴量生成命令134(図6参照)に従って実行される処理と実質的に同一である。また、解析ライブラリ280に含まれる異常検知エンジン286は、制御装置100の異常検知エンジン150(図6参照)が実行する処理と実質的に同一である。
このように、サポート装置200の異常検知エンジン286は、制御装置100の時系列データベース140から提供される状態値(生データ142)を用いて、制御装置100の異常検知エンジン150と実質的に同一の検知処理を実行する異常検知部に相当する。
本実施の形態に係る異常検知システム1には、制御装置100とサポート装置200との両方において、同一の異常検知処理を実現できる環境が提供されている。このような環境によって、制御装置100における異常検知処理をサポート装置200において再現することができ、この結果、制御装置100で実行させるべき異常検知処理を、サポート装置200において事前に決定できる。
より具体的には、サポート装置200の解析モジュール270は、モデル生成部に相当し、解析ライブラリ280に含まれる異常検知エンジン286による検知結果に基づいて、異常検知用パラメータ162および学習データセット160を決定する。
<E.異常検知処理の概要>
次に、本実施の形態に係る異常検知システム1が採用する異常検知処理の概要について説明する。
本実施の形態においては、統計的に得られるデータ集合に対して、監視対象のデータが外れ値であると評価される場合に、異常値として検知する。
図8は、本実施の形態に係る異常検知システム1の異常検知処理の基本的な考え方を説明するための模式図である。図8を参照して、まず、監視対象から収集される1または複数の状態値(監視対象は「正常」のラベルが付与されているとする)から特徴量1,2,3,・・・,nを生成し、生成された各特徴量を次元とする超空間上の対応する位置を順次プロットする。監視対象は「正常」のラベルが付与された状態値に対応する座標値群を正常値群として予め規定する。
そして、任意のサンプリングタイミングで監視対象から収集された1または複数の状態値から対応する特徴量1,2,3,・・・,nを生成し、当該生成されたそれぞれの特徴量に対応する座標(図8の「入力値」に相当する。)を設定する。
最終的に、超空間上における正常値群に対する入力値の外れ度合いに基づいて、当該入力値に対応するサンプリングタイミングにおける監視対象の異常の有無を判断する。図8の正常値群が、監視対象を示す「モデル」に相当する。
このような外れ度合いに基づく異常検知の手法としては、各点から正常値群までの最短距離に基づいて異常を検知する手法(k近傍法)、正常値群を含むクラスタを含めて距離を評価する局所外れ値因子(LoF:local outlier factor)法、パス長さから算出されるスコアを用いるiForest(isolation forest)法などが知られている。
図9は、本実施の形態に係る異常検知システム1の異常検知処理における処理手順を概略した模式図である。図9に示す処理手順は、典型的には、制御装置100の異常検知エンジン150によって実行される。
図9を参照して、任意のサンプリングタイミングにおいて監視対象から状態値のセットを収集したとする。このサンプリングタイミングにおける監視対象の異常の有無を判断することになる。
まず、監視対象から収集可能な複数の状態値のうち、予め定められた状態値1,2,3,・・・nを用いて、特徴量1,2,3,・・・,nを生成する。
なお、同一の状態値から複数の特徴量が生成されることもある。説明の便宜上、少なくとも4個の特徴量を用いる構成を示すが、本実施の形態に係る異常検知処理においては、少なくとも1つの特徴量があればよい。
続いて、1または複数の特徴量からスコアが算出される。そして、算出されたスコアと予め定められた1または複数のしきい値(しきい値1,しきい値2,・・・)とを比較して、監視対象に異常が生じているか否か、および/または、発生している異常のレベルを判断する。
本実施の形態に係る異常検知処理においては、予め定められた期間(以下、「フレーム」とも称す。)に亘る状態値の時系列データから状態値を算出し、算出される状態値の1または複数を用いてスコアを算出する。そして、算出されるスコアと予め設定された1または複数のしきい値とを比較することで、複数のレベルでの異常の検知を実現する。
図10は、本実施の形態に係る制御装置100において実行される異常検知処理の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、制御装置100のプロセッサ102がプログラム(システムプログラムおよびユーザプログラムなど)を実行することで実現される。
図10に示す異常検知処理においては、2種類のしきい値(第1しきい値および第2しきい値(<第1しきい値))が設定されているものとする。
図10を参照して、制御装置100は、予め定められたフレームの開始条件が成立すると(ステップS50においてYES)、予め定められた1または複数の状態値の収集を開始する(ステップS52)。その後、予め定められたフレームの終了条件が成立すると(ステップS54においてYES)、制御装置100は、当該フレームの期間において収集された状態値の時系列データの各々から予め定められた種類の特徴量を算出する(ステップS56)。そして、制御装置100は、算出された1または複数の特徴量に基づいてスコアを算出する(ステップS58)。
より具体的には、スコアは、制御装置100の異常検知エンジン150により、異常検知用パラメータに従って、監視対象に関連する状態値から算出される特徴量を用いて算出される。
続いて、制御装置100は、算出したスコアが第1しきい値を上回っているか否かを判断する(ステップS60)。算出したスコアが第1しきい値を上回っていれば(ステップS60においてYESの場合)、制御装置100は、第1しきい値に対応するレベルの異常を報知する(ステップS62)。例えば、第1しきい値に対応するレベルの異常は、例えば、異常の度合いがより高いと推定される警告レベルに相当する。
算出したスコアが第1しきい値を上回っていなければ(ステップS60においてNOの場合)、制御装置100は、算出したスコアが第2しきい値を上回っているか否かを判断する(ステップS64)。算出したスコアが第2しきい値を上回っていれば(ステップS64においてYESの場合)、制御装置100は、第2しきい値に対応するレベルの異常を報知する(ステップS66)。例えば、第2しきい値に対応するレベルの異常は、例えば、異常の度合いがより高いと推定される注意レベルに相当する。
このように、制御装置100の異常検知エンジン150は、算出されるスコアと異常検知用パラメータに含まれる第1判定基準(第1しきい値)および第2判定基準(第2しきい値)を用いてそれぞれ判定することで、第1判定基準に合致している場合には第1判定結果(例えば、警告レベル)を出力し、第2判定基準に合致している場合には第2判定結果(例えば、異常レベル)を出力する判定機能を有している。
算出したスコアが第2しきい値を上回っていなければ(ステップS64においてNOの場合)、制御装置100は、監視対象が正常であると判定する(ステップS68)。そして、ステップS50以下の処理が繰返される。
以上のように、本実施の形態に係る異常検知処理においては、1または複数の異常レベルで発生の有無を検知できる。
<F.モデル生成処理の概略手順>
次に、本実施の形態に係るモデル生成処理の概略手順について説明する。本実施の形態に係るモデル生成処理は、スコアの算出に用いる特徴量の選択処理、および、当該選択によって算出されるスコアに対するしきい値の決定処理を含む。
図11は、図3に示す処理手順に含まれる解析処理(ST2)の内容を示す模式図である。図12は、図11に示される(a)〜(e)の処理の概要を視覚的に示す模式図である。
図11を参照して、本実施の形態に係るモデル生成処理に相当する解析処理(ST2)は、主として、(a)データ入力処理、(b)特徴量生成処理、(c)可視化・ラベル付け処理、(d)特徴量選択処理、(e)しきい値決定処理の計5つを含む。
図12を参照して、制御装置100にて収集された状態値の時系列データである生データ142がサポート装置200へ与えられる((a)データ入力処理)。生データ142は、サンプリングタイミング毎に1または複数の状態値を含む。図12に示す例では、生データ142は、包装機600での処理の回数を示すサイクルカウントと、状態値の一例として、軸1トルク、軸1速度、シリンダ1オンオフ状態とを含む。
サポート装置200は、入力された生データ142を用いて、1または複数の特徴量を生成する((b)特徴量生成)。図12に示す例では、特徴量は、軸1トルクに関する特徴量として、軸1トルク平均、軸1トルク標準偏差、軸1トルク最大、軸1トルク最小を含み、軸1速度に関する特徴量として、軸1速度平均、軸1速度標準偏差、軸1速度最大、軸1速度最小を含む。また、生成される特徴量には、シリンダ1動作時間を含む。
続いて、サポート装置200では、特徴量の可視化および各サンプリングタイミングの特徴量の組に対するラベル付けが実施される((c)可視化・ラベル付け処理)。特徴量の可視化は、基本的には、サポート装置200によって実行され、ラベル付けの全部または一部はユーザが実行してもよい。
より具体的な一例として、ユーザは、グラフなどの形で可視化された特徴量を参照しつつ、監視対象の状態が「正常」および「異常」のいずれであるかを、サンプリングタイミング毎に設定する。なお、現実の監視対象が異常な状態になることは少ないと考えられ、多くの場合には、「正常」のラベルが付与されることになる。
続いて、収集された状態値から生成される複数の特徴量のうち、異常検知に用いる1または複数の特徴量を選択する((d)特徴量選択)。図12に示す例では、軸1トルク平均、軸1速度平均、軸1速度最大、シリンダ1動作時間の4つが選択されている。
上述のように選択された1または複数の特徴量に基づいてスコアを算出するとともに、算出されたスコアを参照して、異常と判断するための1または複数のしきい値を決定する((e)しきい値決定)。
以上のような手順によって、学習データセット160および異常検知用パラメータ162が生成される。生成された学習データセット160および異常検知用パラメータ162は、サポート装置200から制御装置100へ与えられ、制御装置100は、サポート装置200からの設定に従って異常検知処理を実行する。
図12に示す(a)〜(e)の処理は、適宜繰返し実行することが可能であり、監視対象を示すモデルを順次更新することも可能である。
<G.モデル生成処理におけるユーザ設定操作の手順例>
次に、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例について説明する。
図13は、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。図13を参照して、まず、ユーザは、サポート装置200上で解析ツール230を起動させ(ステップS2)、サポート装置200上で実行されている解析ツール230に生データ142を読込ませる(ステップS4)。
続いて、ユーザは、読込んだ生データ142に対するデータクレンジングを実行する(ステップS6)。データクレンジングは、生データ142に含まれるモデル生成に不要なデータを削除する処理である。例えば、生データ142に含まれる時系列データのうち、分散がゼロである状態値(すなわち、何ら変動していない状態値)を削除する。データクレンジングの処理は、解析ツール230が自動的に実行してもよいし、解析ツール230が削除対象の状態値の候補を提示し、ユーザが明示的に削除対象を選択するようにしてもよい。
さらに、可視化された状態値などを参照して、ユーザが不要または不正なデータであると判断した状態値を手動で削除できるようにしてもよい。すなわち、サポート装置200には、制御装置100の時系列データベース140から提供される状態値(生データ142)のうち特徴量の生成から除外すべき状態値の選択を受付けるようにしてもよい。
その後、解析ツール230は、データクレンジング後の生データ142に含まれる状態値に基づいて、1または複数の特徴量を生成する(ステップS8)。より具体的には、解析ツール230の特徴量生成機能272が、制御装置100の時系列データベース140から提供される状態値(生データ142)から複数の特徴量を生成する。ステップS8においては、可能な限り多くの種類の特徴量が生成されるようにしてもよい(図12の(b)特徴量生成に対応)。
続いて、解析ツール230は、ユーザの選択操作に応じて特徴量の変化を可視化するとともに、ユーザは、可視化された特徴量の変化に対して正常範囲および/または異常範囲を設定する(ステップS10)(図12の(c)可視化・ラベル付け処理に対応)。
図14は、図13のステップS10においてユーザに提供されるユーザインターフェイス画面500の一例を示す模式図である。図14を参照して、ユーザインターフェイス画面500は、ステップS8において生成された特徴量の変化を可視化する。典型的には、ユーザインターフェイス画面500においては、特徴量の時間的な変化がグラフ化されており、ユーザは、このグラフを参照することで、各特徴量の優位性を評価する。さらに、ユーザは、ユーザインターフェイス画面500に表示される特徴量の変化に対して、異常範囲および正常範囲を設定する。なお、ユーザが設定する異常範囲および正常範囲は、監視対象が実際に異常になっているか、正常に動作しているかの情報に基づいて設定してもよいし、ユーザが異常として検知したい特徴量の変化を任意に設定するようにしてもよい。すなわち、ユーザインターフェイス画面500において設定される異常範囲および正常範囲は、本実施の形態に係る異常検知処理が出力する「異常」または「正常」である状態を規定するものであり、監視対象が実際に異常であるか正常であるかとは、必ずしも一致しなくてもよい。
より具体的には、ユーザインターフェイス画面500は、特徴量に対する選択受付エリア502と、グラフ表示エリア506と、ヒストグラム表示エリア512とを含む。
選択受付エリア502には、予め生成された特徴量の内容を示すリストが表示されており、ユーザは、選択受付エリア502に表示されたリスト上で任意の特徴量を選択する。
グラフ表示エリア506には、選択受付エリア502においてユーザが選択した特徴量の変化を示すグラフ508が表示される。グラフ508は、サンプリング毎の時系列データ、あるいは、監視対象の処理単位(例えば、処理ワーク単位)などで区切られてもよい。
ヒストグラム表示エリア512には、選択受付エリア502においてユーザが選択した特徴量の変化の分布を示すヒストグラムが表示される。ヒストグラム表示エリア512に表示されるヒストグラムを確認することで、選択した特徴量の主たる範囲などを知ることができる。
ユーザは、グラフ表示エリア506に表示される特徴量の変化(グラフ508)に対して、データの正常範囲および/または異常範囲を設定できる。より具体的には、ユーザインターフェイス画面500は、ラベル付与ツール514を含む。ラベル付与ツール514は、正常ラベル設定ボタン516と、異常ラベル設定ボタン517と、ラベル設定範囲指定ボタン518とを含む。
ユーザは、付与するラベルが正常または異常のいずれであるかに応じて、正常ラベル設定ボタン516または異常ラベル設定ボタン517を選択した後、ラベル設定範囲指定ボタン518を選択し、続けて、グラフ表示エリア506の対象となる領域を指定する操作(例えば、ドラッグ操作)を行う。これによって、指定された領域に対して、設定されたラベルが付与される。
図14には、異常範囲510が設定されている例を示す。異常範囲510に含まれるサンプリングタイミングの特徴量に対しては、「異常」のラベルが付与され、それ以外の特徴量に対しては、「正常」のラベルが付与される。このように、解析ツール230は、ユーザ操作に従って、生成された複数の特徴量のデータ系列のうち特定範囲に対して、「正常」および「異常」の少なくとも一方のラベルを付与する機能を有していてもよい。
なお、ヒストグラム表示エリア512に表示されるヒストグラムに対しても、データの正常範囲および/または異常範囲を設定できるようにしてもよい。
再度図13を参照して、次に、解析ツール230は、ユーザ操作に従って、異常検知用パラメータの決定処理を実行する(ステップS12)。ステップS12の処理は、図12に示す(d)特徴量選択処理および(e)しきい値決定処理に対応する。
このステップS12においては、解析ツール230の特徴量選択機能274(図7参照)によって、デフォルトのパラメータ(使用される特徴量およびしきい値など)が予め設定されている。このとき、検知精度を示す指標値も算出される。
ユーザがしきい値を変更すると(ステップS14においてYES)、検知精度を示す指標値が更新される(ステップS16)。ユーザは、表示される検知精度を示す指標値などを確認しながら、必要なパラメータ(使用される特徴量およびしきい値など)を調整する。
図15は、図13のステップS12〜S16においてユーザに提供されるユーザインターフェイス画面520の一例を示す模式図である。図15を参照して、ユーザインターフェイス画面520は、主として、異常検知処理に用いる1または複数の特徴量の選択を受付けるとともに、異常検知処理に用いるしきい値の選択を受付ける。また、ユーザインターフェイス画面520は、検知精度を示す指標値を表示する。
より具体的には、ユーザインターフェイス画面520は、特徴量に対する選択受付エリア522と、グラフ表示エリア526と、ヒストグラム表示エリア550とを含む。
ユーザインターフェイス画面520の選択受付エリア522は、生成された複数の特徴量のうち、異常検知用パラメータおよび学習データセットの決定に用いられる1または複数の特徴量の選択を受付けるユーザインターフェイスに相当する。より具体的には、選択受付エリア522には、予め生成された特徴量の内容を示すリストが表示されており、ユーザは、表示されたリスト上で任意の特徴量に対応するチェックボックス524をチェックすることで、スコアの算出に用いる特徴量を決定する。
選択受付エリア522に表示される特徴量は、解析ツール230の特徴量選択機能274(図7参照)によって事前に解析された結果に基づいて、重要度が高いと推定されるものがより上位になるようにリストされていてもよい。すなわち、選択受付エリア522には、後述するような手順で決定されたランクに従って、生成された複数の特徴量の表示順序が決定されてもよい。
また、初期の選択受付エリア522には、解析ツール230の特徴量選択機能274(図7参照)によって予め選択された特徴量が、デフォルト値として選択されていてもよい。すなわち、選択受付エリア522においては、決定されたランクに従って、生成された複数の特徴量のうち予め定められた数の特徴量が選択された状態で表示されてもよい。図15には、スコアの算出に2つの特徴量が使用されることが選択されている状態を示す。「有効変数選択」との説明が付与されている変数選択数表示542は、選択されている特徴量の数を示す。図15に示すユーザインターフェイス画面520においては、最大で10個の特徴量を用いてスコアを算出でき、そのうち2個の特徴量が選択されている例を示す。
グラフ表示エリア526には、選択受付エリア522のチェックボックス524に対するチェックによって選択された1または複数の特徴量に基づいて算出されたスコアの変化を示すグラフ528が表示される。このように、グラフ表示エリア526には、選択された1または複数の特徴量のデータ系列に基づいて算出されるスコアのデータ系列が表示される。このように、サポート装置200の解析モジュール270は、制御装置100の時系列データベース140から提供される状態値(生データ142)から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する。
グラフ528を構成する各要素は、ラベルに応じた形状を用いて表現されている。図15に示す例では、「正常」のラベルが付与された要素570は「〇」で表現され、「異常」のラベルが付与された要素572は「×」で表現されている。
グラフ表示エリア526に関連付けて、しきい値設定スライダ534が配置されている。しきい値設定スライダ534に対するユーザ操作に連動して、設定されている第1しきい値が更新されるとともに、グラフ表示エリア526に表示される第1しきい値表示ライン556の位置が変動する。このように、しきい値設定スライダ534は、グラフ表示エリア526に表示されたスコアに対するしきい値の設定を受付ける。
しきい値設定スライダ534により設定される第1しきい値の数値は、数値表示532に示される。しきい値設定スライダ534に対するユーザ操作に連動して、数値表示532の値も更新される。また、第1しきい値のデフォルト値として、解析ツール230の特徴量選択機能274およびパラメータ決定機能276(図7参照)によって予め算出される初期値が設定されてもよい。
グラフ表示エリア526には、第1しきい値を示す第1しきい値表示ライン556に加えて、第2しきい値を示す第2しきい値表示ライン558も表示される。このように、図15に示すユーザインターフェイス画面520においては、2つのしきい値の設定が可能になっている。
ユーザインターフェイス画面520においては、より具体的には、第2しきい値は、「警告の差」との説明が付与されているしきい値差設定ボックス540に設定される数値に基づいて決定される。すなわち、第1しきい値からしきい値差設定ボックス540に設定される数値が差し引かれた値が第2しきい値として算出される。グラフ表示エリア526における、第1しきい値表示ライン556と第2しきい値表示ライン558との距離差560が、しきい値差設定ボックス540に設定される数値に相当する。
なお、第1しきい値および第2しきい値に対して、それぞれスライダを配置してもよく、さらに、第1しきい値および第2しきい値をそれぞれ設定するための任意の方法を採用できる。
このように、サポート装置200の解析モジュール270は、第1判定基準および第2判定基準として、スコアのデータ系列に対する2つのしきい値の設定を受付ける。
ヒストグラム表示エリア550には、グラフ表示エリア526に表示されるスコアの変化を示すグラフ528に含まれる要素の分布を示すヒストグラムが表示される。ヒストグラム表示エリア550においては、「正常」のラベルが付与されている状態値に対応するスコアについてのヒストグラム552と、「異常」のラベルが付与されている状態値に対応するスコアについてのヒストグラム554とが異なる表示態様で示されている。ヒストグラム表示エリア550に表示されるヒストグラムを確認することで、選択した各ラベルの付与されたスコアの分布状態や分布の差を確認できる。
図15に示すユーザインターフェイス画面520には、さらに、検知精度を示す1または複数の指標値が表示される。具体的な一例として、ユーザインターフェイス画面520には、正答率を示す数値表示530と、見逃し率を示す数値表示544と、見過ぎ率を示す数値表示546と、異常確率を示す数値表示548とが配置されている。各数値表示が示す指標値の意味については、後述する。
なお、検知精度を示す指標値としては、図15に示されるものに限られず、ユーザが検知精度を確認できる指標値であれば、任意の指標値を表示するようにしてもよい。
ユーザインターフェイス画面520のリセットボタン536が選択されると、解析ツール230の特徴量選択機能274によって予め選択された特徴量が選択されている状態(デフォルト状態)にリセットされる。
ユーザインターフェイス画面520の学習データ生成ボタン538が選択されると、当該時点において設定されている内容に従って、学習データセット160および異常検知用パラメータ162が生成される。
再度図13を参照して、ユーザは、図14に示すユーザインターフェイス画面500、および、図15に示すユーザインターフェイス画面520を適宜操作して、ユーザインターフェイス画面520の学習データ生成ボタン538が選択すると(ステップS18においてYES)、解析ツール230は、監視対象を示すモデル(学習データセット160および異常検知用パラメータ162)を生成する(ステップS20)。すなわち、解析ツール230は、ユーザが調整したパラメータに基づいて、監視対象についてのモデルを生成する。
そして、サポート装置200から制御装置100に対して、ステップS20において生成されたモデル(学習データセット160および異常検知用パラメータ162)が送信され(ステップS22)、実運用が開始される(ステップS24)。
なお、実運用開始後に、実運用における検知率などを定期的に確認し、検知率が悪い(監視対象が正常な状態であるのに異常と検知してしまった頻度が相対的に多い、および/または、正常と検知したのに監視対象が正常な状態ではなかった頻度が相対的に多い)場合には、制御装置100において収集された状態値を用いて、再度モデル生成を行ってもよい。
<H.解析ツール230の機能および処理>
次に、本実施の形態に係るサポート装置200に含まれる解析ツール230が提供する機能および処理について説明する。以下に説明する機能および処理は、図14および図15に示されるユーザインターフェイス画面が表示される前段階で実行される。すなわち、解析ツール230による処理結果を用いて、図14および図15に示されるユーザインターフェイス画面が提供される。
図16は、本実施の形態に係るサポート装置200の解析ツール230が実行する処理手順を示すフローチャートである。図16のフローチャートに含まれる処理は、解析ツール230の特徴量生成機能272、特徴量選択機能274およびパラメータ決定機能276(図7参照)によって実行される。図16には、各機能が担当するステップを示す。
図16を参照して、サポート装置200は、入力された生データ142に基づいて特徴量を生成する(ステップS100)。この特徴量の生成は、解析ツール230の特徴量生成機能272を用いて実現される。通常、複数種類の特徴量が生成される。
続いて、サポート装置200は、ステップS102〜S106,S124およびS126の処理を実行する。これらの処理は、解析ツール230の特徴量選択機能274を用いて実現される。図16のステップS102〜S106,S124およびS126の処理は、特徴量選択機能274による変数重要度の推定機能に相当する。
具体的には、サポート装置200は、生成された特徴量は「正常」のラベルが付与されたもののみであるか否かを判断する(ステップS102)。
生成された特徴量が「正常」のラベルが付与されたもののみであれば(ステップS102においてYES)、ステップS124およびS126の処理が実行される。これに対して、生成された特徴量が、「正常」のラベルが付与されたもの、および「異常」のラベルが付与されたもの、を含めば(ステップS102においてNO)、ステップS102〜S106の処理が実行される。
ステップS102において、サポート装置200は、ステップS100において生成された各特徴量の重要度を複数の手法でそれぞれ算出する(ステップS104)。そして、サポート装置200は、各特徴量について、それぞれの手法で算出された重要度を統合してランク付けする(ステップS106)。
ステップS124において、サポート装置200は、ステップS100において生成された各特徴量の重要度を複数の手法でそれぞれ算出する(ステップS124)。そして、サポート装置200は、各特徴量について、それぞれの手法で算出された重要度を統合してランク付けする(ステップS126)。
ステップS106およびステップS126においては、いずれも特徴量の重要度が算出されるが、「異常」のラベルが付与された特徴量が存在しないステップS126においては、算出できる重要度に制限がある。そのため、ステップS106およびS126においては、状況においては、生成された特徴量の各々について、一つの手法でのみ重要度を算出するようにしてもよい。
以上のような処理によって、ステップS100において生成された複数の特徴量について、重要度の高い順にランク付けされる。
上述したステップS102〜S106,S124およびS126の処理は、解析ツール230の特徴量選択機能274が担当する。より具体的には、ステップS104およびS124において、解析ツール230の特徴量選択機能274は、生成された複数の特徴量の各々について、複数の手法に従って、それぞれ異常検知に有効な度合いを示す重要度をそれぞれ算出する。そして、ステップS106において、解析ツール230の特徴量選択機能274は、生成された複数の特徴量の各々について、複数の手法に従ってそれぞれ算出された複数の重要度を統合して、生成された複数の特徴量間の重要度のランクを決定する。これらの詳細については、後述する。
続いて、サポート装置200は、ステップS108〜S118またはステップS128,S130の処理を実行する。これらの処理は、解析ツール230のパラメータ決定機能276を用いて実現される。図16のステップS108〜S118(ステップS110を除く)またはステップS128,S130の処理は、特徴量選択機能274による異常検知適用(スコア算出)の機能に相当し、図16のステップS110の処理は、特徴量選択機能274による仮想データ生成の機能に相当する。
まず、ステップS106の実行後、サポート装置200は、ランクの高い順に特徴量をスコアの算出対象に追加する(ステップS108)。すなわち、重要度の高い特徴量が優先的に選択されてもよい。
ここで、サポート装置200は、学習データセットに仮想データを追加する(ステップS110)。ステップS110の学習データセットに仮想データを追加する処理の詳細については、後述する。
続いて、サポート装置200は、仮想データが追加された学習データセットを用いて、ステップS108において追加された特徴量を含む1または複数の特徴量に基づいて、スコアを算出する(ステップS112)。そして、サポート装置200は、算出したスコアに基づいて、異常の検知精度を算出する(ステップS114)。サポート装置200は、ステップS114において算出した異常の検知精度が前回算出された異常の検知精度より向上しているか否かを判断する(ステップS116)。前回算出された異常の検知精度より向上していれば(ステップS116においてYES)、今回の処理において追加した特徴量を異常検知に用いる特徴量として登録する(ステップS118)。一方、前回算出された異常の検知精度より向上していなければ(ステップS116においてNO)、今回の処理において追加した特徴量は、異常検知に用いる特徴量としては登録されない。
ステップS110〜S118の処理は、異常検知に用いる特徴量として登録された特徴量の数が予め定められた数に到達するまで繰返される。
一方、ステップS128の実行後、サポート装置200は、ランクの高い順に予め定められた数の特徴量を、異常検知に用いる特徴量として登録する(ステップS128)。そして、サポート装置200は、ステップS128において登録された、予め定められた数の特徴量に基づいてスコアを算出する(ステップS130)。
最終的に、サポート装置200は、いずれの場合であっても、算出されたスコアに基づいて、しきい値を自動設定する(ステップS140)。そして、処理は終了する。
上述のステップS108およびS128において、解析ツール230のパラメータ決定機能276は、生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する。
ステップS110において、解析ツール230の特徴量選択機能274(仮想データ生成機能)は、選択された組合せの特徴量のデータ系列のうち少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する。なお、追加学習データセットの生成に加えて、解析ツール230の特徴量選択機能274(仮想データ生成機能)は、評価データセットに統計的に生成された仮想の特徴量のデータ系列を追加して追加評価データセットを生成してもよい。
ここで、「評価データセット」は、学習データセットを用いて生成したモデルの異常検知能力、検知精度、識別能力などの評価に用いられるデータ系列を意味する。そのため、「評価データセット」は、予めラベルが付与されているデータ系列が好ましい。
ステップS112,S114において、解析ツール230のパラメータ決定機能276は、ステップS110において生成された追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価する。そして、ステップS116,S118において、解析ツール230のパラメータ決定機能276は、任意の特徴量が追加で選択されることで、検知精度が向上すると、当該任意の特徴量をモデルとして登録する。
<I.特徴量の重要度の算出およびランク付け>
次に、図16に示す解析ツール230の特徴量選択機能274が担当する処理(ステップS104,S106およびステップS124,S126)の詳細について説明する。
図17は、本実施の形態に係るサポート装置200の解析ツール230が実行する特徴量の重要度を評価する処理を説明するための模式図である。図17を参照して、解析ツール230の特徴量選択機能274は、各特徴量の重要度を複数の手法でそれぞれ算出する。図17には、一例として、尖度、ロジスティック回帰、決定木の3つの手法でそれぞれ評価する例を示す。
評価値コラム702に格納される尖度は、対象の特徴量700のデータ系列についての頻度分布の鋭さを評価した値である。尖度が大きいほど、頻度分布のピークが鋭く、分布の裾が広いことを示す。異常検知に用いる統計量としては、尖度が大きいほど有益、すなわち重要であるとみなすことができる。
また、対象の特徴量のデータ系列についての頻度分布の標準偏差を評価値として用いてもよい。この場合、標準偏差が大きいほど、特徴量に変化があり異常検知の能力が高い(すなわち、重要である)と判断できる。
評価値コラム704に格納されるロジスティック回帰は、任意のロジスティック関数を対象の特徴量のデータ系列に適用して、尤度を最大化するロジスティック関数を規定するパラメータを探索する。最終的に探索されたパラメータに対応する尤度を重要度とみなす。すなわち、任意のロジスティック関数でより精度の高い推定ができる特徴量ほど、優先度が高いとみなすことができる。
典型的には、ロジスティック回帰は、特徴量毎にパラメータの探索および尤度の算出を行うことができる。
評価値コラム706に格納される決定木は、対象の特徴量のデータ系列に対して分類木を適用し、その分類能力を重要度として用いるものである。決定木のアルゴリズムとしては、CART、C4.5,ID3などが知られており、いずれのアルゴリズムを用いてもよい。
このように、典型例としては、重要度は、少なくとも、特徴量のデータ系列についての尖度、特徴量のデータ系列に対してロジスティック回帰の実行によって得られる尤度、決定木のアルゴリズムに従って算出される重要度を含む。
以上のように、各特徴量について重要度を示す値を複数の手法でそれぞれ算出し、それぞれの結果を統合した結果が評価値コラム708に格納される。評価値コラム708に格納される各評価値に基づいて、それぞれの特徴量に対するランク付けがなされる(ランクコラム710)。
図16のステップS106およびS126においては、図17の評価値コラム708に格納されるそれぞれの評価値に基づいて、特徴量に対するランク付けが実施される。
図16のステップS102においては、「正常」および「異常」のラベルが付与された状態値が得られるので、図17に示す、尖度、ロジスティック回帰、決定木の各手法を適用できる。一方、図16のステップS122においては、「正常」のラベルが付与された状態値のみが存在する状態であるので、図17に示すロジスティック回帰および決定木の適用は難しく、尖度および標準偏差の手法が適用される。
以上のような処理手順によって決定される各特徴量についてのランクに基づいて、図16に示すステップS108以下の処理、および/または、ステップS128以下の処理が実行される。
上述したように、本実施の形態に係る異常検知システム1においては、複数の手法を用いて各特徴量の重要度をそれぞれ算出した上で、複数の手法におけるそれぞれの特徴量を統合して、各特徴量を重要度の観点からランク付けする。
<J.学習データセットへの仮想データの追加>
次に、図16に示す解析ツール230のパラメータ決定機能276が担当する処理(ステップS110)の詳細について説明する。
学習データセットに含まれるデータの分布が歪んでいる(あるいは、偏っている)場合には、異常検知の精度を高めることが難しい。このような場合において、学習データセットに仮想データを追加することで、異常検知の精度を高める。
図18は、本実施の形態に係るサポート装置200の解析ツール230による学習データセットへの仮想データを追加する処理を説明するための模式図である。図18(A)には、オリジナルの学習データセットの一例を示し、図18(B)には、仮想データを追加した学習データセットの一例を示す。
図18(A)には、オリジナルの学習データ800を用いて生成したモデルに対して、評価データセット802を適用した場合に算出されるスコア804を示す。
評価データセット802は、ラベル付けされた特徴量のデータセットの一部を学習データ800として採用し、残りを評価データセット802として採用することで作成してもよい。すなわち、モデル生成の際に選択された組合せの特徴量のデータ系列のうち一部が学習データセットとして用いられるとともに、当該データ系列の残りが評価データセット802として用いられてもよい。
図18(A)に示すスコア804の変化が示すように、学習データ800のデータの分布が歪んでいる場合には、異常検知の精度を高めることが難しい。また、図18(A)に示すように、異常領域806,808において、スコア804の値に変化がなく、分解能を得られない。
図18(B)には、オリジナルの学習データ810にノイズ811を仮想データとして追加した学習データセットを用いて生成したモデルに対して、評価データセット812を適用した場合に算出されるスコア814を示す。
図18(B)に示すスコア814によれば、正常点(すなわち、学習データ)から離れるほど、より高いスコアを示すようになっており、学習データセットに含まれるデータの分布が歪んでいる(あるいは、偏っている)場合であっても、十分な異常検知できることが分かる。また、図18(A)と比較して、異常領域816,818においてスコア814の値に変化が大きく、分解能が増加していることが分かる。
このように、スコア804としては、学習データセットに仮想データを追加した追加学習データセットからなるモデルに評価データセット812を適用したときの誤検知の確率に相当する。
なお、評価データセット812についても、同様に仮想データを追加することができる。この場合には、評価データセット812に仮想データを追加した追加評価データセットを用いてスコア804(誤検知の確率)が算出されることになる。
次に、学習データ810に追加する仮想データの生成方法の一例について説明する。
仮想データとしては、ある範囲の一様分布から生成するノイズなどを用いることが好ましい。このような仮想データを生成する手順としては、以下のようになる。
(1)追加すべき仮想データの分布範囲を決定する(例えば、生成された特徴量のデータセットの最小値から最大値までの範囲に対して、最小値から任意のオフセットを減じた下限値から最大値に任意のオフセットを加えた上限値までの範囲などに設定できる。)。
(2)追加すべき仮想データのデータ点数Nを決定する(例えば、N=学習データセットに含まれるデータ点数×5%など。)。
(3)追加すべき仮想データの1次元(1つの特徴量)あたりのデータ点数Mを決定する(すなわち、追加すべきデータ点数N=データ点数M^次元数となる。)。
(4)追加すべき仮想データの刻み幅Lを算出する((1)で決定した仮想データの分布範囲をデータ点数Mで割った幅に相当する。)。
(5)最終的に、1次元(1つの特徴量)あたりの仮想データを生成する((1)で決定した仮想データの分布範囲で刻み幅L毎にデータを生成する。)。
(6)各次元の仮想データ(1次元あたりN個)の順列組合せにより、M個の全次元の要素を含む仮想データを生成する。
図19は、本実施の形態に係るサポート装置200の解析ツール230により生成される仮想データの一例を示す模式図である。図19には、2次元の仮想データを生成する例を示す。各次元(特徴量1および特徴量2)は、それぞれ3つの要素を有している。すなわち、特徴量1=[10,20,30]、特徴量2=[−20,0,20]である場合、組合せにより生成された仮想データは、図19に示すようになる。
このように生成された仮想データは、生データから生成された特徴量のデータセットに対して付加されることで、学習データセットおよび評価データセットの両方または一部に仮想データを追加できる。なお、追加すべき仮想データの分布範囲、および、追加すべき仮想データの数を適宜変更できるようにしてもよい。
以上のような処理手順によって、仮想データが生成される。
<K.特徴量の重要度の算出およびランク付け>
次に、図16に示す解析ツール230のパラメータ決定機能276が担当する処理(ステップS112,S114,S130)の詳細について説明する。
本実施の形態に係る異常検知システム1においては、例えば、iForest法を用いた異常検知を実施する。iForest法においては、モデル生成段階においては、学習データセットをランダムに設定されるパーティションで分割し、各パーティションをノードとする木構造を構成する。異常検知は、入力されたデータが予め作成されたモデルのルートノードまでの深さ(パス長さ、あるいは、経路上のパーティションの数)に基づいて、異常であるか否かを判断する。
iForest法を用いる場合には、ステップS112およびS130において算出されるスコアは、学習データセットをパーティションに分割した場合のパス長さに基づいて算出できる。さらに、ステップS114における異常の検知精度の算出方法としては、False Positive軸とTrue Positive軸とにより規定されるROC(Receiver Operating Characteristic)曲線に基づいて、AUC(Under Area the Curve)を算出することで実現できる。
AUCは、ROC曲線の下側面積を意味し、判別アルゴリズムの性能の良さを表す指標である。AUCは、0から1までの値をとり、完全な分類が可能なときの面積は1となる。
図20は、本実施の形態に係る異常検知処理において算出される検知精度を算出するための指標値の一例を示す模式図である。図20を参照して、真陽性(TP:True Positive)は、「異常」のラベルが付与されている状態値に対して、「異常」と判断したサンプル数を意味する。偽陽性(FP:False Positive)は、「正常」のラベルが付与されている状態値に対して、「異常」と判断(第1種の過誤)したサンプル数を意味する。真陰性(TN:True Negative)は、「正常」のラベルが付与されている状態値に対して、「正常」と判断したサンプル数を意味する。偽陰性(FN:False Negative)は、「異常」のラベルが付与されている状態値に対して、「正常」と判断(第2種の過誤)したサンプル数を意味する。
ROC曲線は、横軸が偽陽性(FP)の割合であるFPR(False Positive Rate)(False Positive軸と)であり、縦軸が真陽性(TP)の割合であるTPR(True Positive Rate)(True Positive軸)である座標系において、しきい値を順次変化させた結果をプロットしたものである。ここで、FPR=FP/(FP+TN)、TPR=TP/(TP+FN)である。
図21は、本実施の形態に係る異常検知処理におけるAUCの算出処理を説明するための模式図である。図21に示すROC曲線において、ステップ的に変化している各部が設定された各しきい値に対応する。ROC曲線より下側の領域の面積がAUCに相当する。しきい値をより細かく変化させることで、検知精度をより正確に算出できる。
上述の図16のステップS114に示される異常の検知精度の算出処理においては、例えば、ステップS112において算出されるサイクル毎のスコアの集合を、AUCを算出するためのしきい値リストとして採用することができる。しきい値リストに含まれるしきい値毎に、真陽性(TP)、偽陽性(FP)、真陰性(TN)、偽陰性(FN)をそれぞれ算出するとともに、対応するTPRおよびFPRを算出する。そして、しきい値毎に算出されるTPRとFPRとの組をプロットすることでROC曲線を決定し、決定されたROC曲線からAUC(ROC曲線の下側の面積)を算出する。
このように、サポート装置200の解析モジュール270は、スコアのデータ系列に含まれる各要素に付与されたラベルと、スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する。
より具体的には、学習データセットに含まれる、「正常」のラベルが付与されているデータと、「異常」のラベルが付与されているデータとを用いて、誤検知(「正常」のラベルが付与されているデータを「異常」と判断する、あるいは、「異常」のラベルが付与されているデータを「正常」と判断する)する確率を評価する。
<L.しきい値の自動設定および検知精度を示す指標値の算出>
次に、図16に示す解析ツール230のパラメータ決定機能276が担当する処理(ステップS140)の詳細について説明する。
先に、検知精度を示す指標値の一例について説明する。図15に示すユーザインターフェイス画面520に示される、見逃し率(FNR)、見過ぎ率(FPR)、および、正答率(Accuracy)の算出には、真陽性(TP)、偽陽性(FP)、真陰性(TN)、および、偽陰性(FN)が用いられる。
見逃し率(図15の見逃し率を示す数値表示544に対応)は、異常のラベルが付与されたサンプル数のうち、誤って正常と判定されたサンプルの確率を示す。すなわち、見逃し率は、異常のラベルが付与された要素を正常と判定した確率を意味する。具体的には、以下のような式で示される。
見逃し率(FNR)=FN/(TP+FN)=1−感度(Sensitivity)
見過ぎ率(図15の見過ぎ率を示す数値表示546に対応)は、正常のラベルが付与されたサンプル数のうち、誤って異常と判定されたサンプルの確率を示す。すなわち、見過ぎ率は、正常のラベルが付与された要素を異常と判定した確率を意味する。具体的には、以下のような式で示される。
見過ぎ率(FPR)=FP/(FP+TN)=1−特異度(Specificity)
正答率は、全サンプルのうち、正常のラベルが付与されたサンプルを正常と判断し、異常のラベルが付与されたサンプルを異常と判断した確率を示す。すなわち、正答率は、要素に付与されたラベルどおりの判定がなされた確率を意味する。具体的には、以下のような式で示される。
正答率=(TP+TN)/総サンプル数
異常確率(図15の異常確率を示す数値表示548に対応)は、サンプルの分布に占める、「異常」と判断される領域(=しきい値を超える領域)の割合を示す。
なお、検知精度を示す指標値としては、上述した、見逃し率、見過ぎ率、正答率、異常確率のすべてを採用する必要はなく、これらのうち少なくとも1つを含んでいればよい。
次に、しきい値の自動設定処理について説明する。
図22は、本実施の形態に係る異常検知処理におけるしきい値の自動設定に係る処理を説明するための模式図である。図22を参照して、サイクル毎の1または複数の特徴量900、ならびに、対応するラベル902に対して、スコア904がそれぞれ算出される。スコア904の算出に用いられる特徴量900は、先の処理によって決定されている。スコア904は、各サイクルの特徴量900を異常検知エンジン286(図7)に与えることで算出される。
各サイクルについて算出されたスコア904に対して、複数のしきい値を用いて評価が繰返し実施される。図22には、あるしきい値が設定されたときに出力される、判定結果906および評価908の例を示す。
判定結果906は、各サイクルについて算出されたスコア904が設定されているしきい値を超えているか否かに基づいて、「正常」および「異常」のいずれであるかを判断した結果である。
さらに、各サイクルについて出力された判定結果906と、対応するラベル902とを比較して、評価908が決定される。評価908は、ラベル902と判定結果906との結果に基づいて決定される、真陽性(TP)、偽陽性(FP)、真陰性(TN)、偽陰性(FN)のいずれかを示す。
あるしきい値について出力された評価908の内容に基づいて、正答率、見逃し率、見過ぎ率がそれぞれ算出できる。判定結果906および評価908は、しきい値が変更される毎に更新されるため、検知精度を示す指標値(正答率、見逃し率、見過ぎ率)が好ましい状態になるしきい値が再帰的に決定される。
検知精度を示す指標値が好ましい状態とは、典型的には、正答率が最大値を示し、見逃し率および見過ぎ率がいずれも最小値を示す状態である。
なお、異常確率は、各サイクルについて算出されたスコア904をBox−Cox変換(すなわち、データの分布を正規分布に近付ける変換)して、ユーザが指定する任意の統計的な指標(例えば、3σや5σなど)をしきい値として用いることで、算出してもよい。
以上のような処理によって、初期のしきい値が自動的に設定される。さらに、ユーザが初期のしきい値を変更した場合には、検知精度を示す指標値が再度算出されて、ユーザに提示される。ユーザは、しきい値に応じて変化する検知精度を示す指標値を確認しながら、最適なしきい値を設定する。上述したように、本実施の形態に係る異常検知システム1においては、複数のしきい値(例えば、第1しきい値および第2しきい値など)の設定が可能である。ユーザが複数のしきい値を設定した場合には、その設定されたそれぞれのしきい値が異常検知用パラメータの一部として出力される。
図23は、図16に示すフローチャートのステップS140に示されるしきい値の自動設定に係るより詳細な処理手順を示すフローチャートである。図23を参照して、サポート装置200は、しきい値を任意の初期値に設定し(ステップS1401)、図16のS112またはS130において算出されたサイクル毎のスコアに対して、現在設定されているしきい値を用いて異常検知処理を実行することで、各サイクルについての判定結果を出力する(ステップS1402)。続いて、サポート装置200は、各サイクルに付与されたラベルと、ステップS1402において出力された各サイクルについての判定結果とに基づいて、評価(真陽性(TP)、偽陽性(FP)、真陰性(TN)、偽陰性(FN)のいずれか)を出力する(ステップS1403)。そして、サポート装置200は、検知精度を示す指標値(正答率、見逃し率、見過ぎ率)を算出する(ステップS1404)。
続いて、サポート装置200は、ステップS1404において算出された検知精度を示す指標値(正答率、見逃し率、見過ぎ率)が収束条件を満たしているか否かを判断する(ステップS1405)。収束条件は、検知精度を示す指標値が好ましい状態であると判断するための条件である。
収束条件が満たされていなければ(ステップS1405においてNO)、サポート装置200は、現在のしきい値を新たなしきい値に変更し(ステップS1406)、ステップS1402以下の処理を繰返す。
収束条件が満たされていれば(ステップS1405においてYES)、サポート装置200は、現在のしきい値を初期値として決定する(ステップS1407)。この決定されたしきい値の初期値は、図15に示されるユーザインターフェイス画面520に反映される。
その後、サポート装置200は、しきい値を変更するためのユーザ操作が与えられたか否かを判断する(ステップS1408)。しきい値を変更するためのユーザ操作が与えられると(ステップS1408においてYES)、サポート装置200は、図16のS112またはS130において算出されたサイクル毎のスコアに対して、変更後のしきい値を用いて異常検知処理を実行することで、各サイクルについての判定結果を出力する(ステップS1409)。
続いて、サポート装置200は、各サイクルに付与されたラベルと、ステップS1409において出力された各サイクルについての判定結果とに基づいて、評価(真陽性(TP)、偽陽性(FP)、真陰性(TN)、偽陰性(FN)のいずれか)を出力する(ステップS1410)。そして、サポート装置200は、検知精度を示す指標値(正答率、見逃し率、見過ぎ率)を算出する(ステップS1411)。算出された検知精度を示す指標値は、図15に示されるユーザインターフェイス画面520に反映される。
このように、サポート装置200は、設定されるしきい値が変更されると、検知精度を示す指標値も更新する。
続いて、サポート装置200は、図15に示されるユーザインターフェイス画面520の学習データ生成ボタン538が選択されるまで(ステップS1412においてYES)、ステップS1408以下の処理を繰返す。
以上のような処理手順によって、しきい値が自動設定されるとともに、検知精度を示す指標値(正答率、見逃し率、見過ぎ率)が適宜算出される。
<M.検知精度を示す指標値の表示例>
次に、上述したような検知精度を示す指標値の表示例について説明する。
再度図15を参照して、検知精度を示す指標値の一例として、正答率を示す数値表示530と、見逃し率を示す数値表示544と、見過ぎ率を示す数値表示546と、異常確率を示す数値表示548とが配置されている。さらに、見逃しおよび見過ぎが発生している要素を視覚化してもよい。
図24および図25は、検知精度を示す指標値の表示例を示す模式図である。図24および図25に示すユーザインターフェイス画面520においては、見逃し率を示す数値表示544と、見過ぎ率を示す数値表示546と、異常確率を示す数値表示548とがユーザ選択可能になっている。ユーザがいずれかの数値表示を選択すると、選択した指標に対応する要素が強調表示される。
図24に示されるユーザインターフェイス画面520においては、見逃し率を示す数値表示544が選択されており、見逃しが発生している要素580が他の要素とは異なる態様で、強調して表示されている。見逃しが発生している要素580は、正常のラベルが付与されているものの、異常と判定された要素である。すなわち、正常のラベルが付与された要素のうち、第1しきい値表示ライン556の下側に位置する要素が強調表示されている。
図25に示されるユーザインターフェイス画面520においては、見過ぎ率を示す数値表示546が選択されており、見過ぎが発生している要素582が他の要素とは異なる態様で、強調して表示されている。見過ぎが発生している要素582は、異常のラベルが付与されているものの、正常と判定された要素である。すなわち、異常のラベルが付与された要素のうち、第1しきい値表示ライン556の上側に位置する要素が強調表示されている。
なお、異常確率を示す数値表示548が選択されると、異常確率として算出された統計的な指標(スコア分布の3σなど)を超えている要素を強調表示してもよい。
図24および図25に示すようなユーザインターフェイス画面520を提供することで、ユーザは、設定したしきい値が妥当な評価結果(判定結果)を生じるかを容易に予測できる。
<N.変形例>
図2に示す異常検知システム1においては、制御装置100とサポート装置200とがそれぞれ独立した構成となっているが、サポート装置200の機能の全部または一部を制御装置100に組み入れるようにしてもよい。例えば、サポート装置200に実装される解析ツール230を、制御装置100に実装することで、生データの伝送やモデル生成処理の繰返し実行をより容易に実現できる。
上述の図6および図7に示すモジュール構成は一例であり、上述したような機能を提供できる限り、どのような実装を採用してもよい。例えば、ハードウェア上の制約や、プログラミング上の制約などによって、図6および図7に示す機能モジュールを複数の機能モジュールの集合として実装してもよいし、図6および図7に示す複数の機能モジュールを単一のモジュールとして実装してもよい。
<O.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御するための制御演算を実行する制御演算部(10;130)と、
前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部(20;150)とを備え、
前記第1異常検知部は、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部(22)と、
前記算出部により算出されるスコアと前記異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定することで、前記第1判定基準に合致している場合には第1判定結果を出力し、前記第2判定基準に合致している場合には第2判定結果を出力する判定部(24)とを含む、異常検知システム。
[構成2]
前記第1判定基準は、前記第2判定基準に比較して、前記スコアがより高い値を示す場合に合致するように設定されており、
前記第1判定基準に対応する前記第1判定結果は、前記第2判定基準に対応する前記第2判定結果に比較して、異常の度合いがより高いことを示す、構成1に記載の異常検知システム。
[構成3]
前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部(140)と、
前記状態値格納部から提供される前記状態値を用いて、前記第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部(286)と、
前記第2異常検知部による検知結果に基づいて、前記第1異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部(270)とをさらに備える、構成1または2に記載の異常検知システム。
[構成4]
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記第1判定基準および前記第2判定基準として、前記スコアのデータ系列に対する2つのしきい値の設定を受付ける手段とを含む、構成3に記載の異常検知システム。
[構成5]
前記モデル生成部は、前記スコアのデータ系列に含まれる各要素に付与されたラベルと、前記スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含む、構成4に記載の異常検知システム。
[構成6]
前記検知精度を示す指標値は、
異常のラベルが付与された要素を正常と判定した確率である見逃し率と、
正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、
要素に付与されたラベルどおりの判定がなされた確率である正答率と、
のうち少なくとも1つを含む、構成5に記載の異常検知システム。
[構成7]
前記モデル生成部は、設定されるしきい値が変更されると、前記検知精度を示す指標値を更新する、構成5または6に記載の異常検知システム。
[構成8]
前記判定部からの判定結果に応じた形態で報知動作を行う報知装置(18)をさらに備える、構成1〜7のいずれか1項に記載の異常検知システム。
[構成9]
制御対象を制御するための制御装置(100)に接続されるサポート装置(200)であって、前記制御装置は、前記制御対象を制御するための制御演算を実行する制御演算部(130)と、前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部(150)と、前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部(140)とを含み、前記サポート装置は、
前記状態値格納部から提供される前記状態値を用いて、前記第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部(286)と、
前記第2異常検知部による検知結果に基づいて、前記第1異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部(270)とを備え、
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
前記スコアのデータ系列に対して、第1判定基準および第2判定基準の設定を受付ける手段とを含む、サポート装置。
[構成10]
制御対象を制御するための制御演算を実行するステップ(10;130)と、
前記制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップ(S50〜S68)とを備え、
前記異常を検知するステップは、
前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップ(S58)と、
前記算出されるスコアと前記異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定するステップ(S60,S64)と、
前記算出されるスコアが前記第1判定基準に合致している場合には第1判定結果を出力し、前記第2判定基準に合致している場合には第2判定結果を出力するステップ(S62,S66)とを含む、異常検知方法。
<P.利点>
本実施の形態に係る異常検知システムにおいては、監視対象に関連する状態値から生成される1または複数の特徴量から算出されるスコアに対して、1または複数の判定基準(典型的には、しきい値)を任意に設定可能である。設定された各判定基準に応じた異なる報知動作なども可能である。
このような異常検知の表現の種類を豊富化することによって、保全員などは、どのような判定基準を設定すべきかを判断するための知見をより容易に得ることができる。また、保全員などは、それぞれの判定基準に応じて、優先順次をつけて、監視対象の設備などの保全作業を行うことができる。さらに、製造現場などで多数配置されている信号灯などの報知装置への適用も容易である。
また、本実施の形態に係る異常検知システムにおいては、検知精度を示す1または複数の指標値が提供される。保全員などのユーザは、検知精度を示す指標値を参照することで、各監視対象に対して設定すべき判定基準を最適化できる。このような検知精度を示す指標値を参照することで、実際に機械や装置において何らかの異常が発生してから、判定基準を変更するといった、予知保全からは外れる業務を低減できる。また、判定基準を設定するための試行錯誤的な検証などを行う必要がなく、保全業務を効率化できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 異常検知システム、2,4 フィールドネットワーク、6 上位ネットワーク、10 制御演算部、16,124 I/Oユニット、18 報知装置、20 異常検知部、22 算出部、24 判定部、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,214 上位ネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、130 PLCエンジン、132 ユーザプログラム、134 特徴量生成命令、136 書込命令、138 変数、140 時系列データベース、142 生データ、150,286 異常検知エンジン、160 学習データセット、162 異常検知用パラメータ、200 サポート装置、204 光学ドライブ、205 記録媒体、216 入力部、218 表示部、220 バス、222 開発プログラム、224 PLCインターフェイスプログラム、226 解析プログラム、228 OS、230 解析ツール、232 PLCインターフェイス、234 可視化モジュール、236 イベント管理モジュール、240 ユーザインターフェイス、242 スクリプトエンジン、244 設定ファイル、250 ファイル管理モジュール、252 データ入力機能、254 データ生成機能、260 画面生成モジュール、262 折れ線グラフ生成機能、264 パラメータ調整機能、266 グラフライブラリ、270 解析モジュール、272 特徴量生成機能、274 特徴量選択機能、276 パラメータ決定機能、280 解析ライブラリ、282 特徴量生成ライブラリ、284 特徴量選択ライブラリ、300 データベースサーバ、400 操作表示装置、500,520 ユーザインターフェイス画面、502,522 選択受付エリア、506,526 グラフ表示エリア、508,528 グラフ、510 異常範囲、512,550 ヒストグラム表示エリア、514 ラベル付与ツール、516 正常ラベル設定ボタン、517 異常ラベル設定ボタン、518 ラベル設定範囲指定ボタン、524 チェックボックス、530,532,544,546,548 数値表示、534 値設定スライダ、536 リセットボタン、538 学習データ生成ボタン、540 しきい値差設定ボックス、542 変数選択数表示、552,554 ヒストグラム、556,558 値表示ライン、560 距離差、570,572,580,582 要素、600 包装機、604 包装体、605 被包装物、606 個別包装体、610,620 ロータ、612,622 回転軸、614,624 処理機構、615,616,625,626 ヒータ、617,627 カッター、618,628 サーボモータ、619,629 サーボドライバ、700,900 特徴量、702,704,706,708 評価値コラム、710 ランクコラム、800,810 学習データ、802,812 評価データセット、804,814,904 スコア、806,808,816,818 異常領域、811 ノイズ、902 ラベル、906 判定結果、908 評価。

Claims (10)

  1. 制御対象を制御するための制御演算を実行する制御演算部と、
    前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部とを備え、
    前記第1異常検知部は、
    前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出する算出部と、
    前記算出部により算出されるスコアと前記異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定することで、前記第1判定基準に合致している場合には第1判定結果を出力し、前記第2判定基準に合致している場合には第2判定結果を出力する判定部とを含む、異常検知システム。
  2. 前記第1判定基準は、前記第2判定基準に比較して、前記スコアがより高い値を示す場合に合致するように設定されており、
    前記第1判定基準に対応する前記第1判定結果は、前記第2判定基準に対応する前記第2判定結果に比較して、異常の度合いがより高いことを示す、請求項1に記載の異常検知システム。
  3. 前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部と、
    前記状態値格納部から提供される前記状態値を用いて、前記第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部と、
    前記第2異常検知部による検知結果に基づいて、前記第1異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とをさらに備える、請求項1または2に記載の異常検知システム。
  4. 前記モデル生成部は、
    前記状態値格納部から提供される前記状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
    前記第1判定基準および前記第2判定基準として、前記スコアのデータ系列に対する2つのしきい値の設定を受付ける手段とを含む、請求項3に記載の異常検知システム。
  5. 前記モデル生成部は、前記スコアのデータ系列に含まれる各要素に付与されたラベルと、前記スコアのデータ系列に対してユーザにより指定された判定基準を適用したときの判定結果とに基づいて、検知精度を示す指標値を算出する手段を含む、請求項4に記載の異常検知システム。
  6. 前記検知精度を示す指標値は、
    異常のラベルが付与された要素を正常と判定した確率である見逃し率と、
    正常のラベルが付与された要素を異常と判定した確率である見過ぎ率と、
    要素に付与されたラベルどおりの判定がなされた確率である正答率と、
    のうち少なくとも1つを含む、請求項5に記載の異常検知システム。
  7. 前記モデル生成部は、設定されるしきい値が変更されると、前記検知精度を示す指標値を更新する、請求項5または6に記載の異常検知システム。
  8. 前記判定部からの判定結果に応じた形態で報知動作を行う報知装置をさらに備える、請求項1〜7のいずれか1項に記載の異常検知システム。
  9. 制御対象を制御するための制御装置に接続されるサポート装置であって、前記制御装置は、前記制御対象を制御するための制御演算を実行する制御演算部と、前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1異常検知部と、前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部とを含み、前記サポート装置は、
    前記状態値格納部から提供される前記状態値を用いて、前記第1異常検知部と実質的に同一の検知処理を実行する第2異常検知部と、
    前記第2異常検知部による検知結果に基づいて、前記第1異常検知部に対して設定される、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とを備え、
    前記モデル生成部は、
    前記状態値格納部から提供される前記状態値から生成される1または複数の特徴量により算出されるスコアのデータ系列を表示する手段と、
    前記スコアのデータ系列に対して、第1判定基準および第2判定基準の設定を受付ける手段とを含む、サポート装置。
  10. 制御対象を制御するための制御演算を実行するステップと、
    前記制御演算に関して収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知するステップとを備え、
    前記異常を検知するステップは、
    前記異常検知用パラメータに従って、前記監視対象に関連する状態値から算出される特徴量を用いてスコアを算出するステップと、
    前記算出されるスコアと前記異常検知用パラメータに含まれる第1判定基準および第2判定基準を用いてそれぞれ判定するステップと、
    前記算出されるスコアが前記第1判定基準に合致している場合には第1判定結果を出力し、前記第2判定基準に合致している場合には第2判定結果を出力するステップとを含む、異常検知方法。
JP2018068167A 2018-03-30 2018-03-30 異常検知システム、サポート装置および異常検知方法 Pending JP2019179395A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018068167A JP2019179395A (ja) 2018-03-30 2018-03-30 異常検知システム、サポート装置および異常検知方法
EP19156772.6A EP3547057A1 (en) 2018-03-30 2019-02-12 Abnormality detection system, support device, and abnormality detection method
CN201910111360.1A CN110322583B (zh) 2018-03-30 2019-02-12 异常探测系统、支持装置以及异常探测方法
US16/275,348 US20190301979A1 (en) 2018-03-30 2019-02-14 Abnormality detection system, support device, and abnormality detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018068167A JP2019179395A (ja) 2018-03-30 2018-03-30 異常検知システム、サポート装置および異常検知方法

Publications (1)

Publication Number Publication Date
JP2019179395A true JP2019179395A (ja) 2019-10-17

Family

ID=65443665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018068167A Pending JP2019179395A (ja) 2018-03-30 2018-03-30 異常検知システム、サポート装置および異常検知方法

Country Status (4)

Country Link
US (1) US20190301979A1 (ja)
EP (1) EP3547057A1 (ja)
JP (1) JP2019179395A (ja)
CN (1) CN110322583B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021096660A (ja) * 2019-12-17 2021-06-24 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
WO2022080106A1 (ja) * 2020-10-14 2022-04-21 住友重機械工業株式会社 表示装置、表示方法、制御装置及びコンピュータプログラム
WO2022181007A1 (ja) * 2021-02-24 2022-09-01 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
WO2023139790A1 (ja) * 2022-01-24 2023-07-27 ファナック株式会社 診断装置及びコンピュータ読み取り可能な記録媒体
JP2023149013A (ja) * 2022-03-30 2023-10-13 横河電機株式会社 データ処理装置、データ処理方法、及びプログラム
US11824877B2 (en) 2020-11-10 2023-11-21 Armis Security Ltd. System and method for anomaly detection interpretation
JP7546121B2 (ja) 2022-09-22 2024-09-05 株式会社日立製作所 監視装置、監視対象システム、監視方法及びコンピュータプログラム製品
JP7571613B2 (ja) 2021-02-24 2024-10-23 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6782679B2 (ja) * 2016-12-06 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置、情報処理方法及びプログラム
KR102382820B1 (ko) * 2017-08-09 2022-04-04 삼성에스디에스 주식회사 공정 관리 방법 및 그 장치
US20190135286A1 (en) * 2017-09-20 2019-05-09 Sebastian Domingo Apparatus and method for an acceleration control system
US11953878B2 (en) * 2018-11-27 2024-04-09 Tetra Laval Holdings & Finance S.A. Method and system for condition monitoring of a cyclically moving machine component
US11625574B2 (en) 2019-10-28 2023-04-11 MakinaRocks Co., Ltd. Method for generating abnormal data
CN110933080B (zh) * 2019-11-29 2021-10-26 上海观安信息技术股份有限公司 一种用户登录异常的ip群体识别方法及装置
CN113032774B (zh) * 2019-12-25 2024-06-07 中移动信息技术有限公司 异常检测模型的训练方法、装置、设备及计算机存储介质
US11982987B2 (en) * 2020-01-31 2024-05-14 Keyence Corporation Programmable logic controller and analyzer
JP7273755B2 (ja) * 2020-03-16 2023-05-15 株式会社東芝 情報処理装置、情報処理方法及びプログラム
CN113572654B (zh) * 2020-04-29 2023-11-14 华为技术有限公司 网络性能监控方法、网络设备及存储介质
JP7318612B2 (ja) * 2020-08-27 2023-08-01 横河電機株式会社 監視装置、監視方法、および監視プログラム
CN113341774B (zh) * 2021-05-31 2021-12-28 浙江锐博科技工程有限公司 大型公共建筑能耗监测系统
CN113655307A (zh) * 2021-07-27 2021-11-16 珠海格力电器股份有限公司 生产设备的异常监测方法、装置、设备和注塑机
CN113640675B (zh) * 2021-07-29 2022-05-20 南京航空航天大学 基于Snippets特征提取的航空锂电池异常检测方法
CN113627627A (zh) * 2021-08-11 2021-11-09 北京互金新融科技有限公司 异常监控方法、装置、计算机可读介质及处理器
CN115086156B (zh) * 2022-07-22 2022-10-25 平安银行股份有限公司 存储区域网络中异常应用的定位方法
JP2024108614A (ja) * 2023-01-31 2024-08-13 オムロン株式会社 方法、プログラム、および、装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002521201A (ja) * 1998-07-21 2002-07-16 ドファスコ インコーポレイテッド 連続鋳造機の動作を監視して切迫したブレークアウトの発生を検出する多変量(multivariate)統計的モデルベースのシステム
JP2005339142A (ja) * 2004-05-26 2005-12-08 Tokyo Electric Power Co Inc:The 設備保全支援装置
WO2011036809A1 (ja) * 2009-09-28 2011-03-31 株式会社 東芝 異常判定システムおよびその方法
JP2017084106A (ja) * 2015-10-28 2017-05-18 株式会社 日立産業制御ソリューションズ 気付き情報提供装置及び気付き情報提供方法
JP2017130081A (ja) * 2016-01-21 2017-07-27 富士電機株式会社 設定支援装置及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2995518B2 (ja) 1992-08-14 1999-12-27 株式会社日立製作所 学習型異常診断アルゴリズム自動構築方法およびその装置
JP4759342B2 (ja) * 2005-08-09 2011-08-31 株式会社リコー 異常判定方法及び異常判定装置
US20070294093A1 (en) * 2006-06-16 2007-12-20 Husky Injection Molding Systems Ltd. Preventative maintenance system
WO2008111124A1 (ja) * 2007-03-12 2008-09-18 Fujitsu Limited マルチcpu異常検出復旧システム、方法及びプログラム
JP4654347B2 (ja) * 2007-12-06 2011-03-16 株式会社融合技術研究所 異常動作監視装置
CN101408910A (zh) * 2008-05-12 2009-04-15 上海发电设备成套设计研究院 一种锅炉部件安全性定量评价方法
SE536922C2 (sv) * 2013-02-19 2014-10-28 Basim Al-Najjar En metod och en apparat för att prediktera tillståndet hos en maskin eller en komponent hos maskinen
CN103472820B (zh) * 2013-09-18 2015-07-15 哈尔滨工业大学 一种基于偏最小二乘算法的推进系统故障诊断方法
JP6216242B2 (ja) * 2013-12-13 2017-10-18 株式会社日立ハイテクノロジーズ 異常検知方法およびその装置
CN104793604B (zh) * 2015-04-10 2017-05-17 浙江大学 一种基于主成分追踪的工业故障监测方法及应用
CN104898646A (zh) * 2015-04-30 2015-09-09 东北大学 一种基于kpca进行故障分离与重构的电熔镁炉故障诊断方法
CN105242660A (zh) * 2015-07-15 2016-01-13 浙江中烟工业有限责任公司 基于相对变化分析的多模态卷烟制叶丝过程在线监测与故障诊断方法
CN105676833B (zh) * 2015-12-21 2018-10-12 海南电力技术研究院 发电过程控制系统故障检测方法
JP6573838B2 (ja) * 2016-02-10 2019-09-11 株式会社神戸製鋼所 回転機の異常検知システム
CN106708016B (zh) * 2016-12-22 2019-12-10 中国石油天然气股份有限公司 故障监控方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002521201A (ja) * 1998-07-21 2002-07-16 ドファスコ インコーポレイテッド 連続鋳造機の動作を監視して切迫したブレークアウトの発生を検出する多変量(multivariate)統計的モデルベースのシステム
JP2005339142A (ja) * 2004-05-26 2005-12-08 Tokyo Electric Power Co Inc:The 設備保全支援装置
WO2011036809A1 (ja) * 2009-09-28 2011-03-31 株式会社 東芝 異常判定システムおよびその方法
JP2017084106A (ja) * 2015-10-28 2017-05-18 株式会社 日立産業制御ソリューションズ 気付き情報提供装置及び気付き情報提供方法
JP2017130081A (ja) * 2016-01-21 2017-07-27 富士電機株式会社 設定支援装置及びプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021096660A (ja) * 2019-12-17 2021-06-24 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
JP7335154B2 (ja) 2019-12-17 2023-08-29 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
WO2022080106A1 (ja) * 2020-10-14 2022-04-21 住友重機械工業株式会社 表示装置、表示方法、制御装置及びコンピュータプログラム
TWI808504B (zh) * 2020-10-14 2023-07-11 日商住友重機械工業股份有限公司 顯示裝置、顯示方法、控制裝置及電腦程式
US11824877B2 (en) 2020-11-10 2023-11-21 Armis Security Ltd. System and method for anomaly detection interpretation
WO2022181007A1 (ja) * 2021-02-24 2022-09-01 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
JP7571613B2 (ja) 2021-02-24 2024-10-23 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
WO2023139790A1 (ja) * 2022-01-24 2023-07-27 ファナック株式会社 診断装置及びコンピュータ読み取り可能な記録媒体
JP2023149013A (ja) * 2022-03-30 2023-10-13 横河電機株式会社 データ処理装置、データ処理方法、及びプログラム
JP7552643B2 (ja) 2022-03-30 2024-09-18 横河電機株式会社 データ処理装置、データ処理方法、及びプログラム
JP7546121B2 (ja) 2022-09-22 2024-09-05 株式会社日立製作所 監視装置、監視対象システム、監視方法及びコンピュータプログラム製品

Also Published As

Publication number Publication date
CN110322583A (zh) 2019-10-11
EP3547057A1 (en) 2019-10-02
CN110322583B (zh) 2022-07-22
US20190301979A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP2019179395A (ja) 異常検知システム、サポート装置および異常検知方法
JP6879239B2 (ja) 異常検知システム、サポート装置およびモデル生成方法
JP7063022B2 (ja) 異常検知システム、サポート装置およびモデル生成方法
US11657309B2 (en) Behavior analysis and visualization for a computer infrastructure
US10503146B2 (en) Control system, control device, and control method
CN102375452B (zh) 改善故障代码设定和隔离故障的事件驱动的数据挖掘方法
JP2019016209A (ja) 診断装置、診断方法およびコンピュータプログラム
EP3924946A1 (en) Process mapping and monitoring using artificial intelligence
JP6751561B2 (ja) 装置の構成要素の集合を監視するシステムおよび方法
US20180259947A1 (en) Management device and non-transitory computer-readable medium
US20180284733A1 (en) Controller, control program, control system, and control method
TW202001201A (zh) 診斷裝置、診斷方法及程式
JP7151312B2 (ja) 制御システム
JP6898607B2 (ja) 異常予兆検出システムおよび異常予兆検出方法
CN111555899A (zh) 告警规则配置方法、设备状态监测方法、装置和存储介质
CN115545452A (zh) 运维方法、运维系统、设备及存储介质
JP7396361B2 (ja) 異常判定装置及び異常判定方法
JP7524784B2 (ja) 情報処理装置、制御システムおよびレポート出力方法
JP2017204107A (ja) データ分析方法、及び、そのシステム、装置
WO2023209774A1 (ja) 異常診断方法、異常診断装置、および、異常診断プログラム
RU2777950C1 (ru) Обнаружение нештатных ситуаций для прогнозного технического обслуживания и определения конечных результатов и технологических процессов на основании качества данных
JP2019070993A (ja) 予兆診断装置
US20200244688A1 (en) Information selection device, information selection method, and non-transitory recording medium
JP2023151722A (ja) 情報処理システム、情報処理方法および情報処理装置
JP2022138807A (ja) 異常判定方法および異常判定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803