(57)【要約】  少数の異常音データを用いて教師なし異常音検知の精度を向上する。閾値決定部（１３）は、正常音データを用いて学習した正常モデルと異常音データを表現した異常モデルとを用いて複数の異常音データそれぞれについて異常度を算出し、その最小値を閾値として決定する。重み更新部（１４）は、複数の正常音データと異常音データと閾値とを用いて、異常音データすべてが異常と判定され、正常音データが異常と判定される確率が最小となるように、異常モデルの重みを更新する。
2019049688.tif 000002
【特許請求の範囲】
【請求項１】
正常音データを用いて学習した正常モデルと異常音データを用いて学習した異常モデルとを記憶するモデル記憶部と、
入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する状態判定部と、
を含む異常音検知装置であって、
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常音データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常音データと上記異常音データと上記学習時閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように重みを決定したものである、
異常音検知装置。
【請求項２】
請求項１に記載の異常音検知装置であって、
上記異常モデルは、上記異常音データについて算出した異常度が小さいほどその異常音データに類似するデータに与える重みが大きくなるように重みを決定したものである、
異常音検知装置。
【請求項３】
請求項１または２に記載の異常音検知装置であって、
Nを1以上の整数とし、x1, …, xNを上記異常音データとし、w1, …, wNを上記異常モデルの重みとし、αを正の定数とし、Cを正の定数とし、p(x| z=0)を上記正常モデルとし、pn(x| xn)をn番目の異常音データxnから推定される確率分布とし、
上記異常モデルは、次式により対象データxの異常度A(x)を算出したものである、
【数４１】
2019049688.tif 000043
異常音検知装置。
【請求項４】
請求項１から３のいずれかに記載の異常音検知装置であって、
Nを1以上の整数とし、x1, …, xNを上記異常音データとし、Kを1以上の整数とし、x1, …, xKを上記正常データとし、αを正の定数とし、Cを正の定数とし、A(x)をxの異常度とし、φwを上記閾値とし、p(x| z=0)を上記正常モデルとし、pn(x| xn)をn番目の異常音データxnから推定される確率分布とし、λを所定のステップサイズとし、Tを転置とし、
上記異常モデルは、次式を計算することにより上記異常モデルの重みw=(w1, …, wN)T
を決定したものである、
【数４２】
2019049688.tif 000044
異常音検知装置。
【請求項５】
予め用意された異常音データをモデル化した確率分布である第１の異常モデルと、上記異常音データとは異なる異常音である追加異常音をモデル化した確率分布である第２の異常モデルとを記憶するモデル記憶部と、
入力された対象音データについて上記第１の異常モデルと上記第２の異常モデルとを組合せ異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較し上記対象音データが正常音か異常音かを判定する状態判定部と、
を含む異常音検知装置。
【請求項６】
請求項５に記載の異常音検知装置であって、
上記第２の異常モデルは、上記追加異常音を全て異常と判定できるような確率分布を得るために、上記追加異常音データについて算出した異常度が小さいほどその追加異常音データに類似するデータに与える重みが大きくなるように重みをもたせてモデル化されており、
上記閾値は前記追加異常音の全てを異常音と判定するよう設定されている
異常音検知装置。
【請求項７】
正常音データを用いて学習した正常モデルと異常音データを表現した異常モデルとを用いて複数の異常音データそれぞれについて異常度を算出し、その最小値を閾値として決定する閾値決定部と、
複数の正常音データと上記異常音データと上記閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように、上記異常モデルの重みを更新する重み更新部と、
を含む異常モデル学習装置。
【請求項８】
正常時の時系列データである正常データを用いて学習した正常モデルと異常時の時系列データである異常データを用いて学習した異常モデルとを記憶するモデル記憶部と、
入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する状態判定部と、
を含む異常検知装置であって、
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常データと上記異常データと上記学習時閾値とを用いて、上記異常データすべてが異常と判定され、上記正常データが異常と判定される確率が最小となるように重みを決定したものである、
異常検知装置。
【請求項９】
モデル記憶部に、正常音データを用いて学習した正常モデルと異常音データを用いて学習した異常モデルとが記憶されており、
異常度取得部が、入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算し、
状態判定部が、上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する、
異常音検知方法であって
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常音データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常音データと上記異常音データと上記学習時閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように重みを決定したものである、
異常音検知方法。
【請求項１０】
少なくとも得られた異常音に基づき、疑似異常音を生成する異常音生成装置であって、
前記得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように前記疑似異常音を生成する異常音生成部と、
を有する異常音生成装置。
【請求項１１】
請求項１０に記載の異常音生成装置であって、
前記得られた異常音に基づく値は、異常音を確実に異常と判定し、かつ、正常音を異常と判定する確率を最小化するように最適化された異常モデルと前記得られた異常音とに基づき得られた値である、
異常音生成装置。
【請求項１２】
請求項１１に記載の異常音生成装置であって、
前記異常モデルは、前記得られた異常音と、正常音であるか異常音であるかを判定する対象の音である観測音との重みつき類似度を算出する関数として定義されている、
異常音生成装置。
【請求項１３】
請求項１０から１２のいずれかに記載の異常音生成装置であって、
前記異常音生成部は、〜を確率分布から擬似乱数を生成する演算子とし、Categoricalをカテゴリー分布とし、Nを前記得られた異常音の数とし、nを1からNまでの各整数とし、gnをn番目の前記得られた異常音に与える重みとし、yi,dをi番目の前記得られた異常音のd次元目の値とし、λi,dをi番目の前記得られた異常音のd次元目に与える重みとし、Ν(μ, Σ)を分散がμであり分散共分散行列がΣである混合ガウス分布とし、εを正の定数とし、次式により前記疑似異常音を生成するものである、
【数４３】
2019049688.tif 000045
異常音生成装置。
【請求項１４】
少なくとも得られた異常データに基づき、疑似異常データを生成する異常データ生成装置であって、
前記得られた異常データもしくは前記得られた異常データに基づく値から異常データが従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常データが従う確率分布から生成される確率が低くなるように前記疑似異常データを生成する異常データ生成部と、
を有する異常データ生成装置。
【請求項１５】
得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように疑似異常音を生成する異常音生成部と、
前記疑似異常音から算出される異常度すべてが異常と判定されるように閾値を設定する閾値設定部と、
得られた正常音と前記得られた異常音もしくは前記得られた異常音に基づく値と前記閾値とを用いて、異常音を確実に異常と判定し、かつ、正常音を異常と判定する確率を最小化するように異常モデルのパラメータを更新するモデル更新部と、
を有する異常モデル学習装置。
【請求項１６】
少なくとも得られた異常音に基づき、疑似異常音を生成する異常音生成方法であって、
異常分布取得部が、前記得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得、
異常音生成部が、前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように異常音を生成する、
異常音生成方法。
【請求項１７】
請求項１から６のいずれかに記載の異常音検知装置もしくは請求項７または１５に記載の異常モデル学習装置もしくは請求項８に記載の異常検知装置もしくは請求項１０から１３のいずれかに記載の異常音生成装置もしくは請求項１４に記載の異常データ生成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、監視対象が正常な状態か異常な状態かを判定する異常検知技術に関する。
【背景技術】
【０００２】
工場などに設置された大型の製造機や造型機などの業務用機器は、故障により稼働が停止するだけで業務に大きな支障をもたらす。そのため、その動作状況を日常的に監視し、異常が発生し次第ただちに対処を行う必要がある。解決案として、業務用機器の管理業者が、定期的に現場へ整備員を派遣し、パーツの摩耗などを確認する方法がある。しかし、多大な人件費や移動費、労力が掛かるため、すべての業務用機器や工場でこれを実施することは難しい。この解決手段として、業務用機器の内部にマイクロホンを設置し、その動作音を日常的に監視する方法がある。この方法では、マイクロホンで収音した動作音を解析し、異常と思われる音（以下、「異常音」と呼ぶ）が発生したら、それを検知し、アラートを上げることで、上記の問題を解決する。このように、音を利用して監視対象が正常な状態か異常な状態かを判定する技術は、異常音検知と呼ばれている。【０００３】
機器の種類や個体毎に異常音の種類と検出方法を設定するのではコストが掛かる。そのため、異常音を検知するルールを自動設計できることが望ましい。この解決方法として、統計的手法に基づく異常音検知が知られている（例えば、非特許文献１参照）。統計的手法に基づく異常音検知は、教師あり異常音検知と教師なし異常音検知とに大別できる。教師あり異常音検知では、正常音と異常音の学習データを大量に収集し、この識別率を最大化するように識別器を学習する。一方、教師なし異常音検知では、正常音の学習データの特徴量の確率分布（正常モデル）を学習し、新しく収集した音が正常モデルと類似していれば（尤度が高ければ）正常と判定し、類似していなければ（尤度が低ければ）異常と判定する。産業的応用では、異常音の学習データを大量に集めることが困難であるため、多くの場合、教師なし異常音検知が採用される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】井出剛、杉山将、“異常検知と変化検知”、講談社、pp. 6-7、2015年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
異常音検知システムを運用していると、稀に異常音を見逃してしまうことがある。見逃しを放置しておくと重大な事故につながる可能性があるため、ここで収集できた異常音を用いて、同じ異常音を二度と見逃さないように、異常音検知システムをアップデートする必要がある。しかしながら、得られる異常音のデータ量は、正常音のデータ量に比べて圧倒的に少なく、いまだ教師あり異常音検知を適用することは困難である。【０００６】
この発明の目的は、上記のような点に鑑みて、得られた少数の異常音データを用いて教師なし異常音検知の精度を向上することである。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、この発明の第一の態様の異常音検知装置は、正常音データを用いて学習した正常モデルと異常音データを用いて学習した異常モデルとを記憶するモデル記憶部と、入力された対象データについて正常モデルと異常モデルとを用いて異常度を計算する異常度取得部と、異常度を所定の閾値と比較して対象データが正常か異常かを判定する状態判定部と、を含む。その異常モデルは、少なくとも正常モデルを用いて複数の異常音データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常音データと異常音データと学習時閾値とを用いて、異常音データすべてが異常と判定され、正常音データが異常と判定される確率が最小となるように重みを決定したものである。【０００８】
上記の課題を解決するために、この発明の第二の態様の異常モデル学習装置は、正常音データを用いて学習した正常モデルと異常音データを表現した異常モデルとを用いて複数の異常音データそれぞれについて異常度を算出し、その最小値を閾値として決定する閾値決定部と、複数の正常音データと異常音データと閾値とを用いて、異常音データすべてが異常と判定され、正常音データが異常と判定される確率が最小となるように、異常モデルの重みを更新する重み更新部と、を含む。【０００９】
上記の課題を解決するために、この発明の第三の態様の異常検知装置は、正常時の時系列データである正常データを用いて学習した正常モデルと異常時の時系列データである異常データを用いて学習した異常モデルとを記憶するモデル記憶部と、入力された対象データについて正常モデルと異常モデルとを用いて異常度を計算する異常度取得部と、異常度を所定の閾値と比較して対象データが正常か異常かを判定する状態判定部と、を含む。その異常モデルは、少なくとも正常モデルを用いて複数の異常データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常データと異常データと学習時閾値とを用いて、異常データすべてが異常と判定され、正常データが異常と判定される確率が最小となるように重みを決定したものである。【００１０】
上記の課題を解決するために、この発明の第四の態様の異常音検知装置は、予め用意された異常音データをモデル化した確率分布である第１の異常モデルと、異常音データとは異なる異常音である追加異常音をモデル化した確率分布である第２の異常モデルとを記憶するモデル記憶部と、入力された対象音データについて第１の異常モデルと第２の異常モデルとを組合せ異常度を計算する異常度取得部と、異常度を所定の閾値と比較し対象音データが正常音か異常音かを判定する状態判定部と、を含む。【００１１】
上記の課題を解決するために、この発明の第五の態様の異常音生成装置は、少なくとも得られた異常音に基づき、疑似異常音を生成する異常音生成装置であって、得られた異常音もしくは得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように疑似異常音を生成する異常音生成部と、を有する。【００１２】
上記の課題を解決するために、この発明の第六の態様の異常データ生成装置は、少なくとも得られた異常データに基づき、疑似異常データを生成する異常データ生成装置であって、得られた異常データもしくは得られた異常データに基づく値から異常データが従う確率分布である異常分布を得る異常分布取得部と、異常分布から生成される確率が高く、かつ、正常データが従う確率分布から生成される確率が低くなるように疑似異常データを生成する異常データ生成部と、を有する。【００１３】
上記の課題を解決するために、この発明の第七の態様の異常モデル学習装置は、得られた異常音もしくは得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように疑似異常音を生成する異常音生成部と、疑似異常音から算出される異常度すべてが異常と判定されるように閾値を設定する閾値設定部と、得られた正常音と得られた異常音もしくは得られた異常音に基づく値と閾値とを用いて、異常音を確実に異常と判定し、かつ、正常音を異常と判定する確率を最小化するように異常モデルのパラメータを更新するモデル更新部と、を有する。
【発明の効果】
【００１４】
この発明の異常音検知技術によれば、得られた少数の異常音データがすべて異常となり、多数の正常音データが異常と誤判定される確率が最小となる異常モデルを用いて異常音検知を行うため、教師なし異常音検知の精度が向上する。
【図面の簡単な説明】
【００１５】
【図１】図１は、従来の教師なし異常音検知を説明するための図である。
【図２】図２は、従来の教師なし異常音検知の概念を示す図である。
【図３】図３は、本発明の教師なし異常音検知の概念を示す図である。
【図４】図４は、異常モデルの更新と異常度の変化を例示する図である。
【図５】図５は、異常モデル学習装置の機能構成を例示する図である。
【図６】図６は、異常モデル学習方法の処理手続きを例示する図である。
【図７】図７は、異常音検知装置の機能構成を例示する図である。
【図８】図８は、異常音検知方法の処理手続きを例示する図である。
【図９】図９Ａは、AUC最大化の概念を説明するための図である。図９Ｂは、ネイマン・ピアソン基準の概念を説明するための図である。図９Ｃは、条件付きAUC最大化の概念を説明するための図である。
【図１０】図１０Ａは、分散を最適化せずに異常サンプルを生成したときの分布を例示する図である。図１０Ｂは、分散を最適化して異常サンプルを生成したときの分布を例示する図である。
【図１１】図１１は、異常モデル学習装置の機能構成を例示する図である。
【図１２】図１２は、異常モデル学習方法の処理手続きを例示する図である。
【図１３】図１３は、異常音検知装置の機能構成を例示する図である。
【図１４】図１４は、異常音検知方法の処理手続きを例示する図である。
【発明を実施するための形態】
【００１６】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１７】
＜第一実施形態＞
この実施形態では、少数の異常音データから異常モデル（もしくはペナルティ）を推定し、それを併用しながら異常度を計算する。異常モデルの推定にはカーネル密度推定法を利用する。この発明では、従来のカーネル密度推定法のようにすべての異常音データに等しい混合重みを用いて異常モデルを推定するのではなく、異常音検知の精度を最大化するような重みを用いて異常モデルを計算する。それを実現するために、この発明では、得られている異常音データをすべて異常と判定できる異常判定閾値の下で、正常音データを異常と誤判定する確率（偽陽性率）を最小化するように重みを最適化するアルゴリズムを実装する。
【００１８】
＜教師なし異常音検知＞
図１を参照して、従来の教師なし異常音検知技術について説明する。異常音検知では、まず、監視対象機器の稼働音をマイクロホンで収録して観測信号xを得る。ここで、観測信号xは、音声波形でもよいし、音声波形を高速フーリエ変換（FFT: Fast Fourier Transform）したスペクトルでもよいし、ニューラルネットワークなどを用いて特徴量抽出したベクトルでもよい。次いで、観測信号xから正常モデルを用いて異常度A(x)を計算し、その異常度A(x)が事前に定めた閾値φ以上であった場合、観測信号xを異常音と判定する。
【００１９】
教師なし異常音検知では、異常度A(x)を式（１）（２）のように求めることが一般的である。
【００２０】
【数１】
2019049688.tif 000003
【００２１】
ここで、p(x| z=0)は観測信号xが正常状態の機器が発した音である確率（正常モデル）であり、p(x| z=1)は観測信号xが異常状態の機器が発した音である確率（異常モデル）である。正常モデルと異常モデルはそれぞれ、正常状態および異常状態の機器の発した音を録音したデータ（学習データ）から求めることになる。しかしながら、異常状態の機器が発した音を録音したデータ（異常音データ）を収集することは多くの場合困難である。そこで、教師なし異常音検知では、式（３）に示すように、異常モデルを一様分布でモデル化することが一般的である。
【００２２】
【数２】
2019049688.tif 000004
【００２３】
ここで、Rは実数全体の集合であり、Dはxの次元数であり、Cは正の定数である。式（３）を式（２）に代入することで、式（４）が得られる。
【００２４】
【数３】
2019049688.tif 000005
【００２５】
すなわち、教師なし異常音検知では、観測信号xが正常モデルp(x| z=0)から生成されたとは言えない場合、観測信号xを異常音と判定する。図２は、従来の教師なし異常音検知により観測信号x=(x1, x2)に対する異常音検知を示した概念図である。図２の破線の円は正常モデルであり、その円周が正常か異常かを判定する閾値である。○印で示す観測信号は正常モデルの中に位置しているため正常と判定され、×印で示す観測信号は正常モデルの外に位置しているため異常と判定される。
【００２６】
＜本実施形態の原理＞
異常音検知システムを運用していると、稀に異常音データを収集できることがある。この実施形態の目的は、運用中に得られた少数の異常音データを用いて、異常音検知の精度を向上させることである。
【００２７】
≪少数の異常音データを用いた異常音検知の高度化≫
従来の教師なし異常音検知において、異常音は異常モデルp(x| z=1)で表現されていた。また、従来の問題設定では、異常音データを全く得られないことを想定していたため、異常モデルp(x| z=1)は一様分布でモデル化していた。本発明では、図３に示すように、得られた少数の異常音データ{xn}n=1Nを用いて、異常モデルp(x| z=1)を推定することを考える。図３の例は、従来の教師なし異常音検知では、本来は異常である観測信号が正常モデル（破線）の内に入り正常と判定される誤判定や、本来は正常である観測信号が正常モデル（破線）の外に出て異常と判定される誤判定が発生していたが、得られた異常音データから異常モデル（一点鎖線）を推定することで、正しく判定されるようになっていることを表している。
【００２８】
少数の異常音データを用いて異常モデルを推定する方法には、例えばカーネル密度推定法が応用できる。カーネル密度推定法を異常モデルの推定に適用すると、異常モデルp(x|z=1)は式（５）のように記述できる。
【００２９】
【数４】
2019049688.tif 000006
【００３０】
ここで、0≦αであり、pn(x| xn)はn番目の異常音データxnから推定される確率分布である。
【００３１】
確率分布pn(x| xn)は、例えば、式（６）のガウス分布を用いることができる。
【００３２】
【数５】
2019049688.tif 000007
【００３３】
ここで、σ（>0）は分散パラメータである。
【００３４】
確率分布pn(x| xn)は、式（６）のガウス分布の他にも、式（７）のフォン・ミーゼス分布なども利用できる。
【００３５】
【数６】
2019049688.tif 000008
【００３６】
ここで、Tはベクトルの転置であり、кは集中度パラメータであり、Z(к)は正規化定数である。
【００３７】
すると、異常度A(x)は式（８）（９）のように計算できる。
【００３８】
【数７】
2019049688.tif 000009
【００３９】
式（８）（９）を用いて異常モデルを推定することで、図４に例示するように異常度が変化する。つまり、得られた異常音データに類似する観測信号xの異常度A(x)に、lnpn(x|xn)に比例したペナルティが与えられるため、異常音データxnに類似する観測信号xを異常音と判定しやすくなる効果がある。
【００４０】
≪各異常音データの重みづけ問題≫
異常音検知の最終目的は、観測信号xが正常音か異常音かを正しく判定することであり、異常モデルを正確に推定することではない。言い換えれば、観測信号xが正常音か異常音かを正しく判定できればよく、従来のカーネル密度推定法のように、ヒストグラムの意味で正確に異常モデルを求める必要はない。
【００４１】
本実施形態では、カーネル密度推定法におけるN個の各確率分布pn(x| xn)に異なる重みwnを付けて異常モデルを推定する。すなわち、式（５）を式（10）に変更する。
【００４２】
【数８】
2019049688.tif 000010
【００４３】
ただし、重みwnは以下の性質を持つものとする。
【００４４】
【数９】
2019049688.tif 000011
【００４５】
異常度A(x)は式（12）（13）のように計算できる。
【００４６】
【数１０】
2019049688.tif 000012
【００４７】
式（12）（13）を用いて異常モデルを推定することで、図４に示すように異常度が変化する。つまり、この重みづけは、正常音と誤判定する可能性が高い異常音データxnには大きな重みwnを与えることで、全体の誤判定率を低下させる働きを持っている。ここで問題となるのが、１．最適な重みとはどのような性質を満たすのか、２．重みはどのような目的関数を用いて最適化すればよいのか、の二点である。
【００４８】
≪偽陽性率最小化指標と最適化アルゴリズム≫
以下、本実施形態の中心的な部分である最適な重みwnを求めるアルゴリズムについて説明する。異常音検知システムの精度の評価には、真陽性率（TPR: True Positive Rate、異常音を正しく異常音と判定できる確率）と、偽陽性率（FPR: False Positive Rate、正常音を誤って異常音と判定してしまう確率）とが用いられることが一般的である。TPRとFPRは以下のように求めることができる。
【００４９】
【数１１】
2019049688.tif 000013
【００５０】
ここでΗ[x]は、x≧0なら1、x<0なら0となる判定関数である。異常音検知システムは、真陽性率（TPR）が高く、かつ、偽陽性率（FPR）が低い方が、性能が良いため、以下の指標を最小化するシステムが最も性能が良いことになる。
【００５１】
【数１２】
2019049688.tif 000014
【００５２】
異常音検知システムにおいては、異常音データの見逃しの方が問題となるため、N個の異常音データは確実に異常と判定したい。これを満たすためには、N個の異常音データから求まる真陽性率（TPR）を１とすればよい。
【００５３】
【数１３】
2019049688.tif 000015
【００５４】
以上より、最適な異常音検知システムは式（16）の最小化と、見逃しの再発を起こさないための式（17）の制約とを同時に満たせばよいことになる。言い換えると、得られている異常音データを全て異常と判定できる閾値の下で、偽陽性率を最小化するように重みを更新すればよい。この重みwnの最適化は、式（18）〜（20）の制約付き最適化問題を解くことで実行できる。
【００５５】
【数１４】
2019049688.tif 000016
【００５６】
ここで、φwはwnが与えられた下で式（17）を満足する閾値である。
【００５７】
式（18）の最適化は、近接勾配法などを用いて実行できる。勾配法の実行のために、目的関数J(w)を重みwnについて偏微分可能な形へと変形する。目的関数J(w)において重みwnで微分できないのは、判定関数H[A(xn), φ]である。ここでは判定関数をなめらかな関数であるシグモイド関数で近似する。
【００５８】
【数１５】
2019049688.tif 000017
【００５９】
すると、重みwnの更新は式（23）〜（27）で実行できる。
【００６０】
【数１６】
2019049688.tif 000018
【００６１】
ここで、λ（>0）は勾配法のステップサイズであり、▽xはxに関する偏微分を表す。
【００６２】
以下、この発明の第一実施形態について詳細に説明する。この発明の第一実施形態は、異常音検知に用いる異常モデルを推定する異常モデル学習装置１と、異常モデル学習装置１が学習した異常モデルを用いて観測信号が正常か異常かを判定する異常音判定装置２とからなる。
【００６３】
≪異常モデル学習装置≫
第一実施形態の異常モデル学習装置１は、図５に例示するように、入力部１１、初期化部１２、閾値決定部１３、重み更新部１４、重み修正部１５、収束判定部１６、および出力部１７を含む。この異常モデル学習装置１が、図６に例示する各ステップの処理を行うことにより第一実施形態の異常モデル学習方法が実現される。
【００６４】
異常モデル学習装置１は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。異常モデル学習装置１は、例えば、中央演算処理装置の制御のもとで各処理を実行する。異常モデル学習装置１に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。異常モデル学習装置１の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００６５】
以下、図６を参照して、第一実施形態の異常モデル学習装置１が実行する異常モデル学習方法について説明する。
【００６６】
ステップＳ１１において、入力部１１は、正常モデルp(x| z=0)と正常音データ{xk}k=1Kと異常音データ{xn}n=1Nと一様分布重みαと一様分布定数Cと勾配法のステップサイズλとを入力として受け取る。α, C, λの各パラメータはチューニングする必要があるが、例えば、α=N, C=0.05, λ=10-3程度に設定すればよい。正常モデルp(x| z=0)は、正常音データを用いて推定した確率分布であり、従来の教師なし異常音検知で用いるものと同様である。正常音データ{xk}k=1Kは正常状態の機器が発した音を収録した大量の音データである。異常音データ{xn}n=1Nは異常状態の機器が発した音を収録した少量の音データである。なお、入力される正常音データ{xk}k=1Kは、正常モデルp(x| z=0)を学習するために用いた正常音データと同じものであることが好ましいが、必ずしも同じものでなくてもよい。
【００６７】
ステップＳ１２において、初期化部１２は、重みwn（n=1, …, N）を初期化する。例えば、wn←1/Nで初期化すればよい。
【００６８】
ステップＳ１３において、閾値決定部１３は、各異常音データxn（n=1, …, N）について、式（13）を計算し、得られた異常度A(xn)（n=1, …, N）の最小値min(A(xn))を閾値φwとして決定する。閾値決定部１３は、得られた閾値φwを重み更新部１４へ出力する。
【００６９】
ステップＳ１４において、重み更新部１４は、異常音データ{xn}n=1Nがすべて異常と判定され、正常音データ{xk}k=1Kが異常と判定される確率が最小となるように、重みwnを更新する。そのために、重み更新部１４は、異常音データxnについて計算した異常度A(xn)が小さいほど大きな重みを与えるように、重みwnを更新する。具体的には、重み更新部１４は、式（23）を計算して、重みwnを更新する。この際、Kが大きい、すなわち、正常音データ{xk}k=1Kの数が多い場合には、その正常音データ{xk}k=1Kからランダムに選択したK'個の正常音データを用いて式（23）を計算してもよい。K'は計算リソースや所望の判定精度に応じてチューニングすればよいが、例えば、128や1024に設定すればよい。重み更新部１４は、更新された重みwn（n=1, …, N）を重み修正部１５へ出力する。
【００７０】
ステップＳ１５において、重み修正部１５は、重み更新部１４から重みwn（n=1, …, N）を受け取り、重みwn（n=1, …, N）が制約を満たすように、各重みwnを修正する。例えば、重みwnのうちwn<0のものがあればwn=0と設定し、式（28）を計算することで、重みwnを修正することができる。
【００７１】
【数１７】
2019049688.tif 000019
【００７２】
ステップＳ１６において、収束判定部１６は、あらかじめ設定した終了条件を満たしているか否かを判定する。収束判定部１６は、終了条件を満たしていればステップＳ１７へ処理を進め、満たしていなければステップＳ１３へ処理を戻す。終了条件は、例えば、ステップＳ１３〜Ｓ１５の繰り返しを100回実行したこと、などと設定すればよい。
【００７３】
ステップＳ１７において、出力部１７は、重みwn（n=1, …, N）を出力する。
【００７４】
≪異常音検知装置≫
第一実施形態の異常音検知装置２は、図７に例示するように、モデル記憶部２０、入力部２１、異常度取得部２２、状態判定部２３、および出力部２４を含む。この異常音検知装置２が、図８に例示する各ステップの処理を行うことにより第一実施形態の異常音検知方法が実現される。
【００７５】
異常音検知装置２は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。異常音検知装置２は、例えば、中央演算処理装置の制御のもとで各処理を実行する。異常音検知装置２に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。異常音検知装置２の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。異常音検知装置２が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
【００７６】
モデル記憶部２０には、正常モデルp(x| z=0)と異常モデルp(x| z=1)と閾値φとが記憶されている。正常モデルp(x| z=0)は、異常モデル学習装置１と同様に、正常音データを用いて確率分布を推定したモデルであり、従来の教師なし異常音検知で用いるものと同様である。異常モデルp(x| z=1)は、異常モデル学習装置１により異常音データ{xn}n=1Nを用いて重みwn（n=1, …, N）を学習したモデルである。閾値φは、異常モデル学習装置１の閾値決定部１３により決定された閾値φwであってもよいし、あらかじめ手動で与えた閾値であってもよい。
【００７７】
以下、図８を参照して、第一実施形態の異常音検知装置２が実行する異常音検知方法について説明する。
【００７８】
ステップＳ２１において、入力部２１は、異常音検知の対象とする観測信号xを入力として受け取る。入力部２１は、観測信号xを異常度取得部２２へ出力する。
【００７９】
ステップＳ２２において、異常度取得部２２は、入力部２１から観測信号xを受け取り、式（13）を計算し、異常度A(x)を得る。異常度取得部２２は、得られた異常度A(x)を状態判定部２３へ出力する。
【００８０】
ステップＳ２３において、状態判定部２３は、異常度取得部２２から異常度A(x)を受け取り、異常度A(x)と閾値φとを比較して、観測信号xが正常か異常かを判定する。状態判定部２３は、判定結果を出力部２４へ出力する。
【００８１】
ステップＳ２４において、出力部２４は、状態判定部２３から判定結果を受け取り、その判定結果を異常音検知装置２の出力とする。
【００８２】
＜第一実施形態の変形例＞
本実施形態では、音データを対象とした異常音検知について説明したが、本実施形態は音データ以外へも適用することが可能である。例えば、本実施形態は音データ以外の時系列データや、画像データにも適用できる。これを適用するためには、xをその適用対象に適したものにすればよい。これは、振動センサや株価データであれば、これらの時系列情報をまとめたものや、それをフーリエ変換したものにすればよいし、画像であれば画像特徴量やそれをニューラルネットワークなどで分析した結果にしてもよい。この場合、異常音検知装置２は、正常時のデータである正常データを学習した正常モデルと異常時のデータである異常データを学習した異常モデルとを用いて観測データが正常か異常かを判定する異常検知装置として機能する。
【００８３】
本実施形態では、少数の異常音データを用いて偽陽性率を最小化することを説明したが、正常音データを用いて偽陰性率を最小化するように構成することも可能である。すなわち、対象とするデータの種類や目標とする指標については、本実施形態の趣旨を逸脱しない範囲で適宜変更することが可能である。
【００８４】
本実施形態では、異常モデル学習装置１と異常音検知装置２を別個の装置として構成する例を説明したが、異常モデルを学習する機能と学習済みの異常モデルを用いて異常音検知を行う機能とを兼ね備えた１台の異常音検知装置を構成することも可能である。すなわち、変形例の異常音検知装置は、入力部１１、初期化部１２、閾値決定部１３、重み更新部１４、重み修正部１５、収束判定部１６、出力部１７、モデル記憶部２０、入力部２１、異常度取得部２２、状態判定部２３、および出力部２４を含む。
【００８５】
＜第二実施形態＞
本実施形態では、得られた少数の異常音データを用いて教師なし異常音検知の精度を向上する枠組みを提供する。本実施形態では、少数の異常音データから異常モデル（もしくはペナルティ）を推定し、それを併用しながら異常度を計算する。異常モデルは少数の異常音と観測信号の類似度として定義する。すなわち、今までに得ている異常音と類似した観測信号には、異常と判定しやすくなるペナルティを与える。この異常モデルを学習するために、得られている異常データをすべて異常と判定できる異常判定閾値の下で、正常な観測信号を誤って異常と誤判定する確率である偽陽性率を最小化するように重みを最適化するアルゴリズムを提供する。
【００８６】
＜教師なし異常音検知＞
異常音検知とは、入力xを発した監視対象の状況が正常か異常かを判定するタスクである。ここで、xには、例えば式（29）のように、観測信号の対数振幅スペクトルln|Xt,f|を並べたものを用いることができる。
【００８７】
【数１８】
2019049688.tif 000020
【００８８】
ここで、t={1, 2, …, T}は時間のインデックス、f={1, 2, …, F}は周波数のインデックス、Qは入力で考慮する過去と未来のフレーム数である。xはこれに限らず、観測信号から特徴量を抽出した結果でもよい。
【００８９】
統計的手法に基づく異常音検知では、式（30）に示すように、入力xから異常度A(x)を算出する。
【００９０】
【数１９】
2019049688.tif 000021
【００９１】
ここで、p(x| z=0)は監視対象が正常状態のときにxを発する確率分布（正常モデル）、p(x| z=1)は監視対象が異常状態のときにxを発する確率分布（異常モデル）である。そして、式（31）に示すように、異常度A(x)が事前に定義した閾値φより大きければ監視対象は異常、小さければ正常と判断する。
【００９２】
【数２０】
2019049688.tif 000022
【００９３】
ここで、Η(・)は引数が非負なら１、負なら０を返すステップ関数である。識別結果が１ならば観測信号を異常と判定し、０ならば正常と判定する。
【００９４】
式（31）を計算するためには、正常モデルと異常モデルとが既知でなくてはならない。しかしながら、各モデルは未知であるため、学習データから推定する必要がある。正常モデルは例えば、事前に収集した正常状態の動作音データ（正常データ）から、以下の混合ガウス分布（GMM: Gaussian Mixture Model）を学習することで設計できる。
【００９５】
【数２１】
2019049688.tif 000023
【００９６】
ただし、Kは混合数、Ν(x|μ, Σ)は平均ベクトルμと分散共分散行列Σとをパラメータとするガウス分布、wkはk番目の分布の重み、μkはk番目の分布の平均ベクトル、Σkはk番目の分布の分散共分散行列である。
【００９７】
正常データは大量に収集することが容易な一方、異常状態の動作音データ（異常データ）を収集することは困難である。そこで、「教師なし異常音検知」では、異常モデルを省略し、式（33）に示すように異常度A(x)を定義することが一般的である。
【００９８】
【数２２】
2019049688.tif 000024
【００９９】
つまり、教師なし異常音検知では、正常モデルと観測信号が類似しているならば正常と判定し、類似していないなら異常と判定する。
【０１００】
＜本実施形態の原理＞
実環境で教師なし異常音検知システムを運用していると、異常データを収集できるときがある。例えば、教師なし異常音検知システムが異常状態を検知すれば、自動的に異常データを得ることができる。また、教師なし異常音検知システムが異常状態を見逃したとしても、その後の人手の検査などで異常状態が発覚すれば、それまでの観測データを異常データとして用いることができる。特に後者のようなケースでは、異常状態の見逃しを続けると重大な事故に繋がるため、観測できた異常データを用いてシステムをアップデートすべきである。本発明は、上記のように運用中に得られた異常データを用いて異常モデルを学習することで、異常音検知の精度を向上させる技術である。
【０１０１】
≪異常モデルの設計≫
得られたN個の異常なサンプルY:={yn}n=1Nから異常モデルp(x| Y)を推定することを考える。監視対象が異常状態になることは稀であるため、Nは正常データの数よりも圧倒的に少ない。そのため、異常モデルを混合ガウス分布のような複雑な統計モデルでモデル化することは困難である。そこで本発明では、式（34）の異常モデルを設計するものとする。
【０１０２】
【数２３】
2019049688.tif 000025
【０１０３】
ここで、Κ(x, yn)はxとynとの類似度を計算する関数、gnはn番目の異常データの混合重み、Θnはxとynとの類似度を計算するためのパラメータである。すなわち、異常度A(x)を式（35）として計算する。
【０１０４】
【数２４】
2019049688.tif 000026
【０１０５】
つまり本実施形態では、異常モデルを、得られた異常データと観測信号の類似度の重み付き和を算出する関数として定義することで、得られた異常データと観測信号とが類似しているならば異常と判定するように誘導するペナルティ項として用いて、教師なし異常音検知システムを更新／補正する。
【０１０６】
≪目的関数の設計≫
本実施形態の異常度である式（35）において、求めるべきパラメータはgnとΘnである。学習データを用いてパラメータを求めるためには、「どのようなパラメータがシステムにとって良いパラメータなのか」を数学的に記述した「目的関数」を適切に設計しなくてはならない。異常音検知の目的関数では、横軸を正常な観測信号を誤って異常と誤判定する確率である偽陽性率（FPR: False Positive Rate）とし、縦軸を異常な観測信号を正しく異常と判定できる確率である真陽性率（TPR: True Positive Rate）としたときの、曲線の下部面積であるAUC（Area Under the Receiver Operating Characteristic Curve）を利用して目的関数を設計することがある。なお、式（35）で異常度を定義するならば、真陽性率（TPR）と偽陽性率（FPR）は、式（36）（37）のように定義できる。
【０１０７】
【数２５】
2019049688.tif 000027
【０１０８】
初期の研究では、AUC全体を最大化するように学習が行われていた（下記参考文献１参照）。一方、近年の研究では、教師なし異常音検知を仮説検定とみなすことで、ある危険率（例えば、偽陽性率）に対する条件下で真陽性率を最大化するように教師なし異常音検知システムを学習することで、異常音検知の性能が向上することが明らかになっている（下記参考文献２参照）。このような概念は、「ネイマン・ピアソン基準」と呼ばれている。
【０１０９】
〔参考文献１〕A. P. Bradley, "The Use of the Area Under the ROC Curve in the Evaluation of Machine Learning Algorithms," Pattern Recognition, pp. 1145-1159, 1996.
〔参考文献２〕Y. Koizumi, et al., "Optimizing Acoustic Feature Extractor for Anomalous Sound Detection Based on Neyman-Pearson Lemma," EUSIPCO, 2017.
異常音検知システムにおいて、異常状態の見逃しを続けると重大な事故につながる可能性がある。監視対象機器が取り得るすべての異常データを得ることが困難なため、監視対象機器が取り得るすべての異常状態の見逃しを防ぐことは困難である。しかしながら、少なくとも得られている異常データと類似する異常状態は、必ず異常と判定するようにシステムを構築することは可能である。そこで、式（36）の真陽性率（TPR）の定義を式（38）のように変更する。
【０１１０】
【数２６】
2019049688.tif 000028
【０１１１】
この真陽性率（TPR）が1.0となる条件のもとで、偽陽性率（FPR）を最小化する式（39）を、本実施形態の目的関数とする。以下、式（39）の目的関数を、「条件付きAUC最大化」と呼ぶことにする。
【０１１２】
【数２７】
2019049688.tif 000029
【０１１３】
図９は、従来の「AUC最大化」（図９Ａ）や「ネイマン・ピアソン基準」（図９Ｂ）と、本実施形態の「条件付きAUC最大化」（図９Ｃ）との概念の違いを表す図である。図中の点線は学習前の受信者動作特性（ROC: Receiver Operating Characteristic）曲線であり、実線は学習後のROC曲線である。またAUCは、ROC曲線とx軸がはさむ領域の面積であり、AUC最大化ではこの面積を増加させるように学習を行う。ネイマン・ピアソン基準は、偽陽性率（FPR）が特定の値になる領域のTPRを向上させることで、AUCを最大化していた（破線より左、A1の領域）。一方、条件付きAUC最大化は、真陽性率（TPR）が1.0となる領域のAUCを直接最大化していることに等しい（破線より右、A2の領域）。すなわち、制約項が偽陽性率（FPR）でなく真陽性率（TPR）に変化している。つまり、条件付きAUC最大化では、目的関数を、異常データを確実に異常と判定できる条件下で、正常データを異常と誤判定する確率を最小化するものとしている。
【０１１４】
≪学習方法≫
目的関数を計算機上で実現するアルゴリズムを考える。式（39）における制約項は、適切な閾値を設定することで満たすことができる。ここでφρが
【０１１５】
【数２８】
2019049688.tif 000030
【０１１６】
を満たすなら、式（39）は式（41）のように書くことができる。
【０１１７】
【数２９】
2019049688.tif 000031
【０１１８】
したがって、上記のような閾値φρを求めることで、最適化は容易になる。
【０１１９】
式（38）で真陽性率（TPR）を求める上で困難になるのは、上記の積分が解析的に実行できない点にある。そこで本発明では、上記の積分をサンプリング法で近似的に実行する。まず、推定した異常分布p(x| Y)から、I個の異常サンプルY:={yi}i=1Iを擬似生成する。
【０１２０】
【数３０】
2019049688.tif 000032
【０１２１】
ここで、〜は、右辺の確率分布から擬似乱数生成法などを用いて擬似乱数を生成する演算子である。p(x| Y)が正規化された確率分布ではない場合でも、スライスサンプリング法などを用いてその値に比例した確率でサンプルを生成する。そして、これらのサンプルを用いて式（40）を満たすための条件は、φρが、生成されたサンプルから求められるすべての異常度よりも小さいことである。そこで、φρを以下のように決定する。
【０１２２】
【数３１】
2019049688.tif 000033
【０１２３】
ここで、βは正の定数である。
【０１２４】
最後に、式（39）を最大化したいが、式（37）における偽陽性率（FPR）内の積分も解析的に計算できない。そこで、正常データの中から、ランダムにJ個を選択し、積分をそのデータから計算される値の和に近似して勾配を計算する確率的勾配法で最適化を行う。
【０１２５】
【数３２】
2019049688.tif 000034
【０１２６】
ここで、αはステップサイズである。ただし、ステップ関数であるΗ(・)はその勾配を求めることができないため、シグモイド関数で近似する。なお、目的関数は式（47）のように変更してもよい。
【０１２７】
【数３３】
2019049688.tif 000035
【０１２８】
つまり本実施形態では、目的関数を、得られた異常データそのものまたは得られた異常データから求めた異常モデルを用いて疑似生成した異常データを、確実に異常と判定できることを制約条件として、正常データを異常と誤判定する確率を最小化するものとして、異常モデルを学習する。
【０１２９】
＜ガウスカーネルを用いた実装例＞
上述した本実施形態の異常音検知の原理を、ガウスカーネルを用いて実装する例を説明する。本実施形態における異常モデルを式（48）のように定義する。
【０１３０】
【数３４】
2019049688.tif 000036
【０１３１】
ここで、0≦λn,d, 0≦gn, Σn=1Ngn=1であり、εは正の小さな定数である。gnはn番目の異常データが、その他の異常データと相対的に比較して、異常判定にどれくらい重要かを表すパラメータである。また、λn,dは、n番目の異常データのd次元目が異常判定にどれくらい重要かを表すパラメータである。なお、異常モデルp(x| Y)を確率密度関数として捉えるならば、∫Κ(x, y)dx=1と規格化されていなくてはならず、また、Σn=1Ngn=1でなくてはならない。一方、異常モデルを得られた異常データと類似している観測へのペナルティ項と捉えるならば、確率分布の条件である規格化の制約を満たす必要はない。そのため、式（48）においては、∫Κ(x, y)dx=1は満たしていない。
【０１３２】
式（48）の異常モデルを用いた場合、各パラメータは以下のように更新することができる。まず、閾値φρを求めるために、異常サンプルを生成する。式（48）に基づき異常モデルを定義した場合、異常サンプルは例えば式（49）（50）のように生成できる。
【０１３３】
【数３５】
2019049688.tif 000037
【０１３４】
ここで、Categoricalはカテゴリー分布を表す。
【０１３５】
次に、式（43）で閾値を設定する。すると、各パラメータは式（51）（52）のように更新できる。
【０１３６】
【数３６】
2019049688.tif 000038
【０１３７】
ただし、
【０１３８】
【数３７】
2019049688.tif 000039
【０１３９】
であり、係数γnは以下のように求められる。
【０１４０】
【数３８】
2019049688.tif 000040
【０１４１】
また、0≦λn,d, 0≦gn, Σn=1Ngn=1を満たすために、更新毎に以下の後処理を行う。
【０１４２】
【数３９】
2019049688.tif 000041
【０１４３】
また、正則化のために、λn,dの後処理は以下で行ってもよい。
【０１４４】
【数４０】
2019049688.tif 000042
【０１４５】
ここで、ξ=10-7程度に設定すればよい。
【０１４６】
ガウスカーネルの形状に関するパラメータλn,dを固定し、重要度パラメータgnのみを学習することも考えられる。しかしながら、このような状況でサンプリングを行うと、図１０Ａに例示するように、正常の範囲内に異常データを生成してしまう可能性があり、それにより、TPRの計算における期待値の近似演算が不安定になるため、閾値が正しく設定できない可能性がある。そのため、λn,dを固定した場合、サンプリングを用いた閾値設定は行えず、得られた異常サンプルから直接閾値設定を行う必要がある。λn,dの逆数が分散になるため、λn,dを最適化することで、図１０Ｂに例示するように、検知に重要な特徴量次元では正常データの範囲内に異常サンプルを生成しないようになる。したがって、本実施形態では、λn,dを学習することで、サンプリングを用いた閾値設定を可能としている。
【０１４７】
以下、本発明の第二実施形態について詳細に説明する。本発明の第二実施形態は、上述した異常モデルの学習を行う異常モデル学習装置３と、異常モデル学習装置３が学習した異常モデルを用いて観測信号が正常か異常かを判定する異常音検知装置４とからなる。
【０１４８】
≪異常モデル学習装置≫
第二実施形態の異常モデル学習装置３は、図１１に例示するように、入力部３１、初期化部３２、異常分布取得部３３、異常音生成部３４、閾値決定部３５、モデル更新部３６、収束判定部３７、および出力部３８を備える。この異常モデル学習装置３が、図１２に例示する各ステップの処理を行うことにより第二実施形態の異常モデル学習方法が実現される。
【０１４９】
異常モデル学習装置３は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。異常モデル学習装置３は、例えば、中央演算処理装置の制御のもとで各処理を実行する。異常モデル学習装置３に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。異常モデル学習装置３の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【０１５０】
以下、図１２を参照して、第二実施形態の異常モデル学習装置３が実行する異常モデル学習方法について説明する。
【０１５１】
ステップＳ３１において、入力部３１は、正常モデルp(x| z=0)、正常音データ、異常音データ、および学習に必要なパラメータα, β, ε, ξを入力として受け取る。α, β, ε, ξの各パラメータは環境に合わせて設定するものであるが、例えば、α=10-4, β=5, ε=10-6, ξ=10-7程度に設定する。正常モデルp(x| z=0)は、正常音データを用いて推定した確率分布であり、従来の教師なし異常音検知で用いるものと同様である。正常音データは正常状態の機器が発した音を収録した大量の音データである。異常音データは異常状態の機器が発した音を収録した少量の音データである。なお、入力される正常音データは、正常モデルp(x| z=0)を学習するために用いた正常音データと同じものであることが好ましいが、必ずしも同じものでなくてもよい。
【０１５２】
ステップＳ３２において、初期化部３２は、0≦λn,d, 0≦gn, Σn=1Ngn=1を満たすように、λn,d, gnを一様乱数などで初期化する。初期化部３２は、初期化したパラメータλn,d, gnを異常分布取得部３３へ出力する。
【０１５３】
ステップＳ３３において、異常分布取得部３３は、初期化部３２からパラメータλn,d,gnを受け取り、入力された異常音データから式（48）の異常モデルp(x| Y)を生成する。ステップＳ３３を２回目以降に実行するときには、異常分布取得部３３は、学習中のパラメータλn,d, gnと、ステップＳ３４で疑似生成する異常サンプル{yn}n=1Nとから式（48）の異常モデルp(x| Y)を生成する。異常分布取得部３３は、生成した異常モデルp(x| Y)を異常音生成部３４へ出力する。
【０１５４】
ステップＳ３４において、異常音生成部３４は、異常分布取得部３３から異常モデルp(x| Y)を受け取り、式（49）（50）により、N個の異常サンプル{yn}n=1Nを疑似生成する。異常音生成部３４は、疑似生成した異常サンプル{yn}n=1Nを閾値決定部３５へ出力する。
【０１５５】
ステップＳ３５において、閾値決定部３５は、異常音生成部３４から異常サンプル{yn}n=1Nを受け取り、式（43）に基づいて閾値φρを設定する。閾値決定部３５は、決定した閾値φρをモデル更新部３６へ出力する。
【０１５６】
ステップＳ３６において、モデル更新部３６は、閾値決定部３５から閾値φρを受け取り、式（51）から式（58）に基づいて異常モデルp(x| Y)のパラメータλn,d, gnを更新する。このとき、式（51）（52）には単純な勾配降下法だけでなく、例えばAdam法などの異なる勾配法を用いてもよい。
【０１５７】
ステップＳ３７において、収束判定部３７は、あらかじめ設定した終了条件を満たしているか否かを判定する。収束判定部３７は、終了条件を満たしていればステップＳ３８へ処理を進め、満たしていなければステップＳ３３へ処理を戻す。終了条件は、例えば、ステップＳ３３〜Ｓ３６の繰り返しを500回実行したこと、などと設定すればよい。
【０１５８】
ステップＳ３８において、出力部３８は、学習したパラメータλn,d, gnを出力する。
【０１５９】
≪異常音検知装置≫
第二実施形態の異常音検知装置４は、図１３に例示するように、モデル記憶部４０、入力部４１、異常度取得部４２、状態判定部４３、および出力部４４を備える。この異常音検知装置４が、図１４に例示する各ステップの処理を行うことにより第二実施形態の異常音検知方法が実現される。
【０１６０】
異常音検知装置４は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。異常音検知装置４は、例えば、中央演算処理装置の制御のもとで各処理を実行する。異常音検知装置４に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。異常音検知装置４の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。異常音検知装置４が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
【０１６１】
モデル記憶部４０には、正常モデルp(x| z=0)と異常モデルp(x| z=1)と閾値φとが記憶されている。正常モデルp(x| z=0)は、異常モデル学習装置３と同様に、正常音データを用いて確率分布を推定したモデルであり、従来の教師なし異常音検知で用いるものと同様である。異常モデルp(x| z=1)は、異常モデル学習装置３により異常音データ{yn}n=1Nを用いてパラメータλn,d, gn（d=1, …, D; n=1, …, N）を学習したモデルである。閾値φは、異常モデル学習装置３の閾値決定部３５により決定された閾値φρであってもよいし、あらかじめ手動で与えた閾値であってもよい。
【０１６２】
以下、図１４を参照して、第二実施形態の異常音検知装置４が実行する異常音検知方法について説明する。
【０１６３】
ステップＳ４１において、入力部４１は、異常音検知の対象とする観測信号xを入力として受け取る。入力部４１は、観測信号xを異常度取得部４２へ出力する。
【０１６４】
ステップＳ４２において、異常度取得部４２は、入力部４１から観測信号xを受け取り、式（35）を計算し、異常度A(x)を得る。異常度取得部４２は、得られた異常度A(x)を状態判定部４３へ出力する。
【０１６５】
ステップＳ４３において、状態判定部４３は、異常度取得部４２から異常度A(x)を受け取り、式（31）を計算し、観測信号xが正常か異常かを判定する。状態判定部４３は、観測信号xが正常か異常かを示す二値データである判定結果を出力部４４へ出力する。
【０１６６】
ステップＳ４４において、出力部４４は、状態判定部４３から判定結果を受け取り、その判定結果を異常音検知装置４の出力とする。
【０１６７】
＜第二実施形態の変形例＞
本実施形態では、異常モデル学習装置３が異常サンプルを疑似生成して異常モデルのパラメータを学習する構成としたが、異常サンプルを疑似生成する機能のみを備えた異常音生成装置を構成することも可能である。この異常音生成装置は、第二実施形態の異常モデル学習装置３が備える異常分布取得部３３と異常音生成部３４とを備える。この異常音生成装置は、例えば、正常データと少量の異常データと正常モデルと学習に必要なパラメータとを入力とし、異常分布取得部３３が、異常データから異常音が従う確率分布である異常分布を得、異常音生成部３４が、その異常分布を用いて異常サンプルを疑似生成し、その異常サンプルを異常音生成装置の出力とする。
【０１６８】
本実施形態では、異常モデル学習装置３と異常音検知装置４とを別個の装置として構成する例を説明したが、異常モデルを学習する機能と学習済みの異常モデルを用いて異常音検知を行う機能とを兼ね備えた１台の異常音検知装置を構成することも可能である。すなわち、変形例の異常音検知装置は、入力部３１、初期化部３２、異常分布取得部３３、異常音生成部３４、閾値決定部３５、モデル更新部３６、収束判定部３７、モデル記憶部４０、入力部４１、異常度取得部４２、状態判定部４３、および出力部４４を含む。
【０１６９】
本実施形態では、音データを対象とした異常音検知について説明したが、本実施形態は音データ以外へも適用することが可能である。例えば、本実施形態は音データ以外の時系列データや、画像データにも適用できる。これを適用するためには、xをその適用対象に適したものにすればよい。これは、振動センサや株価データであれば、これらの時系列情報をまとめたものや、それをフーリエ変換したものにすればよいし、画像であれば画像特徴量やそれをニューラルネットワークなどで分析した結果にしてもよい。この場合、異常音検知装置２は、正常時のデータである正常データを学習した正常モデルと異常時のデータである異常データを学習した異常モデルとを用いて観測データが正常か異常かを判定する異常検知装置として機能する。
【０１７０】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１７１】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１７２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１７３】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１７４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１７５】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2019049688.tif 000046
【図２】
2019049688.tif 000047
【図３】
2019049688.tif 000048
【図４】
2019049688.tif 000049
【図５】
2019049688.tif 000050
【図６】
2019049688.tif 000051
【図７】
2019049688.tif 000052
【図８】
2019049688.tif 000053
【図９】
2019049688.tif 000054
【図１０】
2019049688.tif 000055
【図１１】
2019049688.tif 000056
【図１２】
2019049688.tif 000057
【図１３】
2019049688.tif 000058
【図１４】
2019049688.tif 000059
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
以下、この発明の第一実施形態について詳細に説明する。この発明の第一実施形態は、異常音検知に用いる異常モデルを推定する異常モデル学習装置１と、異常モデル学習装置１が学習した異常モデルを用いて観測信号が正常か異常かを判定する異常音検知装置２とからなる。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
正常音データを用いて学習した正常モデルと異常音データを用いて学習した異常モデルとを記憶するモデル記憶部と、
入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する状態判定部と、
を含む異常音検知装置であって、
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常音データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常音データと上記異常音データと上記学習時閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように重みを決定したものである、
異常音検知装置。
【請求項２】
請求項１に記載の異常音検知装置であって、
上記異常モデルは、上記異常音データについて算出した異常度が小さいほどその異常音データに類似するデータに与える重みが大きくなるように重みを決定したものである、
異常音検知装置。
【請求項３】
請求項１または２に記載の異常音検知装置であって、
Nを1以上の整数とし、x1, …, xNを上記異常音データとし、w1, …, wNを上記異常モデルの重みとし、αを正の定数とし、Cを正の定数とし、p(x| z=0)を上記正常モデルとし、pn(x| xn)をn番目の異常音データxnから推定される確率分布とし、
上記異常モデルは、次式により対象データxの異常度A(x)を算出したものである、
【数４１】
2019049688.tif 000060
異常音検知装置。
【請求項４】
請求項１から３のいずれかに記載の異常音検知装置であって、
Nを1以上の整数とし、x1, …, xNを上記異常音データとし、Kを1以上の整数とし、x1, …, xKを上記正常データとし、αを正の定数とし、Cを正の定数とし、A(x)をxの異常度とし、φwを上記閾値とし、p(x| z=0)を上記正常モデルとし、pn(x| xn)をn番目の異常音データxnから推定される確率分布とし、λを所定のステップサイズとし、Tを転置とし、
上記異常モデルは、次式を計算することにより上記異常モデルの重みw=(w1, …, wN)T
を決定したものである、
【数４２】
2019049688.tif 000061
異常音検知装置。
【請求項５】
予め用意された異常音データをモデル化した確率分布である第１の異常モデルと、上記異常音データとは異なる異常音である追加異常音をモデル化した確率分布である第２の異常モデルとを記憶するモデル記憶部と、
入力された対象音データについて上記第１の異常モデルと上記第２の異常モデルとを組合せ異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較し上記対象音データが正常音か異常音かを判定する状態判定部と、
を含む異常音検知装置。
【請求項６】
請求項５に記載の異常音検知装置であって、
上記第２の異常モデルは、上記追加異常音を全て異常と判定できるような確率分布を得るために、上記追加異常音について算出した異常度が小さいほどその追加異常音に類似するデータに与える重みが大きくなるように重みをもたせてモデル化されており、
上記閾値は前記追加異常音の全てを異常音と判定するよう設定されている
異常音検知装置。
【請求項７】
正常音データを用いて学習した正常モデルと異常音データを表現した異常モデルとを用いて複数の異常音データそれぞれについて異常度を算出し、その最小値を閾値として決定する閾値決定部と、
複数の正常音データと上記異常音データと上記閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように、上記異常モデルの重みを更新する重み更新部と、
を含む異常モデル学習装置。
【請求項８】
正常時の時系列データである正常データを用いて学習した正常モデルと異常時の時系列データである異常データを用いて学習した異常モデルとを記憶するモデル記憶部と、
入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算する異常度取得部と、
上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する状態判定部と、
を含む異常検知装置であって、
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常データと上記異常データと上記学習時閾値とを用いて、上記異常データすべてが異常と判定され、上記正常データが異常と判定される確率が最小となるように重みを決定したものである、
異常検知装置。
【請求項９】
モデル記憶部に、正常音データを用いて学習した正常モデルと異常音データを用いて学習した異常モデルとが記憶されており、
異常度取得部が、入力された対象データについて上記正常モデルと上記異常モデルとを用いて異常度を計算し、
状態判定部が、上記異常度を所定の閾値と比較して上記対象データが正常か異常かを判定する、
異常音検知方法であって
上記異常モデルは、少なくとも上記正常モデルを用いて複数の異常音データそれぞれについて算出した異常度の最小値を学習時閾値として決定し、複数の正常音データと上記異常音データと上記学習時閾値とを用いて、上記異常音データすべてが異常と判定され、上記正常音データが異常と判定される確率が最小となるように重みを決定したものである、
異常音検知方法。
【請求項１０】
少なくとも得られた異常音に基づき、疑似異常音を生成する異常音生成装置であって、
前記得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように前記疑似異常音を生成する異常音生成部と、
を有する異常音生成装置。
【請求項１１】
請求項１０に記載の異常音生成装置であって、
前記得られた異常音に基づく値は、異常音を確実に異常と判定し、かつ、正常音を異常と判定する確率を最小化するように最適化された異常モデルと前記得られた異常音とに基づき得られた値である、
異常音生成装置。
【請求項１２】
請求項１１に記載の異常音生成装置であって、
前記異常モデルは、前記得られた異常音と、正常音であるか異常音であるかを判定する対象の音である観測音との重みつき類似度を算出する関数として定義されている、
異常音生成装置。
【請求項１３】
請求項１０から１２のいずれかに記載の異常音生成装置であって、
前記異常音生成部は、〜を確率分布から擬似乱数を生成する演算子とし、Categoricalをカテゴリー分布とし、Nを前記得られた異常音の数とし、nを1からNまでの各整数とし、gnをn番目の前記得られた異常音に与える重みとし、yi,dをi番目の前記得られた異常音のd次元目の値とし、λi,dをi番目の前記得られた異常音のd次元目に与える重みとし、Ν(μ, Σ)を分散がμであり分散共分散行列がΣである混合ガウス分布とし、εを正の定数とし、次式により前記疑似異常音を生成するものである、
【数４３】
2019049688.tif 000062
異常音生成装置。
【請求項１４】
少なくとも得られた異常データに基づき、疑似異常データを生成する異常データ生成装置であって、
前記得られた異常データもしくは前記得られた異常データに基づく値から異常データが従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常データが従う確率分布から生成される確率が低くなるように前記疑似異常データを生成する異常データ生成部と、
を有する異常データ生成装置。
【請求項１５】
得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得る異常分布取得部と、
前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように疑似異常音を生成する異常音生成部と、
前記疑似異常音から算出される異常度すべてが異常と判定されるように閾値を設定する閾値設定部と、
得られた正常音と前記得られた異常音もしくは前記得られた異常音に基づく値と前記閾値とを用いて、異常音を確実に異常と判定し、かつ、正常音を異常と判定する確率を最小化するように異常モデルのパラメータを更新するモデル更新部と、
を有する異常モデル学習装置。
【請求項１６】
少なくとも得られた異常音に基づき、疑似異常音を生成する異常音生成方法であって、
異常分布取得部が、前記得られた異常音もしくは前記得られた異常音に基づく値から異常音が従う確率分布である異常分布を得、
異常音生成部が、前記異常分布から生成される確率が高く、かつ、正常音が従う確率分布から生成される確率が低くなるように異常音を生成する、
異常音生成方法。
【請求項１７】
請求項１から６のいずれかに記載の異常音検知装置もしくは請求項７または１５に記載の異常モデル学習装置もしくは請求項８に記載の異常検知装置もしくは請求項１０から１３のいずれかに記載の異常音生成装置もしくは請求項１４に記載の異常データ生成装置としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2019049688.tif 000063
2019049688.tif 000064
2019049688.tif 000065
2019049688.tif 000066
2019049688.tif 000067
2019049688.tif 000068
2019049688.tif 000069
2019049688.tif 000070