(57)【要約】      （修正有）【課題】異常サンプルのエンコード結果の取り得る領域を限定し、オーバーフロー等の計算機的不都合が発生しにくくなる異常検知装置、異常検知方法およびプログラムを提供する。【解決手段】異常検知装置において、エンコーダ記憶部１４は、潜在空間を閉じた多様体とし、正常データを学習した正常分布と異常データを学習した異常分布とを多様体上にもち、入力された特徴量を潜在空間に射影するエンコーダと、エンコーダの出力を再構成するデコーダとを記憶する。エンコード部１５は、対象データの特徴量をエンコーダへ入力したときにデコーダが出力する再構成結果を得る。異常度算出部１６は、再構成結果と正常分布および異常分布との距離に基づいて対象データの異常度を算出する。【選択図】図４
2020013449.tif 000002
【特許請求の範囲】
【請求項１】
潜在空間を閉じた多様体とし、正常データを学習した正常分布と異常データを学習した異常分布とを上記多様体上にもち、入力された特徴量を上記潜在空間に射影するエンコーダと、上記エンコーダの出力を再構成するデコーダとを記憶するエンコーダ記憶部と、
対象データの特徴量を上記エンコーダへ入力したときに上記デコーダが出力する再構成結果を得るエンコード部と、
上記再構成結果と上記正常分布および上記異常分布との距離に基づいて上記対象データの異常度を算出する異常度算出部と、
を含む異常検知装置。
【請求項２】
請求項１に記載の異常検知装置であって、
上記エンコーダは角度パラメータと集中度パラメータとを出力するものであり、
上記多様体上の相異なる２つの分布を上記正常分布の事前分布および上記異常分布の事前分布として設定する事前分布設定部と、
上記正常データおよび上記異常データからなる学習データの特徴量を入力したときの上記エンコーダの出力のうち上記集中度パラメータを所定の定数として上記正常分布および上記異常分布を学習する第一学習部と、
上記学習データの特徴量を入力したときに上記エンコーダが出力する上記角度パラメータから構成した回転行列と全体で共通した任意の値を持つ固定ベクトルとを乗算したベクトルと、上記事前分布のもつ方向ベクトルと、上記事前分布のもつ集中度パラメータとから計算したKLダイバージェンス上限値を用いて、上記学習データの特徴量を入力したときに上記エンコーダが出力する上記集中度パラメータを正規分布の標準偏差相当に変換した値に正規分布から生成した乱数を乗じた値を上記エンコーダが出力する上記角度パラメータに加算したベクトルを用いて回転行列を構成し上記正常分布および上記異常分布を学習する第二学習部と、
をさらに含む異常検知装置。
【請求項３】
請求項１に記載の異常検知装置であって、
上記エンコーダは角度パラメータと正規分布の対数分散に相当するスカラーパラメータとを出力するものであり、
上記多様体上の相異なる２つの分布を上記正常分布の事前分布および上記異常分布の事前分布として設定する事前分布設定部と、
上記正常データおよび上記異常データからなる学習データの特徴量を入力したときの上記エンコーダの出力のうち上記集中度パラメータを所定の定数として上記正常分布および上記異常分布を学習する第一学習部と、
上記学習データの特徴量を入力したときに上記エンコーダが出力する上記角度パラメータから構成した回転行列と全体で共通した任意の値を持つ固定ベクトルとを乗算した単位超球面上のベクトルを得、その単位超球面上のベクトルと上記事前分布のもつ方向ベクトルとの内積に上記事前分布のもつ集中度パラメータを乗算した値を、上記学習データの特徴量を入力したときに上記エンコーダが出力する上記スカラーパラメータの指数から減算した値をKLダイバージェンス値として、上記学習データの特徴量を入力したときに上記エンコーダが出力する上記スカラーパラメータに正規分布から生成した乱数を乗じた値を上記エンコーダが出力する上記角度パラメータに加算したベクトルを用いて回転行列を構成し上記正常分布および上記異常分布を学習する第二学習部と、
をさらに含む異常検知装置。
【請求項４】
請求項２または３に記載の異常検知装置であって、
上記学習データを用いた上記第一学習部による上記正常分布および上記異常分布の学習を所定の回数繰り返し実行した後、上記学習データを用いた上記第二学習部による上記正常分布および上記異常分布の学習を実行する、
異常検知装置。
【請求項５】
請求項２から４のいずれかに記載の異常検知装置であって、
上記エンコーダは、上記角度パラメータに90度近傍の値に対して高い値をもつコスト関数が設定されている、
異常検知装置。
【請求項６】
請求項１から５のいずれかに記載の異常検知装置であって、
上記潜在空間を超球面とし、
上記正常分布および上記異常分布をフォンミーゼス・フィッシャー分布とする、
異常検知装置。
【請求項７】
エンコーダ記憶部に、潜在空間を閉じた多様体とし、正常データを学習した正常分布と異常データを学習した異常分布とを上記多様体上にもち、入力された特徴量を上記潜在空間に射影するエンコーダと、上記エンコーダの出力を再構成するデコーダとが記憶されており、
エンコード部が、対象データの特徴量を上記エンコーダへ入力したときに上記デコーダが出力する再構成結果を得、
異常度算出部が、上記再構成結果と上記正常分布および上記異常分布との距離に基づいて上記対象データの異常度を算出する、
異常検知方法。
【請求項８】
請求項１から６のいずれかに記載の異常検知装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機械等の動作音から、故障等の異常な状態を判別する異常検知技術に関する。
【背景技術】
【０００２】
機械等の故障を故障前に予見、または故障後に素早く発見することは、業務の継続性の観点で重要である。これを省力化するための方法として、センサ等を用いて電気回路やプログラム等により、正常状態からの乖離である「異常」を発見する異常検知という分野が存在する。特に、マイクロフォン等の音を電気に変換するセンサを用いるものを異常音検知と呼ぶ。
【０００３】
従来の代表的な異常音検知は、故障等の発生していない通常の状態であると考えられる音波形等のデータ（以下、「正常データ」と呼ぶ）を収集し、回帰モデル等を用いて正常データが従う分布を導出し、正常か異常かが未知であるサンプルに対する生成確率の小ささや回帰誤差の大きさを異常の度合いとして、異常を判定する技術である。例として、変分オートエンコーダ（非特許文献１参照）の再構成確率や再構成誤差を用いたもの（非特許文献２参照）がある。
【０００４】
異常音検知システムを実運用すると、正常データ以外に、故障時等の異常な状態に対応するごく少量の音波形等のデータ（以下、「異常データ」と呼ぶ）が収集できることがある。しかしながら、データ量が正常と異常との間で著しく偏っているため、単純に判別問題として異常データを学習に用いることは難しい。これを解決する技術として、両方のデータを用いて多様体学習を行う技術（非特許文献３参照）等がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】KingmaP Diederik and Max Welling, "Auto-encoding variational bayes," arXiv preprint arXiv:1312.6114, 2013.
【非特許文献２】An Jinwon and Sungzoon Cho, "Variational Autoencoder based Anomaly Detection using Reconstruction Probability," Technical Report, 2015.
【非特許文献３】Bo Du and Liangpei Zhang, "A discriminative metric learning based anomaly detection method," IEEE Transactions on Geoscience and Remote Sensing, vol. 52, no. 11, pp. 6844-6857, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に音響信号処理では、１次元の波形をそのまま入力特徴として扱うのではなく、離散フーリエ変換をベースとした、メル周波数ケプストラム係数（MFCC: Mel-Frequency Cepstrum Coefficients）等の高次元音響特徴を用いることが多い。元々の音響特徴量等の特徴量空間自体ではなく、それを何らかの射影関数でうつした先で異常検知を行うことにより、「次元の呪い」と呼ばれる高次元に起因する様々な不都合を回避することができる。低次元化する場合には計算量削減効果も期待できる。したがって、特徴量を低次元潜在空間に射影するエンコーダを持つ変分オートエンコーダを用いて、正常な特徴を中心付近に集め、異常な特徴を遠ざけるように学習することによって、未知サンプルに対する特徴量をエンコードした結果の中心への近さ等の尺度で、不都合を回避しつつ異常を検出することができると考えられる。しかしながら、変分オートエンコーダにおける潜在空間は正負無限大を取り得るユークリッド空間であり、正常の代表点を原点等とした場合、正常から最も遠い点は無限遠点になるため、異常を無限遠点に近づけるほど検出性能が向上することになり、計算機上での処理にオーバーフロー等の不都合が生じる。
【０００７】
この発明の目的は、上記のような技術的課題に鑑みて、変分オートエンコーダを用いた異常検知において、異常サンプルのエンコード結果の取り得る領域を限定し、オーバーフロー等の計算機的不都合を回避することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、この発明の一態様の異常検知装置は、潜在空間を閉じた多様体とし、正常データを学習した正常分布と異常データを学習した異常分布とを多様体上にもち、入力された特徴量を潜在空間に射影するエンコーダと、エンコーダの出力を再構成するデコーダとを記憶するエンコーダ記憶部と、対象データの特徴量をエンコーダへ入力したときにデコーダが出力する再構成結果を得るエンコード部と、再構成結果と正常分布および異常分布との距離に基づいて対象データの異常度を算出する異常度算出部と、を含む。
【発明の効果】
【０００９】
この発明によれば、異常サンプルのエンコード結果の取り得る領域が限定され、オーバーフロー等の計算機的不都合が発生しにくくなる。
【図面の簡単な説明】
【００１０】
【図１】図１は変分オートエンコーダの学習処理を説明するための図である。
【図２】図２は変分オートエンコーダのエンコード結果を可視化した概念図である。
【図３】図３は変分オートエンコーダの簡易実装を説明するための図である。
【図４】図４は異常検知装置の機能構成を例示する図である。
【図５】図５は異常検知方法の処理手続きを例示する図である。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１２】
この発明では、変分オートエンコーダ学習において、従来のユークリッド空間ではなく、閉じた多様体、例えば、超球上に射影することを考える。その多様体上の２点を正常・異常の代表点とし、それぞれへの近さ等の尺度を持って異常を判定する。正常・異常の代表点は、例えば、地球の北極や南極に相当する、互いに最も離れた二点を設定すればよい。超球面の潜在空間を採用するのは、球面上の潜在空間は有限であるため、ある程度学習を進めると潜在空間すべてをクラスタ先で埋め尽くすことができ、対象データを確実にいずれかにクラスタリングすることができるためである。また、訓練に用いたデータから大きく外れる、つまり未知なデータが出現した場合、潜在空間が既知パターンで埋め尽くされていることから、再構成パターンとの差異を用いて未知であることを知ることも可能である。
【００１３】
変分オートエンコーダではユークリッド空間上の多次元正規分布を潜在変数事前分布として用いる。超球上ではフォンミーゼス・フィッシャー分布がこれに相当する。以下にフォンミーゼス・フィッシャー分布を用いる場合の異常検知理論について説明する。
【００１４】
＜学習基準の定義＞
潜在空間を超球面とした場合、超球面上での扱いが簡単な、平面上における正規分布に相当するものとして、フォンミーゼス・フィッシャー分布が有名である。変分オートエンコーダの事前分布をフォンミーゼス・フィッシャー分布とした場合、事後分布と事前分布との間のKLダイバージェンスを求める必要がある。これを解析的に求めることは困難だが、上限値は既に求められているため（参考文献１参照）、これを代わりに用いればよい。
【００１５】
〔参考文献１〕Diethe, Tom, "A Note on the Kullback-Leibler Divergence for the von Mises-Fisher distribution," arXiv preprint arXiv:1502.07104, 2015.
【００１６】
＜モデル構造＞
フォンミーゼス・フィッシャー分布は、正規分布のように、他の確率分布に変換できる関係がないことが予想される（参考文献２参照）。したがって、素直にいわゆるreparametrization trickを用いて、多次元正規分布を用いた変分オートエンコーダと同様のモデル構造を取ることができない。そこで、それを回避する２つの構造を用いる。例えば学習の進み具合に応じて構造を切り替えることで、この問題を回避する。
【００１７】
〔参考文献２〕四辻哲章，“計算機シミュレーションのため確率分布乱数生成法”，p. 396，2013年
【００１８】
≪集中度パラメータを固定する方式（方式１）≫
エンコーダは、潜在空間での角度パラメータと集中度パラメータとを出力するものとする。この方式ではエンコーダの出力する集中度パラメータは無視する。角度の表現には、例えば正準オイラー角等を用いる。出力される変数がその範囲内に収まるように、クリッピング等を用いて、-180度から+180度や-90度から+90度の範囲に収まるようにしてもよい。出力された角度パラメータを用いて回転行列を構成する。この回転行列に対して、潜在変数事前分布である、所望の方向ベクトル(パラメータ)と適当な集中度パラメータとをもったフォンミーゼス・フィッシャー分布から生成した乱数を用いて得た値を乗じる。事前分布の方向パラメータは、正常か異常かを代表する点の持つ方向とし、集中度パラメータは任意の定数としてよい。それにより、事前分布で設定した方向ではなく、エンコーダの出力した方向を中心とする乱数が得られるため、それをデコーダに入力することによって変分オートエンコーダを構成する。上記の処理を、計算グラフを用いて構成することで、通常の変分オートエンコーダと同様に勾配を用いた学習を行うことができる。
【００１９】
≪集中度パラメータの分布を正規分布で近似する方式（方式２）≫
エンコーダは、方式１同様、潜在空間での角度パラメータと集中度パラメータとを出力するものとする。フォンミーゼス・フィッシャー分布は、集中度パラメータが大きい場合に正規分布と見なせると予想されるから（参考文献３参照）、正規乱数を用いて学習を行う方法が考えられる。まず、次元数が角度パラメータと同じ、平均がゼロベクトルであり、分散共分散行列が単位行列である多変量標準正規分布から乱数を生成する。この乱数と、エンコーダ出力の集中度パラメータをある規則に応じて変換した(集中度パラメータが正規分布の分散の逆数に対応するなどの関係性を用いて正規分布の標準偏差相当に変換するなどを指す)値とを乗じた値を、エンコーダ出力の角度パラメータと加算する。逆にエンコーダが出力するスカラー値を正規分布の対数分散等として扱ってもよく、その場合KLダイバージェンス項に渡す集中度パラメータに変換するにはその値の指数を取った後逆数を取るなどの変換をすればよい。この処理は、方式１と同様のクリッピングと併用してもよく、前後どちらでもよい。そのようにして得られたベクトルから回転行列を構成し、その回転行列に対して、全体で共通した任意の値を持つ固定ベクトル（長さは任意でよいが、簡単のため１とする)を乗じると単位超球面上のベクトルが得られる。その単位超球面上のベクトルをデコーダに入力することで変分オートエンコーダを構成できる。残りの詳細は方式１と同様である。以上の処理を図１に示す。
【００２０】
一つの事前分布で訓練した際の潜在空間への射影の概念を図２に示す。図２Ａは、事前分布の方向パラメータを[0, 0, 1]として訓練したときの閉多様体オートエンコーダのエンコード結果の潜在空間を可視化した概念図である（左は訓練前、右は訓練後）。図２Ｂは、事前分布の方向パラメータを[1, 0, 0]として訓練したときの閉多様体オートエンコーダのエンコード結果の潜在空間を可視化した概念図である（左は訓練前、右は訓練後）。
【００２１】
≪方式２の簡易実装≫
方式２において、KLダイバージェンス値の計算を簡略化するため、以下のヒューリスティクスを導入してもよい。まず、エンコーダからは、潜在次元数（例えば３)の角度パラメータと、正規分布の対数分散に相当するようなスカラーパラメータを出力する。角度パラメータから回転行列を構成し、全体で共通した任意の値を持つ固定ベクトルと乗算し単位超球面上のベクトルを得ておく。単位超球面上のベクトルと、事前に与えた事前分布のもつ正常または異常を代表する単位超球面上のベクトル（事前分布方向ベクトル)の内積をとり、事前分布方向ベクトルとの類似度とする。この類似度に、事前に与えた事前分布のもつ事前分布集中度値（例えば１)を乗算する。最後に、エンコーダからのスカラーパラメータ（任意の定数倍してよい)の指数を取ったものからこの値を引き、この値を本来のKLダイバージェンスコストの代わりとして用いてもよい。具体的には図３のようになる。
【００２２】
≪２方式の組み合わせ方法≫
ニューラルネットワークパラメータが乱数か、それに近い学習初期は、潜在空間への射影先が多様体上に薄く広がるような分布になることがあり得るから、集中度パラメータを固定した方式である方式１が適していると想定される。ある程度訓練が進んでいれば、潜在空間内で正常・異常に対応するクラスタが構成されると考えられる。そのような状況、つまり射影結果の分布がある程度狭まっていると考えられる状況では集中度パラメータを大きいと見做して考え、方式２が適していると考えられる。したがって、乱数パラメータを持ったネットワークから学習を開始し、はじめは方式１を用いて学習し、ある程度学習が進んだところで、例えばあらかじめエポック数（学習データを１周する回数）などを決めておき、方式２に切り替える方法が適していると考えられる。
【００２３】
２つの方式を用いて学習する理由を以下にまとめる。従来の変分オートエンコーダは潜在変数事前分布として正規分布を用いる。しかしながら潜在変数事前分布を超球面とすると正規分布を扱うことができない。そのため、方式１により軸を固定し２次元空間として扱えるようにする。これにより正規分布を扱うことができるようになるため、その後方式２により学習を行うものとした。
【００２４】
＜ジンバルロック現象の回避＞
90度に近い出力がある場合に、「ジンバルロック」と呼ばれる不都合が発生することが知られている。これを回避するために、角度パラメータに対して、90度を避けるように、90度やそれに近い値に対して高い値を持つようなコスト関数を設定し、そのコストを損失関数に加算等で追加してもよい。
【００２５】
［実施形態］
実施形態の異常検知装置および方法は、正常データおよび異常データからなる学習データを用いて変分オートエンコーダを学習し、その変分オートエンコーダを用いて異常検知の対象とする入力データが正常か異常かを示す異常判定結果を出力する。実施形態の異常検知装置は、図４に例示するように、３個のＡＤ変換部１０−１〜１０−３、正常データ記憶部１１−１、異常データ記憶部１１−２、３個の特徴抽出部１２−１〜１２−３、エンコーダ学習部１３、エンコーダ記憶部１４、エンコード部１５、異常度算出部１６、および異常判定部１７を備える。さらに、エンコーダ学習部１３は、事前分布設定部１３１、第一学習部１３２、および第二学習部１３３を備える。この異常検知装置が、図５に例示する各ステップの処理を行うことにより実施形態の異常検知方法が実現される。
【００２６】
異常検知装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。異常検知装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。異常検知装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。異常検知装置の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。異常検知装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
【００２７】
以下、図５を参照して、実施形態の異常検知装置が実行する異常検知方法について説明する。
【００２８】
ステップＳ１０−１において、ＡＤ変換部１０−１は、異常検知の対象とする機械等の正常動作音等の音波形（以下、「正常音波形」と呼ぶ）を所定のサンプリング周波数でアナログデジタル変換し、量子化した波形データ（以下、「正常データ」と呼ぶ）を生成する。ＡＤ変換部１０−１は、生成した正常データを正常データ記憶部１１−１へ記憶する。
【００２９】
ステップＳ１０−２において、ＡＤ変換部１０−２は、異常検知の対象とする機械等の故障音等の音波形（以下、「異常音波形」と呼ぶ）を所定のサンプリング周波数でアナログデジタル変換し、量子化した波形データ（以下、「異常データ」と呼ぶ）を生成する。ＡＤ変換部１０−２は、生成した異常データを異常データ記憶部１１−２へ記憶する。
【００３０】
ステップＳ１２−１において、特徴抽出部１２−１は、正常データ記憶部１１−１に記憶されている正常データから特徴量を抽出する。特徴量の抽出は、波形データをそのまま１次元の値が時系列に並んだデータとして扱ってもよいし、複数サンプルの連結、離散フーリエ変換、フィルタバンク処理等を用いて多次元に拡張する特徴抽出処理や、データの平均、分散を計算して値の取り幅を正規化する等を行ってもよい。特徴抽出部１２−１は、抽出した正常データの特徴量をエンコーダ学習部１３へ出力する。
【００３１】
ステップＳ１２−２において、特徴抽出部１２−２は、異常データ記憶部１１−２に記憶されている異常データから特徴量を抽出する。特徴量の抽出は、特徴抽出部１２−１と同様に行う。特徴抽出部１２−２は、抽出した異常データの特徴量をエンコーダ学習部１３へ出力する。
【００３２】
ステップＳ１３において、エンコーダ学習部１３は、事前分布設定部１３１、第一学習部１３２、および第二学習部１３３を順に実行し、正常データと異常データとを再構成するように単一の変分オートエンコーダを学習する。エンコーダ学習部１３は、学習済みの変分オートエンコーダをエンコーダ記憶部１４へ記憶する。
【００３３】
ステップＳ１３１において、エンコーダ学習部１３の事前分布設定部１３１は、閉じた多様体上の相異なる２つの分布を、正常データの潜在変数事前分布と異常データの潜在変数事前分布として設定する。例えば、潜在空間を球状とすれば、フォンミーゼス・フィッシャー分布の中心を表現するパラメータを球面上でそれぞれ最も遠い点とし、集中度パラメータを所定の定数（例えば１）に設定すればよい。
【００３４】
ステップＳ１３２において、エンコーダ学習部１３の第一学習部１３２は、特徴抽出部１２−１が出力する正常データの特徴量と特徴抽出部１２−２が出力する異常データの特徴量とからなる学習データを用いて、上述の集中度パラメータを固定する方式（方式１）による学習を行う。
【００３５】
ステップＳ１３３において、エンコーダ学習部１３の第二学習部１３３は、特徴抽出部１２−１が出力する正常データの特徴量と特徴抽出部１２−２が出力する異常データの特徴量とからなる学習データを用いて、上述の集中度パラメータの分布を正規分布で近似する方式（方式２）による学習を行う。
【００３６】
ステップＳ１３２およびＳ１３３において、正常データと異常データとを交互に学習してもよいし、正常データと異常データとを１つのバッチ処理に含めて、正常データに対する事前分布と異常データに対する事前分布とを設定した時のそれぞれの損失の和を最小化するように学習してもよい。
【００３７】
ステップＳ１０−３において、ＡＤ変換部１０−３は、異常検知の対象とする機械等の動作音等の音波形（以下、「対象音波形」と呼ぶ）を所定のサンプリング周波数でアナログデジタル変換し、量子化した波形データ（以下、「対象データ」と呼ぶ）を生成する。ＡＤ変換部１０−３は、生成した対象データを特徴抽出部１２−３へ出力する。
【００３８】
ステップＳ１２−３において、特徴抽出部１２−３は、ＡＤ変換部１０−３が出力する対象データから特徴量を抽出する。特徴量の抽出は、特徴抽出部１２−１と同様に行う。特徴抽出部１２−３は、抽出した対象データの特徴量をエンコード部１５へ出力する。
【００３９】
ステップＳ１５において、エンコード部１５は、特徴抽出部１２−３が出力する対象データの特徴量を、エンコーダ記憶部１４に記憶されている学習済みの変分オートエンコーダへ入力し、少なくとも潜在変数ベクトルおよび再構成誤差を含む再構成結果を得る。エンコード部１５は、得た再構成結果を異常度算出部１６へ出力する。
【００４０】
ステップＳ１６において、異常度算出部１６は、エンコード部１５が出力する再構成結果から対象データの異常度を算出する。異常度は、潜在空間上での正常データに対する事前分布や、異常データに対する事前分布への近さを用いて定義する。簡単には、それぞれの事前分布の位置への近さの比などを用いればよい。近さはユークリッド的な長さで定義してもよいし、損失関数内で用いたKLダイバージェンスの上限値を用いてもよい。また、再構成誤差と加算等で組み合わせて異常度を構成する等、他の指標と任意の方法で組み合わせてもよい。異常度算出部１６は、算出した対象データの異常度を異常判定部１７へ出力する。
【００４１】
ステップＳ１７において、異常判定部１７は、異常度算出部１６が出力する対象データの異常度から異常検知の対象とする機械等が正常な状態か異常な状態かを判定し、正常か異常かを示す異常判定結果を出力する。正常な状態か異常な状態かの判定は、例えば対象データの異常度を予め定めた閾値と比較して、異常度が閾値未満であれば正常、閾値以上であれば異常のように判定すればよい。
【００４２】
この発明では、変分オートエンコーダを用いた異常検知を以下のように構成した。潜在空間を閉じた多様体とし、潜在変数事前分布を閉じた多様体上の確率分布とする。正常・異常それぞれに対応する２つの潜在変数事前分布を設定し、正常・異常両方のデータを用いて単一のモデルを更新する。そのモデルに対し、未知サンプルのエンコーダ出力がどちらの分布に近いかの情報を用いて異常を検知する。このように構成することで、この発明によれば、異常サンプルのエンコード結果の取り得る領域が限定され、結果として、オーバーフロー等の計算機的不都合が発生しにくくなる。
【００４３】
本発明は音以外の、温度、圧力、変位、等の任意のセンサデータ、ネットワーク通信量等のトラフィックデータ等を対象とした任意の異常検知ドメインに対しても同様に適用可能である。
【００４４】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００４５】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００４６】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４７】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４８】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４９】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００５０】
１０−１，１０−２，１０−３  ＡＤ変換部
１１−１  正常データ記憶部
１１−２  異常データ記憶部
１２−１，１２−２，１２−３  特徴抽出部
１３  エンコーダ学習部
１３１  事前分布設定部
１３２  第一学習部
１３３  第二学習部
１４  エンコーダ記憶部
１５  エンコード部
１６  異常度算出部
１７  異常判定部
【図１】
2020013449.tif 000003
【図２】
2020013449.tif 000004
【図３】
2020013449.tif 000005
【図４】
2020013449.tif 000006
【図５】
2020013449.tif 000007