(57)【要約】【課題】回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することができる異常検知技術を提供する。【解決手段】回帰モデルfθ^(・)を用いて、入力データxと入力データxに対する正解データtの組(x, t)から入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、回帰誤差t- fθ^(x)から入力データxに対する異常検出結果を生成する異常検出部とを含み、異常検知モデルは、入力データの回帰誤差から、第１の値、第２の値のいずれかを異常度として出力するものであり、異常検出部は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する。【選択図】図３
2019036112.tif 000002
【特許請求の範囲】
【請求項１】
θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、
前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、
異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部と
を含む異常音検知装置であって、
前記異常検知モデルは、入力データの回帰誤差から、第１の値、第２の値のいずれかを異常度として出力するものであり、
前記異常検出部は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する
異常音検知装置。
【請求項２】
請求項１に記載の異常音検知装置であって、
前記異常検知モデルは、N個の回帰誤差tn- fθ^(xn)(1≦n≦N)を含む有界な領域Bを用いて、前記異常度を出力する
ことを特徴とする異常音検知装置。
【請求項３】
請求項２に記載の異常音検知装置であって、
θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとして、
N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失は、最大絶対値誤差を用いて定義したものであり、
前記回帰モデルパラメータθ^は、当該損失を最小化するように学習したものである
ことを特徴とする異常音検知装置。
【請求項４】
請求項２に記載の異常音検知装置であって、
pを3以上の整数、θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとして、
N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失は、p乗和誤差を用いて定義したものであり、
前記回帰モデルパラメータθ^は、当該損失を最小化するように学習したものである
ことを特徴とする異常音検知装置。
【請求項５】
請求項２に記載の異常音検知装置であって、
pを3以上の整数、θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとして、
N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失は、p乗和誤差を用いて定義したものであり、
前記回帰モデルパラメータθ^は、当該損失を最小化するように学習したものであり、学習に際して、pの値を段階的に上げていく
ことを特徴とする異常音検知装置。
【請求項６】
θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、
前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、
異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部と
を含む異常音検知装置であって、
pを3以上の整数、θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとし、
N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失は、p乗和誤差を用いて定義したものであり、
前記異常検知モデルは、入力データの回帰誤差から、p乗に対応した負の対数尤度を異常度として出力するものであり、
前記異常検出部は、閾値を用いて、前記異常度から前記異常検出結果を生成する
異常音検知装置。
【請求項７】
θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、
前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、
異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部と
を含む異常検知装置であって、
前記異常検知モデルは、入力データの回帰誤差から、第１の値、第２の値のいずれかを異常度として出力するものであり、
前記異常検出部は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する
異常検知装置。
【請求項８】
請求項１ないし６のいずれか１項に記載の異常音検知装置または請求項７に記載の異常検知装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械の動作音から故障を検知する等、入力から異常な状態を検知する異常検知技術に関する。
【背景技術】
【０００２】
例えば、機械の故障を故障前に発見することや、故障後に素早く発見することは、業務の継続性の観点で重要である。これを省力化するための方法として、センサを用いて取得したデータから、電気回路やプログラムにより、正常状態からの乖離である「異常」を発見する異常検知という技術分野が存在する。特に、マイクロフォン等のように、音を電気信号に変換するセンサを用いるものを異常音検知と呼ぶ。
【０００３】
回帰モデルを用いて異常を検知する方法が従来から存在する。以下、その概要を説明する。まず、故障が発生しておらず、通常の状態であると考えられる機械の動作音の音データから回帰モデルを生成する。次に、異常・正常が分からない動作音の音データに対して、上記回帰モデルによる出力値（出力ベクトル）を計算し、出力値と実際の値（正解値）の差分（出力ベクトルと正解ベクトルの差分）である回帰誤差を算出する。事前に決定してある、回帰誤差が従う確率分布での尤度をもとに「異常度」を計算する。最後に、異常度に基づいて閾値により異常か否かの判定を行う。
【０００４】
このような方法として、回帰誤差が従う確率分布としてガウス分布を仮定、回帰モデルとして線形回帰を用いて、回帰モデルパラメータ推定に最小２乗法を用いるもの（非特許文献１）、回帰モデルとして、線形回帰の代わりにニューラルネットワークを用いるもの（非特許文献２）などがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】井手剛，“入門  機械学習による異常検知−Rによる実践ガイド”，コロナ社，pp.161，2015．
【非特許文献２】Pankaj Malhotra, Lovekesh Vig, Gautam Shroff, Puneet Agarwal, “Long Short Term Memory Networks for Anomaly Detection in Time Series”, ESANN 2015 proceedings, pp.89-94, 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
正常と区分される音であっても、モータの回転や停止に対応する音のように急激に変化をするものや、機械の動作シーケンスに対応する音のように複雑な時間方向の規則性を持つものが存在する。つまり、正常音といっても単調な音であるとは限らない。従来の方法は、正常音が単調な音であり、異常音が急激に変化する音であるような場合には的確に異常を検知することができたが、例えば矩形波のように正常音が急激に変化する場合や、規則性の欠落といった、予測が困難で正常音の回帰誤差が大きくなりやすい場合に対してはうまく異常を検知することができず、これらの音に対しては、正常であるにもかかわらず異常度が瞬時的に高くなる現象が発生していた。
【０００７】
従来の線形回帰やニューラルネットワークによる方法では、最小２乗法や、平均２乗誤差により学習が行われる。これは、回帰モデルの出力ベクトルと正解ベクトルの回帰誤差がガウス分布に従うという仮定を置くことと等価である。ガウス分布の確率密度関数は絶対値が非常に大きな正負の値に対しても正の値を持つ、すなわち確率としてあり得ることを仮定しており、そのような仮定の下で学習を行うと、学習データには正常データしか含まれていないにもかかわらず、ごく一部の予測困難なパターンに対しては、予測を外してもよいように、つまり尤度を低くするように学習する。通常、異常度は尤度が低くなるほど高くなるように設計されるため、前述の異常度が瞬時的に上昇する現象が発生し、閾値によって異常度を区切ることで異常判定を行う異常検知においては誤検知の原因となってしまう。
【０００８】
この誤検知の問題は、音データに限るものではなく、回帰モデルから生成される回帰誤差の確率分布としてガウス分布を仮定する場合一般に起こり得るものである。
【０００９】
そこで本発明では、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することができる異常検知技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様は、θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常音検知装置であって、前記異常検知モデルは、入力データの回帰誤差から、第１の値、第２の値のいずれかを異常度として出力するものであり、前記異常検出部は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【００１１】
本発明の一態様は、θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常音検知装置であって、pを3以上の整数、θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとし、N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失は、p乗和誤差を用いて定義したものであり、前記異常検知モデルは、入力データの回帰誤差から、p乗に対応した負の対数尤度を異常度として出力するものであり、前記異常検出部は、閾値を用いて、前記異常度から前記異常検出結果を生成する。
【００１２】
本発明の一態様は、θ^を、N個（Nは1以上の整数）の、正常な入力データxnと前記入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N)を用いて学習される回帰モデルパラメータ、fθ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルfθ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- fθ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- fθ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常検知装置であって、前記異常検知モデルは、入力データの回帰誤差から、第１の値、第２の値のいずれかを異常度として出力するものであり、前記異常検出部は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【発明の効果】
【００１３】
本発明によれば、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】異常検知モデル生成装置１００の構成の一例を示すブロック図。
【図２】異常検知モデル生成装置１００の動作の一例を示すフローチャート。
【図３】異常音検知装置２００の構成の一例を示すブロック図。
【図４】異常音検知装置２００の動作の一例を示すフローチャート。
【図５】異常検知モデル生成装置３００の構成の一例を示すブロック図。
【図６】異常検知モデル生成装置３００の動作の一例を示すフローチャート。
【図７】異常検知装置４００の構成の一例を示すブロック図。
【図８】異常検知装置４００の動作の一例を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１６】
＜技術的背景＞
回帰モデルを用いた異常検知では、回帰誤差が従う確率分布としてガウス分布を仮定し、最小２乗法による回帰モデル学習がよく用いられる。しかし、ここでは、ガウス分布に対して、ある値を境として中心から遠くの、つまり絶対値の大きな値に対する確率密度値が小さい分布を仮定する。このような分布として、例えば、一様分布や、その近似である一般化正規分布がある。一様分布を仮定した場合、最大絶対値法による回帰モデルの学習を行う。また、一般化正規分布を仮定した場合、最小４乗法や最小８乗法など２乗よりも累乗数が大きな方法により回帰モデルの学習を行う。さらに、それに対応した通常情報量形式で表される、入力データの異常さを数値で表現する「異常度」の式を導き、当該式による異常度を用いることにより、上述の誤検知の問題を解決する。
【００１７】
一様分布は、確率変数の区間の上限と下限をパラメータとして持つ、連続型の確率分布である。一次元であれば、上限値と下限値を示す２つのパラメータを持ち、多次元の場合は、次元ごとに上限値、下限値を示すパラメータを持つ。一様分布は、ガウス分布と異なり、上限値と下限値で特定される区間の外側については、実現値は発生しえない、つまり、確率はゼロとなる。
【００１８】
通常、回帰問題においては、外れ値を許容するような分布を仮定する方がよい場合が多いが、一様分布を仮定すると、学習データはすべて正常データであるとして取り扱うことができ、なおかつ回帰誤差そのものを下げる必要性が薄い異常検知分野においては、通常と逆の発想をする（一様分布を仮定する）ことは妥当であるともいえる。回帰誤差が従う分布として一様分布を仮定することで、回帰モデル学習の際に、回帰誤差が存在する範囲が所定の有界な領域を超えた場合には非常に大きなペナルティーがかかり、当該領域に収まる場合にはすべて同じペナルティーになる。したがって、学習データ全体での回帰誤差は大きくなってしまうが、予測がしにくい正常パターンであっても、極端に予測を外して尤度が低下し、異常度が上がることが発生しないようになる。
【００１９】
以下、回帰誤差が一様分布に従うと仮定した場合における、異常検知モデル生成手続きについて説明する。ここで、異常検知モデルとは、入力データに対する異常度を出力するモデルである。この生成手続きは、大きく、回帰モデルの学習、異常検知モデルの生成の２つの手続きから構成される。
【００２０】
（１：回帰モデルの学習）
ガウス分布を回帰誤差の分布とすることは、ノルムとしてl-2ノルムを、距離としてEuclidean距離を採用することである。それに対し、一様分布を回帰誤差の分布とすることは、l-∞ノルム（一様ノルム）を、距離としてChebyshev距離（チェス盤距離）を採用することである。l-∞ノルムを最小化する最適化手法は知られており、例えば、参考非特許文献１、参考非特許文献２に記載されている。
（参考非特許文献１： Yongduek Seo, Richard Hartley, “A fast method to minimize L∞ error norm for geometric vision problems”, IEEE 11th International Conference on Computer Vision (ICCV) 2007, Nov. 2007.）
（参考非特許文献２： Christian Clason, “L∞ fitting for inverse problems with uniform noise”, Inverse Problems, Vol.28, No.10, pp.1-23, 2012.）
線形回帰やニューラルネットワークを用いて表現した回帰モデルを、l-∞ノルムによる回帰誤差が小さくなるように、これらの最適化手法を用いて学習することができる。
【００２１】
（２：異常検知モデルの生成）
回帰誤差の尤度に基づいて異常度を定義することを考える。各次元が独立であるとすれば、一様分布では尤度がゼロとならない範囲は、１次元では区間、２次元では長方形、３次元では直方体、一般に超直方体として表現される。また、次元間の独立性が必要ない場合には、円（２次元の場合）や球（３次元の場合）を尤度がゼロとならない範囲とすることもできる。２次元であれば、回帰誤差の分布を示す確率密度関数は円柱状の形状で表現されることになる。
【００２２】
線形回帰やニューラルネットワークによる回帰モデルパラメータをθとする。一般にθは複数のパラメータから構成されるものとなり、ニューラルネットワークの場合は重みやバイアスを表現するパラメータとなる。また、回帰モデルは入力データから出力データを出力する関数とみることができるため、回帰モデルパラメータがθである回帰モデルをfθ(・)と表すことにする。また、入力データをxn、入力データxnに対する正解データをtnとする。例えば、入力データxnは、音波形のサンプル点、パワースペクトル、フィルタバンク出力である。入力データ、出力データは一般にベクトルとして表現されることが多く、この場合、入力データ、出力データのことをそれぞれ入力ベクトル、出力ベクトルともいう。回帰モデルによる出力データはfθ(xn)と表すことができる。N個の(xn,tn) (1≦n≦N)に対する回帰誤差の集合は{tn-fθ(xn)|n∈{1, …, N}}となる。入力データとして音から生成されるベクトルを用いる場合には、回帰モデルとして自己回帰モデルを用いてもよく、例えば、tn=xn+1としてもよい。一般に、tnをx1,…, xNから生成されるベクトルとすることもできる。
【００２３】
学習データである正常な入力データxnと入力データxnに対する正解データtnの組(xn,tn)から回帰誤差の集合{tn-fθ(xn)|n∈{1, …, N}}を生成し、その値がゼロとならない範囲が超直方体となる一様分布についてパラメータを最尤推定で求める。ある１つの次元についてパラメータで定義される範囲を超える回帰誤差tn-fθ(xn)が存在する場合、尤度はゼロである。また、一様分布の確率密度関数の超直方体上での積分値は１である。ここで、ある超直方体にすべての回帰誤差tn-fθ(xn) (n∈{1,…,N})が含まれるとして、少しでも超直方体の範囲を広げれば、１をより大きい超直方体の体積で除すことになり、尤度は下がる。したがって、回帰誤差の集合{tn-fθ(xn)|n∈{1, …, N}}を含む最小の超直方体Tを表現する範囲を表す2d個の値が、この場合における一様分布パラメータの最尤推定解となる。なお、最尤推定解にこだわらないのであれば、この最小の超直方体を含む有界な領域Bをその値がゼロとならない範囲とすることができる。
【００２４】
異常度は、尤度に基づき、例えば負の対数尤度（情報量）として定義することができる。正常、異常が未知の１つの入力ベクトルと正解ベクトルの組に対応する回帰誤差に対する尤度は、回帰誤差が超直方体Tに含まれる場合は定数となり、そうでない場合は0となるため、この尤度に対応して、定数、無限大を回帰誤差の異常度とすることができる。したがって、回帰誤差の分布としてガウス分布を仮定する場合、異常度の算出に閾値を用いることが多いが、一様分布を仮定する場合は、異常度が２値となることから、閾値を用いる必要はなく、回帰誤差が超直方体の中に含まれる場合は異常度が定数であることから正常、超直方体に含まれていない場合は異常度が無限大であることから異常として取り扱うことができる。
【００２５】
＜第一実施形態＞
ここでは、学習データや異常検知の対象となるデータとして音から生成されるベクトルを用いた自己回帰モデルによる異常検知モデル生成装置、異常音検知装置について説明する。
【００２６】
（異常検知モデル生成装置１００）
以下、図１〜図２を参照して異常検知モデル生成装置１００を説明する。図１は、異常検知モデル生成装置１００の構成を示すブロック図である。図２は、異常検知モデル生成装置１００の動作を示すフローチャートである。図１に示すように異常検知モデル生成装置１００は、音データ生成部１１０と、回帰モデルパラメータ学習部１２０と、異常検知モデル生成部１３０と、記録部１９０を含む。記録部１９０は、異常検知モデル生成装置１００の処理に必要な情報を適宜記録する構成部である。
【００２７】
異常検知モデル生成装置１００は、学習音の音波形を入力とする。学習音は、例えば、正常に動作する機械の動作音である。
【００２８】
図２に従い異常検知モデル生成装置１００の動作について説明する。音データ生成部１１０は、学習音の音波形から学習音の音データxn (1≦n≦N)を生成する（Ｓ１１０）。具体的には、以下のように学習音の音データxn (1≦n≦N)を生成する。学習音の音波形を適当なサンプリング周波数でＡＤ(アナログデジタル)変換し、量子化した波形データを生成する。このように量子化した波形データをそのまま１次元の値が時系列に並んだデータを学習音の音データxn (1≦n≦N)としてもよいし、複数サンプルの連結、離散フーリエ変換、フィルタバンク処理等を用いて多次元に拡張する特徴抽出処理をしたものを学習音の音データxn (1≦n≦N)としてもよいし、データの平均、分散を計算して値の取り幅を正規化する等の前処理をしたものを学習音の音データxn (1≦n≦N)としてもよい。一般に学習音の音データxnはベクトルとして表現される。
【００２９】
回帰モデルパラメータ学習部１２０は、学習音の音データxn (1≦n≦N)を用いて、回帰モデルパラメータθ^を学習する（Ｓ１２０）。例えば、音データxnの正解データtnをxn+1とする自己回帰モデルを用いて回帰モデルパラメータθ^を学習することができる。
【００３０】
回帰モデルの学習には、線形回帰や、リカレントニューラルネットワークやLSTMネットワーク(Long Short Term Memory Networks)等のニューラルネットワークを用いることができる。線形回帰を用いる場合、線形計画法等の数値解法を用いて、一様ノルムを最小化する回帰モデルパラメータθを求めることができる。ニューラルネットワークを用いる場合、回帰誤差集合{tn-fθ(xn)|n∈{1, …, N}}に対しスカラー値を返す損失関数をErr[{tn-fθ(xn)|n∈{1, …, N}}]として、d=1（ただし、dは正解データtnのベクトル次元）の場合、次式で表される最大絶対値誤差を用いる。
【００３１】
【数１】
2019036112.tif 000003
【００３２】
これは、回帰モデル学習で広く使われている、次式の２乗和誤差関数の代わりに用いたものである。
【００３３】
【数２】
2019036112.tif 000004
【００３４】
最大絶対値誤差を関数としてみると、微分不可能点が含まれるため、誤差逆伝搬法等の学習アルゴリズムを用いる際には、劣勾配を用いるとよい。しかし、この方法での学習は安定しないこともあるため、適当な滑らかな関数（例えば、Ck級の関数）で最大絶対値誤差を近似してもよい。
【００３５】
なお、学習の終了は、所定の繰り返し回数が実行されたことをもって判定する。
【００３６】
また、多次元（つまり、d>1）の場合、各次元ごとに求めた式(1)の値の最大値が最大絶対値誤差となる。
【００３７】
また、pを3以上の整数として、次式のp乗和誤差を最大絶対値誤差の代わりに用いてもよい。つまり、最大絶対値誤差をp乗和誤差で近似する。
【００３８】
【数３】
2019036112.tif 000005
【００３９】
さらに、p1, ..., pmをそれぞれ3以上の整数として、p1乗和誤差、…、pm乗和誤差を線形結合したものを代わりに用いてもよい。
【００４０】
また、適当なpの値から学習を開始して、pを段階的に上げてもよい。つまり、p1, ..., pmをそれぞれp1< ...<pmを満たす3以上の整数として、p1乗和誤差、…、pm乗和誤差と適当な繰り返し回数後、切り替えていってもよい。
【００４１】
なお、べき乗根、学習データの組の数Nでの平均などのように、誤差に対して単調にしか変化しない項については、最終的に最適化問題に帰着するためその計算を省略してもよい。
【００４２】
多次元（つまり、d>1）の場合、各次元の独立を仮定して単に次元ごとの誤差の総和をp乗和誤差としてもよい。また、例えば、次元ごとの誤差を次元ごとに定まった定数で除算するなど、次元ごとの重要度を考慮して次元ごとの誤差に重みをつけてもよい。
【００４３】
以上説明した回帰モデルパラメータθの学習は、以下の最適化問題として定式化できる。
【００４４】
【数４】
2019036112.tif 000006
【００４５】
なお、損失関数Err[{tn-fθ(xn)|n∈{1, …, N}}]の値のことをN個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失という。
【００４６】
異常検知モデル生成部１３０は、Ｓ１２０で学習した回帰モデルパラメータθ^を用いて異常検知モデルを生成する（Ｓ１３０）。ここで、異常検知モデルは、入力音の音データの異常度を示す第１の値、第２の値のいずれかを出力するものである。具体的には、以下のように異常検知モデルを生成する。まず、異常検知モデル生成部１３０は、回帰モデルパラメータθ^を用いて、(xn,tn) (1≦n≦N)から回帰誤差tn- fθ^(xn)を計算し、回帰誤差集合{tn-fθ^(xn)|n∈{1, …, N}}を生成する。tn= xn+1の場合、tn- fθ^(xn)=xn+1- fθ^(xn)となる。
【００４７】
次に、異常検知モデル生成部１３０は、回帰誤差集合{tn-fθ^(xn)|n∈{1, …, N}}を含むd次元実数ベクトル空間の有界な領域Bを生成する。例えば、領域Bを、＜技術的背景＞で説明した通り、一様分布の最尤推定解である、回帰誤差集合{tn-fθ^(xn)|n∈{1, …, N}}を含む最小の超直方体とすることができる。この超直方体は2d個のパラメータ値を用いてその範囲を表すことができる。この場合、例えば、次元ごとに回帰誤差集合{tn-fθ^(xn)|n∈{1, …, N}}の要素の最大値・最小値を求めることにより、超直方体Bを求めてもよいし、座標軸の回転などを考慮してさらに小さくなるよう、超直方体Bを求めてもよいし、回帰誤差集合{tn-fθ^(xn)|n∈{1, …, N}}の要素であるベクトルを平均し、その座標を超直方体の中心とみなし、d個の幅のみを求めることにより、超直方体Bを求めてもよいし、平均、超直方体中心など、中心を規定するパラメータを0ベクトルとし、d個の幅のみを求めることにより、超直方体Bを求めてもよい。また、領域Bを、超直方体の代わりに、超球や高次元の楕円体として、回帰誤差集合を含む最小の超球（高次元の楕円体）としてもよい。さらには、実際の異常音検知が行われる業務の要請に応じて人手で領域Bを調整してもよい。また、＜技術的背景＞でも説明したように、回帰誤差集合を含む最小の領域よりも大きな領域を領域Bとしてもよい。
【００４８】
Ｓ１２０において、p乗和誤差による近似を用いた場合は、p乗に対応した一般化正規分布の広がりを規定する、パラメータ（例えば、標準偏差）を最尤推定により算出し、領域Bを求めてもよい。p乗に対応した一般化正規分布には、各次元独立な直方体のような定義域を持つもの、各次元の独立性がない球対称のようは定義域を持つものがあるが、いずれを用いて、領域Bを求めてもよい。
【００４９】
最後に、異常検知モデル生成部１３０は、以下の異常検知モデルを生成する。
【００５０】
［異常検知モデル］
入力音の音データymと入力音の音データymに対する正解データsmの組(ym, sm)とし、異常検知モデルは、入力音の音データymの回帰誤差sm - fθ^( ym)に対して、sm-fθ^(ym)∈Bが成立する場合は第１の値を、それ以外の場合は第２の値を異常度として出力する。ただし、第１の値と第２の値は、異なる値であれば任意の値とすることができる。
【００５１】
例えば、音データymの正解データsmをym+1とする自己回帰モデルを用いる場合、回帰誤差sm-fθ^(ym)=ym+1-fθ^(ym)となる。一般に、時系列データを扱う場合、過去(y1,..., ym-1)または未来(ym+1,..., yM)の必要なデータを用いて回帰誤差を計算することができる。
【００５２】
例えば、1を超直方体体積で除した値(尤度)の負の対数を第１の値、無限大を第２の値としてもよいし、単に1（正常を表す値）を第１の値、0（異常を表す値）を第２の値としてもよい。
【００５３】
Ｓ１２０において、p乗和誤差による近似を用いた場合は、p乗に対応した一般化正規分布の情報量(負の対数尤度)を異常度とすることができる。具体的には、回帰誤差が１次元である場合、定数α、自然対数lnを用い、|sm-fθ^(ym)|/αのp乗値とln(α)の和を計算し、これを用いて異常度としてもよい。多次元の場合は、次元ごとに異なるαを用い、上記の和を計算した後、総和を取り異常度としてもよい。αは回帰誤差が多次元である場合に、各次元での正常の場合における誤差の広がり方を決定するパラメータであり、次元ごとに人間が決めてもよいし、モデル学習に用いた音データやハイパーパラメータ決定用の別の音データと、学習済みモデルから生成した回帰誤差集合から最尤推定などを用い求めてもよい。
【００５４】
（異常音検知装置２００）
以下、図３〜図４を参照して異常音検知装置２００を説明する。図３は、異常音検知装置２００の構成を示すブロック図である。図４は、異常音検知装置２００の動作を示すフローチャートである。図３に示すように異常音検知装置２００は、音データ生成部１１０と、回帰誤差算出部２２０と、異常検知部２３０と、異常検出結果統合部２４０と、記録部２９０を含む。記録部２９０は、異常音検知装置２００の処理に必要な情報を適宜記録する構成部である。例えば、記録部２９０は、異常検知モデル生成装置１００が生成した回帰モデルパラメータθ^、異常検知モデルを記録しておく。
【００５５】
異常音検知装置２００は、入力音の音波形を入力とする。入力音は、例えば、正常・異常が不明な機械の動作音である。つまり、入力音は異常検知の対象となる音である。
【００５６】
図４に従い異常音検知装置２００の動作について説明する。音データ生成部１１０は、入力音の音波形から入力音の音データym (1≦m≦M)を生成する（Ｓ１１０）。
【００５７】
回帰誤差算出部２２０は、回帰モデルfθ^(・)を用いて、入力音の音データym (1≦m≦M)から音データymの回帰誤差sm- fθ^(ym)を算出する（Ｓ２２０）。先ほどの例では、sm= ym+1となる。
【００５８】
異常検出部２３０は、異常検知モデルを用いて、回帰誤差sm- fθ^(ym)から音データymに対する異常検出結果を生成する（Ｓ２３０）。具体的には、以下のように異常検出結果を生成する。まず、異常検出部２３０は、異常検知モデルを用いて、sm- fθ^(ym)∈Bが成立する場合は第１の値を、それ以外の場合は第２の値を異常度として算出する。次に、異常検出部２３０は、異常度が第１の値である場合、音データymが正常であることを示す異常検出結果を、異常度が第２の値である場合、音データymが異常であることを示す異常検出結果を生成する。
【００５９】
異常検知モデルが、p乗に対応した一般化正規分布の情報量(負の対数尤度)を異常度とする場合、異常検出部２３０は、閾値を用いて、異常度から異常検出結果を生成する。
【００６０】
異常検出結果統合部２４０は、音データym (1≦m≦M)の異常検出結果から、入力音の異常検出結果を生成する（Ｓ２４０）。M個の音データym (1≦m≦M)の異常検出結果のうち、所定の割合以上（所定の割合より大きい）の検出結果が正常である場合は、入力音の異常検出結果を正常とし、それ以外の場合は、入力音の異常検出結果を異常とするなどすればよい。
【００６１】
本実施形態の発明によれば、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することができる。回帰誤差の確率分布としてガウス分布を仮定した従来の方法では、正常な入力データに対して異常度が高く出るケースが発生していたが、回帰誤差の確率分布として一様分布または一般化正規分布を仮定することにより、そのようなケースの発生が抑制され、誤検知を低減することができる。
【００６２】
＜第二実施形態＞
第一実施形態では、音データを対象とした回帰モデルを用いて、異常検知モデル生成装置及び異常音検知装置について説明したが、回帰モデル学習に用いることができるデータは音データに限るものではない。そこで、第二実施形態では、音データを含む一般のデータを対象とした回帰モデルを用いた例について説明する。
【００６３】
（異常検知モデル生成装置３００）
以下、図５〜図６を参照して異常検知モデル生成装置３００を説明する。図５は、異常検知モデル生成装置３００の構成を示すブロック図である。図６は、異常検知モデル生成装置３００の動作を示すフローチャートである。図５に示すように異常検知モデル生成装置３００は、回帰モデルパラメータ学習部１２０と、異常検知モデル生成部１３０と、記録部１９０を含む。記録部１９０は、異常検知モデル生成装置３００の処理に必要な情報を適宜記録する構成部である。
【００６４】
異常検知モデル生成装置３００は、正常な入力データxnと入力データxnに対する正解データtnの組(xn,tn) (1≦n≦N、Nは1以上の整数)を学習データとして入力とする。
【００６５】
図６に従い異常検知モデル生成装置３００の動作について説明する。回帰モデルパラメータ学習部１２０は、N個の組(xn,tn) (1≦n≦N)を用いて、回帰モデルパラメータθ^を学習する（Ｓ１２０）。具体的には、以下のように回帰モデルパラメータθ^を学習する。θを回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとする。N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失を最大絶対値誤差（式(1)）により定義し、当該損失を最小化するように回帰モデルパラメータθ^を学習する。または、pを3以上の整数とし、N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失をp乗和誤差（式(2)）により定義し、当該損失を最小化するように回帰モデルパラメータθ^を学習する。この場合、さらに、回帰モデルパラメータの学習に際して、pの値を段階的に上げていくようにしてもよい。
【００６６】
異常検知モデル生成部１３０は、Ｓ１２０で学習した回帰モデルパラメータθ^を用いて異常検知モデルを生成する（Ｓ１３０）。具体的には、以下のように異常検知モデルを生成する。fθ^(・)を回帰モデルパラメータθ^により定義される回帰モデルとする。まず、異常検知モデル生成部１３０は、(xn,tn) (1≦n≦N)から回帰誤差tn- fθ^(xn)を計算する。次に、異常検知モデル生成部１３０は、N個の回帰誤差tn- fθ^(xn)(1≦n≦N)を含む有界な領域Bを生成する。最後に、異常検知モデル生成部１３０は、以下の異常検知モデルを生成する。
【００６７】
［異常検知モデル］
入力データxと入力データxに対する正解データtの組(x, t)とし、異常検知モデルは、入力データxの回帰誤差t- fθ^(x)に対して、t- fθ^(x)∈Bが成立する場合は第１の値を、それ以外の場合は第２の値を異常度として出力する。ただし、第１の値と第２の値は、異なる値であれば任意の値とすることができる。
【００６８】
（異常検知装置４００）
以下、図７〜図８を参照して異常検知装置４００を説明する。図７は、異常検知装置４００の構成を示すブロック図である。図８は、異常検知装置４００の動作を示すフローチャートである。図７に示すように異常検知装置４００は、回帰誤差算出部２２０と、異常検知部２３０と、記録部２９０を含む。記録部２９０は、異常検知装置４００の処理に必要な情報を適宜記録する構成部である。例えば、記録部２９０は、異常検知モデル生成装置３００が生成した回帰モデルパラメータθ^、異常検知モデルを記録しておく。
【００６９】
異常検知装置４００は、入力データxと入力データxに対する正解データtの組(x, t)を入力とする。つまり、(x, t)が異常検知の対象となるデータである。
【００７０】
図８に従い異常検知装置４００の動作について説明する。回帰誤差算出部２２０は、回帰モデルfθ^(・)を用いて、(x, t)から入力データxの回帰誤差t- fθ^(x)を算出する（Ｓ２２０）。
【００７１】
異常検出部２３０は、異常検知モデルを用いて、回帰誤差t- fθ^(x)から入力データxに対する異常検出結果を生成する（Ｓ２３０）。具体的には、以下のように異常検出結果を生成する。まず、異常検出部２３０は、異常検知モデルを用いて、t- fθ^(x)∈Bが成立する場合は第１の値を、それ以外の場合は第２の値を異常度として算出する。次に、異常検出部２３０は、異常度が第１の値である場合、入力データが正常であることを示す異常検出結果を、異常度が第２の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【００７２】
（変形例）
異常検知モデル生成装置３００が生成する異常検知モデルは第１の値と第２の値の２値を出力するものであったが、N個の回帰誤差tn- fθ(xn)(1≦n≦N)に対する損失をp乗和誤差により定義した場合は、連続値を出力する異常検知モデルとすることができる。以下、異常検知モデル及び異常検出部２３０について説明する。
【００７３】
異常検知モデルを、入力データの回帰誤差t- fθ^(x)から、p乗に対応した負の対数尤度を異常度として出力する。
【００７４】
異常検出部２３０は、閾値を用いて、異常度から異常検出結果を生成する。具体的には、αを閾値として、異常度がα以下の場合（αより小さい場合）、入力データが正常であることを示す異常検出結果を、それ以外の場合、入力データが異常であることを示す異常検出結果を生成する。もちろん、データが正常であるほど異常度が大きくなるように異常度を定義してもよく、この場合は、異常度がα以上の場合（αより大きい場合）、入力データが正常であることを示す異常検出結果を、それ以外の場合、入力データが異常であることを示す異常検出結果を生成する。
【００７５】
本実施形態の発明によれば、第一実施形態同様、誤検知を抑制することができる。また、例えば、温度、圧力、変位などのセンサデータ、ネットワーク通信量などのトラフィックデータなど一般のデータを対象とした異常検知に対して適用することができる。
【００７６】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００７７】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００７８】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００７９】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００８０】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００８１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００８２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2019036112.tif 000007
【図２】
2019036112.tif 000008
【図３】
2019036112.tif 000009
【図４】
2019036112.tif 000010
【図５】
2019036112.tif 000011
【図６】
2019036112.tif 000012
【図７】
2019036112.tif 000013
【図８】
2019036112.tif 000014