JPWO2020039610A1 - 異常要因推定装置、異常要因推定方法、及びプログラム - Google Patents

異常要因推定装置、異常要因推定方法、及びプログラム Download PDF

Info

Publication number
JPWO2020039610A1
JPWO2020039610A1 JP2020538016A JP2020538016A JPWO2020039610A1 JP WO2020039610 A1 JPWO2020039610 A1 JP WO2020039610A1 JP 2020538016 A JP2020538016 A JP 2020538016A JP 2020538016 A JP2020538016 A JP 2020538016A JP WO2020039610 A1 JPWO2020039610 A1 JP WO2020039610A1
Authority
JP
Japan
Prior art keywords
factor estimation
abnormality
test
data
dimension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020538016A
Other languages
English (en)
Other versions
JP7147853B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020039610A1 publication Critical patent/JPWO2020039610A1/ja
Application granted granted Critical
Publication of JP7147853B2 publication Critical patent/JP7147853B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

異常要因推定装置において、多次元数値ベクトルで表される入力データに対する出力データの誤差に基づいて異常検知を行うための異常検知モデルを学習する学習部と、前記異常検知モデルにテストデータを入力し、当該異常検知モデルから出力される出力データと、前記テストデータとに基づいて当該テストデータが異常か否かを判断するテスト部と、前記テスト部により前記テストデータが異常であると判断された場合に、前記テストデータの各次元の異常に対する寄与度を、各次元の尤度に基づいて計算する要因推定部とを備える。

Description

本発明は、システムからリアルタイムで収集した数値データを分析し、システムの異常を検知する技術に関するものである。
様々なデータをリアルタイムで観測する機能が存在するシステムにおいて、正常時のデータを用いて正常時におけるメトリック間の相関関係を学習し、正常時におけるメトリック間の相関関係がテストデータにおいて崩れていた場合に、そのテストデータの「異常度」を出力するようなアルゴリズムが提案されている(非特許文献1、非特許文献2)。
Hodge, Victoria J., and Jim Austin. "A survey of outlier detection methodologies." Artificial intelligence review 22.2 (2004): 85-126. 櫻田 麻由 ・ 矢入 健久,"オートエンコーダを用いた次元削減による宇宙機の異常検知", 人工知能学会全国大会論文集 28, 1-3, 2014 池田,石橋,中野,渡辺,川原,"オートエンコーダを用いた異常検知におけるスパース最適化を用いた要因推定手法",信学技報, vol. 117, no. 89, IN2017-18, pp. 61-66, 2017年6月.
このようなアルゴリズムでは、観測するデータが大量にあるような場合でも、一次元の「異常度」というメトリックで異常の有無を判断できるというメリットがあるが、異常と判断された場合に、どの観測データが要因で異常と判断されたかについてまでは分からない。この課題に対し、要因である観測データを推定する方法として、異常度が小さくなるような入力データをスパース最適化によって探索し、探索したベクトルとテストデータのベクトルの誤差が非ゼロとなる次元を要因として判断する方法が提案されている(非特許文献3)。
図1、2は、このような方法による異常検知を示しており、図1は要因次元が一部である場合を示し、図2は要因が多くの次元に渡る場合を示している。この方法では、異常の要因である次元が全体の一部であるというスパース性の仮定を必要とするため、図2に示すように、多くの次元に渡って異常の要因が存在する場合に、スパース最適化では正しく要因推定の計算が行われず、要因次元のみを正しく抽出できないといった問題があった。
本発明は上記の点に鑑みてなされたものであり、多次元数値ベクトルで表されるデータの異常を検知する技術において、異常の要因次元についてのスパース性の仮定を置くことなく、異常の要因次元を抽出することを可能とする技術を提供することを目的とする。
開示の技術によれば、多次元数値ベクトルで表される入力データに対する出力データの誤差に基づいて異常検知を行うための異常検知モデルを学習する学習部と、
前記異常検知モデルにテストデータを入力し、当該異常検知モデルから出力される出力データと、前記テストデータとに基づいて当該テストデータが異常か否かを判断するテスト部と、
前記テスト部により前記テストデータが異常であると判断された場合に、前記テストデータの各次元の異常に対する寄与度を、各次元の尤度に基づいて計算する要因推定部と
を備えることを特徴とする異常要因推定装置が提供される。
開示の技術によれば、多次元数値ベクトルで表されるデータの異常を検知する技術において、異常の要因次元についてのスパース性の仮定を置くことなく、異常の要因次元を抽出することを可能とする技術が提供される。
課題を説明するための図である。 課題を説明するための図である。 本発明の実施の形態における異常要因推定装置100の機能構成図である。 異常要因推定装置100のハードウェア構成の例を示す図である。 実施例1における異常要因推定装置100の学習フェーズの動作を示すフローチャートである。 実施例1における異常要因推定装置100のテストフェーズ及び要因推定フェーズの動作を示すフローチャートである。 実施例2における異常要因推定装置100の学習フェーズの動作を示すフローチャートである。 実施例3における異常要因推定装置100のテストフェーズ及び要因推定フェーズの動作を示すフローチャートである。 異常要因推定装置の評価結果を示す図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(装置構成)
図3に、本実施の形態における異常要因推定装置100の機能構成を示す。図3に示すように、異常要因推定装置100は、学習部101、テスト部102、要因推定部103、記憶部104、入力部105、出力部106を有する。各部の動作内容については後述する実施例において説明する。
上述した異常要因推定装置100は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
すなわち、異常要因推定装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、異常要因推定装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図4は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図4のコンピュータは、それぞれバスBで相互に接続されているドライブ装置150、補助記憶装置152、メモリ装置153、CPU154、インタフェース装置155、表示装置156、及び入力装置157等を有する。
当該コンピュータでの処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体151によって提供される。プログラムを記憶した記録媒体151がドライブ装置150にセットされると、プログラムが記録媒体151からドライブ装置150を介して補助記憶装置152にインストールされる。但し、プログラムのインストールは必ずしも記録媒体151より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置152は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置153は、プログラムの起動指示があった場合に、補助記憶装置152からプログラムを読み出して格納する。CPU154は、メモリ装置153に格納されたプログラムに従って、異常要因推定装置100に係る機能を実現する。インタフェース装置155は、ネットワークに接続するためのインタフェースとして用いられる。表示装置156はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置157はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
以下、異常要因推定装置100の詳細な動作例として実施例1〜8を説明する。以下の各実施例において、異常検知アルゴリズムとしてオートエンコーダを用いることとするが、異常検知アルゴリズムとしては、variational autoencoderやadversarial autoencoderなどを用いてもよい。variational autoencoderについては、Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).等が参考とされてもよい。また、adversarial autoencoderについては、Makhzani, Alireza, et al. "Adversarial autoencoders." arXiv preprint arXiv:1511.05644 (2015).等が参考とされてもよい。
なお、「variational autoencoder」、「adversarial autoencoder」、「denoising autoencoder」、「denoising variational autoencoder」、及びこれのいずれでもないautoencoderを総称して、オートエンコーダと称してもよい。また、本発明は、異常検知モデルとして既存のオートエンコーダ以外のモデルを使用する場合にも適用可能である。
以下で説明する実施例1〜8において、実施例1がベースとなる実施例であり、実施例1以降の実施例は、実施例1(又は実施例1以降の特定の実施例)と異なる部分を説明している。ただし、実施例1〜8は、矛盾が生じない限り、任意に組み合わせて実施することが可能である。例えば、図9を参照して後述するように、例えば「実施例7(VAE)+実施例5(L0ノルム)+実施例2(denoising)+実施例1(偏差を寄与度)」のように、複数実施例を任意に組み合わせることができる。
異常要因推定装置100において、オートエンコーダを用いる異常検知手法における学習とテストの基本的な動作例は下記のとおりである。
学習部101は、多次元数値ベクトルで表されるデータxに対し、元のデータ空間Xと異なる空間Zへの写像fと、Zから元のデータ空間Xへの写像gについて、xとして正常データが与えられた時には、xをfでZに射影し、更にgで元のデータ空間に射影して得られた母数θ(g(f(x)))の元でのxの尤度p(x|θ(g(f(x)))が最大になるようにfとgを学習する。
テスト部102は、異常検知の対象となるテストデータについて、テストデータをXから写像fでZに射影し、Zから写像gでXに射影した際の尤度が小さい場合にそのデータを異常とみなす。
(実施例1)
まず、実施例1を説明する。実施例1では、異常要因推定装置100は、異常検知アルゴリズムの実行によりテストデータが異常と判断された場合の要因を推定する際に、各次元の尤度に基づいて要因の次元を推定する。
実施例1における異常要因推定装置100の動作を図5、図6のフローチャートの手順に沿って説明する。各フローチャートの"S101"などにおけるSは"ステップ"の略である。異常要因推定装置100の動作は、学習フェーズ(図5)とテストフェーズ及び要因推定フェーズ(図6)からなる。まず、図5の学習フェースを説明する。
<学習フェーズ:S101>
学習フェーズにおいては、まず、入力部105より学習データセットX_train={x_1,…,x_T}が異常要因推定装置100に入力される。
<学習フェーズ:S102>
続いて、学習部101は、入力された学習データセットを用いて、異常検知モデル(オートエンコーダ)を学習する。実施例1では、従来の一般的なオートエンコーダにおける学習方法を使用することができる。
従来の一般的なオートエンコーダにおける学習は、入力データxと出力データy=g(f(x))の平均二乗誤差(x_i−y_i)^2/N(ただしNは次元数)を小さくするように行われる。このことは、p(x|θ(g(f(x))))を、平均がy、分散が1、共分散が全て0の正規分布として定義した場合に、負の対数尤度を最小化することで尤度を最大化するような学習を行うことと等価である。
学習が終了したら、学習済みモデルは記憶部104へと保存され、テストフェーズに移行する。図6を参照してテストフェースにおける異常要因推定装置100の動作を説明する。
<テストフェーズ:S111>
入力部105よりテストデータx_testが異常要因推定装置100に入力される。
<テストフェーズ:S112>
次に、テスト部102は、従来技術と同様にして記憶部104に保存された学習済みモデル(異常検知モデル)を用いて、x_testの異常度を、平均二乗誤差(x_i−y_i)^2/Nとして計算する。
<テストフェーズ:S113>
テスト部102は、計算された異常度が、予め定めた閾値以上であるかどうかを判定し、予め定めた閾値以上でなければ今回の処理を終了する。異常度が予め定めた閾値以上であった場合、x_testは異常データとみなされ、要因推定部102へと送られ、要因推定フェーズへと移る。
<要因推定フェーズ:S114>
要因推定部103は、x_testにおける各次元(iで表わされる)の尤度(ここではp(x_test_i|θ(g(f(x_test))))=exp(−(x_test_i−y_i)^2/2)/(2π)^(1/2))に基づいて、各次元の異常に対する寄与度を決定する。決定された寄与度は出力部106から出力される。このように、各次元の尤度に基づいて各次元の異常に対する寄与度を決定することにより、既存技術のように要因次元数に対してスパース性の仮定を置くことなく、各次元がその値を取る「尤もらしさ」に基づいた要因次元の抽出を行うことができる。
例えば、異常に対する寄与が大きいほど、尤度は低くなると考えられるので、尤度を負にした値、尤度の逆数、対数尤度を負にした値、又は対数尤度の逆数などを寄与度として使用することができる。また、寄与度として、正常時よりも大きいのか小さいのかを正負で与えたい場合には、要因推定部103は、例えば平均からの偏差(x_i−y_i)を寄与度として計算してもよい。
また、尤度関数が一般的な正規分布で与えられる異常検知アルゴリズム(variational autoencoderなど)の場合には、要因推定部103は、分散も考慮した偏差(x_i−μ_i/σ_i)を寄与度として計算することとしてもよい。なお、μは平均値であり、σは標準偏差である。
(実施例2)
次に、実施例2を説明する。実施例2では、学習フェーズが実施例1と異なる。実施例2におけるテストフェーズ及び要因推定フェーズの処理内容は実施例1と同じである。実施例2の学習フェーズにおける処理を図7のフローチャートを参照して説明する。
<学習フェーズ:S201>
学習フェーズにおいては、まず、入力部105より学習データセットX_train={x_1,…,x_T}が異常要因推定装置100に入力される。
<学習フェーズ:S202>
続いて、学習部101は、X_trainを用いて、ノイズデータをX_trainに付与しても、ノイズを付与する前のX_trainに対する尤度が高くなるように異常検知モデルを学習する。つまり、異常検知モデルを学習させる際に、予めノイズを付与したデータを入力しても、ノイズを付与する前のデータに対する平均二乗誤差が小さくなるように学習が進められる。
テストデータが異常を含むデータx'であるとすると、実施例1の要因推定フェーズで説明した尤度の計算において誤差が生じる恐れがあるが、上述したS202におけるノイズを除去するようなモデルの学習により、異常をノイズとして除去して尤度p(x'_i|θ(g(f(x'))))をできる限り正しく計算できるようになる。
実施例2において学習するモデルは、異常検知アルゴリズムがオートエンコーダである場合はdenoising autoencoderに相当し、variational autoencoderである場合にはdenoising variational autoencoderに相当する。denoising autoencoderについては、Vincent, Pascal, et al. "Extracting and composing robust features with denoising autoencoders." Proceedings of the 25th international conference on Machine learning. ACM, 2008.等が参考とされてもよい。また、denoising variational autoencoderについては、Im, Daniel Jiwoong, et al. "Denoising Criterion for Variational Auto-Encoding Framework." AAAI. 2017.等が参考とされてもよい。
(実施例3)
次に、実施例3を説明する。実施例3では、学習フェーズは実施例1又は実施例2と同じである。実施例3における要因推定フェーズの処理内容が実施例1、2と異なる。実施例3のテストフェーズ及び要因推定フェーズにおける処理を図8のフローチャートを参照して説明する。
<テストフェーズ:S311>
入力部105よりテストデータx_testが異常要因推定装置100に入力される。
<テストフェーズ:S312>
次に、テスト部102は、記憶部104に保存された学習済みモデルを用いて、x_testの異常度を、平均二乗誤差(x_i−y_i)^2/Nとして計算する。
<テストフェーズ:S313>
テスト部102は、計算された異常度が、予め定めた閾値以上であるかどうかを判定し、予め定めた閾値以上でなければ今回の処理を終了する。異常度が予め定めた閾値以上であった場合、x_testは異常データとみなされ、要因推定部102へと送られ、要因推定フェーズへと移る。
<要因推定フェーズ:S314>
要因推定部103は、x_test−η(ηはベクトル)に基づいて計算された尤度が閾値以上となるようなηを探索する。すなわち、実施例3では、実施例1で用いたp(x_test_i|θ(g(f(x_test))))ではく、p(x_test−η|θ(g(f(x_test−η))))が閾値以上となるようなベクトルηを探索する。
ここでは、p(x_test−η|θ(g(f(x_test−η))))が大きくなるようにηを計算していることから、ηはx_testの各次元をどの程度動かしたら、異常度が小さくなるかを表すベクトルである。ηの探索方法としては、単純にp(x_test−η|θ(g(f(x_test−η))))を最大化するような最急上昇法、又はそれと等価な、負の対数尤度−log p(x_test−η|θ(g(f(x_test−η))))を最小化するような最急降下法などを使用することができる。
<要因推定フェーズ:S315>
要因推定部103は、η又は尤度(p(x_test_i|θ(g(f(x_test―η)))))に基づいて各次元の異常に対する寄与度を計算する。すなわち、ηをそのまま寄与度とみなすことしてもよいし、実施例1と同様に尤度を用いて寄与度を計算してもよい。
(実施例4)
次に、実施例4を説明する。実施例4は、実施例3に基づくものである。実施例4では、実施例3の要因推定フェーズ(S314)において、ηに対してL_pノルム項||η||_pを与えた上でηの探索を行う。これは、入力データが多次元である場合、異常の要因である次元の数は限られるであろうという前提に基づいた探索を行うことで、より尤もらしい計算結果を得るためである。
負の対数尤度の最小化による探索を行う場合、p=2であれば、L2ノルム項λ||η||_2^2を与えた最急降下法で良い。すなわち、「−log p(x_test−η|θ(g(f(x_test−η))))+λ||η||_2^2」を最小化するような最急降下法を用いる。
ただし、λは予め与えられ、場合によっては探索途中において自律的に調節されるパラメータである。p=1の場合、L1ノルム項はλ||η||_1となり、L1ノルム項付きの最小化手法としては例えば近接勾配法などを用いることができる。近接勾配法については、Beck, Amir, and Marc Teboulle. "A fast iterative shrinkage-thresholding algorithm for linear inverse problems." SIAM journal on imaging sciences 2.1 (2009): 183-202.等が参考とされてもよい。p=0の場合には、例えば得られた解について、次元上位K次元以外をすべてゼロにする方法や、探索時に、異常度(=負の対数尤度)についての勾配が大きい上位K次元以外の勾配をすべてゼロにしながら最急降下法を繰り返す方法などを用いることができる。ただし、Kも予め与えられ、場合によっては探索途中において自律的に調節されるパラメータである。
(実施例5)
次に、実施例5を説明する。実施例5も、実施例3に基づくものである。実施例5では、要因推定部103は、実施例3の要因推定フェーズ(S314)における探索の各イテレーションにおいて、その時の探索点η_tを用いて計算された各次元の尤度p(x_i|θ(g(f(x−η_t)))を計算し、各次元の尤度に応じた目的関数の調整を行う。
例えば、目的関数として各次元が条件付き独立である場合の対数尤度−log p(x_test―η|θ(g(f(x_test―η)))) = Σ_i=1^N(−log p(x_test_i―η_i|θ(g(f(x_test―η))))_i)(ただしNは全次元数)を考える場合、探索時刻tにおける探索点η_tを用いて計算された各次元の尤度の逆数をw_i=1/p(x_i|θ(g(f(x−η_t)))とすると、目的関数をw_iで重み付けされた対数尤度Σ_i=1^N(w_i(−log p(x_test_i―η_i|θ(g(f(x_test―η))))_i))として与えることが考えられる。これは、尤度の高い次元は異常の要因である可能性が低いため、その次元の尤度を上げることよりも尤度の低い次元の尤度を上げることを強調させるためである。一方、異常の要因の次元以外の尤度を上げることで異常の次元を明確化するような探索を行う場合は、次元iの尤度をそのままw_iとして重み付けされた対数尤度Σ_iを目的関数としてもよい。あるいは、尤度があらかじめ与えたしきい値を下回る場合w_i=0、上回る場合w_i=1とした対数尤度Σ_iを目的関数とする方法も考えられる。
また、実施例4と組み合わせることも可能である。実施例4と組み合わせる場合、目的関数に付与するノルム項を、尤度に用いて調整することとしてもよい。ノルム項の調整の仕方としては、例えばp=1、2の場合は、各次元の尤度(又は対数尤度であったり、それらに比例する値)を重みw_iとしたノルム項λ||w・η||を用いることができる。これは、探索途中であっても、尤度が大きい次元は異常の要因である可能性が低いため、できる限り対応するηの次元を動かさないようにするためである。p=0の場合には、例えば尤度の下位K次元以外の勾配をすべてゼロにしながら最急降下法を繰り返す方法などを用いることができる。
(実施例6)
次に、実施例6を説明する。実施例6では、要因推定部103は、実施例1の要因推定フェーズ(S114)において、p(x|θ(g(f(x_test)−ξ))が閾値以上となるようなベクトルξを探索し、各次元の異常に対する寄与度を、各次元の尤度p(x_i|θ(g(f(x)−ξ))に基づいて与える。
この処理は、実施例3〜5では入力データ空間における探索を行っているのに対し、潜在変数空間において「もしx_testが正常であった場合に、潜在変数空間に写像された場合の値」を探索しているのに等しく、これにより、潜在変数空間のサイズが入力データ空間に比べて小さい場合に、探索を効率的に行うことで、より短時間で要因次元の抽出が行える可能性がある。探索の方法や尤度に基づいた寄与度の計算については、実施例3〜5と同様に行うことができる。また、潜在変数空間に写像された場合の値を探索するのではなく、分布g(・)の母数について直接探索をおこなってもよい。また、実施例5と組み合わせる場合、探索の各イテレーションにおいて、その時の探索点ξ_tを用いて計算された各次元の尤度p(x_i|θ(g(f(x)−ξ_t))を計算し、各次元の尤度に応じた目的関数の調整を行うこととしてもよい。
(実施例7)
次に、実施例7を説明する。実施例7では、実施例1の学習フェーズ(S102)において、学習部101は、潜在変数が任意の分布p_z(z)に近くなるように学習を行う。これにより、潜在変数への写像に制約を与え、入力データの構造を活用したより効率的な写像を学習することで、正常データの特徴をより正確に学習し、それに伴い要因次元の抽出精度の向上が期待できる。p_z(z)を標準分布として、学習時の損失関数にKL距離を与えたものがvariational autoencoderに相当し、p_z(z)を任意の分布とし、f(x)とp_z(z)の分類を行う識別器の学習と、識別器が誤った分類をするようなfの学習を繰り返すのがadversarial autoencoderに相当する。
(実施例8)
次に、実施例8を説明する。実施例8では、要因推定部103は、実施例1の要因推定フェーズ(S114)において、異常に対する寄与度を尤度ではなく、p(x_test―η|θ(g(f(x_test―η))))が閾値以上となるようなベクトルηを探索し、ηを寄与度とみなす。この実施例は、実施例3においてηをそのまま寄与度とみなすことに相当する。
(実施例のまとめ)
以上、説明したように、異常要因推定装置100は、多次元数値ベクトルで表されるデータxに対し、元のデータ空間Xと異なる空間Zへの写像fと、Zから元のデータ空間Xへの写像gについて、xとして正常データが与えられた時には、xをfでZに射影し、更にgで元のデータ空間に射影して得られた母数θ(g(f(x)))の元でのxの尤度p(x|θ(g(f(x)))が最大になるようにfとgを学習し、異常検知の対象となるテストデータについては、テストデータをXから写像fでZに射影し、Zから写像gでXに射影した際の尤度が小さい場合にそのデータを異常とみなすような異常検知を実行する。
実施例1において、異常要因推定装置100は、テストデータが異常と判断された場合に、各次元の異常に対する寄与度を、各次元の尤度p(x_i|θ(g(f(x)))に基づいて計算する。
実施例2では、異常要因推定装置100は、実施例1の動作において、f及びgを学習する際に、入力データxに対してノイズを付与したデータx'が入力された際に、ノイズを付与する前のxに対する尤度p(x|θ(g(f(x')))が最大になるような学習を行う。
実施例3では、異常要因推定装置100は、実施例1の動作において、p(x−η|θ(g(f(x−η)))が閾値以上となるようなηを探索し、各次元の異常に対する寄与度を、η又は各次元の尤度p(x_i|θ(g(f(x−η)))に基づいて計算する。
実施例4では、異常要因推定装置100は、実施例3の動作において、ηの探索時にL_pノルム項||η||_pを与えるようにする。
実施例5では、異常要因推定装置100は、実施例3の動作において、探索時の各イテレーションにおいて、その時の探索点η_tを用いて計算された各次元の尤度p(x_i|θ(g(f(x−η_t)))に基づいて、ηの探索における目的関数を与える。
実施例6では、異常要因推定装置100は、実施例1の動作において、p(x|θ(g(f(x)−ξ))が閾値以上となるようなξを探索し、各次元の異常に対する寄与度を、各次元の尤度p(x_i|θ(g(f(x)−ξ))に基づいて計算する。
実施例7では、異常要因推定装置100は、実施例1の動作において、f及びgを学習する際に、入力データを空間Z上に写像して得られるzが、任意の分布p_z(z)に近くなるようにf及びgを学習する。
実施例8では、異常要因推定装置100は、実施例1の動作において、次元の異常に対する寄与度を尤度ではなく、p(x−η|θ(g(f(x−η)))が閾値以上となるようなηを探索し、ηを寄与度とする。
(実施例の効果)
本発明の実施の形態に係る異常要因推定装置100により、入力データの異常度を算出する異常検知アルゴリズムを用いることで異常と検知された際にその異常の要因について推定を行うことが可能となる。実際に実施例1、2、5、7、8の組み合わせにより要因推定を行った評価結果を以下で説明する。
ここでは、異常検知のベンチマークであるsatelliteデータ(Goldstein, Markus, 2015, "Unsupervised Anomaly Detection Benchmark", https://doi.org/10.7910/DVN/OPQMVF, Harvard Dataverse, V1, UNF:6:EnytiA6wCIilzHetzQQV7A==)(36次元,連続変数)を用いた評価結果について示す。正常データにおけるM個の次元をランダムに選択し、各値が正常時の平均値より大きければr(xi,max−xi,min)だけマイナス(rは1〜2の一様分布に従う乱数)し、平均値より小さければプラスして異常データを作成した。
実施例1、2、5、7、8などの組み合わせによる手法を用いて寄与度を計算し、閾値を超えた次元を要因次元として推定した。推定を10回シミュレーションした際の推定精度の平均値を比較した結果を図9に示す。図9の(a)、(b)、(c)、(d)に示すとおり、(a)従来技術(非特許文献3)、(b)実施例7(VAE)+実施例5(L0ノルム)+実施例8(ηを寄与度)、(c)実施例7(VAE)+実施例5(L0ノルム)+実施例1(偏差を寄与度)、(d)実施例7(VAE)+実施例5(L0ノルム)+実施例2(denoising)+実施例1(偏差を寄与度)のそれぞれについてシミュレーションを実施した。
ここで、TPRはTrue Positive Ratioを表しており、要因次元として抽出した次元が実際に要因次元であった割合を意味する。また、FPRはFalse Positive Ratioを表しており、要因次元でない次元のうち、誤って要因次元として抽出してしまった次元の割合を意味する。そのため、TPRについては1に近いほど、FPRについては0に近いほど高い精度で要因推定ができていることを示す。
図9に示すとおり、VAEとL0ノルム最小化を組み合わせた方法、特に実施例2のノイズ除去の学習を行い、分布の偏差を寄与度として定義する手法(d)により、要因次元数が多くなっても既存手法と比べて高い精度で要因次元を推定できることがわかる。
(実施の形態のまとめ)
以上、説明したように、本実施の形態によれば、多次元数値ベクトルで表される入力データに対する出力データの誤差に基づいて異常検知を行うための異常検知モデルを学習する学習部と、前記異常検知モデルにテストデータを入力し、当該異常検知モデルから出力される出力データと、前記テストデータとに基づいて当該テストデータが異常か否かを判断するテスト部と、前記テスト部により前記テストデータが異常であると判断された場合に、前記テストデータの各次元の異常に対する寄与度を、各次元の尤度に基づいて計算する要因推定部とを備えることを特徴とする異常要因推定装置が提供される。
前記学習部は、予めノイズを付与した入力データからノイズを除去したデータが出力されるように前記異常検知モデルを学習することとしてもよい。
前記要因推定部は、前記テストデータの異常度を小さくするように前記テストデータの各次元の値を変更するベクトルを探索し、当該ベクトルを用いて前記寄与度を計算することとしてもよい。
前記要因推定部は、前記テストデータの異常度を小さくするように前記テストデータの各次元の値を変更するベクトルを探索し、各次元の尤度に基づいて前記寄与度を計算することに代えて、前記ベクトルを前記寄与度とすることとしてもよい。
前記要因推定部は、前記探索における各繰り返し処理の中で、その時点における探索点のベクトルを用いて計算した各次元の尤度に基づいて前記探索における目的関数を与えることとしてもよい。
前記学習部は、潜在変数を用いる学習を行うものであり、当該潜在変数が所定の分布に近くなるように学習を行うこととしてもよい。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本特許出願は2018年8月20日に出願した日本国特許出願第2018−154189号に基づきその優先権を主張するものであり、日本国特許出願第2018−154189号の全内容を本願に援用する。
100 異常要因推定装置
101 学習部
102 テスト部
103 要因推定部
104 記憶部
105 入力部
106 出力部
150 ドライブ装置
151 記録媒体
152 補助記憶装置
153 メモリ装置
154 CPU
155 インターフェース装置
156 表示装置
157 入力装置

Claims (8)

  1. 多次元数値ベクトルで表される入力データに対する出力データの誤差に基づいて異常検知を行うための異常検知モデルを学習する学習部と、
    前記異常検知モデルにテストデータを入力し、当該異常検知モデルから出力される出力データと、前記テストデータとに基づいて当該テストデータが異常か否かを判断するテスト部と、
    前記テスト部により前記テストデータが異常であると判断された場合に、前記テストデータの各次元の異常に対する寄与度を、各次元の尤度に基づいて計算する要因推定部と
    を備えることを特徴とする異常要因推定装置。
  2. 前記学習部は、予めノイズを付与した入力データからノイズを除去したデータが出力されるように前記異常検知モデルを学習する
    ことを特徴とする請求項1に記載の異常要因推定装置。
  3. 前記要因推定部は、前記テストデータの異常度を小さくするように前記テストデータの各次元の値を変更するベクトルを探索し、当該ベクトルを用いて前記寄与度を計算する
    ことを特徴とする請求項1又は2に記載の異常要因推定装置。
  4. 前記要因推定部は、前記テストデータの異常度を小さくするように前記テストデータの各次元の値を変更するベクトルを探索し、各次元の尤度に基づいて前記寄与度を計算することに代えて、前記ベクトルを前記寄与度とする
    ことを特徴とする請求項1又は2に記載の異常要因推定装置。
  5. 前記要因推定部は、前記探索における各繰り返し処理の中で、その時点における探索点のベクトルを用いて計算した各次元の尤度に基づいて前記探索における目的関数を与える
    ことを特徴とする請求項3又は4に記載の異常要因推定装置。
  6. 前記学習部は、潜在変数を用いる学習を行うものであり、当該潜在変数が所定の分布に近くなるように学習を行う
    ことを特徴とする請求項1ないし5のうちいずれか1項に記載の異常要因推定装置。
  7. 異常要因推定装置が実行する異常原因推定方法であって、
    多次元数値ベクトルで表される入力データに対する出力データの誤差に基づいて異常検知を行うための異常検知モデルを学習する学習ステップと、
    前記異常検知モデルにテストデータを入力し、当該異常検知モデルから出力される出力データと、前記テストデータとに基づいて当該テストデータが異常か否かを判断するテストステップと、
    前記テストステップにより前記テストデータが異常であると判断された場合に、前記テストデータの各次元の異常に対する寄与度を、各次元の尤度に基づいて計算する要因推定ステップと
    を備えることを特徴とする異常原因推定方法。
  8. コンピュータを、請求項1ないし6のうちいずれか1項に記載の異常要因推定装置における各部として機能させるためのプログラム。
JP2020538016A 2018-08-20 2019-01-15 異常要因推定装置、異常要因推定方法、及びプログラム Active JP7147853B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018154189 2018-08-20
JP2018154189 2018-08-20
PCT/JP2019/000928 WO2020039610A1 (ja) 2018-08-20 2019-01-15 異常要因推定装置、異常要因推定方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2020039610A1 true JPWO2020039610A1 (ja) 2021-08-10
JP7147853B2 JP7147853B2 (ja) 2022-10-05

Family

ID=69592993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020538016A Active JP7147853B2 (ja) 2018-08-20 2019-01-15 異常要因推定装置、異常要因推定方法、及びプログラム

Country Status (3)

Country Link
US (1) US11892944B2 (ja)
JP (1) JP7147853B2 (ja)
WO (1) WO2020039610A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11449712B2 (en) * 2018-12-14 2022-09-20 Adobe Inc. Anomaly detection and reporting for machine learning models
CN111722720B (zh) * 2020-06-22 2022-10-14 芯盟科技有限公司 人机交互方法、装置及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045861A (ja) * 2014-08-26 2016-04-04 株式会社豊田中央研究所 異常診断装置及びプログラム
US20180218261A1 (en) * 2017-01-31 2018-08-02 Paypal, Inc. Fraud prediction based on partial usage data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4967430B2 (ja) * 2006-04-11 2012-07-04 オムロン株式会社 不具合管理装置、不具合管理プログラム、およびこれを記録した記録媒体
US7757117B2 (en) * 2007-04-17 2010-07-13 International Business Machines Corporation Method and apparatus for testing of enterprise systems
JP2011059816A (ja) * 2009-09-07 2011-03-24 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
EP2568433A4 (en) * 2010-05-06 2017-10-25 Nec Corporation Malfunction analysis apparatus, malfunction analysis method, and recording medium
US9529700B2 (en) * 2014-04-25 2016-12-27 Wipro Limited Method of optimizing execution of test cases and a system thereof
US9424121B2 (en) * 2014-12-08 2016-08-23 Alcatel Lucent Root cause analysis for service degradation in computer networks
US10120747B2 (en) * 2016-08-26 2018-11-06 International Business Machines Corporation Root cause analysis
US10699012B2 (en) * 2017-01-11 2020-06-30 Cylance Inc. Endpoint detection and response utilizing machine learning
US10572979B2 (en) * 2017-04-06 2020-02-25 Pixar Denoising Monte Carlo renderings using machine learning with importance sampling
US10635519B1 (en) * 2017-11-30 2020-04-28 Uptake Technologies, Inc. Systems and methods for detecting and remedying software anomalies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045861A (ja) * 2014-08-26 2016-04-04 株式会社豊田中央研究所 異常診断装置及びプログラム
US20180218261A1 (en) * 2017-01-31 2018-08-02 Paypal, Inc. Fraud prediction based on partial usage data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
園田翔、村田昇: "無限層デノイジング・オートエンコーダーの輸送理論解釈", 電子情報通信学会技術研究報告, vol. 第116巻, 第300号, JPN6017030102, 9 November 2016 (2016-11-09), JP, pages 297 - 304, ISSN: 0004696937 *
池田泰弘ほか: "オートエンコーダを用いた異常検知におけるスパース最適化を用いた要因推定手法", 電子情報通信学会技術研究報告, vol. 第117巻, 第89号, JPN6019001278, 8 June 2017 (2017-06-08), JP, pages 61 - 66, ISSN: 0004696936 *
田中恒平、小林亜樹: "深層学習を用いた情報推薦のための欠損値補完手法", DEIM FORUM 2016 論文集 [ONLINE], vol. [検索日 2016.08.08], JPN6019008443, 2016, JP, ISSN: 0004696938 *

Also Published As

Publication number Publication date
US11892944B2 (en) 2024-02-06
US20210311863A1 (en) 2021-10-07
JP7147853B2 (ja) 2022-10-05
WO2020039610A1 (ja) 2020-02-27

Similar Documents

Publication Publication Date Title
JP6743934B2 (ja) 観測変数間の因果関係を推定するための方法、装置、およびシステム
JP5214762B2 (ja) 認識装置、方法及びプログラム
KR20160041856A (ko) 베이지안 최적화를 수행하기 위한 시스템 및 방법
Umlauft et al. Learning stable Gaussian process state space models
Beintema et al. Nonlinear state-space identification using deep encoder networks
JP6509717B2 (ja) 事例選択装置、分類装置、方法、及びプログラム
JPWO2011086889A1 (ja) 特徴点選択システム、特徴点選択方法および特徴点選択プログラム
Petelin et al. Optimization of Gaussian process models with evolutionary algorithms
JP2019144623A (ja) モデル学習装置、モデル学習方法、プログラム
JPWO2020039610A1 (ja) 異常要因推定装置、異常要因推定方法、及びプログラム
JP6645441B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
KR101725121B1 (ko) 특징 벡터 분류 장치 및 방법
Petelin et al. Evolving Gaussian process models for predicting chaotic time-series
US20220327394A1 (en) Learning support apparatus, learning support methods, and computer-readable recording medium
JP2020024513A (ja) 誤り判定装置、誤り判定方法、及びプログラム
JP6662715B2 (ja) 予測装置、予測方法及びプログラム
Dance et al. Fast and Scalable Spike and Slab Variable Selection in High-Dimensional Gaussian Processes
JP2021081795A (ja) 推定システム、推定装置および推定方法
Whang et al. Responsible AI challenges in end-to-end machine learning
Qian et al. On sampling-and-classification optimization in discrete domains
CN113642029B (zh) 一种度量数据样本与模型决策边界相关性的方法及系统
JP7331938B2 (ja) 学習装置、推定装置、学習方法及び学習プログラム
Al-Behadili et al. Semi-supervised learning using incremental support vector machine and extreme value theory in gesture data
CN114462581A (zh) 网络结构搜索方法和装置
JP2016520220A (ja) 隠れ属性モデル推定装置、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R150 Certificate of patent or registration of utility model

Ref document number: 7147853

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150