(57)【特許請求の範囲】
【請求項１】
入力された入力音が異常音であるか検出する異常音検出装置であって、
上記入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出部と、
上記抽出された音響特徴量を用いて上記入力音の異常度を計算する異常度計算部と、
上記得られた異常度と閾値に基づき上記入力音が異常音であるかを判定する判定部を含み、
上記特徴量抽出関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいており、
上記閾値は、上記正常音から得られる異常度を用いて設定されている、
異常音検出装置。
【請求項２】
請求項１の異常音検出装置であって、
上記特徴量抽出関数を用いて得られる正常音の音響特徴量から計算される異常度が上記閾値より小さく、上記特徴量抽出関数を用いて得られる上記入力された異常音の音響特徴量から計算される異常度が上記閾値よりも大きくなるように、上記特徴量抽出関数は設定されている、
異常音検出装置。
【請求項３】
請求項２の異常音検出装置であって、
上記特徴量抽出関数は、変分オートエンコーダの最適化指標に基づく第１の更新及び上記正常音の音響特徴量と上記異常音の音響特徴量と上記閾値により定まる指標とに基づく第２の更新により生成された関数である、
異常音検出装置。
【請求項４】
請求項３の異常音検出装置であって、
上記指標は、ネイマンピアソン型最適化指標である、
異常音検出装置。
【請求項５】
請求項１の異常音検出装置であって、
上記異常音をモデル化した確率分布は、上記正常音及び異常音を含み得る音をモデル化した確率分布から上記正常音をモデル化した確率分布を除いた確率分布である、
異常音検出装置。
【請求項６】
請求項１の異常音検出装置であって、
上記入力された異常音は、上記正常音及び異常音を含み得る音をモデル化した確率分布と、上記特徴量抽出関数の逆関数である特徴量逆変換関数と、上記閾値とを用いて生成されたものである、
異常音検出装置。
【請求項７】
請求項６の異常音検出装置であって、
p(F(x))を上記正常音及び異常音を含み得る音をモデル化した確率分布とし、p(F(x)|z=0)を上記正常音をモデル化した確率分布として、上記入力された異常音は、以下の式(23)に従う音響特徴量fksを生成することにより生成されたものである、
【数２１】
0006704084.tif 000022
異常音検出装置。
【請求項８】
請求項１から７の異常音検出装置であって、
Nを所定の正の整数として、上記閾値は、上記正常音から得られた異常度を降順ソートしたときの上からN番目の異常度である、
異常音検出装置。
【請求項９】
入力された入力音が異常音であるかを検出するために、上記入力音の異常度を計算する異常度計算装置であって、
上記入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出部と、
上記抽出された音響特徴量を用いて上記入力音の異常度を計算する異常度計算部と、を含み、
上記特徴量抽出関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいており、
上記閾値は、上記正常音から得られる異常度を用いて設定されている、
異常度計算装置。
【請求項１０】
正常音及び異常音を含み得る音に基づいて、異常音を生成する異常音生成装置であって、
上記正常音及び異常音を含み得る音をモデル化した確率分布と、上記特徴量抽出関数の逆関数である特徴量逆変換関数と、閾値とを用いて異常音を生成する異常音生成部を含み、
上記特徴量逆変換関数は、上記正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいている特徴量変換関数の逆変換関数であり、
上記閾値は、上記正常音から得られる異常度を用いて設定されている、
異常音生成装置。
【請求項１１】
請求項１０の異常音生成装置であって、
上記異常音生成部は、上記正常音及び異常音を含み得る音をモデル化した確率分布に従う音響特徴量を近似した値を生成し、生成された値の異常度を計算し、計算された異常度が上記閾値よりも大きい場合には、生成された値を上記特徴量逆変換関数に入力したときの出力値を計算することにより、上記異常音を生成する、
異常音生成装置。
【請求項１２】
変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する第一関数更新部と、
上記入力された特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する音響特徴量抽出部と、
上記抽出された音響特徴量を用いて正常音モデルを更新する正常音モデル更新部と、
上記正常音の学習データ及び上記入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める閾値更新部と、
上記抽出された正常音の音響特徴量及び入力された異常音の音響特徴量を用いて、上記更新された特徴量抽出関数を、上記求まった閾値φρにより定まるネイマンピアソン型最適化指標に基づいて更新する第二関数更新部と、を含み、
上記第二関数更新部により更新された特徴量抽出関数を入力とする、上記第一関数更新部、上記音響特徴量抽出部、上記正常音モデル更新部及び上記第二関数更新部の処理を繰り返し行う、
異常音検出学習装置。
【請求項１３】
請求項１２の異常音検出学習装置において、
上記異常音の音響特徴量を生成する異常音サンプリング部を更に含む、
異常音検出学習装置。
【請求項１４】
請求項１３の異常音検出学習装置において、
p(F(x)|z≠0）を異常音が従う確率分布とし、p(F(x))を正常音及び異常音を含み得る音が従う確率分布とし、p(F(x)|z=0)を正常音が従う確率分布として、上記異常音サンプリング部は、以下の式(23)に従う異常音の音響特徴量fksを生成することにより、上記異常音の音響特徴量を生成する、
【数２２】
0006704084.tif 000023
異常音検出学習装置。
【請求項１５】
入力された入力信号が異常信号であるか検出する異常信号検出装置であって、
上記入力信号の特徴量を特徴量抽出関数を用いて抽出する特徴量抽出部と、
上記抽出された特徴量を用いて上記入力信号の異常度を計算する異常度計算部と、
上記得られた異常度と閾値に基づき上記入力信号が異常信号であるかを判定する判定部を含み、
上記特徴量抽出関数は、正常信号及び異常信号を含み得る信号をモデル化した確率分布と、正常信号をモデル化した確率分布と、入力された異常信号をモデル化した確率分布とに基づいており、
上記閾値は、上記正常信号から得られる異常度を用いて設定されている、
異常信号検出装置。
【請求項１６】
変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する第一関数更新部と、
上記入力された特徴量抽出関数を用いて、正常信号の学習データに基づいて正常信号の特徴量を抽出する特徴量抽出部と、
上記抽出された特徴量を用いて正常信号モデルを更新する正常信号モデル更新部と、
上記正常信号の学習データ及び上記入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める閾値更新部と、
上記抽出された正常信号の特徴量及び入力された異常信号の特徴量を用いて、上記更新された特徴量抽出関数を、上記求まった閾値φρにより定まるネイマンピアソン型最適化指標に基づいて更新する第二関数更新部と、を含み、
上記第二関数更新部により更新された特徴量抽出関数を入力とする、上記第一関数更新部、上記特徴量抽出部、上記正常信号モデル更新部及び上記第二関数更新部の処理を繰り返し行う、
異常信号検出学習装置。
【請求項１７】
入力された入力音が異常音であるか検出する異常音検出方法であって、
音響特徴量抽出部が、上記入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出ステップと、
異常度計算部が、上記抽出された音響特徴量を用いて上記入力音の異常度を計算する異常度計算ステップと、
判定部が、上記得られた異常度と閾値に基づき上記入力音が異常音であるかを判定する判定ステップを含み、
上記特徴量抽出関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいており、
上記閾値は、上記正常音から得られる異常度を用いて設定されている、
異常音検出方法。
【請求項１８】
第一関数更新部が、変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する第一関数更新ステップと、
音響特徴量抽出部が、上記入力された特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する音響特徴量抽出ステップと、
正常音モデル更新部が、上記抽出された音響特徴量を用いて正常音モデルを更新する正常音モデル更新ステップと、
閾値更新部が、上記正常音の学習データ及び上記入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める閾値更新ステップと、
第二関数更新部が、上記抽出された正常音の音響特徴量及び入力された異常音の音響特徴量を用いて、上記更新された特徴量抽出関数及び上記更新された特徴量逆変換関数の少なくとも一方を、上記求まった閾値φρにより定まるネイマンピアソン型最適化指標に基づいて更新する第二関数更新ステップと、を含み、
上記第一関数更新ステップにより更新された特徴量抽出関数及び特徴量逆変換関数を入力とする、上記第一関数更新ステップ、上記音響特徴量抽出ステップ、上記正常音モデル更新ステップ及び上記第二関数更新ステップの処理を繰り返し行う、
異常音検出学習方法。
【請求項１９】
入力された入力信号が異常信号であるか検出する異常信号検出方法であって、
特徴量抽出部が、上記入力信号の特徴量を特徴量抽出関数を用いて抽出する特徴量抽出ステップと、
異常度計算部が、上記抽出された特徴量を用いて上記入力信号の異常度を計算する異常度計算ステップと、
判定部が、上記得られた異常度と閾値に基づき上記入力信号が異常信号であるかを判定する判定ステップを含み、
上記特徴量抽出関数は、正常信号及び異常信号を含み得る信号をモデル化した確率分布と、正常信号をモデル化した確率分布と、入力された異常信号をモデル化した確率分布とに基づいており、
上記閾値は、上記正常信号から得られる異常度を用いて設定されている、
異常信号検出方法。
【請求項２０】
請求項１から１６の何れかの装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響信号等の信号から異常音等の異常波検出するための学習技術に関する。
【背景技術】
【０００２】
工場などに設置された大型の製造機・造型機などの業務用機器は、故障により稼働がストップするだけで、業務に大きな支障をもたらす。そのため、その動作状況を日常的に監視し、異常が発生し次第ただちに対処を行う必要がある。解決案として、業務用機器の管理業者が、定期的に現場へ整備員を派遣し、パーツの摩耗などを確認する方法がある。しかし、多大な人件費や移動費、労力がかかるため、すべての業務用機器や工場でこれを実施するのは難しい。【０００３】
この解決手段として機械内部にマイクロホンを設置し、その動作音を日常的に監視する方法がある。その動作音を解析し、異常と思われる音（i.e. 異常音）が発生したらそれを検知し、アラートをあげることでこれを解決する。しかし、機械の種類や個体毎に、異常音の種類やその検出方法を設定するのでは、人手で監視する以上にコストがかかる。そのため、自動で異常音を検知するルールを自動設計する必要がある。【０００４】
この問題を解決する方法として、統計的手法に基づく異常音検知がよく知られている（例えば、非特許文献１参照。）。統計的手法に基づく異常音検知は、教師あり異常音検知と教師なし異常音検知に大別できる。教師あり異常音検知では、正常音と異常音の学習データから識別器を学習するのに対し、教師なし異常音検知では、正常音の学習データのみから識別器を学習する。産業的応用では、異常音の学習データを集めることが困難であるため、多くの場合、教師なし異常音検知が採用される。【０００５】
教師なし異常音検知の学習/検知フローは図７のようになる。学習では、正常動作時の音データ（学習データ）から得られる音響特徴量を抽出する。その後、その音響特徴量から正常音モデル（確率密度関数）を学習する。そして、判定では、新たに得られた観測に関して音響特徴量を抽出し、学習済みの正常音モデルで負の対数尤度（i.e. 異常度）を評価する。この値が閾値より小さければ正常、大きければ異常と判断する。これはつまり、観測音の正常音モデルの当てはまりの良さを評価している。観測が正常音なら、正常音の学習データと“似ている” 音が鳴るはずであり、異常なら、正常音の学習データと“似ていない” 音が鳴るはずである、という考え方に基づく。
【０００６】
図７をより具現化するために、数式で説明する。異常音検知の問題は、観測信号Xω,τ∈CΩ×Tが正常か異常かを判定する問題である。ここで、ω∈{1,...,Ω}とτ∈{1,...,T}はそれぞれ周波数と時間のインデックスである。【０００７】
まず、最初に，観測信号から音響特徴量fτ∈RDを抽出する。【０００８】
【数１】
0006704084.tif 000002
【０００９】
ここで、Fは特徴量抽出関数である。またxτは、音響特徴量の抽出に必要なXω,τを並べたベクトルであり、例えば以下のように設定する。【００１０】
【数２】
0006704084.tif 000003
【００１１】
ここで、Tは転置を表し、Pb,Pfはそれぞれxτに含まれる過去と未来のフレーム数を表す。例えば、Pb=Pf=5程度に設定される。【００１２】
次に、異常度L(fτ)を以下のように計算する。【００１３】
【数３】
0006704084.tif 000004
【００１４】
ここで、p(fτ|z=0)は正常音モデルである。また、zは、Xω,τが正常音ならz=0、異常音ならz≠0となるインジケータである。最後にL(fτ)の値が、閾値φより大きければ異常、小さければ正常と判定する。【００１５】
【数４】
0006704084.tif 000005
【００１６】
ここで、H(Lτ,φ)は異常判定関数である。
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】井出剛,杉山将,“異常検知と変化検知,” 講談社, pp.6-7, 2015.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
教師なし異常検知で問題となるのは、特徴量抽出関数F(・)の設計である。教師あり異常音検知では、判別対象がよく識別できるような音響特徴量を人手で設計する。例えば正常音が1000Hzの正弦波で、異常音が2000Hzの正弦波と分かっているならば、音色が異なるので、フレームごとにメルフィルタバンクの対数パワー（log-MFBO）を抽出する。正常音が定常的なエンジン音で、異常音が機器同士が「ゴツッ」とぶつかるような音ならば、異常音は突発的な音なので、メルフィルタバンクのパワーの時間差分（ΔMFBO）を抽出する。また、教師あり学習の一つである「深層学習」では、学習データから音響特徴量を自動設計できるとも言われている。【００１９】
しかしながら、教師なし異常検知では、どのような音の特性を持った異常音が発生するかわからない。ゆえに特徴量抽出関数を人手で設計することが困難であり、また深層学習を用いることも困難である。例えば、正常音が1000Hzの正弦波だったので、異常音が2000Hzの正弦波と仮定し，log-MFBOを音響特徴量としてしまうと，機器同士が「ゴツッ」とぶつかるような異常音を検出できない。また、その逆もしかりである。そのため、汎用的な音響特徴量であるメルフィルタバンクケプストラム係数（MFCC）などを用いるしかなく、教師あり学習と比べて検出精度が劣っていた。【００２０】
本発明の目的は、異常信号の学習データの有無に関わらず、異常信号検出のための特徴量抽出関数を生成することができる異常音検出学習装置、この特徴量抽出関数を用いた異常音検出装置、異常度計算装置、異常音生成装置、異常音検出学習装置、異常信号検出装置、異常信号検出学習装置、これらの方法及びプログラムを提供することである。
【課題を解決するための手段】
【００２１】
この発明の一態様による異常音検出装置は、入力された入力音が異常音であるか検出する異常音検出装置であって、入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出部と、抽出された音響特徴量を用いて入力音の異常度を計算する異常度計算部と、得られた異常度と閾値に基づき入力音が異常音であるかを判定する判定部と、を備えており、特徴量抽出関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいており、閾値は、正常音から得られる異常度を用いて設定されている。
この発明の一態様による異常度計算装置は、入力された入力音が異常音であるかを検出するために、入力音の異常度を計算する異常度計算装置であって、入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出部と、抽出された音響特徴量を用いて入力音の異常度を計算する異常度計算部と、を備えており、特徴量抽出関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいており、閾値は、正常音から得られる異常度を用いて設定されている。
この発明の一態様による異常音生成装置は、正常音及び異常音を含み得る音に基づいて、異常音を生成する異常音生成装置であって、正常音及び異常音を含み得る音をモデル化した確率分布と、特徴量抽出関数の逆関数である特徴量逆変換関数と、閾値とを用いて異常音を生成する異常音生成部を含み、特徴量逆変換関数は、正常音及び異常音を含み得る音をモデル化した確率分布と、正常音をモデル化した確率分布と、入力された異常音をモデル化した確率分布とに基づいている特徴量変換関数の逆変換関数であり、閾値は、正常音から得られる異常度を用いて設定されている。
この発明の一態様による異常音検出学習装置は、変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する第一関数更新部と、入力された特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する音響特徴量抽出部と、抽出された音響特徴量を用いて正常音モデルを更新する正常音モデル更新部と、正常音の学習データ及び入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める閾値更新部と、抽出された正常音の音響特徴量及び入力された異常音の音響特徴量を用いて、更新された特徴量抽出関数を、求まった閾値φρにより定まるネイマンピアソン型最適化指標に基づいて更新する第二関数更新部と、を含み、第二関数更新部により更新された特徴量抽出関数を入力とする、第一関数更新部、音響特徴量抽出部、正常音モデル更新部及び第二関数更新部の処理を繰り返し行う。
この発明の一態様による異常信号検出装置は、入力された入力信号が異常信号であるか検出する異常信号検出装置であって、入力信号の特徴量を特徴量抽出関数を用いて抽出する特徴量抽出部と、抽出された特徴量を用いて入力信号の異常度を計算する異常度計算部と、得られた異常度と閾値に基づき入力信号が異常信号であるかを判定する判定部を含み、特徴量抽出関数は、正常信号及び異常信号を含み得る信号をモデル化した確率分布と、正常信号をモデル化した確率分布と、入力された異常信号をモデル化した確率分布とに基づいており、閾値は、正常信号から得られる異常度を用いて設定されている。
この発明の一態様による異常信号検出学習装置は、変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する第一関数更新部と、入力された特徴量抽出関数を用いて、正常信号の学習データに基づいて正常信号の特徴量を抽出する特徴量抽出部と、抽出された特徴量を用いて正常信号モデルを更新する正常信号モデル更新部と、正常信号の学習データ及び入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める閾値更新部と、抽出された正常信号の特徴量及び入力された異常信号の特徴量を用いて、更新された特徴量抽出関数を、求まった閾値φρにより定まるネイマンピアソン型最適化指標に基づいて更新する第二関数更新部と、を含み、第二関数更新部により更新された特徴量抽出関数を入力とする、第一関数更新部、特徴量抽出部、正常信号モデル更新部及び第二関数更新部の処理を繰り返し行う。
【発明の効果】
【００２２】
異常信号の学習データの有無に関わらず、異常信号検出のための特徴量抽出関数を生成することができる。また、この特徴量抽出関数を用いて、異常音検出、異常度計算、異常音生成、異常音検出学習、異常信号検出、異常信号検出学習を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】異常音検出学習装置の例を説明するためのブロック図。
【図２】異常音検出学習方法の例を説明するための流れ図。
【図３】異常音検出装置の例を説明するためのブロック図。
【図４】異常音検出方法の例を説明するための流れ図。
【図５】特徴量の抽出とその分布のイメージを説明するための図。
【図６】学習手順の直感的なイメージを説明するための図。
【図７】従来技術を説明するための図。
【発明を実施するための形態】
【００２４】
［技術的背景］
（ネイマンピアソン型最適化指標）
教師なし異常音検知は、帰無仮説と対立仮説を以下とした仮説検定の一種とみなすことができる。
【００２５】
帰無仮説：xτはp(x|z=0)から生成されたサンプルである。
【００２６】
対立仮説：xτはp(x|z=0)から生成されたサンプルではない。
したがって、仮説検定の理論に従って特徴量抽出関数を最適化することで異常音検知率を最大化できると考えられる。
【００２７】
ネイマンピアソンの定理（例えば、参考文献１参照）によると、最も強力な仮説検定関数は、偽陽性率（FPR:False Positive Rate）をρとした上で、真陽性率（TPR:True Positive Rate）を最大化する関数であることが知られている。なお、FPRとTPRは、以下の式で計算できる。偽陽性率は、正常音を異常音と誤って検出してしまう確率のことである。一方、真陽性率とは、異常音を異常音として検出する確率のことである。偽陽性率又は真陽性率のことを、誤検出率とも呼ぶ。
【００２８】
【数５】
0006704084.tif 000006
【００２９】
〔参考文献１〕J. Neyman, et al., “On the Problem of the Most Efficient Tests of Statistical Hypotheses”, Phi. Trans. of the Royal Society, 1933.
【００３０】
ここで、FPR=ρとなる閾値をφρとしたとき、最大化すべき目的関数は以下のように記述できる。
【００３１】
【数６】
0006704084.tif 000007
【００３２】
この目的関数をFについて最大化する変分問題を考えたとき、ρがFに関係のない定数であることを注意すると、最適な特徴量抽出関数Fは以下の式で求めることができる。
【００３３】
【数７】
0006704084.tif 000008
言い換えれば、FPR(F,φρ)が小さく、TPR(F,φρ)が大きくなるように、特徴量抽出関数Fは設定される。ここで、FPR(F,φρ)が小さいことは、特徴量抽出関数Fを用いて得られる正常音の音響特徴量から計算される異常度が閾値φρより小さいことに対応している。また、TPR(F,φρ)が大きいことは、特徴量抽出関数Fを用いて得られる入力された異常音の音響特徴量から計算される異常度が閾値φρよりも大きいことに対応している。このため、特徴量抽出関数Fを用いて得られる正常音の音響特徴量から計算される異常度が閾値φρより小さく、特徴量抽出関数Fを用いて得られる入力された異常音の音響特徴量から計算される異常度が閾値φρよりも大きくなるように、特徴量抽出関数Fは設定されると言える。
【００３４】
以降、式(9)の最適化指標を「ネイマンピアソン型最適化指標」と呼ぶ。以下の説明では、この指標を用いてFを最適化する実装例を説明する。
【００３５】
（ネイマンピアソン変分オートエンコーダ）
式(9)を学習データを用いて最適化する形へ変形する。まず、FPRとTPRの期待値演算を、学習データの算術平均へ置き換える。ここで、Tは、学習データの数である。
【００３６】
【数８】
0006704084.tif 000009
【００３７】
ここで、xτとxkは、それぞれ正常音と異常音の学習データである。しかし、異常音の学習データは収集することが困難である（教師なし学習）。そこで、教師なし学習の場合p(F(x),x|z≠0)からサンプリングする。
【００３８】
異常音をサンプリングするためには、異常音が従う確率分布p(F(x),x|z≠0)が既知でなくてはならない。しかし、どのような異常音が鳴るかの情報は未知であることが多く、p(F(x),x|z≠0)を直接推定することは困難である。そこで、p(F(x),x|z≠0)を推定するよりもあらゆる音が従う確率分布p(F(x),x)を推定することの方が容易と考え、p(F(x),x)を推定する。
【００３９】
あらゆる音とは、例えば工場の機械音の異常検知であれば、様々な工場で収録されるあらゆる機械音を指す。言い換えれば、あらゆる音とは、正常音及び異常音を含み得る音である。より詳細には、あらゆる音とは、異常音検出装置が用いられる環境の音であって正常音及び異常音を含み得る音である。ベイズの定理によれば、p(F(x),x)は以下のように分解できる。なお、「∝」は比例を意味する。
【００４０】
【数９】
0006704084.tif 000010
【００４１】
ここで、クラス事前分布p(z)は一定と仮定することで、式(12)から式(13)へと変形した。すなわち、p(F(x),x)とp(F(x),x|z=0)を推定することで，正常音以外の音が従う確率分布、言い換えれば異常音が従う確率分布p(F(x),x|z≠0)が以下の式で推定できる。
【００４２】
【数１０】
0006704084.tif 000011
【００４３】
なお、異常音が従う確率分布をp(F(x)|z≠0）、あらゆる音が従う確率分布をp(F(x))、正常音が従う確率分布をp(F(x)|z=0)とも表記する。なお、「音が従う確率分布」のことを、「音をモデル化した確率分布」とも表現する。
このように、異常音をモデル化した確率分布p(F(x)|z≠0）は、あらゆる音（正常音及び異常音を含み得る音）をモデル化した確率分布p(F(x))から正常音をモデル化した確率分布p(F(x)|z=0)を除いた確率分布と言える。
また、以下に説明するようにこの式(14)を前提として特徴量抽出関数が求められるため、特徴量抽出関数は、あらゆる音（正常音及び異常音を含み得る音）をモデル化した確率分布p(F(x))と、正常音をモデル化した確率分布p(F(x)|z=0)と、異常音をモデル化した確率分布p(F(x)|z≠0）とに基づいていると言える。
【００４４】
以上の理論を図５に直感的に示した。図５の左のように特徴量の空間を考えると、あらゆる音は特徴量の空間に広く分布しており、正常音は一部に分布しているはずである。ゆえに異常音は、あらゆる音の分布では確率が高く（e.g.実世界で発生しうる機械音であり）正常音の分布では確率が低い（e.g. 監視対象の機器の音とは似ていない機械音）音として生成することに相当する。
【００４５】
p(F(x),x)を高精度に推定する方法に、変分オートエンコーダがある（例えば、参考文献２参照。）。
【００４６】
〔参考文献２〕D. P. Kingma, and M. Welling, “Auto-encoding variational Bayes”, Proceedings of the International Conference on Learning Representations (ICLR), 2014.
【００４７】
詳細な説明は参考文献に譲るが、変分オートエンコーダは、潜在変数（音響特徴量）f=F(x)から観測信号を生成する関数（以降、「特徴量逆変換関数」と呼ぶ）
【００４８】
【数１１】
0006704084.tif 000012
【００４９】
を用意し、以下の目的関数を最小化するようにFとGを最適化する方法である。
【００５０】
【数１２】
0006704084.tif 000013
【００５１】
ここで、KL[a|b]は確率分布aとbのKLダイバージェンスである。本発明では簡単のために、
【００５２】
【数１３】
0006704084.tif 000014
【００５３】
と置いた。ただし、N(μ,Σ)は平均ベクトルμと共分散行列Σを持つ多次元正規分布、IDはD次元単位行列である。また、fsは式(18)からサンプリングした値であり、式(16)の第二項の確率分布は、
【００５４】
【数１４】
0006704084.tif 000015
【００５５】
で表現される。式(17)(19)より、
【００５６】
【数１５】
0006704084.tif 000016
【００５７】
である。また、式(1)(15)より、FとGが決定論的な情報変換である仮定とすると、p(x|G(F(x))は常にデルタ関数となるため、
【００５８】
【数１６】
0006704084.tif 000017
【００５９】
となる。したがって、異常音データを生成するためには、まず、
【００６０】
【数１７】
0006704084.tif 000018
【００６１】
で異常音の音響特徴量fksをK個生成する。式(23)の「〜」は、fksが、確率分布p(F(x))-p(F(x)|z=0)に従うことを意味する。そして、
【００６２】
【数１８】
0006704084.tif 000019
【００６３】
で異常音データxkを生成すればよい。このように、異常音データxkは、正常音及び異常音を含み得る音をモデル化した確率分布p(F(x))と、正常音をモデル化した確率分布p(F(x)|z=0)と、特徴量逆変換関数Gとを少なくとも用いて生成される。
また、式(14)(23)(24)を考慮すると、異常音は、異常音をモデル化した確率分布p(F(x))-p(F(x)|z=0)に従う音響特徴量をサンプリングし、サンプリングされた音響特徴量fkと特徴量逆変換関数Gを用いて生成されると言える。
【００６４】
以上より、特徴量抽出関数の最適化は、式(16)の変分オートエンコーダの最適化指標と式(10)のネイマンピアソン型最適化指標を交互に用いて特徴量抽出関数と特徴量逆変換関数を最適化することで実現できる。ただし、式(10)の最適化に用いる異常音データは、式(23)(24)で生成する。
【００６５】
（具体的な実行例）
図６に、本実施形態の実行手順の直感的なイメージを示す。本実施形態は、４段階の学習手順を繰り返すことで実現される。
【００６６】
まず、変分オートエンコーダの最適化指標に従い、FとGを学習する。ここで、FとGは例えば全結合型の多層パーセプトロンや多層畳み込みニューラルネットワークで実装できる。また、あらゆる音には、機械音の異常音検知であれば、様々な工場で収録した音データでも良いし、人間の音声データなどを用いてもよい。
【００６７】
次に、正常音の学習データxτ(τ∈ {1, ..., T}) から音響特徴量を抽出する。
【００６８】
【数１９】
0006704084.tif 000020
【００６９】
そして、そのデータから正常音モデルを学習する。これには例えば混合ガウス分布
【００７０】
【数２０】
0006704084.tif 000021
【００７１】
などを用いることができる。ただし、Cは混合数、wc,μc,Σcはそれぞれc番目の分布の混合比、平均ベクトル、共分散行列である。この学習は、例えばEMアルゴリズム（例えば、参考文献３参照）などを使って実現できる。
【００７２】
〔参考文献３〕小西貞則, “多変量解析入門, 付録C EM アルゴリズム” pp.294-298, 岩波書店, 2010.
【００７３】
最後に事前に設定したFPRであるρを用いて、閾値φρを決定する。これには、正常音の全学習データを用いて異常度L(F(x))を計算し、それを降順ソートし、ρT番目の異常度を用いればよい。
【００７４】
次に、式(23)(24)で異常音データを生成する。より簡単にfksを生成するために、以下の手順１．から３．を用いてもよい。これらの手順１．から３．により、式(23)に従うfksを生成することができる。このように、これらの手順１．から３．により生成された式(23)に従うfksに近似した値~fksをfksとすることにより、式(23)に従うfksを生成してもよい。
１． p(F(x))から~fksを生成する。
２． 異常度L(~fks)を計算する。
３． 異常度L(~fks)がφρより大きければfks←~fksとし、小さければ~fksを破棄して１．に戻る。
このようにして、異常音は、正常音及び異常音を含み得る音をモデル化した確率分布p(F(x))と、特徴量抽出関数の逆関数である特徴量逆変換関数Gと、閾値φρとを用いて生成されてもよい。
【００７５】
最後に、式(10)のネイマンピアソン型最適化指標を用いて、Fを更新する。Fを多層パーセプトロンなどで実装した場合、誤差逆伝搬法を用いればよい。
【００７６】
［異常音検出学習装置及び方法］
異常音検出学習装置は、図１に例示するように、周波数領域変換部１、初期化部２、第一関数更新部３、音響特徴量抽出部４、正常音モデル更新部５、閾値更新部６、異常音データサンプリング部７、第二関数更新部８を備えている。異常音検出学習方法は、異常音検出学習装置の各部が図２及び以下に説明するステップＳ１からＳ９の処理を実行することにより実現される。
異常音データサンプリング部７は、異常音生成装置でもある。
【００７７】
異常音検出学習装置には、正常音データとあらゆる音データとが入力される。これらの標本化周波数は、解析したい音の性質に応じて適宜設定される。例えば、標本化周波数を16kHz程度とする。
【００７８】
また、特徴量抽出関数、特徴量逆変換関数及び正常音モデルのパラメータが設定されているとする。例えば、多層パーセプトロンであれば、中間層の層数や隠れユニット数を入力する。正常音モデルは、混合ガウス分布であれば混合数を入力する。また、特徴量の次元数D=16，ρ=0.05程度に例えば設定すればよい。
【００７９】
＜周波数領域変換部１＞
周波数領域変換部１は、入力された正常音の学習データ及びあらゆる音データのそれぞれを周波数領域に変換する（ステップＳ１）。変換には、短時間フーリエ変換などが利用できる。この時、フーリエ変換長は512点、シフト長は256点程度に例えば設定すればよい。
【００８０】
周波数領域に変換された正常音の学習データは、音響特徴量抽出部４に入力される。周波数領域に変換された正常音の学習データは、第一関数更新部３に入力される。
【００８１】
＜初期化部２＞
初期化部２は、入力パラメータに従って、特徴量抽出関数、特徴量逆変換関数及び正常音モデルを初期化する（ステップＳ２）。
【００８２】
初期化された特徴量抽出関数は、音響特徴量抽出部４に入力される。初期化された特徴量抽出関数及び特徴量逆変換関数は、第一関数更新部３に入力される。初期化された正常音モデルは、正常音モデル更新部５に入力される。
【００８３】
＜第一関数更新部３＞
第一関数更新部３は、例えば式(16)の変分オートエンコーダの最適化指標に基づいて、入力された特徴量抽出関数及び特徴量逆変換関数を更新する（ステップＳ３）。言い換えれば、第一関数更新部３で、特徴量抽出関数は、変分オートエンコーダの最適化指標に基づいて第１の更新をされる。
【００８４】
この更新には、例えば確率的勾配法を用いることができる。この際のバッチサイズ（一度の更新に用いるデータ量）は例えば512程度にすればよい。
【００８５】
更新された特徴量抽出関数及び特徴量逆変換関数は、第二関数更新部８に入力される。
【００８６】
＜音響特徴量抽出部４＞
音響特徴量抽出部４は、入力された特徴量抽出関数を用いて、入力された正常音の学習データに基づいて正常音の音響特徴量を抽出する（ステップＳ４）。
【００８７】
抽出された正常音の音響特徴量は、正常音モデル更新部５及び第二関数更新部８に出力される。
【００８８】
音響特徴量抽出部４の１回目の処理は、初期化部２により初期化された特徴量抽出関数を用いて行われる。音響特徴量抽出部４の２回目以降の処理は、第二関数更新部８により更新された特徴量抽出関数を用いて行われる。
【００８９】
＜正常音モデル更新部５＞
正常音モデル更新部５は、音響特徴量抽出部４で抽出された音響特徴量を用いて正常音モデルを更新する（ステップＳ５）。更新された正常音モデルは、第二関数更新部８に入力される。
【００９０】
＜閾値更新部６＞
閾値更新部６は、入力された正常音の学習データ及び入力された特徴量抽出関数を用いて、所定の値である偽陽性率ρに対応する閾値φρを求める（ステップＳ６）。
【００９１】
求まった閾値φρは、異常音データサンプリング部７及び第二関数更新部８に入力される。
【００９２】
例えば、閾値更新部６は、正常音の全学習データを用いて異常度L(F(x))を計算し、それを降順ソートしたときの上からN番目の異常度を閾値φρとして用いる。ここで、Nは、所定の正の整数である。例えば、N=round(ρT)である。ここで、round(・)は整数への丸め処理を表す。・は、任意の数である。
例えば、このようにして、閾値φρは、正常音から得られる異常度を用いて設定される。より詳細には、入力された正常音の学習データを異常音として検出してしまう確率が予め設定された偽陽性率（誤検出率）ρとなるように、正常音から得られる異常度を用いて閾値φρは設定される。なお、上記と同様にして、入力された異常音の学習データを異常音として検出する確率が予め設定された真陽性率（誤検出率）ρとなるように、正常音から得られる異常度を用いて閾値φρは設定されてもよい。
【００９３】
閾値更新部６の１回目の処理は、初期化部２により初期化された特徴量抽出関数を用いて行われる。閾値更新部６の２回目以降の処理は、第二関数更新部８により更新された特徴量抽出関数を用いて行われる。
【００９４】
＜異常音データサンプリング部７＞
異常音データサンプリング部７は、異常音データを擬似生成し、サンプリングする（ステップＳ７）。サンプリングされた異常音データは、第二関数更新部８に入力される。
【００９５】
例えば、異常音データサンプリング部７は、上記説明した手順１．から３．により、特徴量逆変換関数と閾値φρを用いて、異常音データを擬似生成し、サンプリングをする。
具体的には、異常音データサンプリング部７は、手順１．により、正常音及び異常音を含み得る音をモデル化した確率分布P(F(x))に従う音響特徴量fksを近似した値~fksを生成する。
そして、異常音データサンプリング部７は、手順２．により、~fksに基づく異常度L(~fks)を計算する。
そして、異常音データサンプリング部７は、手順３．により、計算された異常度L(~fks)と閾値φρを比較することにより、~fksを音響特徴量fksとして受け入れることができるか判定する。異常音データサンプリング部７は、L(~fks)>φρであれば、~fksを音響特徴量fksとして受け入れる。
そして、異常音データサンプリング部７は、式(24)に基づき、音響特徴量fksとして受け入れた~fksを特徴量逆変換関数Gに入力したときの出力値を計算する。
異常音データサンプリング部７は、例えばこのようにして異常音データを生成する。
【００９６】
異常音データサンプリング部７は、式(23)(24)で異常音データを生成することにより、異常音のサンプリングを行ってもよい。
【００９７】
なお、異常音の学習データが存在している場合には、言い換えれば、教師あり学習の場合には、サンプリングは行わない。すなわち、異常音の学習データを、サンプリング結果として以降の処理を行えばよい。もちろん、サンプリングと併用してもよい。
【００９８】
なお、第二関数更新部８には、異常音データとして異常音の音響特徴量が入力される。このため、異常音データサンプリング部７は、サンプリングされた異常音の音響特徴量を抽出するための音響特徴量抽出処理を行ってもよい。この音響特徴量抽出処理の１回目の処理は、初期化部２により初期化された特徴量抽出関数を用いて行われる。この音響特徴量抽出処理の２回目以降の処理は、第二関数更新部８により更新された特徴量抽出関数を用いて行われる。
【００９９】
＜第二関数更新部８＞
第二関数更新部８は、音響特徴量抽出部４で抽出された正常音の音響特徴量及び入力された異常音の音響特徴量を用いて、第一関数更新部３で更新された特徴量抽出関数を、閾値更新部６で求まった閾値φρにより定まる式(10)のネイマンピアソン型最適化指標に基づいて更新する（ステップＳ８）。言い換えれば、第二関数更新部８で、特徴量抽出関数は、正常音の音響特徴量と異常音の音響特徴量と閾値により定まる指標に基づいて第２の更新をされる。第二関数更新部８は、第一関数更新部３で更新された特徴量抽出関数に加えて、特徴量逆変換関数を同様に更新してもよい。
【０１００】
更新された特徴量抽出関数は、第一関数更新部３、音響特徴量抽出部４、閾値更新部６及び異常音データサンプリング部７に入力される。特徴量逆変換関数が更新された場合には、この更新された特徴量逆変換関数は、第一関数更新部３、音響特徴量抽出部４、閾値更新部６及び異常音データサンプリング部７に入力される。
【０１０１】
また、制御部９による繰り返し制御の後に最後に更新された特徴量抽出関数及び正常音モデルが、異常音検出学習装置及び方法による最終的な学習結果として出力される。
【０１０２】
＜制御部９＞
制御部９は、第二関数更新部８により更新された特徴量抽出関数を入力とする、第一関数更新部３、音響特徴量抽出部４、正常音モデル更新部５及び第二関数更新部８と、閾値更新部６及び異常音データサンプリング部７との処理を繰り返し行う。第二関数更新部８により、特徴量逆変換関数が更に更新されている場合には、制御部９は、第二関数更新部８により更新された特徴量抽出関数及び特徴量逆変換関数を入力とする、第一関数更新部３、音響特徴量抽出部４、正常音モデル更新部５及び第二関数更新部８と、閾値更新部６及び異常音データサンプリング部７との処理を繰り返し行う。これらの繰り返し処理は、特徴量抽出関数及び正常音モデルが収束するまで行われる（ステップＳ９）。
【０１０３】
例えば、第１収束条件を、繰り返し処理を行った回数が一定回数（例えば1000回）に到達することとして、制御部９は、第１収束条件が満たされるまで、上記の繰り返し処理を行うように制御を行う。第1収束判定条件として、他の条件を用いてもよい。
【０１０４】
［異常音検出装置及び方法］
異常音検出装置は、図３に例示するように、スペクトル計算部１１、音響特徴量抽出部１２、異常度計算部１３及び判定部１４を備えている。異常音検出方法は、異常音検出装置の各部が図４及び以下に説明するステップＳ１１からＳ１４の処理を実行することにより実現される。
異常度計算部１３は、異常度計算装置でもある。
【０１０５】
＜スペクトル計算部１１＞
異常音の検出対象となる機械の動作音をマイクロホンで収音する。この際のサンプリングレートは学習時と同様の物を用いる。収音された音響信号は、スペクトル計算部１１に入力される。
【０１０６】
スペクトル計算部１１は、周波数領域変換部１と同様にして、収音された音響信号に基づいて音響特徴量を得る（ステップＳ１１）。得られた音響特徴量は、音響特徴量抽出部１２に出力される。
【０１０７】
＜音響特徴量抽出部１２＞
音響特徴量抽出部１２は、得られた音響特徴量を用いて、異常音検出学習装置及び方法により最終的な学習結果として出力された特徴量抽出関数に基づいて、収音された音響信号の音響特徴量を抽出する（ステップＳ１２）。言い換えれば、音響特徴量抽出部１２は、入力音の音響特徴量を特徴量抽出関数を用いて抽出する。
抽出された音響特徴量は、異常度計算部１３に出力される。
【０１０８】
＜異常度計算部１３＞
異常度計算部１３は、抽出された音響特徴量と、異常音検出学習装置及び方法により最終的な学習結果として出力された正常音モデルとを用いて、負の対数尤度である異常度L(F(x))を計算する（ステップＳ１３）。言い換えれば、異常度計算部１３は、抽出された音響特徴量を用いて入力音の異常度を計算する。
計算された異常度は、判定部１４に出力される。
【０１０９】
＜判定部１４＞
判定部１４は、現在フレームの異常度が閾値φ以上なら、「異常」と出力する（ステップＳ１４）。言い換えれば、判定部１４は、得られた異常度と閾値に基づき入力音が異常音であるかを判定する。
閾値は機械や環境に合わせて調整すべきだが、例えば1500の程度に設定できる。
【０１１０】
また、音声区間判別と同様に、判別誤りをヒューリスティックなルールで抑制する「ハングオーバー」も用いることができる。適用するハングオーバー処理は様々なものが考えられるが、異常音の誤検知の種類に応じてハングオーバー処理を設定すべきである。
【０１１１】
その一例として、雑音抑圧時に発生するミュージカルノイズを、突発的な異常音と判定することがある。突発的なぶつかり音などは、100ms以上スペクトル形状に変化が出ることが多いため、┌(100/STFTのフレームシフト幅)┐フレーム連続して異常度が閾値以上となる。しかし、ミュージカルノイズは当該フレームだけに異常な振幅スペクトル値が発生するため、連続して異常度が閾値以上となるのは高々数フレームである。そこで、異常判定のルールを、「連続してF1フレーム以上異常度が閾値以上なら、「異常」と出力する。」などに設定することができる。
【０１１２】
その他の例として、異常音の音量が小さいために、異常度が閾値を少し下回る程度で長時間続くことも考えられる。そういった場合には、持続的な異常音のための判定ルールとして、「直近F2フレームの異常度の総和がφ1以上であれば、異常音として検知する。」などのルールを追加できる。ここで、φ1はチューニングにより決定すべきだが、例えばφ1=F2×（φ−250)程度に設定できる。
【０１１３】
このような異常音検出装置及び方法を用いて、工場などに設置された大型の製造機・造型機から異常音を検知することにより、故障への対処の迅速化や、故障予知が可能になる。これにより、例えば、産業、特に製造業の効率化に寄与することができる。
【０１１４】
［プログラム及び記録媒体］
異常音検出学習装置、異常音検出装置、異常度計算装置又は異常音生成装置における各処理をコンピュータによって実現する場合、異常音検出学習装置又は異常音検出装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
【０１１５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１１６】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【０１１７】
［変形例］
異常音検出学習装置、異常音検出装置、異常度計算装置又は異常音生成装置において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
上記では、音に限って説明したが、温度センサや加速度センサで得られる信号など、他の時系列データに対しても、本発明は適用可能である。その際は、入力の音データをセンサデータに変更すればよい。
すなわち、これまで説明した異常音検出学習装置、異常音検出装置及び異常音生成装置は、それぞれ異常信号検出学習装置、異常信号検出装置及び異常信号生成装置であってもよい。異常信号検出学習装置、異常信号検出装置及び異常信号生成装置の説明は、これまでに行った異常音検出学習装置、異常音検出装置及び異常音生成装置の説明の中の「音」を「信号」に読み替え、「音響特徴量」を「特徴量」に読み替えたものと同様であるため、ここでは重複説明を省略する。
【０１１８】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【図１】
0006704084.tif 000024
【図２】
0006704084.tif 000025
【図３】
0006704084.tif 000026
【図４】
0006704084.tif 000027
【図５】
0006704084.tif 000028
【図６】
0006704084.tif 000029
【図７】
0006704084.tif 000030