(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】異常検出装置、および異常検出方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20240903BHJP
G06F 18/2433 20230101ALI20240903BHJP
G06N 3/094 20230101ALI20240903BHJP
【FI】
G05B23/02 302Z
G05B23/02 302R
G06F18/2433
G06N3/094
(21)【出願番号】P 2024097788
(22)【出願日】2024-06-18
【審査請求日】2024-06-18
【早期審査対象出願】
(73)【特許権者】
【識別番号】397036309
【氏名又は名称】株式会社インターネットイニシアティブ
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100195408
【氏名又は名称】武藤 陽子
(72)【発明者】
【氏名】柿島 純
【審査官】岩▲崎▼ 優
(56)【参考文献】
【文献】特許第7521145(JP,B1)
【文献】特許第7424595(JP,B2)
【文献】特開2021-047100(JP,A)
【文献】特開2020-071845(JP,A)
【文献】特開2020-038485(JP,A)
【文献】欧州特許出願公開第03982298(EP,A1)
【文献】韓国登録特許第10-2387313(KR,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 -23/02
G06F 18/2433
G06N 3/094
(57)【特許請求の範囲】
【請求項1】
信号の周波数スペクトルにおける各周波数成分の強度がしきい値を超えるか否かを観測値とした混合確率モデルに対して、前記信号に含まれる特定の周波数成分の強度が前記しきい値を超える異常な周波数成分の出現パターンを表すように、前記観測値の集合である観測データの分布を設定するように構成された第1設定部と、
設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定するように構成された第2設定部と、
設定された前記パラメータを有する前記混合確率モデルを、前記信号に含まれる前記異常な周波数成分の出現パターンを表す真の異常情報として、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行うように構成された学習部と、
前記学習部によって構築された学習済み生成器を用いて前記疑似異常情報を生成するように構成された生成部と、
前記生成部によって生成された前記疑似異常情報に基づいて、前記信号の異常を検出するように構成された検出部と
を備える異常検出装置。
【請求項2】
請求項1に記載の異常検出装置において、
さらに、端末で測定された前記信号を収集するように構成された収集部を備え、
前記検出部は、前記疑似異常情報が示す、前記異常な周波数成分を含む周波数スペクトルと、前記収集部によって収集された前記信号の周波数スペクトルとが一致する場合に、前記信号の異常を検出する
ことを特徴とする異常検出装置。
【請求項3】
請求項1に記載の異常検出装置において、
前記混合確率モデルは、混合ベルヌーイ分布に従うモデルであり、
前記混合確率モデルの前記パラメータは
、各クラスタが前記観測値を発生する確率を表す混合比率、および前記各クラスタの前記観測値が前記周波数成分の強度が前記しきい値を超える値をとる確率を含む
ことを特徴とする異常検出装置。
【請求項4】
信号の周波数スペクトルにおける各周波数成分の強度がしきい値を超えるか否かを観測値とした混合確率モデルに対して、前記信号に含まれる特定の周波数成分の強度が前記しきい値を超える異常な周波数成分の出現パターンを表すように、前記観測値の集合である観測データの分布を設定する第1設定ステップと、
設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定する第2設定ステップと、
設定された前記パラメータを有する前記混合確率モデルを、前記信号に含まれる前記異常な周波数成分の出現パターンを表す真の異常情報として、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行う学習ステップと、
前記学習ステップで構築された学習済み生成器を用いて前記疑似異常情報を生成する生成ステップと、
前記生成ステップで生成された前記疑似異常情報に基づいて、前記信号の異常を検出する検出ステップと
を備える異常検出方法。
【請求項5】
請求項4に記載の異常検出方法において、
さらに、端末で測定された前記信号を収集する収集ステップを備え、
前記検出ステップは、前記疑似異常情報が示す、前記異常な周波数成分を含む周波数スペクトルと、前記収集ステップで収集された前記信号の周波数スペクトルとが一致する場合に、前記信号の異常を検出する
ことを特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検出装置、および異常検出方法に関する。
【背景技術】
【0002】
従来から、時系列信号の特徴を周波数領域で解析し、信号に含まれる異常を検出する技術が知られている。例えば、特許文献1は、正常信号および異常信号の両方の周波数スペクトルを学習データとして用いて構築した機械学習モデルにより、センサで測定された信号の異常を推定する技術を開示する。
【0003】
しかし、特許文献1に開示された技術では、異常を検出するのに十分な精度を有するモデルを構築するために、十分な数の異常信号を得る必要があり、長期間にわたって異常信号を蓄積しなければならなかった。また、統計的な手法により周波数スペクトルでの信号の異常を検出する場合においても、異常信号の測定データが大量に必要となる場合があった。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、従来の技術によれば、大量の異常信号の測定データを用いることなく、信号の異常を検出することが困難な場合があった。
【0006】
本発明は、上述した課題を解決するためになされたものであり、大量の異常信号の測定データを用いることなく、信号の異常を検出することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本発明に係る異常検出装置は、信号の周波数スペクトルにおける各周波数成分の強度がしきい値を超えるか否かを観測値とした混合確率モデルに対して、前記信号に含まれる特定の周波数成分の強度が前記しきい値を超える異常な周波数成分の出現パターンを表すように、前記観測値の集合である観測データの分布を設定するように構成された第1設定部と、設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定するように構成された第2設定部と、設定された前記パラメータを有する前記混合確率モデルを、前記信号に含まれる前記異常な周波数成分の出現パターンを表す真の異常情報として、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行うように構成された学習部と、前記学習部によって構築された学習済み生成器を用いて前記疑似異常情報を生成するように構成された生成部と、前記生成部によって生成された前記疑似異常情報に基づいて、前記信号の異常を検出するように構成された検出部とを備える。
【0008】
また、本発明に係る異常検出装置において、さらに、端末で測定された前記信号を収集するように構成された収集部を備え、前記検出部は、前記疑似異常情報が示す、前記異常な周波数成分を含む周波数スペクトルと、前記収集部によって収集された前記信号の周波数スペクトルとが一致する場合に、前記信号の異常を検出してもよい。
【0009】
また、本発明に係る異常検出装置において、前記混合確率モデルは、混合ベルヌーイ分布に従うモデルであり、前記混合確率モデルの前記パラメータは、前記各クラスタが前記観測値を発生する確率を表す混合比率、および前記各クラスタの前記観測値が前記周波数成分の強度が前記しきい値を超える値をとる確率を含んでいてもよい。
【0010】
上述した課題を解決するために、本発明に係る異常検出方法は、信号の周波数スペクトルにおける各周波数成分の強度がしきい値を超えるか否かを観測値とした混合確率モデルに対して、前記信号に含まれる特定の周波数成分の強度が前記しきい値を超える異常な周波数成分の出現パターンを表すように、前記観測値の集合である観測データの分布を設定する第1設定ステップと、設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定する第2設定ステップと、設定された前記パラメータを有する前記混合確率モデルを、前記信号に含まれる前記異常な周波数成分の出現パターンを表す真の異常情報として、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行う学習ステップと、前記学習ステップで構築された学習済み生成器を用いて前記疑似異常情報を生成する生成ステップと、前記生成ステップで生成された前記疑似異常情報に基づいて、前記信号の異常を検出する検出ステップとを備える。
【0011】
また、本発明に係る異常検出方法において、さらに、端末で測定された前記信号を収集する収集ステップを備え、前記検出ステップは、前記疑似異常情報が示す、前記異常な周波数成分を含む周波数スペクトルと、前記収集ステップで収集された前記信号の周波数スペクトルとが一致する場合に、前記信号の異常を検出してもよい。
【発明の効果】
【0012】
本発明によれば、設定されたパラメータを有する混合確率モデルを、信号に含まれる異常な周波数成分の出現パターンを表す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器と、生成器によって生成された疑似異常情報と真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行う。そのため、大量の異常信号の測定データを用いることなく、信号の異常を検出することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明の実施の形態に係る異常検出装置を備える異常検出システムの構成を示すブロック図である。
【
図2】
図2は、本実施の形態に係る異常検出システムの概要を説明するための図である。
【
図3】
図3は、本実施の形態に係る異常検出システムの概要を説明するための図である。
【
図4】
図4は、本実施の形態に係る異常検出装置が備える学習部を説明するための図である。
【
図5】
図5は、本実施の形態に係る異常検出装置が備える学習部を説明するための図である。
【
図6】
図6は、本実施の形態に係る異常検出装置が備える学習部を説明するための図である。
【
図7】
図7は、本実施の形態に係る異常検出装置のハードウェア構成を示すブロック図である。
【
図8】
図8は、本実施の形態に係る異常検出装置の動作を示すフローチャートである。
【
図9】
図9は、本実施の形態に係る異常検出装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の好適な実施の形態について、
図1から
図9を参照して詳細に説明する。
【0015】
[異常検出システムの構成]
まず、
図1を参照して本発明の実施の形態に係る異常検出装置1を備える異常検出システムの概要について説明する。
【0016】
異常検出システムは、異常検出装置1、および通信端末2(端末)を備える。異常検出装置1と通信端末2とは、ネットワークNWを介して接続される。本実施の形態に係る異常検出システムは、通信端末2が測定した信号の周波数スペクトルに基づいて、信号の異常を検出する。
【0017】
ネットワークNWは、例えば、LAN、WANまたはインターネット、ISDNなどの有線ネットワークや、無線LAN、LTE/4G、5G、6G無線通信システムを用いたモバイル通信ネットワーク、ブルートゥース(登録商標(Bluetooth))などの無線ネットワークを含むが、本発明の範囲は、それらに限定されるものではない。
【0018】
通信端末2は、スマートフォンなどの携帯通信端末、タブレット型コンピュータ、ラップトップ型コンピュータ、ウェアラブルデバイスなどとして実現することができる。通信端末2は、SIMを有し、モバイル通信ネットワークに対応する端末や、IPアドレスを持ち、IoT端末として構成されるものを含む。また、通信端末2は、モバイル通信モジュール、および各種センサを備え、様々な物理量を検知し、電気信号として測定することができる。通信端末2は、測定した信号を、ネットワークNWを介して異常検出装置1に送信する。本実施の形態では、一例として、通信端末2がモバイル通信モジュールで定期的に測定し記録する、基地局から受信した信号の受信レベルや信号強度を異常検出の対象の信号とする。
【0019】
図1の領域2aに示すように、通信端末2は、信号強度(「電力[dB]」)の時系列データを測定し、記録する。領域2aに示す、信号強度の波形データからは、信号強度の異常の発生を直接検出することが困難である。そのため、後述の異常検出装置1は、信号強度の時系列データを周波数領域のスペクトルに変換し、周波数成分を解析することで信号の異常検出を行う。
【0020】
上述した構成を有する本実施の形態に係る異常検出システムは、信号の周波数スペクトルのパターンを混合ベルヌーイ分布によりモデル化した混合確率モデルを採用する。異常検出システムは、信号の周波数スペクトルにおいて、特定の周波数成分の強度がしきい値を超える異常な周波数成分の出現パターンを反映するようにパラメータが設定された混合確率モデルを敵対的学習の真のデータとして、真のデータに類似する疑似データを生成する生成器121を学習する。さらに、異常検出システムは、学習済み生成器121’を用いて生成された疑似データを異常信号のデータベースとして持ち、収集された実際の信号の周波数スペクトルと突合することで信号の異常を検出する。
【0021】
[異常検出装置の機能ブロック]
次に、本実施の形態に係る異常検出装置1の機能ブロックについて、
図1のブロック図を参照して説明する。
図1に示すように、異常検出装置1は、第1設定部10、第2設定部11、学習部12、第1記憶部13、生成部14、第2記憶部15、収集部16、検出部17、および提示部18を備える。
【0022】
第1設定部10は、信号の周波数スペクトルにおける各周波数成分の強度がしきい値を超えるか否かを観測値とした混合確率モデルに対して、信号に含まれる特定の周波数成分の強度がしきい値を超える異常な周波数成分の出現パターンを表すように、観測値の集合である観測データの分布を設定する。本実施の形態では、混合確率モデルとして混合ベルヌーイ分布に従うモデルを採用する。観測値は、通信端末2で測定された信号強度などの信号に係る周波数スペクトルにおいて、各周波数成分の強度がしきい値を超えるか否かを二値データで表した値である。しきい値は、正常な強度の値と異常の発生を表す強度のピーク値とを区別することができる値が用いられる。周波数スペクトルにおいて、強度がしきい値を超える周波数成分は異常な周波数成分であり、これは信号に含まれる異常を示すものとする。
【0023】
本実施の形態において採用される混合ベルヌーイ分布は、0と1とを要素とする長さDのベクトルが作るN個の観測データがあるとき、その集合をクラスタリングするモデルである。本実施の形態では、信号をフーリエ変換した周波数スペクトルの周波数軸上において強度がしきい値を超える異常な周波数成分の出現パターンを複数のクラスタとして考え、周波数軸上の複数の周波数成分の各々で、強度がしきい値を超えるか否かを0と1で表した観測値の集合を観測データとする。また、観測値は、二値分布を有する複数の異なるクラスタから発生する。
【0024】
ここで、N個の二値ベクトルである観測値x1,x2,…,xNの集合の観測データXが、K個のクラスタのパラメータμ1,μ2,…,μKの集合すなわちパラメータデータセットMをもつ混合ベルヌーイ分布に従うものとする。すなわち、観測データXが複数のクラスタから生成されると仮定し、各クラスタには、試行が成功する確率、すなわち周波数成分の強度がしきい値を超える確率を表すパラメータμが対応付けられている。
【0025】
観測データXとパラメータデータセットMとは、それぞれ次式(1)、(2)のように表される(Tは転置記号である。)。
【数1】
【0026】
n番目の二値ベクトルの観測値x
nとk番目のパラメータベクトルμ
kの各々は、さらに、以下の式(3)、(4)に示すようにそれぞれがD個の要素をもつベクトルとして表される。
【数2】
【0027】
観測値x
nの要素x
n(i)(i=1,2,…,D)の各々は、前述したように0または1の値をとる二値変数である。本実施の形態では、要素x
n(i)を以下のように定義する。
【数3】
【0028】
各周波数成分で強度がしきい値を超える確率、および各周波数成分で強度がしきい値を超えない確率は、それぞれ次式(6)、(7)で表される。
【数4】
【0029】
上式(6)、(7)から、観測データXの観測値x
nにクラスタkが割り当てられたときに、観測値x
nは、クラスタkのパラメータμ
kをもつ、次式(8)のベルヌーイ分布に従う。
【数5】
【0030】
ここで、各クラスタ(K個)の発生頻度のパラメータデータセットπを以下のように定義する。パラメータπは、観測値x
nがどの程度各クラスタに配分されるのかを示すパラメータである。したがって、パラメータπ
kは、観測データXの観測値x
nがクラスタkで発生する混合比率を示す。
【数6】
【0031】
また、観測値x
nにクラスタkが割り当てられたときに、観測値x
nは、μ
kをパラメータとするD個のベルヌーイ分布に従う。さらに、各観測値x
nは、次式(10)の混合ベルヌーイ分布によって独立に生成されるものとする。
【数7】
【0032】
上式(10)の混合ベルヌーイ分布の定義式により、各クラスタにおけるベルヌーイ分布の確率を示すパラメータμkと、そのクラスタの混合比率πkとを組み合わせて、全てのクラスタから、観測値xnが発生する確率を求めることができる。上式(10)は、本実施の形態における混合確率モデルであり、各周波数成分の強度がしきい値を超える確率分布を表している。
【0033】
図2の(a)、(b)、および
図3の(a)、(b)は、第1設定部10および第2設定部11による観測データXの分布の設定、およびパラメータμ
k、π
kの設定を説明するための図である。
図2の(a)および
図3の(a)は、
図1の領域2aに示した、信号強度などを表す時系列信号をフーリエ変換した周波数スペクトルを表す。縦軸は、強度[dB]、横軸は周波数[Hz]を示す。
図2の(b)および
図3の(b)に示すクラスタ1~Dは、周波数スペクトルにおける強度がしきい値を超える周波数成分およびその頻度、すなわち異常な周波数成分の出現パターンの全体を表す。クラスタの数はD個設けられ(K=D)、これは、D個の周波数成分の数に対応する。また、クラスタ間の縦方向の周波数成分の番号は互いに対応している。各クラスタを構成する「1~D」の観測値は、1~D個の周波数成分の各々で、周波数成分の強度が、しきい値を超えるか否かを示す観測値x
nである。
図2の(b)の例では、各クラスタの1~Dの各データにおいて、強度がしきい値を超える周波数成分(図中の黒丸点)と、しきい値を超えない周波数成分(図中の黒丸点以外のデータ)とが設定されている。
【0034】
図2の(b)の例では、第1設定部10は、各クラスタに「しきい値を超える:1」観測値を1つ設定し、これ以外の観測値は「しきい値を超えない:0」。したがって、クラスタ1の周波数成分「1」の観測値、クラスタ2の周波数成分「2」の観測値、およびクラスタDの周波数成分「D」の観測値が、「しきい値を超える:1」をとる。さらに、第1設定部10は、「しきい値を超える:1」確率(例えば、90%など)を設定することができる。このように、第1設定部10は、各クラスタにおいて、どの周波数成分において強度がしきい値を超える異常な周波数成分を発生させるかを設定することができる。例えば、第1設定部10は、既知の異常信号の周波数スペクトルに出現する特定の周波数成分のピークを表すように、特定の周波数成分でしきい値を超える観測値を設定することができる。
【0035】
第2設定部11は、第1設定部10によって設定された観測データXの分布に基づいて、混合確率モデルのパラメータを設定する。第2設定部11は、第1設定部10により設定された各クラスタで「しきい値を超える:1」強度を有する周波数成分およびその数に基づいて、混合確率モデルのパラメータμk、πkの値を設定することができる。
【0036】
また、第2設定部11は、第1設定部10が各クラスタの観測値xnの発生確率を設定した場合には、設定された各クラスタの観測値xnの発生確率を考慮した混合比率を設定し、さらにパラメータμk、πkの値を調整し決定することができる。
【0037】
例えば、
図2の(b)に示すように、第2設定部11は、第1設定部10による各クラスタの観測値x
nの設定に基づいて、クラスタ1~Dの観測データXに占める割合を均等に設定することができる。第2設定部11は、各クラスタ1~Dが選ばれる確率を均等とするために、上式(9)のパラメータπ
1~π
Dの値を1/Dと設定することができる。さらにこのとき、第2設定部11は、混合比率を表すパラメータπ
kと、観測値x
nの発生確率を表すパラメータμ
kとを相互に調整し、決定することができる。
【0038】
このように、第2設定部11は、第1設定部10によってクラスタごとに設定された、各周波数成分の強度の値がしきい値を超える観測値の発生確率に基づいて、各パラメータμk、πkの値を調整し、上式(10)の混合確率モデルにおいて、特定のクラスタからxnが発生する確率をさらに調整することができる。
【0039】
図2の(a)は、
図2の(b)のクラスタ1~Dによる異常な周波数成分の出現パターンを表す周波数スペクトルである。周波数成分「1」~「D」のすべての周波数成分にわたってしきい値THを超えた強度となっている。すなわち、
図2の(a)の周波数スペクトルは、各クラスタで、1つの周波数成分の強度がしきい値THを超えるように設定され、さらに、各クラスタが均等に選ばれるように設定されたことに対応する異常な周波数成分の出現パターンである。
【0040】
一方、
図3の(b)においては、第1設定部10は、クラスタ1~Dのうち、クラスタ2の周波数成分「2」、クラスタ4の周波数成分「4」、およびクラスタ10の周波数成分「10」において、しきい値THを超える観測値を設定する。また、第2設定部11は、クラスタ1~Dのパラメータのうち、クラスタ2、4、10がそれぞれ選ばれる確率を均等とするために、π
2=π
4=π
10=1/3と設定する。クラスタ2、4、10以外のクラスタのパラメータπ
kは、0と設定される。
【0041】
このようなクラスタの設定により、
図3の(a)に示すように、点線で示す周波数成分「2」、「4」、「10」で、強度がしきい値THを超え、それ以外の周波数成分では、強度はしきい値THを超えない異常な周波数成分の出現パターンが得られる。
【0042】
第1設定部10および第2設定部11によって、各クラスタから観測値xnが発生する確率および各クラスタが選ばれる確率が事前に設定された混合確率モデルは、以下の学習部12による敵対的学習の際の真のデータとして用いられる。
【0043】
学習部12は、第2設定部11により設定されたパラメータμk、πkを有する混合確率モデルを、信号に含まれる異常な周波数成分の出現パターンを表す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器121と、生成器121によって生成された疑似異常情報と真の異常情報とを識別する識別器122とを有する生成モデルの敵対的学習を行う。真の異常情報は、事前に設定された異常な周波数成分の出現パターンが反映された情報である。学習部12は、混合確率モデルの1~K個のクラスタの各々について、学習済み生成器121’(学習済み生成器121’_1,・・・,121’_K)を構築することができる。本実施の形態では、D個のクラスタが設けられるため、学習済み生成器121’_1,・・・,121’_Dが構築される。
【0044】
学習部12は、
図4に示すように、生成器121および識別器122を有するGAN(Generative Adversarial Network)を敵対的に学習させる。本実施の形態では、生成器121と識別器122とのペアをクラスタの数だけ(K個)設けることができる。あるいは、
図4に示すように、D個の生成器121_1,・・・,121_Dに対して1つの識別器122を設けることができる。学習部12の学習により、D個の学習済み生成器121’(学習済み生成器121’_1,・・・,121’_D)が構築される。
【0045】
図5および
図6は、学習部12が用いるGANの生成器121および識別器122のニューラルネットワーク構成を模式的に表した図である。
図5に示すように、生成器121は、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。なお、D個の生成器121_1,・・・,121_Dはそれぞれ同じネットワーク構造を有し、以下では生成器121と総称して説明する。生成器121は、ランダムな雑音から疑似異常情報を生成するモデルである。生成器121の入力ノードには、例えば、ガウス雑音のベクトルがランダムにm個サンプルされて入力される(z
1~z
m)。
【0046】
生成器121は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て出力G(z)を出力する。生成器121からの出力G(z)は、第2設定部11が設定したパラメータμ
k、π
kを有する混合確率モデルにより得られる観測データXに類似するデータである。より具体的には、生成器121は、設定されたパラメータμ
k、π
kを有する混合確率モデルにより得られる各クラスタの観測値x
nに類似するデータを生成する。
図5の各出力G(z
1)~G(z
D)は、各クラスタの観測値x
nの各々に対応する。生成器121を構成するニューラルネットワークとしてCNNやResNetを用いることができる。
【0047】
図6に示す識別器122は、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。
図6の例では、訓練データの入力として、第2設定部11により設定されたパラメータμ
k、π
kを有する混合確率モデルによって得られる、各クラスタの観測値x
nが与えられる。
【0048】
識別器122は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て、1または0の二値出力を出す。識別器122は、入力された真の異常情報に係る訓練データを正しく真の異常情報であると識別すると出力y=1を出力する。一方、入力された疑似異常情報に係る訓練データを正しく疑似異常情報であると識別すると出力y=0を出力する。このように、識別器122は、生成器121が生成したモデル分布を真の分布である訓練データのデータ分布から区別するモデルである。識別器122を構成するニューラルネットワークとしてCNNを用いることができる。
【0049】
図4は、学習部12によるGANの敵対的学習を説明するためのブロック図である。学習部12が採用するGANの生成器121を関数G、識別器122を関数Dと表す。また、真の異常情報をx、識別器122による出力である予測値はyと表し、正解ラベルをtと表す。正解ラベルtは、真の異常情報に対して1、生成器121で生成された疑似異常情報に対して0と設定される。このとき、識別器122は、二値分類問題として次式(11)の交差エントロピーE
CEで表すことができる。
【0050】
【0051】
上式(11)のブレース内の第1項が表すtnlnynにおいて、識別器122の予測値ynが、真の異常情報の正解ラベルtn=1の値に近づくことが望ましい。一方、ブレース内の第2項が表す(1-tn)ln(1-yn)においては、識別器122の予測値ynが、疑似異常情報と識別する正解ラベルの値(1-tn)=0に近づくことが望ましい。このように交差エントロピーECEは、予測値が正解ラベルの値に一致している場合に最大値となる。
【0052】
ここで、GANを構成する生成器121は、パラメータw
G,θ
Gを有し、関数G(w
G,θ
G)と表す。また、識別器122は、パラメータw
D,θ
Dを有し、関数D(w
D,θ
D)と表す。上式(11)の交差エントロピーE
CEに基づいた生成器121と識別器122とを備えるGANの目的関数Eは、次式(12)で表すことができる。
【数9】
【0053】
上式(12)の第1項が表すED(x)=1lnD(wD,θD)は、識別器122が真の異常情報を真の異常情報であると識別する期待値である。上式(12)の第2項が表すED(x)=0ln(1-D(G(wG,θG),wD,θD))は、生成器121により生成された疑似異常情報を識別器122が疑似異常情報であると識別する期待値である。GANの学習では、目的関数Eのmin-max最適化により、生成器121と識別器122とを敵対的に学習する。したがって、識別器122をだますような疑似異常情報を生成できるように生成器121を学習し、生成器121が生成した疑似異常情報を疑似異常情報であると識別するように識別器122を学習する。
【0054】
識別器122の学習では、真の異常情報が与えられた場合に、識別器122がy=1に近い出力を出すことで、上式(12)の目的関数Eの第1項を最大化する。一方、疑似異常情報が与えられた場合に、識別器122がy=0に近い出力を出すことで目的関数Eの第2項を最大化するように学習が行われる。
【0055】
生成器121の学習では、上式(12)のD(G(w
G,θ
G),w
D,θ
D)(
図4のD(G(z)))が1に近くなるようなG(w
G,θ
G)(
図4のG(z))を出力することで、目的関数Eを最小化する。学習部12は、生成器121のパラメータと識別器122のパラメータとを交互に更新する学習手順を用いる。なお、学習部12による生成器121および識別器122の学習手順の詳細は後述する。
【0056】
第1記憶部13は、学習部12によってGANの目的関数Eが最適化された学習済み生成器121’を記憶する。より詳細には、第1記憶部13は、クラスタ1~Dに対応するD個の学習済み生成器121’(学習済み生成器121’_1,・・・,121’_D)を記憶する。また、第1記憶部13は、パラメータμk、πkが設定された上式(10)の混合確率モデルである真の異常情報を記憶する。
【0057】
生成部14は、学習部12によって構築された学習済み生成器121’を用いて疑似異常情報を生成する。より詳細には、生成部14は、クラスタ1~D(K=D)に対応するD個の学習済み生成器121’_1,・・・,121’_Dのそれぞれの演算を行って、疑似異常情報を生成する。学習済み生成器121’で生成される疑似異常情報は、GANが、真の異常情報の特徴を教師なしの学習により自ら学んだ結果、生成された真の異常情報の特徴に沿った異なる異常情報である。
【0058】
第2記憶部15は、生成部14によって生成された疑似異常情報を記憶する。第2記憶部15が記憶する疑似異常情報は、信号に含まれる異常な周波数成分の出現パターン、つまり、異常信号のデータベースである。
【0059】
収集部16は、通信端末2で測定された信号を収集する。例えば、収集部16は、ネットワークNWを介して、通信端末2で測定された信号強度の時系列データを収集することができる。あるいは、収集部16は、通信端末2から直接、信号強度の時系列データを収集してもよい。また、収集部16は、収集した信号をフーリエ変換して、周波数スペクトルを得る。
【0060】
検出部17は、生成部14によって生成された疑似異常情報に基づいて、信号の異常を検出する。検出部17は、生成部14によって生成された疑似異常情報が示す、異常な周波数成分を含む周波数スペクトルと、収集部16によって収集された信号の周波数スペクトルとが一致する場合に、信号の異常を検出することができる。
【0061】
より詳細には、検出部17は、収集部16によって収集された信号強度の時系列データの周波数スペクトルを、上式(5)に対応する周波数成分ごとの強度の二値データに変換する。具体的には、検出部17は、強度のしきい値に基づいて、収集された信号の周波数スペクトルの各周波数成分の強度を、「しきい値を超える:1」および「しきい値を超えない:0」の二値表現に変換する。
【0062】
検出部17は、疑似異常情報が示す、各周波数成分の強度がしきい値を超える確率に基づく上式(5)に応じた周波数成分ごとの強度の二値データと、収集された信号の周波数スペクトルの周波数成分の強度の二値データとが一致する場合に、信号の異常を検出することができる。また、検出部17は、収集された信号の周波数スペクトルの周波数成分ごとの強度の二値データと、疑似異常情報が示す信号の周波数スペクトルの周波数成分ごとの強度の二値データとを逐次比較し、1つ目の周波数成分から順に一致を確認することができる。例えば、信号の特性や異常の種類などに応じて、
図3の(a)に示すように、異常な周波数成分のピーク値が全て一致するまでもなく、二値データの周波数成分の強度の一部が一致する場合に、信号の異常を検出する構成としてもよい。
【0063】
提示部18は、検出部17による信号の異常の検出結果を提示する。例えば、提示部18は、ネットワークNWを介して、図示されない外部の通信品質管理サーバ等に対して、通信端末2において信号強度の異常が発生し、かつ、異常が発生している周波数成分に関する情報を通知することができる。
【0064】
[異常検出装置のハードウェア構成]
次に、上述した機能を有する異常検出装置1を実現するハードウェア構成の一例について、
図7を用いて説明する。
【0065】
図7に示すように、異常検出装置1は、例えば、バス101を介して接続されるプロセッサ102、主記憶装置103、通信インターフェース104、補助記憶装置105、入出力I/O106を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。さらに、異常検出装置1は、表示装置107を備える。
【0066】
プロセッサ102は、CPU、GPU、FPGA、ASICなどによって実現される。
【0067】
主記憶装置103には、プロセッサ102が各種制御や演算を行うためのプログラムが予め格納されている。プロセッサ102と主記憶装置103とによって、
図1に示した第1設定部10、第2設定部11、学習部12、生成部14、収集部16、検出部17、および提示部18など異常検出装置1の各機能が実現される。
【0068】
通信インターフェース104は、異常検出装置1と各種外部電子機器との間をネットワーク接続するためのインターフェース回路である。
【0069】
補助記憶装置105は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。補助記憶装置105には、記憶媒体としてハードディスクやフラッシュメモリなどの半導体メモリを使用することができる。
【0070】
補助記憶装置105は、信号の異常を検出する異常検出プログラムを格納するプログラム格納領域を有する。また、補助記憶装置105は、混合ベルヌーイ分布に係る混合確率モデルの演算を行う混合確率モデル演算プログラムを格納するプログラム格納領域を有する。また、補助記憶装置105は、異常検出装置1が実行するGANの敵対的学習を行うための学習プログラムを格納するプログラム格納領域を有する。補助記憶装置105によって、
図1で説明した第1記憶部13および第2記憶部15が実現される。さらには、例えば、上述したデータやプログラムなどをバックアップするためのバックアップ領域などを有していてもよい。
【0071】
入出力I/O106は、外部機器からの信号を入力したり、外部機器へ信号を出力したりする入出力装置である。
【0072】
表示装置107は、有機ELディスプレイや液晶ディスプレイなどによって構成される。表示装置107によって提示部18を実現することができる。
【0073】
[異常検出装置の動作]
次に、上述した構成を有する異常検出装置1の動作を、
図8および
図9のフローチャートを参照して説明する。
【0074】
図8に示すように、まず、第1設定部10は、混合確率モデルにおいて観測データXの分布を設定する(ステップS1)。具体的には、第1設定部10は、信号に含まれる特定の周波数成分の強度がしきい値を超える、異常な周波数成分の出現パターンを表すように、クラスタごとに観測値x
nを設定する。なお、
図2および
図3で説明したように、クラスタの数は観測値の数、すなわち周波数成分の数(K=D)とする。
【0075】
次に、第2設定部11は、ステップS1で設定された観測データXの分布となるように混合確率モデルのパラメータμk、πkを設定する(ステップS2)。具体的には、第2設定部11は、上式(10)の混合確率モデルに、クラスタごとに設定された観測値xnを有する観測データXを与えた際の、パラメータμk、πkを調整して決定する。例えば、第2設定部11は、ステップS1で設定されたクラスタごとの観測値xnの発生確率を考慮して、各クラスタの選ばれやすさを示す混合比率のパラメータπkを設定し、さらにパラメータμk、πkの値を相互に調整し決定することができる。パラメータμk、πkが設定された混合確率モデルは、真の異常情報として第1記憶部13に記憶される。
【0076】
続いて、学習部12は、学習処理を行う(ステップS3)。具体的には、学習部12は、ステップS2で設定されたパラメータμk、πkを有する混合確率モデルを、信号に含まれる異常な周波数成分の出現パターンを表す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器121と、生成器121によって生成された疑似異常情報と真の異常情報とを識別する識別器122とを有するGANの敵対的学習を行う。学習処理によって、クラスタ1~Dのそれぞれに対応するD個の学習済み生成器121’_1,・・・,121’_Dが構築され、第1記憶部13に記憶される。なお、ステップS3での学習処理の詳細は後述する。
【0077】
次に、生成部14は、ステップS3で学習部12によって構築された学習済み生成器121’を用いて疑似異常情報を生成する(ステップS4)。より詳細には、生成部14は、ステップS4において、クラスタ1~Dに対応するD個の学習済み生成器121’_1,・・・,121’_Dのそれぞれの演算を行って、疑似異常情報を生成する。その後、第2記憶部15は、ステップS4で生成された疑似異常情報を記憶する(ステップS5)。
【0078】
次に、収集部16は、通信端末2で測定された信号を収集する(ステップS6)。例えば、収集部16は、ネットワークNWを介して、通信端末2が測定した信号強度の時系列データを収集することができる。次に、収集部16は、収集された信号をフーリエ変換して周波数スペクトルを得る(ステップS7)。続いて、検出部17は、ステップS6で収集され、ステップS7で変換して得られた信号の周波数スペクトルを、上式(5)に対応する周波数成分ごとの二値データに変換する(ステップS8)。ステップS8では、設定されたしきい値に基づいて、周波数成分ごとの強度を、「しきい値を超える:1」および「しきい値を超えない:0」の二値データに変換する。
【0079】
続いて、検出部17は、ステップS5で第2記憶部15に記憶された疑似異常情報に基づいて、通信端末2で測定された信号の異常を検出する(ステップS9)。検出部17は、生成部14によって生成された疑似異常情報が示す、異常な周波数成分を含む周波数スペクトルの周波数成分ごとの強度の二値データと、ステップS6で収集部16によって収集され、さらにステップS7およびステップS8でそれぞれ変換された信号の周波数スペクトルの周波数成分ごとの強度の二値データとが一致する場合に、信号の異常を検出することができる。ステップS9において検出部17は、疑似異常情報が示す、異常な周波数成分のピーク値が出現するよりも前の周波数成分の時点で、周波数スペクトルの強度の二値データが一致する場合に、信号の異常を予測することができる。
【0080】
その後、提示部18は、ステップS9で検出部17によって検出された信号の異常についての検出結果を提示する(ステップS10)。例えば、ステップS10では、提示部18は、ネットワークNWを介して、外部の通信品質管理サーバ等に対して、通信端末2の信号強度に異常が発生していること、および異常に係る周波数成分を通知することができる。
【0081】
次に、
図9を参照し、
図8で説明した異常検出装置1の学習部12による学習処理(ステップS3)を説明する。
図9に示す学習処理の例では、学習部12は、1~D個のクラスタごとの真の異常情報を繰り返し学習する。まず、学習部12は、真の異常情報を訓練データ124として識別器122に入力し、真の異常情報を真の異常情報(y=1)と識別するように、識別器122のパラメータw
D,θ
Dを学習し、更新する(ステップS20)。
【0082】
図4の学習部12のブロック図に示すように、
図8のステップS2で設定されたパラメータμ
k、π
kを有する混合確率モデルは、信号に含まれる異常な周波数成分の出現パターンを表す真の異常情報であり、識別器122を学習する際の訓練データ124として用いられる。ステップS20では、まず、真の異常情報として、クラスタ1~クラスタDのうち、クラスタ1の1~D個の観測値x
nを訓練データ124として用いる。真の異常情報は、事前に第1記憶部13に記憶されている。
【0083】
ステップS20において、学習部12は、例えば、誤差逆伝搬法などを用いて識別器122に真の異常情報を学習させることができる。ステップS20により、クラスタ1の真の異常情報を真の異常情報と識別することができる識別器122が事前に構築される。
【0084】
次に、学習部12は、ガウス雑音を発生し、発生したガウス雑音のランダムなベクトルを生成器121に入力として与える(ステップS21)。続いて、生成器121は、与えられたガウス雑音に基づいて、入力zと重みパラメータw
G,θ
Gの積和演算および活性化関数によるしきい値処理を行い、疑似異常情報G(z)を生成する(ステップS22)。ステップS22では、
図4に示すように、学習部12は、D個の生成器121_1,・・・,121_Dの各々で生成された1~D個の出力を合成して(
図4に示す点a)、1つの疑似異常情報G(z)を生成する。
【0085】
次に、学習部12は識別器122の学習を行う。識別器122の学習は、生成器121のパラメータw
D,θ
Dを固定して行われる。まず、学習部12は、
図8のステップS2で設定されたパラメータμ
k、π
kを有する混合確率モデルである、真の異常情報を訓練データ124として識別器122に入力として与える。そして、学習部12は、上式(12)の目的関数Eが最大となるように、誤差逆伝搬法などによりパラメータw
D,θ
Dを更新する(ステップS23)。なお、訓練データ124のラベルは1(真の異常情報)が設定されている。ステップS23では、まず、学習部12は、D個のクラスタ1~クラスタDのうちのクラスタ1の1~D個の観測値x
nを真の異常情報として用いて、識別器122を学習する。
【0086】
次に、学習部12は、ステップS22で生成器121によって生成された疑似異常情報を識別器122に入力として与え、上式(12)の目的関数Eが最大となるように、誤差逆伝搬法などによりパラメータwD,θDを更新する(ステップS24)。すなわち、ステップS23およびステップS24では、上式(12)の目的関数Eを最大にするために、第1項はD(wD,θD)=1が出力され、第2項はD(G(wG,θG),wD,θD)=0となるように最適化が行われる。なお、訓練データ124には、ラベルは0(疑似異常情報)が設定されている。ステップS24では、D個の生成器121_1,・・・,121_Dの各々で生成され、合成された1つの疑似異常情報G(z)を用いて、識別器122を学習する。
【0087】
ステップS23およびステップS24での識別器122の学習は、
図4に示す学習部12のブロック図において、識別器122からの出力123に基づいて、目的関数Eのブロック125で識別器誤差が算出され、その後、識別器122へ誤差逆伝搬されることを示す破線の矢印に対応する。
【0088】
次に、学習部12は生成器121(生成器121_1,・・・,121_D)の学習を行う。生成器121の学習では、識別器122のパラメータが固定されて行われる。学習部12は、ランダムなガウス雑音を生成器121に与えた際に疑似異常情報が生成されるように生成器121を学習する。具体的には、学習部12は、上式(12)の目的関数Eを最小とするために、誤差逆伝搬法などによりパラメータwG,θGを更新する(ステップS25)。
【0089】
ステップS25での学習は、
図4の学習部12のブロック図において、生成器121へ誤差逆伝搬されることを示す破線の矢印のフローに対応する。すなわち、ステップS25は、
図4の生成器121で生成された疑似異常情報が識別器122に入力され、その出力123から目的関数Eのブロック125で生成器誤差が算出され、さらには、生成器121へ誤差逆伝搬される破線矢印のフローに対応する。
【0090】
その後、目的関数Eの値がナッシュ均衡に到達して収束するまで(ステップS26:NO)、ステップS22からステップS25までの識別器122および生成器121(生成器121_1~生成器121_D)の学習が繰り返し行われる。一方、目的関数Eの値が収束した場合(ステップS26:YES)、クラスタ1~クラスタDまでのすべての真の異常情報のうち、クラスタ2~クラスタDまでの残りの真の異常情報を順番に用いて、D個の生成器121_1,・・・,121_D、および識別器122の学習が行われるまで(ステップS27:NO)、ステップS20からステップS26までの処理が繰り返される。
【0091】
その後、クラスタ2~クラスタDまでの残りのD-1個のクラスタの真の異常情報を用いて生成器121(生成器121_1~生成器121_D)および識別器122の学習が行われた場合(ステップS27:YES)、学習部12は、1~D個の学習済み生成器121’_1,・・・,121’_Dを第1記憶部13に記憶する(ステップS28)。以上のステップS20からステップS28までの処理によって学習済み生成器121’が構築される。さらにその後、処理は、
図8のステップS4に移行する。
【0092】
以上説明したように、本実施の形態に係る異常検出装置1によれば、信号の周波数スペクトルのパターンを混合ベルヌーイ分布によりモデル化し、特定の周波数成分の強度がしきい値を超える異常な周波数成分の出現パターンを表すように設定した観測データXの分布となるようにパラメータμk、πkを設定した混合確率モデルをGANの敵対的学習での真のデータとして用いる。さらに、敵対的学習により構築された学習済み生成器121’によって生成された疑似異常情報を、強度がしきい値を超える異常な周波数成分を有する異常信号としてデータベース化し、収集された実際の信号の周波数スペクトルが、データベースの異常な周波数成分を有する周波数スペクトルに一致する場合、信号の異常を検出する。そのため、大量の異常信号の測定データを用いることなく、信号の異常を検出することができる。
【0093】
また、本実施の形態に係る異常検出装置1によれば、信号の周波数スペクトルにおいて、強度がしきい値を超える異常な周波数成分の出現パターンが反映されたパラメータμk、πkが設定された混合確率モデルを、GANの敵対的学習での真のデータである真の異常情報として用い、真の異常情報に類似する疑似異常情報、すなわち、真の異常情報とは必ずしも一致しない疑似異常情報を生成する生成器121を学習する。そのため、GANの敵対的学習を行うことにより、混合ベルヌーイ分布に従う混合確率モデルの潜在変数の学習を行うことができる。
【0094】
また、本実施の形態に係る異常検出装置1によれば、周波数スペクトルの周波数成分ごとの強度がしきい値を超えるか否かを混合ベルヌーイ分布の各クラスタの観測値とするので、様々な異常の発生パターンに対応するように特定の周波数成分でのピークの発生やその回数などをクラスタごとに指定することができる。そのため、各信号に特有の周波数領域における異常の発生パターンを詳細に設定し、より効果的な信号の異常の検出が可能となる。
【0095】
また、本実施の形態に係る異常検出装置1によれば、学習済み生成器121’によって生成された疑似異常情報が示す周波数スペクトルの周波数成分ごとの強度と、実際に測定された信号の周波数スペクトルの周波数成分ごとの強度との比較を行うため、スペクトルの一部が一致する場合に、信号の異常を予測することが可能となる。
【0096】
なお、説明した実施の形態では、第1設定部10が、各クラスタの1~D個の観測値において、強度が「しきい値を超える:1」周波数成分、あるいは強度が「しきい値を超えない:0」周波数成分を設定し、さらには各観測値の発生確率を設定する場合について説明した。また、第2設定部11が、第1設定部10による設定に基づいて混合比率のパラメータπkを設定し、さらに、観測値の発生確率を示すパラメータμkと混合比率のパラメータπkとを相互に調整し、パラメータμk、πkを決定する場合について説明した。しかし、第1設定部10は、観測データXにおいて、各クラスタの1~D個の観測値の具体的な二値の値を設定し、第2設定部11が、各観測値の発生確率を設定し、パラメータμk、πkを相互に調整する構成としてもよい。
【0097】
また、説明した実施の形態では、通信端末2が測定する信号は信号強度の時系列データである場合を例示した。しかし、異常検出の対象となる時系列信号は、周波数解析が可能な信号であれば信号強度に限定されない。例えば、通信端末2は、生体センサを備え、ユーザの心拍、血圧、体温などの生体信号の時系列データを測定する構成であってもよい。あるいは、通信端末2は、振動センサ、音センサ、圧力センサなどの各種センサを備え、振動や音、圧力などの物理量の時系列データを測定することができる。
【0098】
また、説明した実施の形態では、通信端末2はスマートフォンなどのSIMを備える端末、およびIPアドレスを持つIoT端末である場合を例示した。しかし、通信端末2は、測定した信号の時系列データを異常検出装置1に入力することができれば、通信機能を持たない従来型のデバイスであってもよい。
【0099】
以上、本発明の異常検出装置、および異常検出方法における実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
【符号の説明】
【0100】
1…異常検出装置、2…通信端末、10…第1設定部、11…第2設定部、12…学習部、13…第1記憶部、14…生成部、15…第2記憶部、16…収集部、17…検出部、18…提示部、101…バス、102…プロセッサ、103…主記憶装置、104…通信インターフェース、105…補助記憶装置、106…入出力I/O、107…表示装置、121…生成器、121’…学習済み生成器、122…識別器、123…出力、124…訓練データ、125…目的関数Eのブロック、NW…ネットワーク。
【要約】
【課題】大量の異常信号の測定データを用いることなく、信号の異常を検出することを目的とする。
【解決手段】
異常検出装置1は、設定されたパラメータを有する混合確率モデルを、信号に含まれる異常な周波数成分の出現パターンを表す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器121と、生成器121によって生成された疑似異常情報と真の異常情報とを識別する識別器122とを有する生成モデルの敵対的学習を行う学習部12と、学習部12によって構築された学習済み生成器121’を用いて疑似異常情報を生成する生成部14と、生成部14によって生成された疑似異常情報に基づいて、信号の異常を検出する検出部17とを備える。
【選択図】
図1