(57)【要約】【課題】大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である異常検出装置、異常検出方法、異常検出プログラム及び記録媒体を提供する。【解決手段】異常検出装置は、取得部と、切出部と、特徴抽出部と、学習部と、乖離度算出部とを備える。取得部２は、装置データを取得する。切出部は、取得された装置データから、予め定められた条件に基づいてデータを切り出す。特徴抽出部は、切り出された装置データから特徴ベクトルを抽出する。学習部は、抽出された特徴ベクトルを分析する。学習部は、分析結果に基づいて特徴ベクトルのモデルを生成する。乖離度算出部は、新たに取得された装置データの特徴ベクトルと、特徴ベクトルのモデルとの乖離度を算出する。【選択図】図１
2019207660.tif 000002
【特許請求の範囲】
【請求項１】
検出対象の装置に関するデータを取得する取得部と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す切出部と、
切り出されたデータから特徴ベクトルを抽出する特徴抽出部と、
抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する学習部と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する乖離度算出部と
を備える異常検出装置。
【請求項２】
前記乖離度を出力する出力部を更に備える、請求項１に記載の異常検出装置。
【請求項３】
予め定められた処理を前記乖離度に基づいて実行する後処理部を更に備える、請求項１又は請求項２に記載の異常検出装置。
【請求項４】
複数の選択部と、
合成部と
を更に備え、
前記複数の選択部は、抽出された前記特徴ベクトルのうちから分析の対象とされる前記特徴ベクトルを制御信号に基づいて選択し、
前記学習部は、前記選択部による選択結果ごとに前記特徴ベクトルを分析し、分析結果に基づいて複数の前記モデルを生成し、
前記乖離度算出部は、前記モデルごとに前記乖離度を算出し、
前記合成部は、前記モデルごとに算出された前記乖離度を合成する、
請求項１から請求項３のいずれか一項に記載の異常検出装置。
【請求項５】
前記乖離度算出部は、前記モデルにおける前記特徴ベクトルの解釈値を算出する、
請求項１から請求項４のいずれか一項に記載の異常検出装置。
【請求項６】
前記特徴ベクトルの要素ごとに前記乖離度を算出する要素別乖離度算出部と、
前記要素ごとに算出された前記乖離度を合算する乖離度合算部と
を更に備える、請求項５に記載の異常検出装置。
【請求項７】
異常検出装置が実行する異常検出方法であって、
検出対象の装置に関するデータを取得するステップと、
取得されたデータから、予め定められた条件に基づいてデータを切り出すステップと、
切り出されたデータから特徴ベクトルを抽出するステップと、
抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成するステップと、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出するステップと
を含む異常検出方法。
【請求項８】
コンピュータに、
検出対象の装置に関するデータを取得する手順と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、
切り出されたデータから特徴ベクトルを抽出する手順と、
抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順と
を実行させるための異常検出プログラム。
【請求項９】
コンピュータに、
検出対象の装置に関するデータを取得する手順と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、
切り出されたデータから特徴ベクトルを抽出する手順と、
抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順と
を実行させるための異常検出プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出装置、異常検出方法、異常検出プログラム及び記録媒体に関する。
【背景技術】
【０００２】
異常検出装置は、生産設備等の装置の異常を検出する場合がある。異常検出装置は、検出対象の装置に異常が検出されていない期間（正常時）における、その装置に関するデータを取得する。異常検出装置は、異常が検出されていない期間におけるデータ（以下「正常時データ」という。）を、データベースに蓄積する。
【０００３】
従来の異常検出装置は、大きな記憶容量のデータベースに蓄積されたデータに基づいて、主成分分析、ＭＴ（マハラノビス・タグチ）法又はニューラルネットワーク等を用いて、正常時データのモデルを生成する。異常検出装置は、正常時データのモデルと、新たに取得されたデータとの乖離度（非正常度）に基づいて、検出対象の装置の異常を検出する。また、従来の異常検出装置は、正常時データのモデルを生成することなく、正常時データの各サンプルと新たに取得されたデータとの乖離度に基づいて、検出対象の装置の異常を検出してもよい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２１８７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
装置の振動、電流及び画像等の正常時データは、高い周波数でサンプリングされる場合がある。このため、正常時データを蓄積するデータベースには、大きな記憶容量が必要とされる。しかしながら、大きな記憶容量のデータベースを生産設備等の現場に設置することは、費用対効果の観点から難しい場合がある。また、どの程度まで大きな記憶容量のデータベースが必要なのかが事前に分かっていなければ、生産設備等の現場にデータベースを設置することが難しい場合がある。
【０００６】
上記事情に鑑み、本発明は、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である異常検出装置、異常検出方法、異常検出プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、検出対象の装置に関するデータを取得する取得部と、取得されたデータから、予め定められた条件に基づいてデータを切り出す切出部と、切り出されたデータから特徴ベクトルを抽出する特徴抽出部と、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する学習部と、新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する乖離度算出部とを備える異常検出装置である。
【０００８】
上記の構成により、異常検出装置は、データを蓄積する前にデータを分析をして乖離度を算出するので、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【０００９】
本発明の一態様は、上記の異常検出装置であって、前記乖離度を出力する出力部を更に備える。
【００１０】
上記の構成により、異常検出装置は、乖離度を外部装置に出力することが可能である。
【００１１】
本発明の一態様は、上記の異常検出装置であって、予め定められた処理を前記乖離度に基づいて実行する後処理部を更に備える。
【００１２】
上記の構成により、異常検出装置は、算出された乖離度のノイズを低減することが可能である。異常検出装置は、算出された乖離度を強調することが可能である。
【００１３】
本発明の一態様は、上記の異常検出装置であって、複数の選択部と、合成部とを更に備え、前記複数の選択部は、抽出された前記特徴ベクトルのうちから分析の対象とされる前記特徴ベクトルを制御信号に基づいて選択し、前記学習部は、前記選択部による選択結果ごとに前記特徴ベクトルを分析し、分析結果に基づいて複数の前記モデルを生成し、前記乖離度算出部は、前記モデルごとに前記乖離度を算出し、前記合成部は、前記モデルごとに算出された前記乖離度を合成する。
【００１４】
上記の構成により、異常検出装置は、データのばらつきによるモデル推定の差異を考慮して、特徴ベクトルのモデルを安定的に推定することが可能である。異常検出装置は、データのばらつきによるモデル推定の差異を考慮して、特徴ベクトルのモデルに基づいて、乖離度を安定的に算出することが可能である。
【００１５】
本発明の一態様は、上記の異常検出装置であって、前記乖離度算出部は、前記モデルにおける前記特徴ベクトルの解釈値を算出する。
【００１６】
上記の構成により、乖離度を特徴ベクトルの要素ごとに算出することが可能である。
【００１７】
本発明の一態様は、上記の異常検出装置であって、前記特徴ベクトルの要素ごとに前記乖離度を算出する要素別乖離度算出部と、前記要素ごとに算出された前記乖離度を合算する乖離度合算部とを更に備える。
【００１８】
上記の構成により、異常検出装置、抽出された特徴ベクトルの貢献度を算出することが可能である。
【００１９】
本発明の一態様は、異常検出装置が実行する異常検出方法であって、検出対象の装置に関するデータを取得するステップと、取得されたデータから、予め定められた条件に基づいてデータを切り出すステップと、切り出されたデータから特徴ベクトルを抽出するステップと、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成するステップと、新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出するステップとを含む異常検出方法である。
【００２０】
上記の構成により、異常検出装置は、異常検出方法を実行することによって、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【００２１】
本発明の一態様は、コンピュータに、検出対象の装置に関するデータを取得する手順と、取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、切り出されたデータから特徴ベクトルを抽出する手順と、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順とを実行させるための異常検出プログラムである。
【００２２】
上記の構成により、異常検出装置は、異常検出プログラムを実行することによって、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【００２３】
本発明の一態様は、コンピュータに、検出対象の装置に関するデータを取得する手順と、取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、切り出されたデータから特徴ベクトルを抽出する手順と、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順とを実行させるための異常検出プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２４】
上記の構成により、異常検出装置は、コンピュータ読み取り可能な記録媒体に記録された異常検出プログラムを実行することによって、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【発明の効果】
【００２５】
本発明により、データを蓄積する前にデータを分析をして乖離度を算出するので、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態における、異常検出装置の構成の例を示す図である。
【図２】第１実施形態における、切出処理の例を示す図である。
【図３】第１実施形態における、異常検出装置の動作の例を示すフローチャートである。
【図４】第２実施形態における、異常検出装置の構成の例を示す図である。
【図５】第２実施形態における、異常検出装置の動作の例を示すフローチャートである。
【図６】第３実施形態における、異常検出装置の構成の例を示す図である。
【図７】第３実施形態における、異常検出装置の動作の例を示すフローチャートである。
【図８】第４実施形態における、異常検出装置の構成の例を示す図である。
【図９】第４実施形態における、異常検出装置の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の実施形態について、図面を参照して詳細に説明する。
（第１実施形態）
図１は、異常検出装置１ａの構成の例を示す図である。異常検出装置１ａは、情報処理装置であり、例えば、パーソナルコンピュータ、ワークステーション等である。異常検出装置１ａは、例えばＰＬＣ（Programmable Logic Controller）に備えられた情報処理部でもよい。
【００２８】
異常検出装置１ａは、検出対象の装置に関するデータ（以下「装置データ」という。）を取得し、取得された装置データを分析する。装置データは、大きな記憶容量のデータベースに蓄積されなくてもよい。検出対象の装置は、特定の装置に限られないが、例えば、生産設備に設置された電動機、ポンプである。装置データは、物理量のデータであり、例えば、振動、温度、電流、トルク、圧力、流量等の実数データである。装置データは、装置に与えられた指示値でもよく、例えば、発停、処理モード又は処理量を表す指示値でもよい。
【００２９】
異常検出装置１ａは、装置データが分析された結果（学習結果）に基づいて、その装置データの特徴ベクトルのモデルを生成する。異常検出装置１ａは、装置データに基づいて生成されたモデルと、新たに取得された装置データの特徴ベクトルとの乖離度（非正常度）に基づいて、検出対象の装置の異常を検出する。
【００３０】
異常検出装置１ａは、取得部２と、切出部３と、特徴抽出部４と、モデル処理部５ａと、出力部６とを備える。これら機能部の一部又は全部は、ＣＰＵ（Central Processing Unit）等のプロセッサがプログラムを実行することにより実現される。また、各機能部の一部又は全部は、ＦＰＧＡ（Field-Programmable Gate Array）、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて実現されてもよい。
【００３１】
取得部２は、検出対象の装置の状態をセンシングしたセンサから、有線又は無線の通信によって装置データを取得する。取得部２は、検出対象の装置に備えられたインタフェースから、有線又は無線の通信によって装置データを取得してもよい。取得部２は、取得された装置データと時刻情報（タイムスタンプ）とを対応づける。取得部２は、時刻情報に対応付けられた装置データのファイルを、外部装置から取得してもよい。装置データのファイルの形式は、例えば、ＣＳＶ（Comma-Separated Values）形式である。
【００３２】
取得部２は、取得された装置データの形式を、切出部３が使用する装置データの形式に変換する。例えば、取得部２がＡＤコンバータ（アナログ・デジタル変換器）である場合、取得部２は、センサから取得された装置データを表すアナログ信号を、切出部３が使用するデジタル信号に変換する。例えば、取得部２がサーバである場合、取得部２は、ＬＡＮ（Local Area Network）を介して取得されたパケットを、切出部３が使用するベースバンド信号に変換する。装置データＸ（ｔ）は、式（１）のように表される。
【００３３】
【数１】
2019207660.tif 000003
【００３４】
ここで、ｔは、離散時間（サンプリング時刻）を表す変数である。ｄは、取得部２によって取得された装置データの個数である。
【００３５】
切出部３は、装置データの切出処理を制御する信号（以下「切出制御信号」という。）を取得する。切出部３は、時系列で連続する各装置データを、取得部２によって取得された装置データから、切出制御信号に応じて切り出す。
【００３６】
図２は、切出処理の例を示す図である。第１センサの装置データは、例えば検出対象の装置の振動データである。第２センサの装置データは、例えば検出対象の装置の圧力データである。外部ファイルの装置データは、例えば検出対象の装置の電流データである。外部記憶装置の装置データは、例えば検出対象の装置の電圧データである。切出制御信号は、例えば、スイッチ等のオン又はオフを表す装置データに応じている。これらの装置データは一例である。
【００３７】
切出部３は、オン又はオフを表す切出制御信号がオンを表す期間（時刻ｔ１から時刻ｔ２までの期間）について、時系列で連続する各装置データ（セグメント）を切り出す。切り出された各装置データＳ（ｋ）は、式（２）のように表される。
【００３８】
【数２】
2019207660.tif 000004
【００３９】
ここで、ｋは、切り出された装置データの通し番号を表す。ｎｋは、ｋ番目の切り出された装置データに含まれるサンプルの個数（以下「セグメント長」という。）である。セグメント長は一定でなくてもよい。
【００４０】
切出部３は、パルス信号である切出制御信号の始端が検出された時刻から所定時間が経過するまでの時刻について、時系列で連続する各装置データを切り出してもよい。切出部３は、パルス信号である切出制御信号の終端が検出された時刻から所定時間が経過するまでの時刻について、時系列で連続する各装置データを切り出してもよい。
【００４１】
切出部３は、パルス信号である切出制御信号が検出された時刻から、次の切出制御信号が検出される時刻までの期間について、時系列で連続する各装置データを切り出してもよい。切出部３は、予め定められた装置データが閾値以上となった時刻から、その装置データが閾値未満となった時刻までの期間について、時系列で連続する各装置データを切り出してもよい。また、切出部３は、外部信号によらずに定周期で各装置データを切り出してもよい。
【００４２】
特徴抽出部４は、切り出された装置データを分析することによって、切り出された装置データＳ（ｋ）から特徴ベクトルを抽出する。すなわち、特徴抽出部４は、切り出された装置データの特徴ベクトルｚ（ｋ）を、式（３）のように生成する。
【００４３】
【数３】
2019207660.tif 000005
【００４４】
ここで、ｚは、特徴ベクトルであり、ｍ次元の実数値を定義域として持つ縦ベクトルである。特徴抽出部４が特徴ベクトルを抽出する方法は、特定の方法に限定されない。例えば、特徴抽出部４は、通し番号ｋの切り出された装置データに関して、平均、標準偏差、最小値、最大値等の統計量を算出する。これら４個の統計量を特徴抽出部４が算出する場合、特徴抽出部４は、ｍ（＝４×ｄ）次元の特徴ベクトルを生成する。特徴抽出部４は、フーリエ変換によって装置データが分解された周期信号ごとのパワーを、特徴ベクトルとして抽出してもよい。特徴抽出部４は、装置データの順序統計量を特徴ベクトルとして抽出してもよい。
【００４５】
モデル処理部５ａは、抽出された特徴ベクトルを分析する。モデル処理部５ａは、分析結果に基づいて、特徴ベクトルのモデル（基準パターンモデル）を生成する。モデル処理部５ａは、学習部５０と、記憶部５１と、乖離度算出部５２ａとを備える。
【００４６】
学習部５０は、学習制御信号を外部装置から取得する。学習制御信号は、例えばオン又はオフを表す信号である。学習制御信号のオン又はオフは、例えば、ユーザ又は外部システムによって操作される。学習部５０は、学習制御信号がオンを表す場合、抽出された装特徴ベクトルを、特徴抽出部４から取得する。学習部５０は、抽出された特徴ベクトルごとに、特徴ベクトルを分析（学習）する。学習部５０は、特徴ベクトルの分析結果に基づいて、特徴ベクトルのモデルを生成する。このように、学習部５０は、特徴ベクトルのモデルを逐次的に生成する。
【００４７】
特徴ベクトルのモデルは、特定の形態のモデルに限定されないが、例えば、特徴ベクトルzの各要素の間で連続する変数が満たすべき式（４）のような拘束条件（関係性）が与えられた連立方程式で表されるモデルである。学習部５０は、主成分分析を実行することによって、式（４）のような拘束条件を得る。学習部５０は、ニューラルネットワークを用いて拘束条件を得てもよい。
【００４８】
【数４】
2019207660.tif 000006
【００４９】
特徴ベクトルのモデルは、例えば、特徴ベクトルzの確率密度分布ｐ（ｚ）で表されるモデルでもよい。例えば、学習部５０は、特徴ベクトルzの多変量正規分布で表されるモデルを生成する。特徴ベクトルzの多変量正規分布は、特徴ベクトルzの平均値ベクトルμ∈Ｒｍ及び共分散行列Σ∈Ｒｍ×ｍによって表される。学習部５０は、特徴ベクトルzの多変量正規分布を、式（５）及び式（６）のように算出する。
【００５０】
【数５】
2019207660.tif 000007
【００５１】
【数６】
2019207660.tif 000008
【００５２】
ここで、ｚｓｕｍは、特徴ベクトルの累積和を表す。Ｚｓｕｍは、特徴ベクトルの行列とその特徴ベクトルが転置されたベクトルとの行列積の累積和を表す。それらの各要素は、多変量正規分布における十分統計量を構成する。すなわち、多変量正規分布の平均値ベクトル及び共分散行列は、ｚｓｕｍ及びＺｓｕｍに基づいて算出可能である。
【００５３】
学習部５０は、１番目から（ｋ−１）番目までの切り出された装置データに基づく特徴ベクトルの累積和ｚｓｕｍ（ｋ−１）と、ｋ番目の切り出された装置データの特徴ベクトルｚ（ｋ）とに基づいて、１番目からｋ番目までの切り出された装置データに基づく特徴ベクトルの累積和ｚｓｕｍ（ｋ）を、式（７）のように算出する。
【００５４】
【数７】
2019207660.tif 000009
【００５５】
学習部５０は、１番目から（ｋ−１）番目までの切り出された装置データに基づく特徴ベクトルとその特徴ベクトルが転置されたベクトルとの行列積の累積和Ｚｓｕｍ（ｋ−１）と、ｋ番目の切り出された装置データの特徴ベクトルの行列Ｚ（ｋ）とに基づいて、１番目からｋ番目までの切り出された装置データに基づく特徴ベクトルとその特徴ベクトルが転置されたベクトルとの行列積の累積和Ｚｓｕｍ（ｋ）を、式（８）のように算出する。
【００５６】
【数８】
2019207660.tif 000010
【００５７】
学習部５０は、取得部２によって取得された装置データを大きな記憶容量のデータベースに蓄積することなく、平均値ベクトルμ（ｋ）と共分散行列Σ（ｋ）と特徴ベクトルの累積和ｚｓｕｍ（ｋ）と特徴ベクトルの行列積の累積和Ｚｓｕｍ（ｋ）とによって定まる多変量正規分布を、特徴ベクトルｚのモデルとして算出する。
【００５８】
学習部５０は、取得された装置データを近似する確率分布であれば、多変量正規分布以外の確率分布を算出してもよい。例えば、多変量正規分布以外の確率分布は、混合多変量正規分布、装置データの複数のサンプルに基づく経験的な密度関数である。学習部５０は、生成された特徴ベクトルのモデルを記憶部５１に記録する。
【００５９】
記憶部５１は、フラッシュメモリ等の不揮発性の記憶装置（非一時的な記録媒体）である。記憶部５１は、特徴ベクトルのモデルを記憶する。特徴ベクトルのモデルは、例えば数式データで表される。特徴ベクトルのモデルは、学習部５０によって生成された特徴ベクトルのモデルで更新される。記憶部５１は、プログラムを記憶してもよい。記憶部５１は、ＲＡＭ（Random Access Memory）等の揮発性の記録媒体を更に備えてもよい。
【００６０】
乖離度算出部５２ａは、特徴ベクトルのモデルが生成された後に新たに取得された装置データの特徴ベクトルｚｔｅｓｔを、特徴抽出部４から取得する。乖離度算出部５２ａは、特徴ベクトルｚｔｅｓｔと、記憶部５１に記憶されている特徴ベクトルのモデルとの乖離度（非正常度）を算出する。
【００６１】
例えば、乖離度算出部５２ａは、特徴ベクトルのモデルが特徴ベクトルzの確率分布ｐ（ｚ）で表される場合、ｚｔｅｓｔの負の対数尤度を、乖離度として算出する。例えば、乖離度算出部５２ａは、特徴ベクトルのモデルを表す数式のパラメータに所定の演算処理を実行することによって、乖離度を算出してもよい。例えば、特徴ベクトルzの各要素の間に式（４）のような拘束条件に基づくモデルでは、乖離度算出部５２ａは、拘束条件の不整合度（例えば、ｆ（ｚ）のＬ２ノルム）を、乖離度として算出してもよい。
【００６２】
出力部６は、算出された乖離度を外部装置に出力する。外部装置は、例えば表示装置である。外部装置が表示装置である場合、外部装置は、算出された乖離度を表す画像を表示する。
【００６３】
次に、異常検出装置１ａの動作の例を説明する。
図３は、異常検出装置１ａの動作の例を示すフローチャートである。取得部２は、装置データを取得する（ステップＳ１０１）。切出部３は、切出処理を実行する条件が成立しているか否かを判定する。例えば、切出部３は、切出制御信号がオンを表す場合、切出処理を実行する条件が成立していると判定する（ステップＳ１０２）。
【００６４】
切出処理を実行する条件が成立していない場合（ステップＳ１０２：ＮＯ）、切出部３は、ステップＳ１０２の処理を再実行する。切出処理を実行する条件が成立している場合（ステップＳ１０２：ＹＥＳ）、切出部３は、取得された装置データから、予め定められた条件に基づいてデータを切り出す。例えば、切出部３は、切出制御信号の検出時刻に基づいて、時系列で連続する各装置データを切り出す（ステップＳ１０３）。特徴抽出部４は、切り出された装置データから特徴ベクトルｚを抽出する（ステップＳ１０４）。
【００６５】
学習部５０は、学習処理を実行する条件が成立しているか否かを判定する。例えば、学習部５０は、学習制御信号がオンを表す場合、学習処理を実行する条件が成立していると判定する（ステップＳ１０５）。学習処理を実行する条件が成立していない場合（ステップＳ１０５：ＮＯ）、乖離度算出部５２ａは、ステップＳ１０８の処理を実行する。
【００６６】
学習処理を実行する条件が成立している場合（ステップＳ１０５：ＹＥＳ）、学習部５０は、抽出された特徴ベクトルｚを分析し、分析結果に基づいて特徴ベクトルのモデルを生成する（ステップＳ１０６）。学習部５０は、記憶部５１に記憶されている特徴ベクトルのモデルを、新たに生成された特徴ベクトルのモデルで更新する（ステップＳ１０７）。
【００６７】
乖離度算出部５２ａは、新たに取得された装置データの特徴ベクトルを、特徴抽出部４から取得する。乖離度算出部５２ａは、新たに取得された装置データの特徴ベクトルと、記憶部５１に記憶されている特徴ベクトルのモデルとの乖離度を算出する（ステップＳ１０８）。出力部６は、算出された乖離度を外部装置等に出力する（ステップＳ１０９）。なお、ステップＳ１０５からステップＳ１０７までの処理と、ステップＳ１０８の処理とは、実行順を交換することが可能である。
【００６８】
以上のように、第１実施形態の異常検出装置１ａは、取得部２と、切出部３と、特徴抽出部４と、学習部５０と、乖離度算出部５２ａとを備える。取得部２は、装置データを取得する。切出部３は、取得された装置データから、予め定められた条件に基づいてデータを切り出す。特徴抽出部４は、切り出された装置データから特徴ベクトルを抽出する。学習部５０は、抽出された特徴ベクトルを分析する。学習部５０は、分析結果に基づいて特徴ベクトルのモデルを生成する。乖離度算出部５２ａは、新たに取得された装置データの特徴ベクトルと、特徴ベクトルのモデルとの乖離度を算出する。
【００６９】
これによって、第１実施形態の異常検出装置１ａは、データを蓄積する前にデータを分析をして乖離度を算出するので、大きな記憶容量のデータベースがなくても検出対象の装置の異常を検出することが可能である。
【００７０】
（第２実施形態）
第２実施形態では、異常検出装置が後処理部を備える点が、第１実施形態と相違する。第２実施形態では、第１実施形態との相違点について説明する。
【００７１】
図４は、異常検出装置１ｂの構成の例を示す図である。異常検出装置１ｂは、取得部２と、切出部３と、特徴抽出部４と、モデル処理部５ｂと、出力部６と、後処理部７とを備える。モデル処理部５ｂは、学習部５０と、記憶部５１と、乖離度算出部５２ｂとを備える。
【００７２】
後処理部７は、算出された乖離度を乖離度算出部５２ｂから取得する。後処理部７は、一定期間ごとの乖離度を算出する。例えば、後処理部７は、所定個数の装置データのサンプルについて、乖離度の平均値（単純移動平均）を算出してもよい。例えば、後処理部７は、所定個数の装置データのサンプルについて、乖離度の重みづけ平均（指数平滑平均）を算出してもよい。例えば、後処理部７は、一定期間における乖離度の統計量（例えば、最大値）を算出してもよい。出力部６は、乖離度を外部装置等に出力する。
【００７３】
次に、異常検出装置１ｂの動作の例を説明する。
図５は、異常検出装置１ｂの動作の例を示すフローチャートである。ステップＳ２０１からステップＳ２０８までの処理は、図３に示されたステップＳ１０１からステップＳ１０８までの処理と同様である。ステップＳ２０８の次に、後処理部７は、一定期間ごとの乖離度を算出する（ステップＳ２０９）。出力部６は、乖離度を外部装置等に出力する（ステップＳ２１０）。
【００７４】
以上のように、第２実施形態の異常検出装置１ｂは、予め定められた処理を乖離度に基づいて実行する。例えば、異常検出装置１ｂは、予め定められた分析処理によって、乖離度を算出する。これによって、第２実施形態の異常検出装置１ｂは、算出された乖離度のノイズを低減することが可能である。異常検出装置１ｂは、算出された乖離度を強調することが可能である。
【００７５】
（第３実施形態）
第３実施形態では、異常検出装置が複数のモデル処理部を備える点が、第１実施形態と相違する。第３実施形態では、第１実施形態との相違点について説明する。
【００７６】
図６は、異常検出装置１ｃの構成の例を示す図である。異常検出装置１ｃは、取得部２と、切出部３と、特徴抽出部４と、Ｍ個（Ｍは、２以上の整数）のモデル処理部５ｃと、出力部６と、合成部８とを備える。異常検出装置１ｃのモデル処理部５ｃは、多重化されている。モデル処理部５ｃは、学習部５０と、記憶部５１と、乖離度算出部５２ｃと、選択部５３とを備える。
【００７７】
選択部５３は、学習制御信号がオンを表している場合、抽出された特徴ベクトルを特徴抽出部４から取得する。選択部５３は、取得された特徴ベクトルを、その特徴ベクトルに基づくモデルの学習に使用するか否かを決定する。例えば、選択部５３は、一様乱数の実現値が規定値以下であるか否かに基づいて、特徴ベクトルを確率的に選択する。選択部５３は、選択された特徴ベクトルを、学習部５０に出力する。
【００７８】
学習部５０は、選択部５３によって選択された特徴ベクトルに基づいて、特徴ベクトルのモデルを生成する。乖離度算出部５２ｃは、学習制御信号がオンを表している場合、新たに取得された装置データの特徴ベクトルと、特徴ベクトルのモデルとの乖離度を算出する。これによって、Ｍ個の乖離度算出部５２ｃは、Ｍ個の乖離度を算出することができる。
【００７９】
合成部８は、乖離度を乖離度算出部５２ｃごとに取得し、Ｍ個の乖離度を合成する。例えば、合成部８は、Ｍ個の乖離度の統計量（例えば、平均値や最大値等）を算出することによって、Ｍ個の乖離度を合成する。合成部８は、Ｍ個の乖離度の合成結果を、出力部６に出力する。出力部６は、Ｍ個の乖離度の合成結果を、外部装置に出力する。
【００８０】
次に、異常検出装置１ｃの動作の例を説明する。
図７は、異常検出装置１ｃの動作の例を示すフローチャートである。ステップＳ３０１からステップＳ３０４までの処理は、図３に示されたステップＳ１０１からステップＳ１０４までの処理と同様である。ステップＳ３０６からステップＳ３０８までの処理は、モデル処理部５ｃごとに実行される。
【００８１】
ステップＳ３０４の次に、学習部５０は、学習処理を実行する条件が成立しているか否かを判定する。例えば、学習部５０は、学習制御信号がオンを表す場合、学習処理を実行する条件が成立していると判定する（ステップＳ３０５）。学習処理を実行する条件が成立していない場合（ステップＳ３０５：ＮＯ）、乖離度算出部５２ｃは、ステップＳ３０９の処理を実行する。
【００８２】
学習処理を実行する条件が成立している場合（ステップＳ３０５：ＹＥＳ）、選択部５３は、取得された特徴ベクトルのうちから、学習部５０による分析（学習処理）の対象とされる特徴ベクトルを選択する（ステップＳ３０６）。学習部５０は、選択された特徴ベクトルｚを分析し、分析結果に基づいて特徴ベクトルのモデルを生成する（ステップＳ３０７）。学習部５０は、記憶部５１に記憶されている特徴ベクトルのモデルを、新たに生成された特徴ベクトルのモデルで更新する（ステップＳ３０８）。
【００８３】
合成部８は、乖離度を乖離度算出部５２ｃごとに取得する（ステップＳ３０９）。合成部８は、Ｍ個の乖離度を合成する（ステップＳ３１０）。出力部６は、乖離度を外部装置等に出力する（ステップＳ３１１）。
【００８４】
以上のように、第３実施形態の異常検出装置１ｃは、Ｍ個のモデル処理部５ｃを並列に備える。すなわち、異常検出装置１ｃは、Ｍ個の選択部５３と、Ｍ個の学習部５０と、Ｍ個の乖離度算出部５２ｃと、合成部８とを備える。選択部５３は、抽出された特徴ベクトルのうちから分析の対象とされる特徴ベクトルを学習制御信号に基づいて選択する。学習部５０は、選択部５３による選択結果ごとに特徴ベクトルを分析する。学習部５０は、分析結果に基づいて、Ｍ個のモデルを生成する。乖離度算出部５２ｃは、特徴ベクトルのモデルごとに乖離度を算出する。合成部８は、特徴ベクトルのモデルごとに算出された乖離度を合成する。
【００８５】
これによって、第３実施形態の異常検出装置１ｃは、特徴ベクトルのモデルを安定的に推定することが可能である。異常検出装置１ｃは、特徴ベクトルのモデルに基づいて、乖離度を安定的に算出することが可能である。
【００８６】
（第４実施形態）
第４実施形態では、新たに取得された特徴ベクトルの値をモデル上の特徴ベクトルの値に異常検出装置が変換する点が、第１実施形態と相違する。第４実施形態では、第１実施形態との相違点について説明する。
【００８７】
図８は、異常検出装置１ｄの構成の例を示す図である。異常検出装置１ｄは、取得部２と、切出部３と、特徴抽出部４と、モデル処理部５ｄと、出力部６とを備える。モデル処理部５ｄは、学習部５０と、記憶部５１と、乖離度算出部５２ｄとを備える。乖離度算出部５２ｄは、変換部５２０と、要素別乖離度算出部５２１と、乖離度合算部５２２とを備える。
【００８８】
変換部５２０は、新たに抽出された特徴ベクトルｚ（ｋ）を、特徴抽出部４から取得する。変換部５２０は、新たに抽出された特徴ベクトルｚ（ｋ）を、記憶部５１に記憶されている特徴ベクトルのモデルにおける特徴ベクトルｚｐｒｅ（ｋ）に変換する。すなわち、変換部５２０は、新たに抽出された特徴ベクトルｚ（ｋ）が特徴ベクトルのモデル上で解釈された場合の予測値である特徴ベクトルｚｐｒｅ（ｋ）を算出する。
【００８９】
例えば、変換部５２０は、特徴ベクトルのモデルが主成分分析によるモデルである場合、主成分空間に射影された特徴ベクトルを元の空間に戻す逆変換を実行することによって、特徴ベクトルのモデルにおける特徴ベクトルｚｐｒｅ（ｋ）を算出する。例えば、変換部５２０は、ニューラルネットワークの例であるオートエンコーダと呼ばれるアルゴリズムを用いて、特徴ベクトルのモデルにおける特徴ベクトルｚｐｒｅ（ｋ）を算出してもよい。変換部５２０は、特徴ベクトルのモデルにおける特徴ベクトルｚｐｒｅ（ｋ）を、要素別乖離度算出部５２１及び出力部６に出力する。
【００９０】
要素別乖離度算出部５２１は、特徴ベクトルのモデルにおける特徴ベクトルｚｐｒｅ（ｋ）を、変換部５２０から取得する。要素別乖離度算出部５２１は、新たに抽出された特徴ベクトルｚ（ｋ）を、変換部５２０から取得する。要素別乖離度算出部５２１は、新たに抽出された特徴ベクトルｚ（ｋ）と、記憶部５１に記憶されている特徴ベクトルのモデルとの乖離度を、特徴ベクトルの要素ごとに算出する。
【００９１】
要素別乖離度算出部５２１は、特徴ベクトルのｍ個の要素におけるｊ番目の要素の乖離度ａｊ（ｋ）を、式（９）のように算出する。要素別乖離度算出部５２１は、要素ごとの乖離度ａ１（ｋ），…，ａｍ（ｋ）を、各貢献度として出力部６に出力してもよい。
【００９２】
【数９】
2019207660.tif 000011
【００９３】
要素別乖離度算出部５２１は、要素ごとの乖離度ａ１（ｋ），…，ａｍ（ｋ）に基づいて、スカラ値である乖離度ａ（ｋ）を、例えば式（１０）のように算出する。
【００９４】
【数１０】
2019207660.tif 000012
【００９５】
乖離度合算部５２２は、特徴ベクトルの要素ごとに算出された乖離度を合算することによって貢献度Ｃｊを算出する。例えば、式（１１）のように、乖離度合算部５２２は、ｊ番目の要素の乖離度を、要素別の乖離度の総和で規格化する。
【００９６】
【数１１】
2019207660.tif 000013
【００９７】
出力部６は、特徴ベクトルの乖離度を外部装置等に出力する。出力部６は、特徴ベクトルの要素ごとの乖離度への貢献度を、外部装置等に出力してもよい。
【００９８】
次に、異常検出装置１ｄの動作の例を説明する。
図９は、異常検出装置１ｄの動作の例を示すフローチャートである。ステップＳ４０１からステップＳ４０７までの処理は、図３に示されたステップＳ１０１からステップＳ１０７までの処理と同様である。
【００９９】
変換部５２０は、抽出された特徴ベクトルを、記憶部５１に記憶されている特徴ベクトルのモデルにおける特徴ベクトルに変換する（ステップＳ４０８）。要素別乖離度算出部５２１は、新たに取得された装置データの特徴ベクトルと、記憶部５１に記憶されている特徴ベクトルのモデルとの乖離度を、特徴ベクトルの要素ごとに算出する（ステップＳ４０９）。乖離度合算部５２２は、特徴ベクトルの要素ごとに算出された乖離度を合算することによって貢献度を算出する（ステップＳ４１０）。出力部６は、特徴ベクトルの乖離度等を外部装置等に出力する（ステップＳ４１１）。
【０１００】
以上のように、第４実施形態の異常検出装置１ｄは、乖離度算出部５２ｄを備える。乖離度算出部５２ｄは、変換部５２０と、要素別乖離度算出部５２１と、乖離度合算部５２２とを備える。変換部５２０は、抽出された特徴ベクトルを、特徴ベクトルのモデルにおける特徴ベクトルに変換する。要素別乖離度算出部５２１は、特徴ベクトルの要素ごとに乖離度を算出する。乖離度合算部５２２は、特徴ベクトルの要素ごとに算出された乖離度を合算する。
【０１０１】
これによって、第４実施形態の異常検出装置１ｄは、抽出された特徴ベクトルの貢献度を算出することが可能である。
【０１０２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１０３】
１ａ〜１ｄ…異常検出装置、２…取得部、３…切出部、４…特徴抽出部、５ａ〜５ｄ…モデル処理部、６…出力部、７…後処理部、８…合成部、５０…学習部、５１…記憶部、５２ａ〜５２ｄ…乖離度算出部、５３…選択部、５２０…変換部、５２１…要素別乖離度算出部、５２２…乖離度合算部
【図１】
2019207660.tif 000014
【図２】
2019207660.tif 000015
【図３】
2019207660.tif 000016
【図４】
2019207660.tif 000017
【図５】
2019207660.tif 000018
【図６】
2019207660.tif 000019
【図７】
2019207660.tif 000020
【図８】
2019207660.tif 000021
【図９】
2019207660.tif 000022
【手続補正書】
【提出日】令和1年7月26日(2019.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検出対象の装置に関するデータを取得する取得部と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す切出部と、
切り出されたデータから特徴ベクトルを抽出する特徴抽出部と、
取得されたデータを蓄積することなく、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する学習部と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する乖離度算出部と
を備える異常検出装置。
【請求項２】
前記乖離度を出力する出力部を更に備える、請求項１に記載の異常検出装置。
【請求項３】
予め定められた処理を前記乖離度に基づいて実行する後処理部を更に備える、請求項１又は請求項２に記載の異常検出装置。
【請求項４】
複数の選択部と、
合成部と
を更に備え、
前記複数の選択部は、抽出された前記特徴ベクトルのうちから分析の対象とされる前記特徴ベクトルを制御信号に基づいて選択し、
前記学習部は、前記選択部による選択結果ごとに前記特徴ベクトルを分析し、分析結果に基づいて複数の前記モデルを生成し、
前記乖離度算出部は、前記モデルごとに前記乖離度を算出し、
前記合成部は、前記モデルごとに算出された前記乖離度を合成する、
請求項１から請求項３のいずれか一項に記載の異常検出装置。
【請求項５】
前記乖離度算出部は、前記特徴ベクトルを前記モデル上で解釈した場合の予測値である予測特徴ベクトルを算出する、
請求項１から請求項４のいずれか一項に記載の異常検出装置。
【請求項６】
前記特徴ベクトルの要素ごとに前記特徴ベクトルと前記予測特徴ベクトルとの乖離度を算出する要素別乖離度算出部と、
前記要素ごとに算出された前記乖離度を合算する乖離度合算部と
を更に備える、請求項５に記載の異常検出装置。
【請求項７】
異常検出装置が実行する異常検出方法であって、
検出対象の装置に関するデータを取得するステップと、
取得されたデータから、予め定められた条件に基づいてデータを切り出すステップと、
切り出されたデータから特徴ベクトルを抽出するステップと、
取得されたデータを蓄積することなく、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成するステップと、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出するステップと
を含む異常検出方法。
【請求項８】
コンピュータに、
検出対象の装置に関するデータを取得する手順と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、
切り出されたデータから特徴ベクトルを抽出する手順と、
取得されたデータを蓄積することなく、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順と
を実行させるための異常検出プログラム。
【請求項９】
コンピュータに、
検出対象の装置に関するデータを取得する手順と、
取得されたデータから、予め定められた条件に基づいてデータを切り出す手順と、
切り出されたデータから特徴ベクトルを抽出する手順と、
取得されたデータを蓄積することなく、抽出された前記特徴ベクトルを分析し、分析結果に基づいて前記特徴ベクトルのモデルを生成する手順と、
新たに取得されたデータの前記特徴ベクトルと前記モデルとの乖離度を算出する手順と
を実行させるための異常検出プログラムを記録したコンピュータ読み取り可能な記録媒体。