(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
正常と区分される音であっても、モータの回転や停止に対応する音のように急激に変化をするものや、機械の動作シーケンスに対応する音のように複雑な時間方向の規則性を持つものが存在する。つまり、正常音といっても単調な音であるとは限らない。従来の方法は、正常音が単調な音であり、異常音が急激に変化する音であるような場合には的確に異常を検知することができたが、例えば矩形波のように正常音が急激に変化する場合や、規則性の欠落といった、予測が困難で正常音の回帰誤差が大きくなりやすい場合に対してはうまく異常を検知することができず、これらの音に対しては、正常であるにもかかわらず異常度が瞬時的に高くなる現象が発生していた。
【0007】
従来の線形回帰やニューラルネットワークによる方法では、最小2乗法や、平均2乗誤差により学習が行われる。これは、回帰モデルの出力ベクトルと正解ベクトルの回帰誤差がガウス分布に従うという仮定を置くことと等価である。ガウス分布の確率密度関数は絶対値が非常に大きな正負の値に対しても正の値を持つ、すなわち確率としてあり得ることを仮定しており、そのような仮定の下で学習を行うと、学習データには正常データしか含まれていないにもかかわらず、ごく一部の予測困難なパターンに対しては、予測を外してもよいように、つまり尤度を低くするように学習する。通常、異常度は尤度が低くなるほど高くなるように設計されるため、前述の異常度が瞬時的に上昇する現象が発生し、閾値によって異常度を区切ることで異常判定を行う異常検知においては誤検知の原因となってしまう。
【0008】
この誤検知の問題は、音データに限るものではなく、回帰モデルから生成される回帰誤差の確率分布としてガウス分布を仮定する場合一般に起こり得るものである。
【0009】
そこで本発明では、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することができる異常検知技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様は、θ^を、N個(Nは1以上の整数)の、正常な入力データx
nと前記入力データx
nに対する正解データt
nの組(x
n,t
n) (1≦n≦N)を用いて学習される回帰モデルパラメータ、f
θ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルf
θ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- f
θ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- f
θ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常音検知装置であって、前記異常検知モデルは、入力データの回帰誤差から、第1の値、第2の値のいずれかを異常度として出力するものであり、前記異常検出部は、異常度が第1の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第2の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【0011】
本発明の一態様は、θ^を、N個(Nは1以上の整数)の、正常な入力データx
nと前記入力データx
nに対する正解データt
nの組(x
n,t
n) (1≦n≦N)を用いて学習される回帰モデルパラメータ、f
θ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルf
θ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- f
θ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- f
θ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常音検知装置であって、pを3以上の整数、θを前記回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとし、N個の回帰誤差t
n- f
θ(x
n)(1≦n≦N)に対する損失は、p乗和誤差を用いて定義したものであり、前記異常検知モデルは、入力データの回帰誤差から、p乗に対応した負の対数尤度を異常度として出力するものであり、前記異常検出部は、閾値を用いて、前記異常度から前記異常検出結果を生成する。
【0012】
本発明の一態様は、θ^を、N個(Nは1以上の整数)の、正常な入力データx
nと前記入力データx
nに対する正解データt
nの組(x
n,t
n) (1≦n≦N)を用いて学習される回帰モデルパラメータ、f
θ^(・)を前記回帰モデルパラメータθ^により定義される回帰モデルとし、前記回帰モデルf
θ^(・)を用いて、入力データxと前記入力データxに対する正解データtの組(x, t)から前記入力データxの回帰誤差t- f
θ^(x)を算出する回帰誤差算出部と、異常検知モデルを用いて、前記回帰誤差t- f
θ^(x)から前記入力データxに対する異常検出結果を生成する異常検出部とを含む異常検知装置であって、前記異常検知モデルは、入力データの回帰誤差から、第1の値、第2の値のいずれかを異常度として出力するものであり、前記異常検出部は、異常度が第1の値である場合、入力データが正常であることを示す異常検出結果を生成し、異常度が第2の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【発明の効果】
【0013】
本発明によれば、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することが可能となる。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0016】
<技術的背景>
回帰モデルを用いた異常検知では、回帰誤差が従う確率分布としてガウス分布を仮定し、最小2乗法による回帰モデル学習がよく用いられる。しかし、ここでは、ガウス分布に対して、ある値を境として中心から遠くの、つまり絶対値の大きな値に対する確率密度値が小さい分布を仮定する。このような分布として、例えば、一様分布や、その近似である一般化正規分布がある。一様分布を仮定した場合、最大絶対値法による回帰モデルの学習を行う。また、一般化正規分布を仮定した場合、最小4乗法や最小8乗法など2乗よりも累乗数が大きな方法により回帰モデルの学習を行う。さらに、それに対応した通常情報量形式で表される、入力データの異常さを数値で表現する「異常度」の式を導き、当該式による異常度を用いることにより、上述の誤検知の問題を解決する。
【0017】
一様分布は、確率変数の区間の上限と下限をパラメータとして持つ、連続型の確率分布である。一次元であれば、上限値と下限値を示す2つのパラメータを持ち、多次元の場合は、次元ごとに上限値、下限値を示すパラメータを持つ。一様分布は、ガウス分布と異なり、上限値と下限値で特定される区間の外側については、実現値は発生しえない、つまり、確率はゼロとなる。
【0018】
通常、回帰問題においては、外れ値を許容するような分布を仮定する方がよい場合が多いが、一様分布を仮定すると、学習データはすべて正常データであるとして取り扱うことができ、なおかつ回帰誤差そのものを下げる必要性が薄い異常検知分野においては、通常と逆の発想をする(一様分布を仮定する)ことは妥当であるともいえる。回帰誤差が従う分布として一様分布を仮定することで、回帰モデル学習の際に、回帰誤差が存在する範囲が所定の有界な領域を超えた場合には非常に大きなペナルティーがかかり、当該領域に収まる場合にはすべて同じペナルティーになる。したがって、学習データ全体での回帰誤差は大きくなってしまうが、予測がしにくい正常パターンであっても、極端に予測を外して尤度が低下し、異常度が上がることが発生しないようになる。
【0019】
以下、回帰誤差が一様分布に従うと仮定した場合における、異常検知モデル生成手続きについて説明する。ここで、異常検知モデルとは、入力データに対する異常度を出力するモデルである。この生成手続きは、大きく、回帰モデルの学習、異常検知モデルの生成の2つの手続きから構成される。
【0020】
(1:回帰モデルの学習)
ガウス分布を回帰誤差の分布とすることは、ノルムとしてl-2ノルムを、距離としてEuclidean距離を採用することである。それに対し、一様分布を回帰誤差の分布とすることは、l-∞ノルム(一様ノルム)を、距離としてChebyshev距離(チェス盤距離)を採用することである。l-∞ノルムを最小化する最適化手法は知られており、例えば、参考非特許文献1、参考非特許文献2に記載されている。
(参考非特許文献1: 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.)
(参考非特許文献2: Christian Clason, “L
∞ fitting for inverse problems with uniform noise”, Inverse Problems, Vol.28, No.10, pp.1-23, 2012.)
線形回帰やニューラルネットワークを用いて表現した回帰モデルを、l-∞ノルムによる回帰誤差が小さくなるように、これらの最適化手法を用いて学習することができる。
【0021】
(2:異常検知モデルの生成)
回帰誤差の尤度に基づいて異常度を定義することを考える。各次元が独立であるとすれば、一様分布では尤度がゼロとならない範囲は、1次元では区間、2次元では長方形、3次元では直方体、一般に超直方体として表現される。また、次元間の独立性が必要ない場合には、円(2次元の場合)や球(3次元の場合)を尤度がゼロとならない範囲とすることもできる。2次元であれば、回帰誤差の分布を示す確率密度関数は円柱状の形状で表現されることになる。
【0022】
線形回帰やニューラルネットワークによる回帰モデルパラメータをθとする。一般にθは複数のパラメータから構成されるものとなり、ニューラルネットワークの場合は重みやバイアスを表現するパラメータとなる。また、回帰モデルは入力データから出力データを出力する関数とみることができるため、回帰モデルパラメータがθである回帰モデルをf
θ(・)と表すことにする。また、入力データをx
n、入力データx
nに対する正解データをt
nとする。例えば、入力データx
nは、音波形のサンプル点、パワースペクトル、フィルタバンク出力である。入力データ、出力データは一般にベクトルとして表現されることが多く、この場合、入力データ、出力データのことをそれぞれ入力ベクトル、出力ベクトルともいう。回帰モデルによる出力データはf
θ(x
n)と表すことができる。N個の(x
n,t
n) (1≦n≦N)に対する回帰誤差の集合は{t
n-f
θ(x
n)|n∈{1, …, N}}となる。入力データとして音から生成されるベクトルを用いる場合には、回帰モデルとして自己回帰モデルを用いてもよく、例えば、t
n=x
n+1としてもよい。一般に、t
nをx
1,…, x
Nから生成されるベクトルとすることもできる。
【0023】
学習データである正常な入力データx
nと入力データx
nに対する正解データt
nの組(x
n,t
n)から回帰誤差の集合{t
n-f
θ(x
n)|n∈{1, …, N}}を生成し、その値がゼロとならない範囲が超直方体となる一様分布についてパラメータを最尤推定で求める。ある1つの次元についてパラメータで定義される範囲を超える回帰誤差t
n-f
θ(x
n)が存在する場合、尤度はゼロである。また、一様分布の確率密度関数の超直方体上での積分値は1である。ここで、ある超直方体にすべての回帰誤差t
n-f
θ(x
n) (n∈{1,…,N})が含まれるとして、少しでも超直方体の範囲を広げれば、1をより大きい超直方体の体積で除すことになり、尤度は下がる。したがって、回帰誤差の集合{t
n-f
θ(x
n)|n∈{1, …, N}}を含む最小の超直方体Tを表現する範囲を表す2d個の値が、この場合における一様分布パラメータの最尤推定解となる。なお、最尤推定解にこだわらないのであれば、この最小の超直方体を含む有界な領域Bをその値がゼロとならない範囲とすることができる。
【0024】
異常度は、尤度に基づき、例えば負の対数尤度(情報量)として定義することができる。正常、異常が未知の1つの入力ベクトルと正解ベクトルの組に対応する回帰誤差に対する尤度は、回帰誤差が超直方体Tに含まれる場合は定数となり、そうでない場合は0となるため、この尤度に対応して、定数、無限大を回帰誤差の異常度とすることができる。したがって、回帰誤差の分布としてガウス分布を仮定する場合、異常度の算出に閾値を用いることが多いが、一様分布を仮定する場合は、異常度が2値となることから、閾値を用いる必要はなく、回帰誤差が超直方体の中に含まれる場合は異常度が定数であることから正常、超直方体に含まれていない場合は異常度が無限大であることから異常として取り扱うことができる。
【0025】
<第一実施形態>
ここでは、学習データや異常検知の対象となるデータとして音から生成されるベクトルを用いた自己回帰モデルによる異常検知モデル生成装置、異常音検知装置について説明する。
【0026】
(異常検知モデル生成装置100)
以下、
図1〜
図2を参照して異常検知モデル生成装置100を説明する。
図1は、異常検知モデル生成装置100の構成を示すブロック図である。
図2は、異常検知モデル生成装置100の動作を示すフローチャートである。
図1に示すように異常検知モデル生成装置100は、音データ生成部110と、回帰モデルパラメータ学習部120と、異常検知モデル生成部130と、記録部190を含む。記録部190は、異常検知モデル生成装置100の処理に必要な情報を適宜記録する構成部である。
【0027】
異常検知モデル生成装置100は、学習音の音波形を入力とする。学習音は、例えば、正常に動作する機械の動作音である。
【0028】
図2に従い異常検知モデル生成装置100の動作について説明する。音データ生成部110は、学習音の音波形から学習音の音データx
n (1≦n≦N)を生成する(S110)。具体的には、以下のように学習音の音データx
n (1≦n≦N)を生成する。学習音の音波形を適当なサンプリング周波数でAD(アナログデジタル)変換し、量子化した波形データを生成する。このように量子化した波形データをそのまま1次元の値が時系列に並んだデータを学習音の音データx
n (1≦n≦N)としてもよいし、複数サンプルの連結、離散フーリエ変換、フィルタバンク処理等を用いて多次元に拡張する特徴抽出処理をしたものを学習音の音データx
n (1≦n≦N)としてもよいし、データの平均、分散を計算して値の取り幅を正規化する等の前処理をしたものを学習音の音データx
n (1≦n≦N)としてもよい。一般に学習音の音データx
nはベクトルとして表現される。
【0029】
回帰モデルパラメータ学習部120は、学習音の音データx
n (1≦n≦N)を用いて、回帰モデルパラメータθ^を学習する(S120)。例えば、音データx
nの正解データt
nをx
n+1とする自己回帰モデルを用いて回帰モデルパラメータθ^を学習することができる。
【0030】
回帰モデルの学習には、線形回帰や、リカレントニューラルネットワークやLSTMネットワーク(Long Short Term Memory Networks)等のニューラルネットワークを用いることができる。線形回帰を用いる場合、線形計画法等の数値解法を用いて、一様ノルムを最小化する回帰モデルパラメータθを求めることができる。ニューラルネットワークを用いる場合、回帰誤差集合{t
n-f
θ(x
n)|n∈{1, …, N}}に対しスカラー値を返す損失関数をErr[{t
n-f
θ(x
n)|n∈{1, …, N}}]として、d=1(ただし、dは正解データt
nのベクトル次元)の場合、次式で表される最大絶対値誤差を用いる。
【0032】
これは、回帰モデル学習で広く使われている、次式の2乗和誤差関数の代わりに用いたものである。
【0034】
最大絶対値誤差を関数としてみると、微分不可能点が含まれるため、誤差逆伝搬法等の学習アルゴリズムを用いる際には、劣勾配を用いるとよい。しかし、この方法での学習は安定しないこともあるため、適当な滑らかな関数(例えば、C
k級の関数)で最大絶対値誤差を近似してもよい。
【0035】
なお、学習の終了は、所定の繰り返し回数が実行されたことをもって判定する。
【0036】
また、多次元(つまり、d>1)の場合、各次元ごとに求めた式(1)の値の最大値が最大絶対値誤差となる。
【0037】
また、pを3以上の整数として、次式のp乗和誤差を最大絶対値誤差の代わりに用いてもよい。つまり、最大絶対値誤差をp乗和誤差で近似する。
【0039】
さらに、p
1, ..., p
mをそれぞれ3以上の整数として、p
1乗和誤差、…、p
m乗和誤差を線形結合したものを代わりに用いてもよい。
【0040】
また、適当なpの値から学習を開始して、pを段階的に上げてもよい。つまり、p
1, ..., p
mをそれぞれp
1< ...<p
mを満たす3以上の整数として、p
1乗和誤差、…、p
m乗和誤差と適当な繰り返し回数後、切り替えていってもよい。
【0041】
なお、べき乗根、学習データの組の数Nでの平均などのように、誤差に対して単調にしか変化しない項については、最終的に最適化問題に帰着するためその計算を省略してもよい。
【0042】
多次元(つまり、d>1)の場合、各次元の独立を仮定して単に次元ごとの誤差の総和をp乗和誤差としてもよい。また、例えば、次元ごとの誤差を次元ごとに定まった定数で除算するなど、次元ごとの重要度を考慮して次元ごとの誤差に重みをつけてもよい。
【0043】
以上説明した回帰モデルパラメータθの学習は、以下の最適化問題として定式化できる。
【0045】
なお、損失関数Err[{t
n-f
θ(x
n)|n∈{1, …, N}}]の値のことをN個の回帰誤差t
n- f
θ(x
n)(1≦n≦N)に対する損失という。
【0046】
異常検知モデル生成部130は、S120で学習した回帰モデルパラメータθ^を用いて異常検知モデルを生成する(S130)。ここで、異常検知モデルは、入力音の音データの異常度を示す第1の値、第2の値のいずれかを出力するものである。具体的には、以下のように異常検知モデルを生成する。まず、異常検知モデル生成部130は、回帰モデルパラメータθ^を用いて、(x
n,t
n) (1≦n≦N)から回帰誤差t
n- f
θ^(x
n)を計算し、回帰誤差集合{t
n-f
θ^(x
n)|n∈{1, …, N}}を生成する。t
n= x
n+1の場合、t
n- f
θ^(x
n)=x
n+1- f
θ^(x
n)となる。
【0047】
次に、異常検知モデル生成部130は、回帰誤差集合{t
n-f
θ^(x
n)|n∈{1, …, N}}を含むd次元実数ベクトル空間の有界な領域Bを生成する。例えば、領域Bを、<技術的背景>で説明した通り、一様分布の最尤推定解である、回帰誤差集合{t
n-f
θ^(x
n)|n∈{1, …, N}}を含む最小の超直方体とすることができる。この超直方体は2d個のパラメータ値を用いてその範囲を表すことができる。この場合、例えば、次元ごとに回帰誤差集合{t
n-f
θ^(x
n)|n∈{1, …, N}}の要素の最大値・最小値を求めることにより、超直方体Bを求めてもよいし、座標軸の回転などを考慮してさらに小さくなるよう、超直方体Bを求めてもよいし、回帰誤差集合{t
n-f
θ^(x
n)|n∈{1, …, N}}の要素であるベクトルを平均し、その座標を超直方体の中心とみなし、d個の幅のみを求めることにより、超直方体Bを求めてもよいし、平均、超直方体中心など、中心を規定するパラメータを0ベクトルとし、d個の幅のみを求めることにより、超直方体Bを求めてもよい。また、領域Bを、超直方体の代わりに、超球や高次元の楕円体として、回帰誤差集合を含む最小の超球(高次元の楕円体)としてもよい。さらには、実際の異常音検知が行われる業務の要請に応じて人手で領域Bを調整してもよい。また、<技術的背景>でも説明したように、回帰誤差集合を含む最小の領域よりも大きな領域を領域Bとしてもよい。
【0048】
S120において、p乗和誤差による近似を用いた場合は、p乗に対応した一般化正規分布の広がりを規定する、パラメータ(例えば、標準偏差)を最尤推定により算出し、領域Bを求めてもよい。p乗に対応した一般化正規分布には、各次元独立な直方体のような定義域を持つもの、各次元の独立性がない球対称のようは定義域を持つものがあるが、いずれを用いて、領域Bを求めてもよい。
【0049】
最後に、異常検知モデル生成部130は、以下の異常検知モデルを生成する。
【0050】
[異常検知モデル]
入力音の音データy
mと入力音の音データy
mに対する正解データs
mの組(y
m, s
m)とし、異常検知モデルは、入力音の音データy
mの回帰誤差s
m - f
θ^( y
m)に対して、s
m-f
θ^(y
m)∈Bが成立する場合は第1の値を、それ以外の場合は第2の値を異常度として出力する。ただし、第1の値と第2の値は、異なる値であれば任意の値とすることができる。
【0051】
例えば、音データy
mの正解データs
mをy
m+1とする自己回帰モデルを用いる場合、回帰誤差s
m-f
θ^(y
m)=y
m+1-f
θ^(y
m)となる。一般に、時系列データを扱う場合、過去(y
1,..., y
m-1)または未来(y
m+1,..., y
M)の必要なデータを用いて回帰誤差を計算することができる。
【0052】
例えば、1を超直方体体積で除した値(尤度)の負の対数を第1の値、無限大を第2の値としてもよいし、単に1(正常を表す値)を第1の値、0(異常を表す値)を第2の値としてもよい。
【0053】
S120において、p乗和誤差による近似を用いた場合は、p乗に対応した一般化正規分布の情報量(負の対数尤度)を異常度とすることができる。具体的には、回帰誤差が1次元である場合、定数α、自然対数lnを用い、|s
m-f
θ^(y
m)|/αのp乗値とln(α)の和を計算し、これを用いて異常度としてもよい。多次元の場合は、次元ごとに異なるαを用い、上記の和を計算した後、総和を取り異常度としてもよい。αは回帰誤差が多次元である場合に、各次元での正常の場合における誤差の広がり方を決定するパラメータであり、次元ごとに人間が決めてもよいし、モデル学習に用いた音データやハイパーパラメータ決定用の別の音データと、学習済みモデルから生成した回帰誤差集合から最尤推定などを用い求めてもよい。
【0054】
(異常音検知装置200)
以下、
図3〜
図4を参照して異常音検知装置200を説明する。
図3は、異常音検知装置200の構成を示すブロック図である。
図4は、異常音検知装置200の動作を示すフローチャートである。
図3に示すように異常音検知装置200は、音データ生成部110と、回帰誤差算出部220と、異常検知部230と、異常検出結果統合部240と、記録部290を含む。記録部290は、異常音検知装置200の処理に必要な情報を適宜記録する構成部である。例えば、記録部290は、異常検知モデル生成装置100が生成した回帰モデルパラメータθ^、異常検知モデルを記録しておく。
【0055】
異常音検知装置200は、入力音の音波形を入力とする。入力音は、例えば、正常・異常が不明な機械の動作音である。つまり、入力音は異常検知の対象となる音である。
【0056】
図4に従い異常音検知装置200の動作について説明する。音データ生成部110は、入力音の音波形から入力音の音データy
m (1≦m≦M)を生成する(S110)。
【0057】
回帰誤差算出部220は、回帰モデルf
θ^(・)を用いて、入力音の音データy
m (1≦m≦M)から音データy
mの回帰誤差s
m- f
θ^(y
m)を算出する(S220)。先ほどの例では、s
m= y
m+1となる。
【0058】
異常検出部230は、異常検知モデルを用いて、回帰誤差s
m- f
θ^(y
m)から音データy
mに対する異常検出結果を生成する(S230)。具体的には、以下のように異常検出結果を生成する。まず、異常検出部230は、異常検知モデルを用いて、s
m- f
θ^(y
m)∈Bが成立する場合は第1の値を、それ以外の場合は第2の値を異常度として算出する。次に、異常検出部230は、異常度が第1の値である場合、音データy
mが正常であることを示す異常検出結果を、異常度が第2の値である場合、音データy
mが異常であることを示す異常検出結果を生成する。
【0059】
異常検知モデルが、p乗に対応した一般化正規分布の情報量(負の対数尤度)を異常度とする場合、異常検出部230は、閾値を用いて、異常度から異常検出結果を生成する。
【0060】
異常検出結果統合部240は、音データy
m (1≦m≦M)の異常検出結果から、入力音の異常検出結果を生成する(S240)。M個の音データy
m (1≦m≦M)の異常検出結果のうち、所定の割合以上(所定の割合より大きい)の検出結果が正常である場合は、入力音の異常検出結果を正常とし、それ以外の場合は、入力音の異常検出結果を異常とするなどすればよい。
【0061】
本実施形態の発明によれば、回帰誤差の確率分布として一様分布または一般化正規分布を仮定して生成した異常検知モデルを用いることにより、誤検知を抑制することができる。回帰誤差の確率分布としてガウス分布を仮定した従来の方法では、正常な入力データに対して異常度が高く出るケースが発生していたが、回帰誤差の確率分布として一様分布または一般化正規分布を仮定することにより、そのようなケースの発生が抑制され、誤検知を低減することができる。
【0062】
<第二実施形態>
第一実施形態では、音データを対象とした回帰モデルを用いて、異常検知モデル生成装置及び異常音検知装置について説明したが、回帰モデル学習に用いることができるデータは音データに限るものではない。そこで、第二実施形態では、音データを含む一般のデータを対象とした回帰モデルを用いた例について説明する。
【0063】
(異常検知モデル生成装置300)
以下、
図5〜
図6を参照して異常検知モデル生成装置300を説明する。
図5は、異常検知モデル生成装置300の構成を示すブロック図である。
図6は、異常検知モデル生成装置300の動作を示すフローチャートである。
図5に示すように異常検知モデル生成装置300は、回帰モデルパラメータ学習部120と、異常検知モデル生成部130と、記録部190を含む。記録部190は、異常検知モデル生成装置300の処理に必要な情報を適宜記録する構成部である。
【0064】
異常検知モデル生成装置300は、正常な入力データx
nと入力データx
nに対する正解データt
nの組(x
n,t
n) (1≦n≦N、Nは1以上の整数)を学習データとして入力とする。
【0065】
図6に従い異常検知モデル生成装置300の動作について説明する。回帰モデルパラメータ学習部120は、N個の組(x
n,t
n) (1≦n≦N)を用いて、回帰モデルパラメータθ^を学習する(S120)。具体的には、以下のように回帰モデルパラメータθ^を学習する。θを回帰モデルパラメータθ^を学習する過程で生成される回帰モデルパラメータとする。N個の回帰誤差t
n- f
θ(x
n)(1≦n≦N)に対する損失を最大絶対値誤差(式(1))により定義し、当該損失を最小化するように回帰モデルパラメータθ^を学習する。または、pを3以上の整数とし、N個の回帰誤差t
n- f
θ(x
n)(1≦n≦N)に対する損失をp乗和誤差(式(2))により定義し、当該損失を最小化するように回帰モデルパラメータθ^を学習する。この場合、さらに、回帰モデルパラメータの学習に際して、pの値を段階的に上げていくようにしてもよい。
【0066】
異常検知モデル生成部130は、S120で学習した回帰モデルパラメータθ^を用いて異常検知モデルを生成する(S130)。具体的には、以下のように異常検知モデルを生成する。f
θ^(・)を回帰モデルパラメータθ^により定義される回帰モデルとする。まず、異常検知モデル生成部130は、(x
n,t
n) (1≦n≦N)から回帰誤差t
n- f
θ^(x
n)を計算する。次に、異常検知モデル生成部130は、N個の回帰誤差t
n- f
θ^(x
n)(1≦n≦N)を含む有界な領域Bを生成する。最後に、異常検知モデル生成部130は、以下の異常検知モデルを生成する。
【0067】
[異常検知モデル]
入力データxと入力データxに対する正解データtの組(x, t)とし、異常検知モデルは、入力データxの回帰誤差t- f
θ^(x)に対して、t- f
θ^(x)∈Bが成立する場合は第1の値を、それ以外の場合は第2の値を異常度として出力する。ただし、第1の値と第2の値は、異なる値であれば任意の値とすることができる。
【0068】
(異常検知装置400)
以下、
図7〜
図8を参照して異常検知装置400を説明する。
図7は、異常検知装置400の構成を示すブロック図である。
図8は、異常検知装置400の動作を示すフローチャートである。
図7に示すように異常検知装置400は、回帰誤差算出部220と、異常検知部230と、記録部290を含む。記録部290は、異常検知装置400の処理に必要な情報を適宜記録する構成部である。例えば、記録部290は、異常検知モデル生成装置300が生成した回帰モデルパラメータθ^、異常検知モデルを記録しておく。
【0069】
異常検知装置400は、入力データxと入力データxに対する正解データtの組(x, t)を入力とする。つまり、(x, t)が異常検知の対象となるデータである。
【0070】
図8に従い異常検知装置400の動作について説明する。回帰誤差算出部220は、回帰モデルf
θ^(・)を用いて、(x, t)から入力データxの回帰誤差t- f
θ^(x)を算出する(S220)。
【0071】
異常検出部230は、異常検知モデルを用いて、回帰誤差t- f
θ^(x)から入力データxに対する異常検出結果を生成する(S230)。具体的には、以下のように異常検出結果を生成する。まず、異常検出部230は、異常検知モデルを用いて、t- f
θ^(x)∈Bが成立する場合は第1の値を、それ以外の場合は第2の値を異常度として算出する。次に、異常検出部230は、異常度が第1の値である場合、入力データが正常であることを示す異常検出結果を、異常度が第2の値である場合、入力データが異常であることを示す異常検出結果を生成する。
【0072】
(変形例)
異常検知モデル生成装置300が生成する異常検知モデルは第1の値と第2の値の2値を出力するものであったが、N個の回帰誤差t
n- f
θ(x
n)(1≦n≦N)に対する損失をp乗和誤差により定義した場合は、連続値を出力する異常検知モデルとすることができる。以下、異常検知モデル及び異常検出部230について説明する。
【0073】
異常検知モデルを、入力データの回帰誤差t- f
θ^(x)から、p乗に対応した負の対数尤度を異常度として出力する。
【0074】
異常検出部230は、閾値を用いて、異常度から異常検出結果を生成する。具体的には、αを閾値として、異常度がα以下の場合(αより小さい場合)、入力データが正常であることを示す異常検出結果を、それ以外の場合、入力データが異常であることを示す異常検出結果を生成する。もちろん、データが正常であるほど異常度が大きくなるように異常度を定義してもよく、この場合は、異常度がα以上の場合(αより大きい場合)、入力データが正常であることを示す異常検出結果を、それ以外の場合、入力データが異常であることを示す異常検出結果を生成する。
【0075】
本実施形態の発明によれば、第一実施形態同様、誤検知を抑制することができる。また、例えば、温度、圧力、変位などのセンサデータ、ネットワーク通信量などのトラフィックデータなど一般のデータを対象とした異常検知に対して適用することができる。
【0076】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【0077】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0078】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
【0079】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0080】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【0081】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0082】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0083】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0084】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。