(57)【特許請求の範囲】
【請求項１】
入力された入力音が異常音であるか検出する異常音検出装置であって、
上記入力音の音響特徴量を特徴量抽出関数を用いて抽出する音響特徴量抽出部と、
上記入力音の音響特徴量から異常度を計算する異常度計算部と、
上記得られた異常度と所定の閾値に基づき上記入力音が異常音であるかを判定する判定部と、を含み、
上記特徴量抽出関数は、正常音から抽出した特徴量が従う確率密度関数と、異常音から抽出した特徴量が従う確率密度関数と、に基づき、正常音から抽出した特徴量から計算される異常度が、異常音から抽出した特徴量から計算される異常度よりも小さくなるように、最適化されている、
異常音検出装置。
【請求項２】
請求項１の異常音検出装置であって、
前記最適化は、前記正常音から抽出した特徴量から計算される異常度が前記閾値よりも小さくなるように、前記異常音から抽出した特徴量から計算される異常度が前記閾値よりも大きくなるように行われる、
異常音検出装置。
【請求項３】
請求項２の異常音検出装置であって、
前記正常音から抽出した特徴量が従う確率密度関数をp(F(A,x)|z=0)とし、前記異常音から抽出した特徴量が従う確率密度関数をp(F(A,x)|z=1)とし、σをシグモイド関数とし、前記閾値をφとし、g(A,x)は以下の式(5)により定義されているとして、
【数５】
0006709277.tif 000032
前記最適化は、以下の式(9)により定義されるLの最小化である、
【数８】
0006709277.tif 000033
異常音検出装置。
【請求項４】
請求項１の異常音検出装置であって、
上記正常音から抽出した特徴量が従う確率密度関数は、第一の個数の正常音から得られており、
異常音から抽出した特徴量が従う確率密度関数は、上記第一の個数とほぼ同じ個数かつサンプリングされた異常音から得られている、
異常音検出装置。
【請求項５】
異常音の振幅スペクトルが、上記正常音に基づき、かつ、異常音毎に異ならせられ、かつ、スパースに誘導され、観測信号に含まれる定常雑音の平均スペクトルを加えられ、時間周波数方向に平滑化されている異常音を生成する異常音サンプリング部、
を含む異常音サンプリング装置。
【請求項６】
請求項４の異常音検出装置であって、
異常音は、請求項５の異常音サンプリング装置の異常音サンプリング部によりサンプリングされている、
異常音検出装置。
【請求項７】
音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出部と、
上記第一音響特徴量抽出部で抽出された音響特徴量を用いて混合ガウス分布で表現される正常音モデルを更新する正常音モデル更新部と、
上記音響特徴量抽出関数を用いて、模擬された異常音に基づいて異常音の音響特徴量を抽出し、上記正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出部と、
上記第二音響特徴量抽出部で上記抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、上記音響特徴量抽出関数を更新する音響特徴量抽出関数更新部と、を含み、
上記第一音響特徴量抽出部、上記正常音モデル更新部、上記第二音響特徴量抽出部及び上記音響特徴量抽出関数更新部の処理を繰り返し行う、
異常音検出学習装置。
【請求項８】
音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出部と、
上記第一音響特徴量抽出部で抽出された音響特徴量を用いて混合ガウス分布で表現される正常音モデルを更新する正常音モデル更新部と、
上記音響特徴量抽出関数を用いて、異常音の学習データに基づいて異常音の音響特徴量を抽出し、上記正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出部と、
上記第二音響特徴量抽出部で上記抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、上記音響特徴量抽出関数を更新する音響特徴量抽出関数更新部と、を含み、
上記第一音響特徴量抽出部、上記正常音モデル更新部、上記第二音響特徴量抽出部及び上記音響特徴量抽出関数更新部の処理を繰り返し行う、
異常音検出学習装置。
【請求項９】
請求項７の異常音検出学習装置であって、
上記模擬された異常音をサンプリングする異常音サンプリング部を更に含み  上記模擬された異常音は、振幅値の頻度、スパース性、時間周波数方向への連続性の何れかについ
て仮定を置くことにより模擬された異常音である、
異常音検出学習装置。
【請求項１０】
請求項９の異常音検出学習装置であって、
ωを周波数とし、nをフレーム番号とし、βを整数として、上記模擬された異常音は、
以下の分布に基づいてサンプリングされたXω,nである、
【数３１】
0006709277.tif 000034
異常音検出学習装置。
【請求項１１】
第一音響特徴量抽出部が、音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出ステップと、
正常音モデル更新部が、上記第一音響特徴量抽出部で抽出された音響特徴量を用いて混合ガウス分布で表現される正常音モデルを更新する正常音モデル更新ステップと、
第二音響特徴量抽出部が、上記音響特徴量抽出関数を用いて、模擬された異常音に基づいて異常音の音響特徴量を抽出し、上記正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出ステップと、
音響特徴量抽出関数更新部が、上記第二音響特徴量抽出部で上記抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、上記音響特徴量抽出関数を更新する音響特徴量抽出関数更新ステップと、を含み、
上記第一音響特徴量抽出ステップ、上記正常音モデル更新ステップ、上記第二音響特徴量抽出ステップ及び上記音響特徴量抽出関数更新ステップの処理を繰り返し行う、
異常音検出学習方法。
【請求項１２】
第一音響特徴量抽出部が、音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出ステップと、
正常音モデル更新部が、上記第一音響特徴量抽出部で抽出された音響特徴量を用いて混合ガウス分布で表現される正常音モデルを更新する正常音モデル更新ステップと、
第二音響特徴量抽出部が、上記音響特徴量抽出関数を用いて、異常音の学習データに基づいて異常音の音響特徴量を抽出し、上記正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出ステップと、
音響特徴量抽出関数更新部が、上記第二音響特徴量抽出部で上記抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、上記音響特徴量抽出関数を更新する音響特徴量抽出関数更新ステップと、を含み、
上記第一音響特徴量抽出ステップ、上記正常音モデル更新ステップ、上記第二音響特徴量抽出ステップ及び上記音響特徴量抽出関数更新ステップの処理を繰り返し行う、
異常音検出学習方法。
【請求項１３】
請求項１から１０の何れかの装置の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音響信号から機械の異常音の検出するための技術に関する。例えば、異常音検出のための音響特徴量抽出関数を生成する技術に関する。
【背景技術】
【０００２】
工場などに設置された大型の製造機・造型機などの業務用機器は、故障により稼働がストップするだけで、業務に大きな支障をもたらす。そのため、その動作状況を日常的に監視し、異常が発生し次第ただちに対処を行う必要がある。解決案として、業務用機器の管理業者が、定期的に現場へ整備員を派遣し、パーツの摩耗などを確認する方法がある。しかし、多大な人件費や移動費、労力がかかるため、すべての業務用機器や工場でこれを実施するのは難しい。【０００３】
この解決手段として機械内部にマイクロホンを設置し、その動作音を日常的に監視する方法がある。その動作音を解析し、異常と思われる音（i.e. 異常音）が発生したらそれを検知し、アラートをあげることでこれを解決する。しかし、機械の種類や個体毎に、異常音の種類やその検出方法を設定するのでは、人手で監視する以上にコストがかかる。そのため、自動で異常音を検知するルールを自動設計する必要がある。【０００４】
この問題を解決する方法として、統計的手法に基づく異常音検知がよく知られている（例えば、非特許文献１参照。）。統計的手法に基づく異常音検知は、教師あり異常音検知と教師なし異常音検知に大別できる。教師あり異常音検知では、正常音と異常音の学習データから識別器を学習するのに対し、教師なし異常音検知では、正常音の学習データのみから識別器を学習する。産業的応用では、異常音の学習データを集めることが困難であるため、多くの場合、教師なし異常音検知が採用される。
【０００５】
教師なし異常音検知の学習/検知フローは図９のようになる。学習では、正常動作時の音データ（学習データ）から得られる音響特徴量を抽出する。その後、その音響特徴量から正常音モデル（確率密度関数）を学習する。そして、判定では、新たに得られた観測に関して音響特徴量を抽出し、学習済みの正常音モデルで負の対数尤度（i.e. 異常度）を評価する。この値が閾値より小さければ正常、大きければ異常と判断する。これはつまり、観測音の正常音モデルの当てはまりの良さを評価している。観測が正常音なら、正常音の学習データと“似ている” 音が鳴るはずであり、異常なら、正常音の学習データと“似ていない” 音が鳴るはずである、という考え方に基づく。
【０００６】
教師なし異常検知で問題となるのは、音響特徴量抽出関数F(・)の設計である。教師あり異常音検知では、判別対象がよく識別できるような音響特徴量を人手で設計する。例えば正常音が1000Hz の正弦波で、異常音が2000Hz の正弦波と分かっているならば、音色が異なるので、フレームごとにメルフィルタバンクの対数パワー（log-MFBO）を抽出する。正常音が定常的なエンジン音で、異常音が機器同士が「ゴツッ」とぶつかるような音ならば、異常音は突発的な音なので、メルフィルタバンクのパワーの時間差分（ΔMFBO）を抽出する。また、教師あり学習の一つである「深層学習」では、学習データから音響特徴量を自動設計できるとも言われている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】井出剛,杉山将,“異常検知と変化検知,” 講談社, pp.6-7, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、教師なし異常検知では、どのような音の特性を持った異常音が発生するかわからない。ゆえに音響特徴量抽出関数を人手で設計することが困難であり、また深層学習を用いることも困難である。例えば、正常音が1000Hz の正弦波だったので、異常音が2000Hz の正弦波と仮定し，log-MFBO を音響特徴量としてしまうと，機器同士が「ゴツッ」とぶつかるような異常音を検出できない。また、その逆もしかりである。そのため、汎用的な音響特徴量であるメルフィルタバンクケプストラム係数（MFCC）などを用いるしかなく、教師あり学習と比べて検出精度が劣っていた。【０００９】
本発明の目的は、異常音の学習データの有無に関わらず、異常音検出のための音響特徴量抽出関数を生成することができる異常音検出学習装置及びこの異常音検出学習装置に関連する音響特徴量抽出装置、異常音サンプリング装置、方法、プログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明の一態様による異常音検出学習装置は、音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出部と、第一音響特徴量抽出部で抽出された音響特徴量を用いて正常音モデルを更新する正常音モデル更新部と、音響特徴量抽出関数を用いて、模擬された異常音に基づいて異常音の音響特徴量を、正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出部と、第二音響特徴量抽出部で抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、音響特徴量抽出関数を更新する音響特徴量抽出関数更新部と、を含み、第一音響特徴量抽出部、正常音モデル更新部、第二音響特徴量抽出部及び音響特徴量抽出関数更新部の処理を繰り返し行う。【００１１】
この発明の一態様による異常音検出学習装置は、音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する第一音響特徴量抽出部と、第一音響特徴量抽出部で抽出された音響特徴量を用いて正常音モデルを更新する正常音モデル更新部と、音響特徴量抽出関数を用いて、異常音の学習データに基づいて異常音の音響特徴量を、正常音の学習データに基づいて正常音の音響特徴量を抽出する第二音響特徴量抽出部と、第二音響特徴量抽出部で抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、音響特徴量抽出関数を更新する音響特徴量抽出関数更新部と、を含み、第一音響特徴量抽出部、正常音モデル更新部、第二音響特徴量抽出部及び音響特徴量抽出関数更新部の処理を繰り返し行う。
【発明の効果】
【００１２】
異常音の学習データの有無に関わらず、異常音検出のための音響特徴量抽出関数を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】異常音検出学習装置の例を説明するためのブロック図。
【図２】異常音検出学習方法の例を説明するための流れ図。
【図３】異常音検出装置の例を説明するためのブロック図。
【図４】異常音検出方法の例を説明するための流れ図。
【図５】本発明の構造の例を説明するための図。
【図６】音響特徴量関数の例を説明するための図。
【図７】音響信号単音についての振幅スペクトルの頻度分布の例を示す図。
【図８】振幅スペクトルのスパース性の例を示す図。
【図９】従来技術を説明するための図。
【発明を実施するための形態】
【００１４】
［発明の概要］
[[発明の構造について]]
本発明の階層構造を図５に示す。
(I) 教師あり/なしに関わらず、学習データから「正常音モデル」と「音響特徴量抽出関数」を同時に最適化する。
(II) 教師なしの場合に、異常音の学習データをサンプリングする。
(III) 教師あり/なしに関わらず、「音響特徴量抽出関数」を例えば行列積と対数演算や、多層パーセプトロンで表現する．
(IV) (I)〜(III) を同時に実現する学習/検知アルゴリズムを提供する。
【００１５】
以下では、(I)〜(III) について説明する。なお、説明の都合上、説明の順番が(III)(I)(II) となることは容赦されたい。その後、これらを実行するための［異常音検出学習装置及び方法］について説明する。
【００１６】
[[(III) 音響特徴量抽出関数の定義について]]
観測信号をフーリエ変換し、パワースペクトル又は振幅スペクトルを抽出した系列をXω,t∈R+Ω×Tとおく。ここで、ω={1,2,...,Ω}とt={1,2,...,T}は周波数と時間のインデックス、Ω は周波数ビンの数、T は観測フレーム数を表す。R+は非負の実数の集合を表す。
【００１７】
音響特徴量抽出のほとんどは、この系列に対数関数と行列演算したものとして表現できる。例えば、log-MFBOは、あるフレームの全ての周波数のスペクトルXt=(X1,t,...,XΩ,t)Tに対し、M個のメルフィルタバンクmm をかけ、対数をとったものとして記述できる。
【００１８】
【数１】
0006709277.tif 000002
【００１９】
ここで、T は転置を表す。また、ΔMFBOをメルフィルタバンク出力の時間差分と定義すれば、差分行列Dを用いて以下のように記述できる。
【００２０】
【数２】
0006709277.tif 000003
【００２１】
ここで、EMはM次元の単位行列である。
【００２２】
ここでは、この概念を拡張し、音響特徴量抽出関数を定義する。まず、判別対象フレームtから過去P1フレームから未来P2フレームまでを取出し、これを縦に連結したものをxtとする。xtは、図６及び以下の式のように表される。
【００２３】
【数３】
0006709277.tif 000004
【００２４】
ただし、Q=Ω×(P1+P2+1)である。式（１’）の１行目から２行目の変更は、表記の簡潔化のための書き換えであり、要素の内容及び順序に変更はない。このxtに対し、行列A∈RD×Qをかけ、対数を取る演算を音響特徴量抽出関数とする。すなわち、以下となる。
【００２５】
【数４】
0006709277.tif 000005
【００２６】
よって、音響特徴量抽出関数の最適化は、行列Aの最適化であると言える。
【００２７】
[[(I) 正常音モデルと音響特徴量抽出関数の同時最適化について]]
まず、正常音モデル（正常音から抽出した特徴量が従う確率密度関数）をp(F(A,x)|z=0)とする。すると、負の対数尤度（異常度）は以下のように算出できる。
【００２８】
【数５】
0006709277.tif 000006
【００２９】
ここで、正常音モデルは様々なものを使うことができるが、例えば混合ガウス分布とすれば、
【００３０】
【数６】
0006709277.tif 000007
【００３１】
と記述できる。ここで、Kは混合数、k,Σk,wkはそれぞれk番目の分布の平均ベクトル、共分散行列、重みパラメータである。
【００３２】
異常音検知では、g(A,x)の値が閾値φより大きければ「異常」小さければ「正常」と判定する。この判定は、ステップ関数として記述できるが、以降の計算の簡単のために、シグモイド関数
【００３３】
【数７】
0006709277.tif 000008
【００３４】
で記述する。シグモイド関数0≦σ{α}≦1は、αが小さいほど0に近い値を出力し、αが大きいほど1に近い値を出力する。つまり、σ{g(A,x-φ)}が0.5以上なら異常、0.5 以下なら正常と判定する。
【００３５】
異常音検知アルゴリズムの目標は、観測が異常音の時に大きなσ{g(A,x-φ)}を出力し、正常音の時に小さなσ{g(A,x-φ)}を出力することである。すなわち、以下の式を最小化することが、異常音検知の最適化の目標である。
【００３６】
【数８】
0006709277.tif 000009
【００３７】
ここで、p(F(A,x)|z=1)は異常音モデル（異常音から抽出した特徴量が従う確率密度関数）である。
【００３８】
以上より、正常音モデルと音響特徴量抽出関数の同時最適化は、
【００３９】
【数９】
0006709277.tif 000010
【００４０】
の2つを同時に満たすように行えばよい。音響特徴量抽出の最適化は、式(11)を最適化するような行列Aの設計であると言える。
【００４１】
式(10) の最適化は最尤法などで実行できる。そこで、式(11)の最適化について考える。式(9)を計算をするうえで一番の困難は積分演算である。そこで、この積分を学習データの算術平均に置き換える。まず、目的関数を、
【００４２】
【数１０】
0006709277.tif 000011
【００４３】
とする。すると、各項はσ{G(A,x-φ)}の期待値演算とみなせるため、以下のように記述できる。
【００４４】
【数１１】
0006709277.tif 000012
【００４５】
ここで、E[・]x|z=0は正常音に関する期待値演算、E [・]x|z=1は異常音に関する期待値演算である。
【００４６】
ここで、期待値演算を算術平均で置き換えると、式(11)は以下で近似できる。
【００４７】
【数１２】
0006709277.tif 000013
【００４８】
ここで、Nは異常音の学習データの時間インデックスである。つまり、正常音の学習データを使ってΨ1,...,Tの算術平均を計算し、異常音の学習データを使ってΨ1,...,Tの算術平均を計算し、この2 つの算術平均の和を最小化するようにAを設計すれば、異常音検知の精度は最大化することになる。ここで、異常音の学習データが得られている教師あり異常音検知の場合は、これをこのまま実行すればよい。教師なし異常音検知の場合は、これから説明するサンプリングアルゴリズムにしたがって、異常音データをN個サンプリング（シミュレーション）すればよい。その際はN=T程度に設定すべきである。
【００４９】
目的関数が式(15)で設定できたので、これを最小化すればよい。最小化には勾配法を用いることができる。勾配法に最急降下法を使えば、
【００５０】
【数１３】
0006709277.tif 000014
【００５１】
として、各次元dごとに行列を最適化してけばよい。ここで、λはステップサイズである。この最適化には当然、最急降下法の改善アルゴリズムであるAdaGradなどを用いてもよい。
【００５２】
勾配ベクトル∂J/∂adは、正常音モデルを混合ガウス分布で表現した場合、偏微分の連鎖則を用いて、以下のように計算できる。
【００５３】
【数１４】
0006709277.tif 000015
【００５４】
ただし、各成分は、
【００５５】
【数１５】
0006709277.tif 000016
【００５６】
で計算可能である。
【００５７】
[[(II)異常音の学習データのサンプリングについて]]
教師なし異常音検知において、式(15)を計算するために、異常音の学習データのサンプリングする方法を述べる。
【００５８】
異常音モデルp(F(A,x)|z=1)に用いる分布は任意である。教師なし学習では、異常音に対する事前知識が得られていない。あらゆる異常音を検知するために、可能な限り少ない仮定で異常音モデルを構築したい。つまり、振幅スペクトルやパワースペクトルの物理特性や出現頻度について、一般的に得られている知見だけから異常音をサンプリングしたい。
【００５９】
以下では、振幅値の頻度、スパース性、時間周波数方向への連続性についてのみ仮定を置き、異常音モデルを構築する。
【００６０】
まず、Xω,nの大きさについて考える。図７は、音響信号単音についての振幅スペクトルの頻度分布である。横軸が強度、縦軸が出現頻度である。図７から、音響信号の振幅スペクトルは、0付近が最も出やすく、強度が大きくなるにつれ、その出現頻度が指数的に低下することが分かる。Xω,nは、こういった特性を満たす確率分布からサンプリングすべきである。
【００６１】
この特性を満たす分布として例えば指数分布がある。指数分布は、
【００６２】
【数１６】
0006709277.tif 000017
【００６３】
となる分布で、oの値が大きくなるほどその出現頻度が低下する分布である。また、βは平均値である。指数分布からXω,nをサンプリングする場合、以下となる。
【００６４】
【数１７】
0006709277.tif 000018
【００６５】
βは観測音の音量に関するパラメータなので、正常音の学習データから設定すればよい。例えば、
【００６６】
【数１８】
0006709277.tif 000019
【００６７】
などで設定できる。
【００６８】
観測信号に含まれる定常雑音などの事前知識があれば、このサンプリング適宜は変更できる。例えば，定常雑音の平均スペクトルＹωが既知なのであれば、
【００６９】
【数１９】
0006709277.tif 000020
【００７０】
としてサンプリングすればよい。この際のβは、
【００７１】
【数２０】
0006709277.tif 000021
【００７２】
などで計算できる。
【００７３】
また、式(29)でサンプリングすると、異常音の音量平均βωは時間に寄らず一定になってしまう。振幅値は、マイクまでの距離や異常音の種類によっては、音量が大きくなったり小さくなったりするかもしれない。したがって、各nごとにβω,nの値を揺らがせたい。これを表現するために、式(29)を、例えば以下のように変更してもよい。
【００７４】
【数２１】
0006709277.tif 000022
【００７５】
ここで、θは異常音の最大音量を補正するパラメータで単位はdB、Uniform(a,b)は最大値a，最小値bの連続一様分布である。例えばθは、0から12程度に設定できる。この他にも、θを正規分布などからサンプリングし、bωのサンプリングを行わず常に1などに設定しても、同様の効果が期待できる。
【００７６】
また、振幅スペクトルのスパース性（ほとんどの要素が0 であること）に着目することができる。図８はあるフレームのX1,...,Ω,tをプロットした例である。図８から、音響信号は単一フレームに置いて、1ないし数個の周波数成分しか持たないことが多い。これに着目して、式(31)のサンプリングを以下のように変更してもよい。
【００７７】
【数２２】
0006709277.tif 000023
【００７８】
ここで、Cat(π)はカテゴリー分布、1Ωは要素がすべて1の長さΩのベクトルである。これは、znによって各時刻ごとにアクティブとなるスペクトルビンを1 つにすることで異常音スペクトルEをスパースに誘導している。
【００７９】
また、式(35) でサンプリングすると、Eω,nは時間周波数方向に完全に独立な値が生成されてしまう。通常、音響信号は時間的に滑らかに変化するので、そのスペクトルは時間周波数方向になめらかに変化する。これを実現するために、Eω,nを時間周波数方向に平滑化してもよい。
【００８０】
平滑化には様々な方法が考えられるが、例えばガウシアンフィルタを用いて、
【００８１】
【数２３】
0006709277.tif 000024
【００８２】
などが考えられる。ここでconv2は2次元の畳み込み演算、G(F,T)はサイズF×Tの2次元ガウシアンフィルタである。各パラメータは実験的に制御すべきだが、例えばF=11,T= 31程度に設定すればよい。
【００８３】
［異常音検出学習装置及び方法］
異常音検出学習装置は、図１に例示するように、スペクトル計算部１、初期化部２、第一音響特徴量抽出部３、正常音モデル更新部４、異常音サンプリング部５、第二音響特徴量抽出部６、音響特徴量抽出関数更新部７及び制御部８を備えている。異常音検出学習方法は、異常音検出学習装置の各部が図２及び以下に説明するステップＳ１からＳ８２の処理を実行することにより実現される。
【００８４】
＜スペクトル計算部１＞
正常音の学習データが、スペクトル計算部１に入力される。
【００８５】
正常音の学習データは、異常音検出の対象となる機器の近くに（内部でも可能）設置されたマイクホロンで収集された音響信号である。音響信号を収集する際のサンプリング周波数は、正常音の周波数を記録できるよう設定すべきだが、例えば16kHzなどに設定できる。
【００８６】
スペクトル計算部１は、学習データを短時間フーリエ変換（STFT）などの手法で周波数領域に変換する。
【００８７】
その後、複素スペクトルの絶対値を取り、振幅スペクトルXω,tを得る（ステップＳ１）。なお、振幅スペクトルの二乗を取ったパワースペクトルをXω,tとしてもよい。ここで、フーリエ変換長は32msシフト幅は16ms などに設定できる。
【００８８】
以下では、振幅スペクトル又はパワースペクトルであるXω,tのことをスペクトルXω,tと略記する。スペクトルXω,tは、第一音響特徴量抽出部３及び第二音響特徴量抽出部６に出力される。
【００８９】
なお、異常音の学習データが存在している場合には、言い換えれば、教師あり学習の場合には、スペクトル計算部１は、異常音の学習データに基づいて異常音のスペクトルを計算する。異常音のスペクトルは、例えば異常音の振幅スペクトル又はパワースペクトルである。計算された異常音のスペクトルは、第一音響特徴量抽出部３及び第二音響特徴量抽出部６に出力される。
【００９０】
＜初期化部２＞
予め設定された、学習アルゴリズムのパラメータ及びと音響特徴量抽出関数のパラメータが、初期化部２に入力される。
【００９１】
各種パラメータは、例えば、P1=3，P2=3，ε=min(Xω,t)/2，φ=100，λ=5.0×10-3などに設定できる。
【００９２】
初期化部２は、音響特徴量抽出関数の行列Aと正常音モデルを初期化する（ステップＳ２）。初期化された行列A及び正常音モデルは、第一音響特徴量抽出部３に出力される。
【００９３】
行列Aは、例えば一様乱数で初期化できる。正常音モデルは、確率密度関数の種類次第で異なるが、混合ガウス分布を用いる場合には、例えばk-means アルゴリズムなどで初期化できる。
【００９４】
＜第一音響特徴量抽出部３＞
第一音響特徴量抽出部３には、初期化部２で初期化された音響特徴量関数、及び、正常音の学習データが入力される。
【００９５】
第一音響特徴量抽出部３は、音響特徴量抽出関数を用いて、正常音の学習データに基づいて正常音の音響特徴量を抽出する（ステップＳ３）。この例では、第一音響特徴量抽出部３は、正常音の学習データとして、スペクトル計算部１が正常音の学習データに基づいて計算したスペクトルXω,tを用いて、正常音の音響特徴量を抽出する。抽出された音響特徴量は、正常音モデル更新部４に出力される。
【００９６】
第一音響特徴量抽出部３の１回目の処理は、初期化部２により初期化された音響特徴量抽出関数を用いて行われる。第一音響特徴量抽出部３の２回目以降の処理は、音響特徴量抽出関数更新部７により更新された音響特徴量抽出関数を用いて行われる。
【００９７】
スペクトル計算部１において異常音の学習データに基づいて異常音のスペクトルが計算されている場合には、第一音響特徴量抽出部３は、音響特徴量抽出関数を用いて、この計算された異常音のスペクトルに基づいて異常音の音響特徴量を抽出する。
【００９８】
＜正常音モデル更新部４＞
正常音モデル更新部４は、第一音響特徴量抽出部３で抽出された音響特徴量を用いて正常音モデルを更新する（ステップＳ４）。
【００９９】
更新法は、正常音モデルの確率密度関数の種類次第で異なるが、例えば最尤推定で更新すればよい。また、正常音モデルとして混合ガウス分布を用いる場合には、EMアルゴリズム（例えば、参考文献１参照。）で１ステップないし数ステップ分を更新すればよい。
〔参考文献１〕小西貞則, “多変量解析入門, 付録C EM アルゴリズム” pp.294-298, 岩波書店, 2010.
【０１００】
＜異常音サンプリング部５＞
異常音サンプリング部５は、模擬された異常音をサンプリングする（ステップＳ５）。サンプリングされた異常音は、第二音響特徴量抽出部６に出力される。
【０１０１】
異常音サンプリング部５は、例えば式（２６）に基づいて模擬された異常音のサンプリングを行う。式（２６）におけるパラメータβは、例えば式（２７）に基づいて決定することができる。この場合、式（２７）のXω,tとして、スペクトル計算部１により計算された正常音のスペクトルXω,tを用いることができる。
【０１０２】
なお、異常音の学習データが存在している場合には、言い換えれば、教師あり学習の場合には、サンプリングは行わない。すなわち、異常音の学習データを、サンプリング結果として以降の処理を行えばよい。
【０１０３】
＜第二音響特徴量抽出部６＞
第二音響特徴量抽出部６は、音響特徴量抽出関数を用いて、模擬された異常音に基づいて異常音の音響特徴量を、正常音の学習データに基づいて正常音の音響特徴量を抽出する（ステップＳ６）。抽出された、異常音の音響特徴量及び正常音の音響特徴量は、音響特徴量抽出関数更新部７に出力される。
【０１０４】
この例では、第二音響特徴量抽出部６は、正常音の学習データとして、スペクトル計算部１が正常音の学習データに基づいて計算したスペクトルXω,tを用いて、正常音の音響特徴量を抽出する。
【０１０５】
第二音響特徴量抽出部６の１回目の処理は、初期化部２により初期化された音響特徴量抽出関数を用いて行われる。第二音響特徴量抽出部６の２回目以降の処理は、音響特徴量抽出関数更新部７により更新された音響特徴量抽出関数を用いて行われる。
【０１０６】
＜音響特徴量抽出関数更新部７＞
音響特徴量抽出関数更新部７は、第二音響特徴量抽出部６で抽出された異常音の音響特徴量及び正常音の音響特徴量を用いて、音響特徴量抽出関数を更新する（ステップＳ７）。更新された音響特徴量抽出関数は、第一音響特徴量抽出部３及び第二音響特徴量抽出部６に出力される。また、制御部８による繰り返し制御の後に最後に更新された音響特徴量抽出関数が、異常音検出学習装置及び方法による最終的な学習結果として出力される。
【０１０７】
音響特徴量抽出関数更新部７は、例えば式（１６）などに基づいて、音響特徴量抽出関数を更新する。この際、更新の実行前に正常音の学習データx1,…,xTとサンプリングした異常音データx1,…,xNを用いて、閾値φを以下の式により更新してもよい。これにより、収束が安定する。
【０１０８】
【数２４】
0006709277.tif 000025
【０１０９】
＜制御部８＞
制御部８は、第一音響特徴量抽出部３、正常音モデル更新部４、第二音響特徴量抽出部６及び音響特徴量抽出関数更新部７の処理を繰り返し行うように制御を行う（ステップＳ８１及びステップＳ８２）。この繰り返し処理は、音響特徴量抽出関数及び正常音モデルが収束するまで行われる。
【０１１０】
例えば、制御部８は、第二音響特徴量抽出部６及び音響特徴量抽出関数更新部７の処理を繰り返し行う（以下、第一繰り返し処理とする。）ように制御を行う。第１収束判定条件を、処理を行った回数が一定回数（例えば50 回）に到達するか、又は、行列Aの更新ノルムが一定以下になるかとして、制御部８は、第１収束条件が満たされるまで、言い換えれば収束したと判定されるまで、第一繰り返し処理を繰り返し行うように制御を行う。第1収束判定条件として、他の条件を用いてもよい。
【０１１１】
その後、制御部８は、第一音響特徴量抽出部３及び正常音モデル更新部４の処理と、第一繰り返し処理とを繰り返して行う（以下、第二繰り返し処理とする。）ように制御を行う。第２収束条件を、処理を行った回数が一定回数（例えば200 回）に到達するかとして、制御部８は、第２収束条件が満たされるまで、言い換えれば収束したと判定されるまで、第二繰り返し処理を繰り返し行うように制御を行う。第２収束判定条件として、他の条件を用いてもよい。
【０１１２】
［異常音検出装置及び方法］
異常音検出装置は、図３に例示するように、スペクトル計算部１１、音響特徴量抽出部１２、異常度計算部１３及び判定部１４を備えている。異常音検出方法は、異常音検出装置の各部が図４及び以下に説明するステップＳ１１からＳ１４の処理を実行することにより実現される。
【０１１３】
＜スペクトル計算部１１＞
異常音の検出対象となる機械の動作音をマイクロホンで収音する。この際のサンプリングレートは学習時と同様の物を用いる。収音された音響信号は、スペクトル計算部１１に入力される。
【０１１４】
スペクトル計算部１１は、スペクトル計算部１と同様にして、収音された音響信号に基づいてスペクトルXω,tを得る（ステップＳ１１）。得られたスペクトルXω,tは、音響特徴量抽出部１２に出力される。
【０１１５】
＜音響特徴量抽出部１２＞
音響特徴量抽出部１２は、得られたスペクトルXω,tを用いて、異常音検出学習装置及び方法により最終的な学習結果として出力された音響特徴量抽出関数に基づいて、収音された音響信号の音響特徴量を抽出する（ステップＳ１２）。抽出された音響特徴量は、異常度計算部１３に出力される。
【０１１６】
＜異常度計算部１３＞
異常度計算部１３は、抽出された音響特徴量と、異常音検出学習装置及び方法により最終的な学習結果として出力された正常音モデルとを用いて、負の対数尤度g(A,x)を計算する（ステップＳ１３）。以下、負の対数尤度のことを異常度と呼ぶ。計算された異常度は、判定部１４に出力される。
【０１１７】
＜判定部１４＞
判定部１４は、現在フレームの異常度が閾値φ以上なら、「異常」と出力する（ステップＳ１４）。閾値は機械や環境に合わせて調整すべきだが、例えば1500 の程度に設定できる。
【０１１８】
また、音声区間判別と同様に、判別誤りをヒューリスティックなルールで抑制する「ハングオーバー」も用いることができる。適用するハングオーバー処理は様々なものが考えられるが、異常音の誤検知の種類に応じてハングオーバー処理を設定すべきである。
【０１１９】
その一例として、雑音抑圧時に発生するミュージカルノイズを、突発的な異常音と判定することがある。突発的なぶつかり音などは、100ms 以上スペクトル形状に変化が出ることが多いため、┌(100/STFT のフレームシフト幅)┐フレーム連続して異常度が閾値以上となる。しかし、ミュージカルノイズは当該フレームだけに異常な振幅スペクトル値が発生するため、連続して異常度が閾値以上となるのは高々数フレームである。そこで、異常判定のルールを、「連続してF1 フレーム以上異常度が閾値以上なら、「異常」と出力する。」などに設定することができる。
【０１２０】
その他の例として、異常音の音量が小さいために、異常度が閾値を少し下回る程度で長時間続くことも考えられる。そういった場合には、持続的な異常音のための判定ルールとして、「直近F2フレームの異常度の総和がφ1以上であれば、異常音として検知する。」などのルールを追加できる。ここで、φ1 はチューニングにより決定すべきだが、例えばφ1 =F2×(φ-250)程度に設定できる。
【０１２１】
このような異常音検出装置及び方法を用いて、工場などに設置された大型の製造機・造型機から異常音を検知することにより、故障への対処の迅速化や、故障予知が可能になる。これにより、例えば、産業、特に製造業の効率化に寄与することができる。
【０１２２】
［プログラム及び記録媒体］
異常音検出学習装置又は異常音検出装置における各処理をコンピュータによって実現する場合、異常音検出学習装置又は異常音検出装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
【０１２３】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１２４】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【０１２５】
［変形例］
上記説明した音響特徴量の最適化指標を用いれば、多層パーセプトロンを教師なしで学習することもできる。具体的には、音響特徴量抽出関数には式(3)を用いて説明したが、多層パーセプトロンでも実装できる。例えば、最もシンプルな全結合型多層パーセプトロンを用いる場合、音響特徴量抽出関数は以下のようになる。このように、音響特徴量抽出関数は、多層パーセプトロンにより表現されてもよい。
【０１２６】
【数２５】
0006709277.tif 000026
【０１２７】
ここで、L,W(k),b(k)はそれぞれ、ニューラルネットの層数、重み行列、バイアスベクトルを表す。Lは、２以上の所定の正の整数である。また、σθは活性化関数であり、例えばシグモイド関数などで実装できる。入力層への入力は、gτ(1)=xτや、gτ(1)=ln xτとすればよい。gτ(k)は、多層パーセプトロンの第k層への入力である。この場合、音響特徴量抽出関数の最適化は、Θ={W(k),b(k)},(k∈{2,...,L})の最適化となる。
【０１２８】
この最適化は、式(16)と同様に、勾配法を用いることができる。勾配法に最急降下法を使えば、
【０１２９】
【数２６】
0006709277.tif 000027
【０１３０】
とすればよい。この最適化には当然、最急降下法の改善アルゴリズムであるAdaGradなどを用いてもよい。目的関数Jは、
【０１３１】
【数２７】
0006709277.tif 000028
【０１３２】
で与えられているため、式(42)(43)は、
【０１３３】
【数２８】
0006709277.tif 000029
【０１３４】
と記述することができる。各勾配
【０１３５】
【数２９】
0006709277.tif 000030
【０１３６】
は、式(17)より偏微分の連鎖則を用いて、以下のように計算できる。
【０１３７】
【数３０】
0006709277.tif 000031
【０１３８】
多層パーセプトロンにおいて、式(47)(48)の形の勾配の計算は、誤差逆伝搬（例えば、参考文献２参照。）を用いることで効率的に計算することができる。
〔参考文献２〕麻生英樹, 外７名, “深層学習,” 人工知能学会, 近代科学社, pp.14, 2015.
【０１３９】
異常音検出学習装置又は異常音検出装置において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０１４０】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【図１】
0006709277.tif 000035
【図２】
0006709277.tif 000036
【図３】
0006709277.tif 000037
【図４】
0006709277.tif 000038
【図５】
0006709277.tif 000039
【図６】
0006709277.tif 000040
【図７】
0006709277.tif 000041
【図８】
0006709277.tif 000042
【図９】
0006709277.tif 000043