JP6879239B2 - 異常検知システム、サポート装置およびモデル生成方法 - Google Patents

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

Info

Publication number
JP6879239B2
JP6879239B2 JP2018046673A JP2018046673A JP6879239B2 JP 6879239 B2 JP6879239 B2 JP 6879239B2 JP 2018046673 A JP2018046673 A JP 2018046673A JP 2018046673 A JP2018046673 A JP 2018046673A JP 6879239 B2 JP6879239 B2 JP 6879239B2
Authority
JP
Japan
Prior art keywords
abnormality detection
data set
state value
feature
unit
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.)
Active
Application number
JP2018046673A
Other languages
English (en)
Other versions
JP2019159902A (ja
Inventor
真輔 川ノ上
真輔 川ノ上
幸太 宮本
幸太 宮本
玲子 服部
玲子 服部
佑紀 広橋
佑紀 広橋
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
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 filed Critical Omron Corp
Priority to JP2018046673A priority Critical patent/JP6879239B2/ja
Priority to EP19151600.4A priority patent/EP3540544A1/en
Priority to CN201910031702.9A priority patent/CN110275506B/zh
Priority to US16/248,787 priority patent/US11163277B2/en
Publication of JP2019159902A publication Critical patent/JP2019159902A/ja
Application granted granted Critical
Publication of JP6879239B2 publication Critical patent/JP6879239B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本技術は、監視対象に生じ得る異常を検知するための異常検知システム、異常検知システムに接続されるサポート装置、および異常検知システムにおけるモデル生成方法に関する。
様々な生産現場において、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常を検知して、設備を停止しなければ状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。
このような予知保全を実現するために、機械や装置の状態値を収集するとともに、収集された状態値に基づいて、当該機械や装置に何らかの異常が生じているか否かを判断するような仕組みが提案されている。
例えば、特開2010−191556号公報(特許文献1)は、観測データの異常を検知するための正常事例の学習データを取捨選択して精度をあげる学習データの生成方法により、ユーザ負荷を軽減し、さらに早期に異常を高感度に検知することが可能な異常検知方法および異常検知システムを開示する。
特開2010−191556号公報
実際の生産現場への予防保全の適用を考えると、実運用の開始前に、未だ異常が発生したことのない機械や装置の異常を検知できるようにモデルを構築する必要がある。そのため、特開2010−191556号公報(特許文献1)に開示される方法において入力される、観測データの異常・正常情報を適切に用意できない場合もある。
そのため、実運用前に、可能な限り精度の高い異常検知モデルを用意しておきたいというニーズがある。
本技術は、実運用前により精度の高い異常検知モデルを生成できる技術を提供する。
本開示の一例に従う異常検知システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部と、状態値格納部から提供される状態値を用いて、第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、第2の異常検知部による検知結果に基づいて、異常検知用パラメータおよび学習データセットを決定するモデル生成部とを含む。モデル生成部は、状態値格納部から提供される状態値から複数の特徴量を生成する手段と、生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段と、選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段と、追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価する手段とを含む。
この開示によれば、統計的に生成された仮想の特徴量のデータ系列が追加された追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価できるので、実際に収集された状態値が少ない場合であっても、検知精度の評価をより適切に実施できる。
上述の開示において、選択された組合せの特徴量のデータ系列の一部が学習データセットとして用いられるとともに、当該データ系列の残りが評価データセットとして用いられ、検知精度を評価する手段は、追加学習データセットからなるモデルに評価データセットを適用したときの誤検知の確率を算出してもよい。
この開示によれば、追加学習データセットからなるモデルに対して、評価データセットを適用することで、実運用において予測される誤検知の確率を事前に算出できる。
上述の開示において、モデル生成部は、評価データセットに統計的に生成された仮想の特徴量のデータ系列を追加して追加評価データセットを生成する手段をさらに含んでいてもよい。検知精度を評価する手段は、追加評価データセットを用いて誤検知の確率を算出してもよい。
この開示によれば、評価データセットに対しても統計的に生成された仮想の特徴量のデータ系列を追加して追加評価データセットを用いることで、実際に収集された状態値が少ない場合であっても、検知精度の評価をより適切に実施できる。
上述の開示において、モデル生成部は、追加される仮想の特徴量のデータ系列の統計的特性の設定を受付ける手段をさらに含んでいてもよい。
この開示によれば、算出される検知精度などをユーザが実際に確認しながら、適切な程度で仮想の特徴量のデータ系列を追加できる。
上述の開示において、モデル生成部は、任意の特徴量が追加で選択されることで、検知精度が向上すると、当該任意の特徴量をモデルとして登録する手段をさらに含んでいてもよい。
この開示によれば、複数の特徴量のうち、実際に検知精度を向上させることができたものだけをモデルとして登録することで、最終的なモデルの検知精度を高めることができる。
上述の開示において、モデル生成部は、生成された複数の特徴量のデータ系列の特定範囲に対して、正常および異常の少なくとも一方のラベルを付与する手段をさらに含んでいてもよい。
この開示によれば、正常および異常のラベルを特徴量に付与することで、検知精度の向上およびモデル精度の向上を実現できる。
上述の開示において、モデル生成部は、生成された特徴量の各々の重要度を算出する手段をさらに含んでいてもよく、特徴量の組合せを選択する手段は、重要度の高い特徴量を優先的に選択するようにしてもよい。
この開示によれば、モデル精度を向上させることができる蓋然性の高い特徴量を優先的に評価できるので、効率的にモデルを構築できる。
上述の開示において、異常検知システムは、モデル生成部により決定された異常検知用パラメータおよび学習データセットを第1の異常検知部に設定する手段をさらに含んでいてもよい。
この開示によれば、第2の異常検知部を利用して決定された異常検知用パラメータおよび学習データセットを第1の異常検知部に反映でき、第1の異常検知部と第2の異常検知部との間で、状態値の収集、ならびに、異常検知用パラメータおよび学習データセットの決定または更新を繰返し実行できる。
本開示の別の一例に従えば、制御対象を制御するための制御装置に接続されるサポート装置が提供される。制御装置は、収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部とを含む。サポート装置は、状態値格納部から提供される状態値を用いて、第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、第2の異常検知部による検知結果に基づいて、異常検知用パラメータおよび学習データセットを決定するモデル生成部とを含む。モデル生成部は、状態値格納部から提供される状態値から複数の特徴量を生成する手段と、生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段と、選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段と、追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価する手段とを含む。
この開示によれば、統計的に生成された仮想の特徴量のデータ系列が追加された追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価できるので、実際に収集された状態値が少ない場合であっても、検知精度の評価をより適切に実施できる。
本開示のさらに別の一例に従えば、異常検知システムにおけるモデル生成方法が提供される。異常検知システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、制御演算部により収集される状態値のうち少なくとも監視対象に関連する状態値を格納する状態値格納部と、状態値格納部から提供される状態値を用いて、第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、第2の異常検知部による検知結果に基づいて、異常検知用パラメータおよび学習データセットを決定するモデル生成部とを含む。モデル生成方法は、状態値格納部から提供される状態値から複数の特徴量を生成するステップと、生成された複数の特徴量のうち1または複数の特徴量の組合せを選択するステップと、選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成するステップと、追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価するステップとを含む。
本技術によれば、実運用前により精度の高い異常検知モデルを生成できる。
本実施の形態に係る異常検知システムの機能的な構成例を示す模式図である。 本実施の形態に係る異常検知システムの全体構成例を示す模式図である。 本実施の形態に係る異常検知システムを運用するための処理手順の概要を示す模式図である。 本実施の形態に係る異常検知システムを構成する制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る異常検知システムを構成するサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る異常検知システムのソフトウェア構成例を示すブロック図である。 図6に示す解析ツールに含まれる機能モジュールの概要を示すブロック図である。 本実施の形態に係る異常検知システムの異常検知処理の基本的な考え方を説明するための模式図である。 本実施の形態に係る異常検知システムの異常検知処理における処理手順を概略した模式図である。 図3に示す処理手順に含まれる解析処理(ST2)の内容を示す模式図である。 図10に示される(a)〜(e)の処理の概要を視覚的に示す模式図である。 本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。 図12のステップS10においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。 図12のステップS12においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に係るサポート装置の解析ツールが実行する処理手順を示すフローチャートである。 本実施の形態に係るサポート装置の解析ツールが実行する特徴量の重要度を評価する処理を説明するための模式図である。 本実施の形態に係るサポート装置の解析ツールによる学習データセットへの仮想データを追加する処理を説明するための模式図である。 本実施の形態に係るサポート装置の解析ツールにより生成される仮想データの一例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
本実施の形態に係る異常検知機能を有する制御システムの機能的な構成例について説明する。以下の説明においては、主として、制御システムが有している異常検知機能に注目して説明するので、制御システム全体を「異常検知システム」とも称する。
図1は、本実施の形態に係る異常検知システム1の機能的な構成例を示す模式図である。図1を参照して、異常検知システム1は、制御演算部10と、異常検知部12と、状態値格納部14とを含む。これらの構成は、基本的には、PLC(プログラマブルコントローラ)などの制御装置に実装される。
制御演算部10は、制御対象を制御するための制御演算を実行する。異常検知部12は、制御演算部10により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する。
本明細書において、「状態値」は、任意の制御対象(含む:監視対象)にて観測できる値を包含する用語であり、例えば、任意のセンサにより測定できる物理値や、リレーやスイッチなどのON/OFF状態、PLCがサーボドライバに与える位置、速度、トルクなどの指令値、PLCが演算に用いる変数値などを含み得る。
本明細書において、「異常検知用パラメータ」および「学習データセット」は、監視対象に生じ得る異常を検知するためのモデルを定義するものであり、詳細については後述する。
状態値格納部14は、制御演算部10により収集される状態値のうち少なくとも監視対象に関連する状態値16を格納する。状態値格納部14には、基本的には、所定のサンプリング周期で収集される時系列データが格納される。すなわち、状態値格納部14には、状態値16のデータ系列が格納されることになる。
異常検知システム1は、さらに、モデル生成部20および異常検知部30を含む。これらの構成は、基本的には、制御装置に接続されるサポート装置に実装される。
異常検知部30は、状態値格納部14から提供される状態値16を用いて、異常検知部12と実質的に同一の検知処理を実行する。
モデル生成部20は、異常検知部30による検知結果に基づいて、異常検知用パラメータおよび学習データセットを決定する。
モデル生成部20は、状態値格納部14から提供される状態値16から複数の特徴量を生成する特徴量生成機能22と、生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する特徴量選択機能24と、選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する特徴量追加機能26と、追加学習データセットを用いて、選択された組合せの特徴量に対応するモデルの検知精度を評価する検知精度評価機能28とを含む。
特徴量追加機能26において、収集された状態値から生成される特徴量のデータ系列に、統計的に生成された仮想の特徴量のデータ系列を追加することで、追加学習データが生成される。この追加学習データを用いて、各特徴量の組合せの検知精度を事前に評価することで、運用前に、検知精度の高いモデルを構成できる。
<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を実現するためには、監視対象の特性に応じた特徴量やしきい値などを適切に設定する必要がある。本実施の形態に係る異常検知システム1では、統計的な手法を用いて、収集された状態値が通常とは異なる特徴を示すと判断されるときに、監視対象が異常であると検知する。
このような異常検知エンジン150を実現するために、(1)異常検知に用いる特徴量および異常であるか否かを判断するためのしきい値を含む異常検知用パラメータと、(2)監視対象が正常であるときに現れる1または複数の状態値および/または特徴量を含む学習データセットとが用意される。
異常検知用パラメータおよび学習データセットの用意は、いずれの装置で実施してもよいが、図2に示す構成においては、制御装置100により収集された状態値(収集データ)がサポート装置200に与えられ、サポート装置200が後述するような解析処理を実行することで、異常検知用パラメータおよび学習データセットを決定する。そして、サポート装置200から制御装置100に対して、異常検知用パラメータおよび学習データセットが与えられる。すなわち、サポート装置200は、決定された異常検知用パラメータおよび学習データセットを制御装置100の異常検知エンジン150に設定する。
なお、制御装置100およびサポート装置200を一体化した構成を採用してもよく、その場合には、単一の装置において異常検知用パラメータおよび学習データセットの決定、ならびに、異常検知処理の両方が実行されることになる。
図3は、本実施の形態に係る異常検知システム1を運用するための処理手順の概要を示す模式図である。図3を参照して、まず、制御装置100において生データを収集する処理が実行される(ST1)。以下の説明において、「生データ」は、監視対象から収集された状態値の時系列データを意味する。基本的に、「生データ」は、監視対象から収集されたそのままの状態値を含むものであり、状態値から生成される特徴量などは含まれない。この生データの収集は、制御装置100に実装される時系列データベース(以下、「TSDB」とも略称する。)に状態値を順次書込むことで実現される。
収集された生データは、サポート装置200へ与えられ、解析処理が実行される(ST2)。この解析処理においては、異常検知用パラメータおよび学習データセットが生成される。以下の説明においては、監視対象に応じた異常検知用パラメータおよび学習データセットを生成する処理を「モデル生成処理」と称することもある。
生成された異常検知用パラメータおよび学習データセットは、制御装置100へ与えられる。制御装置100は、サポート装置200からの異常検知用パラメータおよび学習データセットに基づいて、異常検知の運用を開始する(ST3)。このとき、制御装置100(異常検知エンジン150)は、与えられた異常検知用パラメータに従って、監視対象から収集される状態値に基づいて特徴量を生成し、生成した特徴量に基づいて異常検知を実行する。
このように、異常検知エンジン150は、PLCエンジン130により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する異常検知部に相当する。
以上のような異常検知に係るより詳細な処理および機能などについては後述する。
再度図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において、監視対象に何らかの異常が発生したと判断されると、異常の発生を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を参照して、任意のサンプリングタイミングにおいて監視対象から状態値のセットを収集したとする。このサンプリングタイミングにおける監視対象の異常の有無を判断することになる。
まず、監視対象から収集可能な複数の状態値のうち、予め定められた状態値1,2,3,・・・nを用いて、特徴量1,2,3,・・・,nを生成する。
なお、同一の状態値から複数の特徴量が生成されることもある。説明の便宜上、少なくとも4個の特徴量を用いる構成を示すが、本実施の形態に係る異常検知処理においては、少なくとも1つの特徴量があればよい。
続いて、1または複数の特徴量から異常スコアが算出される。異常スコアは、評価対象の1または複数の特徴量の組が、外れ値または異常値である可能性を示す値であり、値が大きいほど異常値である可能性が高い(但し、異常値である可能性が高くなるほど異常スコアが小さな値を示すようにしてもよい)。
最終的に、算出された異常スコアと予め定められたしきい値とを比較して、監視対象に異常が生じているか否かを判断する。
本実施の形態に係るモデル生成処理は、異常スコアの算出に用いる特徴量の選択処理、および、当該選択によって算出される異常スコアに対するしきい値の決定処理を含む。
<F.モデル生成処理の概略手順>
次に、本実施の形態に係るモデル生成処理の概略手順について説明する。
図10は、図3に示す処理手順に含まれる解析処理(ST2)の内容を示す模式図である。図11は、図10に示される(a)〜(e)の処理の概要を視覚的に示す模式図である。
図10を参照して、本実施の形態に係るモデル生成処理に相当する解析処理(ST2)は、主として、(a)データ入力処理、(b)特徴量生成処理、(c)可視化・ラベル付け処理、(d)特徴量選択処理、(e)しきい値決定処理の計5つを含む。
図11を参照して、制御装置100にて収集された状態値の時系列データである生データ142がサポート装置200へ与えられる((a)データ入力処理)。生データ142は、サンプリングタイミング毎に1または複数の状態値を含む。図11に示す例では、生データ142は、包装機600での処理の回数を示すサイクルカウントと、状態値の一例として、軸1トルク、軸1速度、シリンダ1オンオフ状態とを含む。
サポート装置200は、入力された生データ142を用いて、1または複数の特徴量を生成する((b)特徴量生成)。図11に示す例では、特徴量は、軸1トルクに関する特徴量として、軸1トルク平均、軸1トルク標準偏差、軸1トルク最大、軸1トルク最小を含み、軸1速度に関する特徴量として、軸1速度平均、軸1速度標準偏差、軸1速度最大、軸1速度最小を含む。また、生成される特徴量には、シリンダ1動作時間を含む。
続いて、サポート装置200では、特徴量の可視化および各サンプリングタイミングの特徴量の組に対するラベル付けが実施される((c)可視化・ラベル付け処理)。特徴量の可視化は、基本的には、サポート装置200によって実行され、ラベル付けの全部または一部はユーザが実行してもよい。
より具体的な一例として、ユーザは、グラフなどの形で可視化された特徴量を参照しつつ、監視対象の状態が「正常」および「異常」のいずれであるかを、サンプリングタイミング毎に設定する。なお、現実の監視対象が異常な状態になることは少ないと考えられ、多くの場合には、「正常」のラベルが付与されることになる。
続いて、収集された状態値から生成される複数の特徴量のうち、異常検知に用いる1または複数の特徴量を選択する((d)特徴量選択)。図11に示す例では、軸1トルク平均、軸1速度平均、軸1速度最大、シリンダ1動作時間の4つが選択されている。
上述のように選択された1または複数の特徴量に基づいて異常スコアを算出するとともに、算出された異常スコアを参照して、異常と判断するためのしきい値を決定する((e)しきい値決定)。
以上のような手順によって、学習データセット160および異常検知用パラメータ162が生成される。生成された学習データセット160および異常検知用パラメータ162は、サポート装置200から制御装置100へ与えられ、制御装置100は、サポート装置200からの設定に従って異常検知処理を実行する。
図11に示す(a)〜(e)の処理は、適宜繰返し実行することが可能であり、監視対象を示すモデルを順次更新することも可能である。
<G.モデル生成処理におけるユーザ設定操作の手順例>
次に、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例について説明する。
図12は、本実施の形態に係るモデル生成処理におけるユーザによる設定操作の手順例を示すフローチャートである。図12を参照して、まず、ユーザは、サポート装置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においては、可能な限り多くの種類の特徴量が生成されるようにしてもよい(図11の(b)特徴量生成に対応)。
続いて、解析ツール230は、ユーザの選択操作に応じて特徴量の変化を可視化するとともに、ユーザは、可視化された特徴量の変化に対して正常範囲および/または異常範囲を設定する(ステップS10)(図11の(c)可視化・ラベル付け処理に対応)。
図13は、図12のステップS10においてユーザに提供されるユーザインターフェイス画面500の一例を示す模式図である。図13を参照して、ユーザインターフェイス画面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の対象となる領域を指定する操作(例えば、ドラッグ操作)を行う。これによって、指定された領域に対して、設定されたラベルが付与される。
図13には、異常範囲510が設定されている例を示す。異常範囲510に含まれるサンプリングタイミングの特徴量に対しては、「異常」のラベルが付与され、それ以外の特徴量に対しては、「正常」のラベルが付与される。このように、解析ツール230は、ユーザ操作に従って、生成された複数の特徴量のデータ系列の特定範囲に対して、「正常」および「異常」の少なくとも一方のラベルを付与する機能を有していてもよい。
なお、ヒストグラム表示エリア512に表示されるヒストグラムに対しても、データの正常範囲および/または異常範囲を設定できるようにしてもよい。
再度図12を参照して、次に、解析ツール230は、ユーザ操作に従って、異常検知用パラメータの決定処理を実行する(ステップS12)。ステップS12の処理は、図11に示す(d)特徴量選択処理および(e)しきい値決定処理に対応する。
このステップS12においては、解析ツール230の特徴量選択機能274(図7参照)によって、デフォルトのパラメータ(使用される特徴量およびしきい値)が予め設定されている。ユーザは、表示される検知率などを確認しながら、必要なパラメータを調整する。
図14は、図12のステップS12においてユーザに提供されるユーザインターフェイス画面520の一例を示す模式図である。図14を参照して、ユーザインターフェイス画面520は、主として、異常検知処理に用いる1または複数の特徴量の選択を受付けるとともに、異常検知処理に用いるしきい値の選択を受付ける。
より具体的には、ユーザインターフェイス画面520は、特徴量に対する選択受付エリア522と、グラフ表示エリア526とを含む。
ユーザインターフェイス画面520の選択受付エリア522は、生成された複数の特徴量のうち、異常検知用パラメータおよび学習データセットの決定に用いられる1または複数の特徴量の選択を受付けるユーザインターフェイスに相当する。より具体的には、選択受付エリア522には、予め生成された特徴量の内容を示すリストが表示されており、ユーザは、表示されたリスト上で任意の特徴量に対応するチェックボックス524をチェックすることで、異常スコアの算出に用いる特徴量を決定する。
選択受付エリア522に表示される特徴量は、解析ツール230の特徴量選択機能274(図7参照)によって事前に解析された結果に基づいて、重要度が高いと推定されるものがより上位になるようにリストされていてもよい。すなわち、選択受付エリア522には、後述するような手順で決定されたランクに従って、生成された複数の特徴量の表示順序が決定されてもよい。
また、初期の選択受付エリア522には、解析ツール230の特徴量選択機能274(図7参照)によって予め選択された特徴量が、デフォルト値として選択されていてもよい。すなわち、選択受付エリア522においては、決定されたランクに従って、生成された複数の特徴量のうち予め定められた数の特徴量が選択された状態で表示されてもよい。図14には、異常スコアの算出に2つの特徴量が使用されることが選択されている状態を示す。
グラフ表示エリア526には、選択受付エリア522のチェックボックス524に対するチェックによって選択された1または複数の特徴量に基づいて算出された異常スコアの変化を示すグラフ528が表示される。このように、グラフ表示エリア526には、選択された1または複数の特徴量のデータ系列に基づいて算出される異常スコアのデータ系列が表示される。
グラフ表示エリア526に関連付けて、しきい値設定スライダ534が配置されている。しきい値設定スライダ534に対するユーザ操作に連動して、設定されているしきい値が更新されるとともに、グラフ表示エリア526に表示されるしきい値表示バー535の位置が変動する。このように、しきい値設定スライダ534は、グラフ表示エリア526に表示された異常スコアに対するしきい値の設定を受付ける。
初期のしきい値としては、解析ツール230の特徴量選択機能274およびパラメータ決定機能276(図7参照)によって予め算出されたしきい値が初期値(デフォルト値)として設定されてもよい。
グラフ表示エリア526には、検知率を示す数値表示530、および、設定されているしきい値を示す数値表示532が配置されている。しきい値設定スライダ534に対するユーザ操作に連動して、数値表示532の値も更新される。
数値表示530が示す検知率は、現在選択されている1または複数の特徴量と、現在設定されているしきい値とにより、どの程度正確な検知が可能かを示す値が示される。より具体的には、検知率は、現在の設定によれば、ユーザにより設定された正常範囲に含まれる特徴量(すなわち、「正常」のラベルが付与されている特徴量)と、ユーザにより設定された異常範囲に含まれる特徴量(すなわち、「異常」のラベルが付与されている特徴量)とをどの程度正確に区別できるのかを示す。
ユーザは、グラフ表示エリア526に表示されるグラフ528の形状や、数値表示530が示す検知率の値を確認しながら、異常検知に用いる特徴量の選択、および/または、しきい値の設定を適宜実施する。
ユーザインターフェイス画面520は、後述するような学習データセットに追加する仮想データの分布範囲を調整するスライダ540、および、仮想データの数を調整するスライダ550を含む。ユーザは、特徴量やしきい値の選択・設定に加えて、グラフ表示エリア526に表示されるグラフ528の形状や、数値表示530が示す検知率の値を確認しながら、学習データセットに追加する仮想データを調整できる。
ユーザインターフェイス画面520のリセットボタン536が選択されると、解析ツール230の特徴量選択機能274によって予め選択された特徴量が選択されている状態(デフォルト状態)にリセットされる。
ユーザインターフェイス画面520の学習データ生成ボタン538が選択されると、当該時点において設定されている内容に従って、学習データセット160および異常検知用パラメータ162が生成される。
再度図12を参照して、ユーザは、図13に示すユーザインターフェイス画面500、および、図14に示すユーザインターフェイス画面520を適宜操作して、ユーザインターフェイス画面520の学習データ生成ボタン538が選択すると(ステップS14においてYES)、解析ツール230は、監視対象を示すモデル(学習データセット160および異常検知用パラメータ162)を生成する(ステップS16)。すなわち、解析ツール230は、ユーザが調整したパラメータに基づいて、監視対象についてのモデルを生成する。
そして、サポート装置200から制御装置100に対して、ステップS16において生成されたモデル(学習データセット160および異常検知用パラメータ162)が送信され(ステップS18)、実運用が開始される(ステップS20)。
なお、実運用開始後に、実運用における検知率などを定期的に確認し、検知率が悪い(監視対象が正常な状態であるのに異常と検知してしまった頻度が相対的に多い、および/または、正常と検知したのに監視対象が正常な状態ではなかった頻度が相対的に多い)場合には、制御装置100において収集された状態値を用いて、再度モデル生成を行ってもよい。
<H.解析ツール230の機能および処理>
次に、本実施の形態に係るサポート装置200に含まれる解析ツール230が提供する機能および処理について説明する。以下に説明する機能および処理は、図13および図14に示されるユーザインターフェイス画面が表示される前段階で実行される。すなわち、解析ツール230による処理結果を用いて、図13および図14に示されるユーザインターフェイス画面が提供される。
図15は、本実施の形態に係るサポート装置200の解析ツール230が実行する処理手順を示すフローチャートである。図15のフローチャートに含まれる処理は、解析ツール230の特徴量生成機能272、特徴量選択機能274およびパラメータ決定機能276(図7参照)によって実行される。図15には、各機能が担当するステップを示す。
図15を参照して、サポート装置200は、入力された生データ142に基づいて特徴量を生成する(ステップS100)。この特徴量の生成は、解析ツール230の特徴量生成機能272を用いて実現される。通常、複数種類の特徴量が生成される。
続いて、サポート装置200は、ステップS102〜S106,S124およびS126の処理を実行する。これらの処理は、解析ツール230の特徴量選択機能274を用いて実現される。図15のステップ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を用いて実現される。図15のステップS108〜S118(ステップS110を除く)またはステップS128,S130の処理は、特徴量選択機能274による異常検知適用(異常スコア算出)の機能に相当し、図15のステップ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.特徴量の重要度の算出およびランク付け>
次に、図15に示す解析ツール230の特徴量選択機能274が担当する処理(ステップS104,S106およびステップS124,S126)の詳細について説明する。
図16は、本実施の形態に係るサポート装置200の解析ツール230が実行する特徴量の重要度を評価する処理を説明するための模式図である。図16を参照して、解析ツール230の特徴量選択機能274は、各特徴量の重要度を複数の手法でそれぞれ算出する。図16には、一例として、尖度、ロジスティック回帰、決定木の3つの手法でそれぞれ評価する例を示す。
評価値コラム702に格納される尖度は、対象の特徴量700のデータ系列についての頻度分布の鋭さを評価した値である。尖度が大きいほど、頻度分布のピークが鋭く、分布の裾が広いことを示す。異常検知に用いる統計量としては、尖度が大きいほど有益、すなわち重要であるとみなすことができる。
また、対象の特徴量のデータ系列についての頻度分布の標準偏差を評価値として用いてもよい。この場合、標準偏差が大きいほど、特徴量に変化があり異常検知の能力が高い(すなわち、重要である)と判断できる。
評価値コラム704に格納されるロジスティック回帰は、任意のロジスティック関数を対象の特徴量のデータ系列に適用して、尤度を最大化するロジスティック関数を規定するパラメータを探索する。最終的に探索されたパラメータに対応する尤度を重要度とみなす。すなわち、任意のロジスティック関数でより精度の高い推定ができる特徴量ほど、優先度が高いとみなすことができる。
典型的には、ロジスティック回帰は、特徴量毎にパラメータの探索および尤度の算出を行うことができる。
評価値コラム706に格納される決定木は、対象の特徴量のデータ系列に対して分類木を適用し、その分類能力を重要度として用いるものである。決定木のアルゴリズムとしては、CART、C4.5,ID3などが知られており、いずれのアルゴリズムを用いてもよい。
このように、典型例としては、重要度は、少なくとも、特徴量のデータ系列についての尖度、特徴量のデータ系列に対してロジスティック回帰の実行によって得られる尤度、決定木のアルゴリズムに従って算出される重要度を含む。
以上のように、各特徴量について重要度を示す値を複数の手法でそれぞれ算出し、それぞれの結果を統合した結果が評価値コラム708に格納される。評価値コラム708に格納される各評価値に基づいて、それぞれの特徴量に対するランク付けがなされる(ランクコラム710)。
図15のステップS106およびS126においては、図16の評価値コラム708に格納されるそれぞれの評価値に基づいて、特徴量に対するランク付けが実施される。
図15のステップS102においては、「正常」および「異常」のラベルが付与された状態値が得られるので、図16に示す、尖度、ロジスティック回帰、決定木の各手法を適用できる。一方、図15のステップS122においては、「正常」のラベルが付与された状態値のみが存在する状態であるので、図16に示すロジスティック回帰および決定木の適用は難しく、尖度および標準偏差の手法が適用される。
以上のような処理手順によって決定される各特徴量についてのランクに基づいて、図15に示すステップS108以下の処理、および/または、ステップS128以下の処理が実行される。
上述したように、本実施の形態に係る異常検知システム1においては、複数の手法を用いて各特徴量の重要度をそれぞれ算出した上で、複数の手法におけるそれぞれの特徴量を統合して、各特徴量を重要度の観点からランク付けする。
<J.学習データセットへの仮想データの追加>
次に、図15に示す解析ツール230のパラメータ決定機能276が担当する処理(ステップS110)の詳細について説明する。
学習データセットに含まれるデータの分布が歪んでいる(あるいは、偏っている)場合には、異常検知の精度を高めることが難しい。このような場合において、学習データセットに仮想データを追加することで、異常検知の精度を高める。
図17は、本実施の形態に係るサポート装置200の解析ツール230による学習データセットへの仮想データを追加する処理を説明するための模式図である。図17(A)には、オリジナルの学習データセットの一例を示し、図17(B)には、仮想データを追加した学習データセットの一例を示す。
図17(A)には、オリジナルの学習データ800を用いて生成したモデルに対して、評価データセット802を適用した場合に算出される異常スコア804を示す。
評価データセット802は、ラベル付けされた特徴量のデータセットの一部を学習データ800として採用し、残りを評価データセット802として採用することで作成してもよい。すなわち、モデル生成の際に選択された組合せの特徴量のデータ系列の一部が学習データセットとして用いられるとともに、当該データ系列の残りが評価データセット802として用いられてもよい。
図17(A)に示す異常スコア804の変化が示すように、学習データ800のデータの分布が歪んでいる場合には、異常検知の精度を高めることが難しい。また、図17(A)に示すように、異常領域806,808において、異常スコア804の値に変化がなく、分解能を得られない。
図17(B)には、オリジナルの学習データ810にノイズ811を仮想データとして追加した学習データセットを用いて生成したモデルに対して、評価データセット812を適用した場合に算出される異常スコア814を示す。
図17(B)に示す異常スコア814によれば、正常点(すなわち、学習データ)から離れるほど、より高い異常スコアを示すようになっており、学習データセットに含まれるデータの分布が歪んでいる(あるいは、偏っている)場合であっても、十分な異常検知できることが分かる。また、図17(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個の全次元の要素を含む仮想データを生成する。
図18は、本実施の形態に係るサポート装置200の解析ツール230により生成される仮想データの一例を示す模式図である。図18には、2次元の仮想データを生成する例を示す。各次元(特徴量1および特徴量2)は、それぞれ3つの要素を有している。すなわち、特徴量1=[10,20,30]、特徴量2=[−20,0,20]である場合、組合せにより生成された仮想データは、図18に示すようになる。
このように生成された仮想データは、生データから生成された特徴量のデータセットに対して付加されることで、学習データセットおよび評価データセットの両方または一部に仮想データを追加できる。
なお、図14に示すユーザインターフェイス画面520に含まれるスライダ540を調整することで、追加すべき仮想データの分布範囲を調整することができ、また、図14に示すユーザインターフェイス画面520に含まれるスライダ550を調整することで、追加すべき仮想データの数を適宜変更できるようにしてもよい。
すなわち、図14のユーザインターフェイス画面520に含まれるスライダ540,550は、追加される仮想の特徴量のデータ系列の統計的特性の設定を受付ける機能に相当する。
以上のような処理手順によって、仮想データが生成される。
<K.異常検知精度の評価>
次に、図15に示す解析ツール230のパラメータ決定機能276が担当する処理(ステップS112,S114,S130)の詳細について説明する。
本実施の形態に従う異常検知システム1においては、例えば、iForest法を用いた異常検知を実施する。iForest法においては、モデル生成段階においては、学習データセットをランダムに設定されるパーティションで分割し、各パーティションをノードとする木構造を構成する。異常検知は、入力されたデータが予め作成されたモデルのルートノードまでの深さ(パス長さ、あるいは、経路上のパーティションの数)に基づいて、異常であるか否かを判断する。
iForest法を用いる場合には、ステップS112およびS130において算出される異常スコアは、学習データセットをパーティションに分割した場合のパス長さに基づいて算出できる。さらに、ステップS114における異常の検知精度の算出方法としては、TruePositive軸とFalsePositive軸とにより規定されるROC(Receiver Operating Characteristic)曲線に基づいて、AUC(Under Area the Curve)を算出することで実現できる。
すなわち、学習データセットに含まれる、「正常」のラベルが付与されているデータと、「異常」のラベルが付与されているデータとを用いて、誤検知(「正常」のラベルが付与されているデータを「異常」と判断する、あるいは、「異常」のラベルが付与されているデータを「正常」と判断する)する確率を評価する。
このように、学習データセットとして用いる特徴量のデータ系列の各組合せについて、異常の検知精度を都度算出できる。
<L.変形例>
図2に示す異常検知システム1においては、制御装置100とサポート装置200とがそれぞれ独立した構成となっているが、サポート装置200の機能の全部または一部を制御装置100に組み入れるようにしてもよい。例えば、サポート装置200に実装される解析ツール230を、制御装置100に実装することで、生データの伝送やモデル生成処理の繰返し実行をより容易に実現できる。
上述の図6および図7に示すモジュール構成は一例であり、上述したような機能を提供できる限り、どのような実装を採用してもよい。例えば、ハードウェア上の制約や、プログラミング上の制約などによって、図6および図7に示す機能モジュールを複数の機能モジュールの集合として実装してもよいし、図6および図7に示す複数の機能モジュールを単一のモジュールとして実装してもよい。
<M.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御するための制御演算を実行する制御演算部(10;130)と、
前記制御演算部により収集される状態値のうち監視対象に関連する状態値(16:142)を、異常検知用パラメータ(162)および学習データセット(160)により規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部(12:150)と、
前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部(14:140)と、
前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部(30:280)と、
前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部(20:270)とを備え、
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から複数の特徴量を生成する手段(222:272)と、
前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段(24:274)と、
前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段(26:274)と、
前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価する手段(28:276)とを含む、異常検知システム。
[構成2]
前記選択された組合せの特徴量のデータ系列の一部が前記学習データセット(800)として用いられるとともに、当該データ系列の残りが評価データセット(802)として用いられ、
前記検知精度を評価する手段は、前記追加学習データセット(812)からなるモデルに前記評価データセットを適用したときの誤検知の確率を算出する、構成1に記載の異常検知システム。
[構成3]
前記モデル生成部は、前記評価データセットに統計的に生成された仮想の特徴量のデータ系列(811)を追加して追加評価データセット(812)を生成する手段をさらに含み、
前記検知精度を評価する手段は、前記追加評価データセットを用いて誤検知の確率を算出する、構成2に記載の異常検知システム。
[構成4]
前記モデル生成部は、前記追加される仮想の特徴量のデータ系列の統計的特性の設定を受付ける手段(540,542)をさらに含む、構成2または3に記載の異常検知システム。
[構成5]
前記モデル生成部は、任意の特徴量が追加で選択されることで、前記検知精度が向上すると、当該任意の特徴量を前記モデルとして登録する手段(276)をさらに含む、構成1〜4のいずれか1項に記載の異常検知システム。
[構成6]
前記モデル生成部は、前記生成された複数の特徴量のデータ系列の特定範囲に対して、正常および異常の少なくとも一方のラベルを付与する手段(230)をさらに含む、構成1〜5のいずれか1項に記載の異常検知システム。
[構成7]
前記モデル生成部は、前記生成された特徴量の各々の重要度を算出する手段(274)をさらに含み、
前記特徴量の組合せを選択する手段は、重要度の高い特徴量を優先的に選択する、構成1〜6のいずれか1項に記載の異常検知システム。
[構成8]
前記モデル生成部により決定された異常検知用パラメータおよび学習データセットを前記第1の異常検知部に設定する手段(232)をさらに備える、構成1〜7のいずれか1項に記載の異常検知システム。
[構成9]
制御対象を制御するための制御装置(100)に接続されるサポート装置(200)であって、前記制御装置は、収集される状態値のうち監視対象に関連する状態値(16:142)を、異常検知用パラメータ(162)および学習データセット(160)により規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部(12:150)と、前記収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部(14:140)とを備え、前記サポート装置は、
前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部(30:280)と、
前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部(20:270)とを備え、
前記モデル生成部は、
前記状態値格納部から提供される前記状態値から複数の特徴量を生成する手段(222:272)と、
前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段(24:274)と、
前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段(26:274)と、
前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価する手段(28:276)とを含む、サポート装置。
[構成10]
異常検知システム(1)におけるモデル生成方法であって、前記異常検知システムは、
制御対象を制御するための制御演算を実行する制御演算部(10;130)と、
前記制御演算部により収集される状態値のうち監視対象に関連する状態値(16:142)を、異常検知用パラメータ(162)および学習データセット(160)により規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部(12:150)と、
前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部(14:140)と、
前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部(30:280)と、
前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部(20:270)とを備え、
前記モデル生成方法は、
前記状態値格納部から提供される前記状態値から複数の特徴量を生成するステップ(S100)と、
前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択するステップ(S108)と、
前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成するステップ(S110)と、
前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価するステップ(S112,S114)とを含む、モデル生成方法。
<N.利点>
何らかの監視対象(任意の機械や装置)の異常を検知するための異常検知システムで用いられるモデルを生成するにあたっては、実際の監視対象で異常が発生したときに収集された状態値を用いてモデルの作成および更新を行っていた。そのため、モデル生成についての試行錯誤の回数が多く、検知精度を向上させるために多くの時間が必要であった。
これに対して、本実施の形態に係る異常検知システムによれば、制御装置と同じ異常検知のアルゴリズムをサポート装置にも用意する。このような環境を利用して、実際の監視対象で異常が発生しなくても、制御装置とサポート装置との間で、モデルの作成および更新を繰返し実行できる。
また、本実施の形態に係る異常検知システムにおいては、仮想の特徴量のデータ系列を学習データセットおよび/または評価データセットに追加して得られる追加データセットを用いて、検知精度が評価される。このような仮想の特徴量のデータ系列を追加することで、実際の監視対象から状態値を収集できなくても、実運用前に精度の高いモデルを構築できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 異常検知システム、2,4 フィールドネットワーク、6 上位ネットワーク、10 制御演算部、12,30 異常検知部、14 状態値格納部、16,124 I/Oユニット、20 モデル生成部、22,272 特徴量生成機能、24,274 特徴量選択機能、26 特徴量追加機能、28 検知精度評価機能、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 解析モジュール、276 パラメータ決定機能、280 解析ライブラリ、282 特徴量生成ライブラリ、284 特徴量選択ライブラリ、300 データベースサーバ、400 操作表示装置、500,520 ユーザインターフェイス画面、502,522 選択受付エリア、506,526 グラフ表示エリア、508,528 グラフ、510 異常範囲、512 ヒストグラム表示エリア、514 ラベル付与ツール、516 正常ラベル設定ボタン、517 異常ラベル設定ボタン、518 ラベル設定範囲指定ボタン、524 チェックボックス、530,532 数値表示、534 値設定スライダ、535 しきい値表示バー、536 リセットボタン、538 学習データ生成ボタン、540,550 スライダ、600 包装機、604 包装体、605 被包装物、606 個別包装体、610,620 ロータ、612,622 回転軸、614,624 処理機構、615,616,625,626 ヒータ、617,627 カッター、618,628 サーボモータ、619,629 サーボドライバ、702,704,706,708 評価値コラム、710 ランクコラム、800,810 学習データ、802,812 評価データセット、804,814 異常スコア、806,808,816,818 異常領域、811 ノイズ。

Claims (10)

  1. 制御対象を制御するための制御演算を実行する制御演算部と、
    前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、
    前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部と、
    前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、
    前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とを備え、
    前記モデル生成部は、
    前記状態値格納部から提供される前記状態値から複数の特徴量を生成する手段と、
    前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段と、
    前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段と、
    前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価する手段とを含む、異常検知システム。
  2. 前記選択された組合せの特徴量のデータ系列の一部が前記学習データセットとして用いられるとともに、当該データ系列の残りが評価データセットとして用いられ、
    前記検知精度を評価する手段は、前記追加学習データセットからなるモデルに前記評価データセットを適用したときの誤検知の確率を算出する、請求項1に記載の異常検知システム。
  3. 前記モデル生成部は、前記評価データセットに統計的に生成された仮想の特徴量のデータ系列を追加して追加評価データセットを生成する手段をさらに含み、
    前記検知精度を評価する手段は、前記追加評価データセットを用いて誤検知の確率を算出する、請求項2に記載の異常検知システム。
  4. 前記モデル生成部は、前記追加される仮想の特徴量のデータ系列の統計的特性の設定を受付ける手段をさらに含む、請求項2または3に記載の異常検知システム。
  5. 前記モデル生成部は、任意の特徴量が追加で選択されることで、前記検知精度が向上すると、当該任意の特徴量を前記モデルとして登録する手段をさらに含む、請求項1〜4のいずれか1項に記載の異常検知システム。
  6. 前記モデル生成部は、前記生成された複数の特徴量のデータ系列の特定範囲に対して、正常および異常の少なくとも一方のラベルを付与する手段をさらに含む、請求項1〜5のいずれか1項に記載の異常検知システム。
  7. 前記モデル生成部は、前記生成された特徴量の各々の重要度を算出する手段をさらに含み、
    前記特徴量の組合せを選択する手段は、重要度の高い特徴量を優先的に選択する、請求項1〜6のいずれか1項に記載の異常検知システム。
  8. 前記モデル生成部により決定された異常検知用パラメータおよび学習データセットを前記第1の異常検知部に設定する手段をさらに備える、請求項1〜7のいずれか1項に記載の異常検知システム。
  9. 制御対象を制御するための制御装置に接続されるサポート装置であって、前記制御装置は、収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、前記収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部とを備え、前記サポート装置は、
    前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、
    前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とを備え、
    前記モデル生成部は、
    前記状態値格納部から提供される前記状態値から複数の特徴量を生成する手段と、
    前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択する手段と、
    前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成する手段と、
    前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価する手段とを含む、サポート装置。
  10. 異常検知システムにおけるモデル生成方法であって、前記異常検知システムは、
    制御対象を制御するための制御演算を実行する制御演算部と、
    前記制御演算部により収集される状態値のうち監視対象に関連する状態値を、異常検知用パラメータおよび学習データセットにより規定される当該監視対象を示すモデルに与えることで、当該監視対象に生じ得る異常を検知する第1の異常検知部と、
    前記制御演算部により収集される状態値のうち少なくとも前記監視対象に関連する状態値を格納する状態値格納部と、
    前記状態値格納部から提供される前記状態値を用いて、前記第1の異常検知部と実質的に同一の検知処理を実行する第2の異常検知部と、
    前記第2の異常検知部による検知結果に基づいて、前記異常検知用パラメータおよび前記学習データセットを決定するモデル生成部とを備え、
    前記モデル生成方法は、
    前記状態値格納部から提供される前記状態値から複数の特徴量を生成するステップと、
    前記生成された複数の特徴量のうち1または複数の特徴量の組合せを選択するステップと、
    前記選択された組合せの特徴量のデータ系列の少なくとも一部と、統計的に生成された仮想の特徴量のデータ系列とからなる追加学習データセットを生成するステップと、
    前記追加学習データセットを用いて、前記選択された組合せの特徴量に対応するモデルの検知精度を評価するステップとを含む、モデル生成方法。
JP2018046673A 2018-03-14 2018-03-14 異常検知システム、サポート装置およびモデル生成方法 Active JP6879239B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018046673A JP6879239B2 (ja) 2018-03-14 2018-03-14 異常検知システム、サポート装置およびモデル生成方法
EP19151600.4A EP3540544A1 (en) 2018-03-14 2019-01-14 Abnormality detection system, support device, and model generation method
CN201910031702.9A CN110275506B (zh) 2018-03-14 2019-01-14 异常检测系统、支持装置以及模型生成方法
US16/248,787 US11163277B2 (en) 2018-03-14 2019-01-16 Abnormality detection system, support device, and model generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018046673A JP6879239B2 (ja) 2018-03-14 2018-03-14 異常検知システム、サポート装置およびモデル生成方法

Publications (2)

Publication Number Publication Date
JP2019159902A JP2019159902A (ja) 2019-09-19
JP6879239B2 true JP6879239B2 (ja) 2021-06-02

Family

ID=65030921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018046673A Active JP6879239B2 (ja) 2018-03-14 2018-03-14 異常検知システム、サポート装置およびモデル生成方法

Country Status (4)

Country Link
US (1) US11163277B2 (ja)
EP (1) EP3540544A1 (ja)
JP (1) JP6879239B2 (ja)
CN (1) CN110275506B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294756B1 (en) * 2019-09-19 2022-04-05 Amazon Technologies, Inc. Anomaly detection in a network
JP7446771B2 (ja) * 2019-10-30 2024-03-11 株式会社東芝 可視化データ生成装置、可視化データ生成システム、及び可視化データ生成方法
US11750629B2 (en) * 2019-11-21 2023-09-05 Hewlett Packard Enterprise Development Lp Classification based anomaly detection
CN110933080B (zh) * 2019-11-29 2021-10-26 上海观安信息技术股份有限公司 一种用户登录异常的ip群体识别方法及装置
CN110991552B (zh) * 2019-12-12 2021-03-12 支付宝(杭州)信息技术有限公司 基于联邦学习的孤立森林模型构建和预测方法和装置
JP7384059B2 (ja) * 2020-02-06 2023-11-21 富士通株式会社 検知プログラム、検知方法及び検知装置
CN111314910B (zh) * 2020-02-25 2022-07-15 重庆邮电大学 一种映射隔离森林的无线传感器网络异常数据检测方法
CN111400294B (zh) * 2020-03-12 2023-08-01 时时同云科技(成都)有限责任公司 数据异常监测方法、装置及系统
WO2022091530A1 (ja) * 2020-11-02 2022-05-05 Soinn株式会社 推定装置、推定方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP7229443B2 (ja) * 2021-01-07 2023-02-27 三菱電機株式会社 ログ生成装置、ログ生成方法、及び、ログ生成プログラム
CN112859646B (zh) * 2021-02-08 2022-11-22 广西玉柴机器股份有限公司 双行星轮混合动力硬件在环仿真系统
JP2023002081A (ja) * 2021-06-22 2023-01-10 オムロン株式会社 予測システム、情報処理装置および情報処理プログラム
US20230132720A1 (en) * 2021-10-29 2023-05-04 Intuit Inc. Multiple input machine learning framework for anomaly detection
CN114459574B (zh) * 2022-02-10 2023-09-26 电子科技大学 一种高速流体流量测量准确率自动化评估方法、装置和存储介质
CN116401138B (zh) * 2023-06-08 2023-09-15 建信金融科技有限责任公司 操作系统的运行状态检测方法、装置、电子设备和介质
CN116610938B (zh) * 2023-07-19 2023-10-10 合肥喆塔科技有限公司 曲线模式分段的半导体制造无监督异常检测方法及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2438903C (en) * 2001-03-08 2008-10-21 California Institute Of Technology Exception analysis for multimissions
JP2003058242A (ja) * 2001-08-10 2003-02-28 Mitsubishi Electric Corp プラント運転支援システム
TWI267012B (en) * 2004-06-03 2006-11-21 Univ Nat Cheng Kung Quality prognostics system and method for manufacturing processes
JP2006105943A (ja) * 2004-10-08 2006-04-20 Omron Corp 知識作成装置及びパラメータ探索方法並びにプログラム製品
US7818276B2 (en) * 2006-02-03 2010-10-19 Recherche 2000 Inc. Intelligent monitoring system and method for building predictive models and detecting anomalies
JP5301310B2 (ja) * 2009-02-17 2013-09-25 株式会社日立製作所 異常検知方法及び異常検知システム
JP5284433B2 (ja) * 2011-09-14 2013-09-11 株式会社東芝 プロセス監視・診断・支援装置
US20170103148A1 (en) * 2014-03-27 2017-04-13 Nec Corporation System-analyzing device, analysis-model generation method, system analysis method, and system-analyzing program
JP6280997B1 (ja) * 2016-10-31 2018-02-14 株式会社Preferred Networks 疾患の罹患判定装置、疾患の罹患判定方法、疾患の特徴抽出装置及び疾患の特徴抽出方法

Also Published As

Publication number Publication date
US11163277B2 (en) 2021-11-02
CN110275506B (zh) 2022-04-05
JP2019159902A (ja) 2019-09-19
US20190286085A1 (en) 2019-09-19
EP3540544A1 (en) 2019-09-18
CN110275506A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
JP6879239B2 (ja) 異常検知システム、サポート装置およびモデル生成方法
JP7063022B2 (ja) 異常検知システム、サポート装置およびモデル生成方法
JP2019179395A (ja) 異常検知システム、サポート装置および異常検知方法
JP6919186B2 (ja) 制御システム、制御プログラムおよび制御方法
CN108508850B (zh) 用于制造过程数据收集和分析的方法、系统及存储介质
US10860004B2 (en) Management system and non-transitory computer-readable recording medium
US10747212B2 (en) Management system and non-transitory computer-readable recording medium
JP6468313B2 (ja) 制御装置、制御プログラムおよび制御方法
JP7151108B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20180284733A1 (en) Controller, control program, control system, and control method
JP2022020722A5 (ja)
JP2021015573A (ja) 異常判定装置及び異常判定システム
WO2018189845A1 (ja) 作業管理システム及び作業管理方法
Schmidt et al. Automated Anomaly Detection in CPS Log Files: A Time Series Clustering Approach
JP7063229B2 (ja) 制御装置および制御プログラム
JP6360016B2 (ja) 診断装置、診断システム、機器、及び、診断方法
JP7151312B2 (ja) 制御システム
JP7063212B2 (ja) 制御装置および制御システム
JP6648078B2 (ja) 状態判定装置、状態判定方法及び状態判定プログラム
WO2023047545A1 (ja) 追加学習データ選定装置及びコンピュータ読み取り可能な記録媒体
JP7471529B1 (ja) 診断システム及び診断方法
WO2022162957A1 (ja) 情報処理装置、制御システムおよびレポート出力方法
JP2023151722A (ja) 情報処理システム、情報処理方法および情報処理装置
WO2023209774A1 (ja) 異常診断方法、異常診断装置、および、異常診断プログラム
WO2022138775A1 (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: 20210323

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: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6879239

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250