IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社インターネットイニシアティブの特許一覧

<>
  • 特許-異常検出装置、および異常検出方法 図1
  • 特許-異常検出装置、および異常検出方法 図2
  • 特許-異常検出装置、および異常検出方法 図3
  • 特許-異常検出装置、および異常検出方法 図4
  • 特許-異常検出装置、および異常検出方法 図5
  • 特許-異常検出装置、および異常検出方法 図6
  • 特許-異常検出装置、および異常検出方法 図7
  • 特許-異常検出装置、および異常検出方法 図8
  • 特許-異常検出装置、および異常検出方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-02
(45)【発行日】2024-10-10
(54)【発明の名称】異常検出装置、および異常検出方法
(51)【国際特許分類】
   H04L 43/0876 20220101AFI20241003BHJP
【FI】
H04L43/0876
【請求項の数】 5
(21)【出願番号】P 2024094904
(22)【出願日】2024-06-12
【審査請求日】2024-06-12
【早期審査対象出願】
(73)【特許権者】
【識別番号】397036309
【氏名又は名称】株式会社インターネットイニシアティブ
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100195408
【弁理士】
【氏名又は名称】武藤 陽子
(72)【発明者】
【氏名】柿島 純
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2018-125632(JP,A)
【文献】特表2024-508220(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/0876
(57)【特許請求の範囲】
【請求項1】
通信ネットワークのトラヒック量の時系列データにおける一時的なトラヒック量の増加の有無を観測値とした混合確率モデルに対して、前記観測値の集合である観測データの分布を設定するように構成された第1設定部と、
設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定するように構成された第2設定部と、
設定された前記パラメータを有する前記混合確率モデルから得られる、前記一時的なトラヒック量の増加である異常トラヒックの発生パターンを表す真の異常情報に基づいて、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行うように構成された学習部と、
前記学習部によって構築された学習済み生成器を用いて前記疑似異常情報を生成するように構成された生成部と、
前記生成部によって生成された前記疑似異常情報に基づいて、前記通信ネットワークで発生する前記異常トラヒックを検出するように構成された検出部と
を備える異常検出装置。
【請求項2】
請求項1に記載の異常検出装置において、
さらに、前記通信ネットワーク上のトラヒック量の時系列データを収集するように構成された収集部を備え、
前記検出部は、前記疑似異常情報が示す、前記一時的なトラヒック量の増加を含む前記通信ネットワークのトラヒック量の時系列データと、前記収集部によって収集された前記通信ネットワークのトラヒック量の時系列データとが一致する場合に、前記異常トラヒックを検出する
ことを特徴とする異常検出装置。
【請求項3】
請求項1に記載の異常検出装置において、
前記混合確率モデルは、前記観測値の集合の前記観測データが、複数のクラスタの前記パラメータの集合をもつ混合ベルヌーイ分布に従うモデルであり、
前記混合確率モデルの前記パラメータは、各クラスタが前記観測値を発生する確率を表す混合比率、および前記各クラスタの前記観測値が前記一時的なトラヒック量の増加が有り、となる確率を含む
ことを特徴とする異常検出装置。
【請求項4】
コンピュータによって実行される異常検出方法であって、
通信ネットワークのトラヒック量の時系列データにおける一時的なトラヒック量の増加の有無を観測値とした混合確率モデルに対して、前記観測値の集合である観測データの分布を設定する第1設定ステップと、
設定された前記観測データの分布に基づいて前記混合確率モデルのパラメータを設定する第2設定ステップと、
設定された前記パラメータを有する前記混合確率モデルから得られる、前記一時的なトラヒック量の増加である異常トラヒックの発生パターンを表す真の異常情報に基づいて、前記真の異常情報に類似する疑似異常情報を生成する生成器と、前記生成器によって生成された前記疑似異常情報と前記真の異常情報とを識別する識別器とを有する生成モデルの敵対的学習を行う学習ステップと、
前記学習ステップで構築された学習済み生成器を用いて前記疑似異常情報を生成する生成ステップと、
前記生成ステップで生成された前記疑似異常情報に基づいて、前記通信ネットワークで発生する前記異常トラヒックを検出する検出ステップと
を備える異常検出方法。
【請求項5】
請求項4に記載の異常検出方法において、
さらに、前記通信ネットワーク上のトラヒック量の時系列データを収集する収集ステップを備え、
前記検出ステップは、前記疑似異常情報が示す、前記一時的なトラヒック量の増加を含む前記通信ネットワークのトラヒック量の時系列データと、前記収集ステップで収集された前記通信ネットワークのトラヒック量の時系列データとが一致する場合に、前記異常トラヒックを検出する
ことを特徴とする異常検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検出装置、および異常検出方法に関し、特に、通信トラヒックの異常を検出する技術に関する。
【背景技術】
【0002】
従来から、バーストトラヒックなどの異常トラヒックの推定や通信ネットワークを流れるトラヒック量を予測する技術が知られている。例えば、特許文献1は、リンクの異なる複数の過去のトラヒックデータの相関データに基づいて、最尤推定等の統計的推定手法を用いて所定のリンクについてのトラヒック量の最大値を予測するシステムを開示する。
【0003】
最尤推定等の統計的推定によってバーストトラヒックなどの異常トラヒックを推定する場合には、大量の過去の異常トラヒックのデータが必要となる。また、識別モデルに基づく機械学習で異常トラヒックを推定する場合においても、異常トラヒックに係る学習用データを大量に用意する必要がある。そのため、大量の過去の異常トラヒックのデータが収集できない場合には、異常トラヒックの推定や検出を行うことが困難な場合があった。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-216585号公報
【発明の概要】
【発明が解決しようとする課題】
【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】
異常検出システムは、4G/LTE、5G、6G等の移動通信システムに設けられ、異常検出装置1、通信端末2、基地局3、およびコアネットワーク4を備える。異常検出装置1とコアネットワーク4とは、例えば、WANやインターネットなどのネットワークNWを介して接続されている。異常検出システムは、多数の通信端末2が同時間帯に移動通信サービスを利用することでトラヒック量が一時的に増加する異常トラヒックを検出する。
【0017】
通信端末2は、SIMを備え、スマートフォンなどの携帯通信端末、タブレット型コンピュータ、ラップトップ型コンピュータなどとして実現される。本実施の形態では複数の通信端末2が存在する。また、通信端末2は、IPアドレスを有するIoT端末を含む。
【0018】
基地局3は、所定の通信規格に対応した無線基地局で構成され、通信エリアに在圏する通信端末2とコアネットワーク4との間の通信を中継する。基地局3は、バックホールリンクなどのネットワークを介してコアネットワーク4と接続する。
【0019】
コアネットワーク4は、通信データおよび制御信号を管理および制御し、通信端末2や基地局3とインターネットなどの外部ネットワークを接続する。コアネットワーク4は、例えば、5G通信規格に対応し、制御プレーン(C-plane)内にAMF(Access and Mobility Management Function)、UDM(Unified Data Management)、およびUDR(Unified Data Repository)等の機能ノードを備える。
【0020】
コアネットワーク4が備えるAMFは、ユーザ端末の登録や無線接続を管理する制御プレーンの機能ノードである。UDMは、コアネットワークにおける加入者情報の管理、ユーザ端末の移動管理などを行う機能ノードである。UDRは、通信端末2のIMSIや在圏情報を保持した加入者プロファイルを格納する。
【0021】
コアネットワーク4は、ユーザプレーン(U-plane)内に、UPF(User Plane Function)、PGW(Packet Data Network Gateway)などの機能ノードを備える。UPFはデータ通信におけるパケットの転送やルーティングなどのトラヒック管理を行う。PGWは、通信端末2のデータトラフィックの外部ネットワークへのルーティングを行う。
【0022】
コアネットワーク4は、通信ネットワーク上のトラヒックデータを記録する。例えば、コアネットワーク4が備えるAMFおよびUPFは、通信ネットワークを所定の時間間隔ごとに流れたトラヒック量の時系列データを記録することができる。あるいは、コアネットワーク4は、図示されないネットワークモニタ装置を備え、ネットワークモニタ装置はキャプチャしたパケットやフローベースによる解析によるトラヒック量の時系列データを記録することができる。
【0023】
通信端末2は、位置登録要求、データ通信、セッション確立要求などの要求パケットを、基地局3を介してコアネットワーク4に送信し、これらの要求に対する応答パケットをコアネットワーク4から受信する。本実施の形態では、通信端末2がコアネットワーク4に送信する要求パケットにより、一時的なトラヒック量の増加である異常トラヒックを検出する場合について説明する。また、異常トラヒックは、短時間でトラヒック量が急増するバーストトラヒックである。
【0024】
上述した構成を有する本実施の形態に係る異常検出システムは、バーストトラヒックの発生パターンを混合ベルヌーイ分布によりモデル化した混合確率モデルを採用する。異常検出システムは、トラヒック量の時系列データにおいて、設定された時間帯や頻度で発生する一時的なトラヒック量の増加のパターンを反映するようにパラメータが設定された混合確率モデルを敵対的学習の真のデータとして、真のデータに類似する疑似データを生成する生成器121を学習する。さらに、異常検出システムは、学習済み生成器121’を用いて生成された疑似データをバーストトラヒックのデータベースとして持ち、収集された実際のトラヒックデータと突合することでバーストトラヒックを検出する。
【0025】
[異常検出装置の機能ブロック]
次に、本実施の形態に係る異常検出装置1の機能ブロックについて、図1のブロック図を参照して説明する。図1に示すように、異常検出装置1は、第1設定部10、第2設定部11、学習部12、第1記憶部13、生成部14、第2記憶部15、収集部16、検出部17、および提示部18を備える。
【0026】
第1設定部10は、通信ネットワークのトラヒック量の時系列データにおける一時的なトラヒック量の増加の有無を観測値とした混合確率モデルに対して、観測値の集合である観測データの分布を設定する。本実施の形態では、混合確率モデルとして混合ベルヌーイ分布に従うモデルを採用する。観測値は、通信端末2から送信される要求パケットによるトラヒック量が、設定されたトラヒック量を超えるか否かを二値データで表した値である。設定されたトラヒック量は、通信ネットワークが許容できるトラヒック量の最大値などの基準値とすることができる。
【0027】
本実施の形態において採用される混合ベルヌーイ分布は、0と1とを要素とする長さDのベクトルが作るN個の観測データがあるとき、その集合をクラスタリングするモデルである。本実施の形態では、時間軸上において通信ネットワークのトラヒック量が設定された値を超える時間帯およびその数や頻度などで表されるバーストトラヒックの発生パターンを複数のクラスタとして考え、時間軸上の複数の時間帯の各々で、設定されたトラヒック量を超えるか否かを0と1で表した観測値の集合を観測データとする。また、観測値は、二値分布を有する複数の異なるクラスタから発生する。
【0028】
ここで、N個の二値ベクトルである観測値x,x,…,xの集合の観測データXが、K個のクラスタのパラメータμ,μ,…,μの集合すなわちパラメータデータセットMをもつ混合ベルヌーイ分布に従うものとする。すなわち、観測データXが複数のクラスタから生成されると仮定し、各クラスタには、試行が成功する確率、すなわち設定されたトラヒック量を超える確率を表すパラメータμが対応付けられている。
【0029】
観測データXとパラメータデータセットMとは、それぞれ次式(1)、(2)のように表される(Tは転置記号である。)。
【数1】
【0030】
n番目の二値ベクトルの観測値xとk番目のパラメータベクトルμの各々は、さらに、以下の式(3)、(4)に示すようにそれぞれがD個の要素をもつベクトルとして表される。
【数2】
【0031】
観測値xの要素x(i)(i=1,2,…,D)の各々は、前述したように0または1の値をとる二値変数である。本実施の形態では、要素x(i)を以下のように定義する。
【数3】
【0032】
各時間帯で設定されたトラヒック量を超える確率、および各時間帯で設定されたトラヒック量を超えない確率は、それぞれ次式(6)、(7)で表される。
【数4】
【0033】
上式(6)、(7)から、観測データXの観測値xにクラスタkが割り当てられたときに、観測値xは、クラスタkのパラメータμをもつ、次式(8)のベルヌーイ分布に従う。
【数5】
【0034】
ここで、各クラスタ(K個)の発生頻度のパラメータデータセットπを以下のように定義する。パラメータπは、観測値xがどの程度各クラスタに配分されるのかを示すパラメータである。したがって、パラメータπは、観測データXの観測値xがクラスタkで発生する混合比率を示す。
【数6】
【0035】
また、観測値xにクラスタkが割り当てられたときに、観測値xは、μをパラメータとするD個のベルヌーイ分布に従う。さらに、各観測値xは、次式(10)の混合ベルヌーイ分布によって独立に生成されるものとする。
【数7】
【0036】
上式(10)の混合ベルヌーイ分布の定義式により、各クラスタにおけるベルヌーイ分布の確率を示すパラメータμと、そのクラスタの混合比率πとを組み合わせて、全てのクラスタから、観測値xが発生する確率を求めることができる。上式(10)は、本実施の形態における混合確率モデルであり、各時間帯で通信ネットワークのトラヒック量が設定された値を超える確率分布を表している。
【0037】
図2の(a)、(b)、および図3の(a)、(b)は、第1設定部10および第2設定部11による観測データXの分布の設定、およびパラメータμ、πの設定を説明するための図である。図2の(b)および図3の(b)に示すクラスタ1~Dは、トラヒック量が設定された値を超える時間帯およびその頻度、すなわちバーストトラヒックの発生パターンの全体を表す。クラスタの数はD個設けられ(K=D)、これは、D個の時間帯であるタイムスロットの数に対応する。また、クラスタ間の縦方向のタイムスロットIDは互いに対応している。各クラスタを構成する「1~D」の観測値は、1~D個の時間帯の各々で、通信ネットワークのトラヒック量が、設定されたトラヒック量を超えるか否かを示す観測値xである。図2の(b)の例では、各クラスタの1~Dの各データにおいて、トラヒック量が設定された値を超える時間帯(図中の黒丸点)と、設定された量を超えない時間帯(図中の黒丸点以外のデータ)とが設定されている。
【0038】
図2の(b)の例では、第1設定部10は、各クラスタに「設定されたトラヒック量を超える:1」観測値を1つ設定し、これ以外の観測値は「設定されたトラヒック量を超えない:0」。したがって、クラスタ1のタイムスロット「1」の観測値、クラスタ2のタイムスロット「2」の観測値、およびクラスタDのタイムスロット「D」の観測値が、「設定されたトラヒック量を超える:1」をとる。さらに、第1設定部10は、「設定されたトラヒック量を超える:1」確率(例えば、90%など)を設定することができる。このように、第1設定部10は、各クラスタにおいて、どのタイムスロットにおいて設定されたトラヒック量を超えるバーストトラヒックを発生させるかを設定することができる。
【0039】
第2設定部11は、第1設定部10によって設定された観測データXの分布に基づいて、混合確率モデルのパラメータを設定する。第2設定部11は、第1設定部10により設定された各クラスタで「設定されたトラヒック量を超える:1」となる時間帯およびその数に基づいて、混合確率モデルのパラメータμ、πの値を設定することができる。
【0040】
また、第2設定部11は、第1設定部10が各クラスタの観測値xの発生確率を設定した場合には、設定された各クラスタの観測値xの発生確率を考慮した混合比率を設定し、さらにパラメータμ、πの値を調整し決定することができる。
【0041】
例えば、図2の(b)に示すように、第2設定部11は、第1設定部10による各クラスタの観測値xの設定に基づいて、クラスタ1~Dの観測データXに占める割合を均等に設定することができる。第2設定部11は、各クラスタ1~Dが選ばれる確率を均等とするために、上式(9)のパラメータπ~πの値を1/Dと設定することができる。さらにこのとき、第2設定部11は、混合比率を表すパラメータπと、観測値xの発生確率を表すパラメータμとを相互に調整し、決定することができる。
【0042】
このように、第2設定部11は、第1設定部10によってクラスタごとに設定された、各時間帯でトラヒック量が設定された値を超える観測値の発生確率に基づいて、各パラメータμ、πの値を調整し、上式(10)の混合確率モデルにおいて、特定のクラスタからxが発生する確率をさらに調整することができる。
【0043】
図2の(a)は、図2の(b)のクラスタ1~Dによるバーストトラヒックの発生パターンを表すトラヒック量の時系列データである。縦軸は、トラヒック量[bps]、横軸は時間[s]を示す。タイムスロット「1」~「D」のすべての時間帯にわたって設定されたトラヒック量THを超えた値となっている。すなわち、図2の(a)のトラヒック量の時系列データは、各クラスタで、1個のタイムスロットのトラヒック量が設定された値THを超えるように設定され、さらに、各クラスタが均等に選ばれるように設定されたことに対応するバーストトラヒックの発生パターンである。
【0044】
一方、図3の(b)においては、第1設定部10は、クラスタ1~Dのうち、クラスタ2のタイムスロット「2」、クラスタ4のタイムスロット「4」、およびクラスタ10のタイムスロット「10」において、設定されたトラヒック量THを超える観測値を設定する。また、第2設定部11は、クラスタ1~Dのパラメータのうち、クラスタ2、4、10がそれぞれ選ばれる確率を均等とするために、π=π=π10=1/3と設定する。クラスタ2、4、10以外のクラスタのパラメータπは、0と設定される。
【0045】
このようなクラスタの設定により、図3の(a)に示すように、点線で示すタイムスロット「2」、「4」、「10」の時間帯で、設定されたトラヒック量THを超え、それ以外のタイムスロットでは、設定されたトラヒック量THを超えないバーストトラヒックの発生パターンが得られる。
【0046】
第1設定部10および第2設定部11によって、各クラスタから観測値xが発生する確率および各クラスタが選ばれる確率が事前に設定された混合確率モデルは、以下の学習部12による敵対的学習の際の真のデータとして用いられる。
【0047】
学習部12は、第2設定部11により設定されたパラメータμ、πを有する混合確率モデルを、一時的なトラヒック量の増加である異常トラヒックを表す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器121と、生成器121によって生成された疑似異常情報と真の異常情報とを識別する識別器122とを有する生成モデルの敵対的学習を行う。真の異常情報は、事前に設定されたバーストトラヒックの発生パターンが反映された情報である。学習部12は、混合確率モデルの1~K個のクラスタの各々について、学習済み生成器121’(学習済み生成器121’_1,・・・,121’_K)を構築することができる。本実施の形態では、D個のクラスタが設けられるため、学習済み生成器121’_1,・・・,121’_Dが構築される。
【0048】
学習部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)が構築される。
【0049】
図5および図6は、学習部12が用いるGANの生成器121および識別器122のニューラルネットワーク構成を模式的に表した図である。図5に示すように、生成器121は、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。なお、K個の生成器121_1,・・・,121_Dはそれぞれ同じネットワーク構造を有し、以下では生成器121と総称して説明する。生成器121は、ランダムな雑音から疑似異常情報を生成するモデルである。生成器121の入力ノードには、例えば、ガウス雑音のベクトルがランダムにm個サンプルされて入力される(z~z)。
【0050】
生成器121は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て出力G(z)を出力する。生成器121からの出力G(z)は、第2設定部11が設定したパラメータμ、πを有する混合確率モデルにより得られる観測データXに類似するデータである。より具体的には、生成器121は、設定されたパラメータμ、πを有する混合確率モデルにより得られる各クラスタの観測値xに類似するデータを生成する。図5の各出力G(z)~G(z)は、各クラスタの観測値xの各々に対応する。生成器121を構成するニューラルネットワークとしてCNNやResNetを用いることができる。
【0051】
図6に示す識別器122は、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。図6の例では、訓練データの入力として、第2設定部11により設定されたパラメータμ、πを有する混合確率モデルによって得られる、各クラスタの観測値xが与えられる。
【0052】
識別器122は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て、1または0の二値出力を出す。識別器122は、入力された真の異常情報に係る訓練データを正しく真の異常情報であると識別すると出力y=1を出力する。一方、入力された疑似異常情報に係る訓練データを正しく疑似異常情報であると識別すると出力y=0を出力する。このように、識別器122は、生成器121が生成したモデル分布を真の分布である訓練データのデータ分布から区別するモデルである。識別器122を構成するニューラルネットワークとしてCNNを用いることができる。
【0053】
図4は、学習部12によるGANの敵対的学習を説明するためのブロック図である。学習部12が採用するGANの生成器121を関数G、識別器122を関数Dと表す。また、真の異常情報をx、識別器122による出力である予測値はyと表し、正解ラベルをtと表す。正解ラベルtは、真の異常情報に対して1、生成器121で生成された疑似異常情報に対して0と設定される。このとき、識別器122は、二値分類問題として次式(11)の交差エントロピーECEで表すことができる。
【0054】
【数8】
【0055】
上式(11)のブレース内の第1項が表すtlnyにおいて、識別器122の予測値yが、真の異常情報の正解ラベルt=1の値に近づくことが望ましい。一方、ブレース内の第2項が表す(1-t)ln(1-y)においては、識別器122の予測値yが、疑似異常情報と識別する正解ラベルの値(1-t)=0に近づくことが望ましい。このように交差エントロピーECEは、予測値が正解ラベルの値に一致している場合に最大値となる。
【0056】
ここで、GANを構成する生成器121は、パラメータw,θを有し、関数G(w,θ)と表す。また、識別器122は、パラメータw,θを有し、関数D(w,θ)と表す。上式(11)の交差エントロピーECEに基づいた生成器121と識別器122とを備えるGANの目的関数Eは、次式(12)で表すことができる。
【数9】
【0057】
上式(12)の第1項が表すED(x)=1lnD(w,θ)は、識別器122が真の異常情報を真の異常情報であると識別する期待値である。上式(12)の第2項が表すED(x)=0ln(1-D(G(w,θ),w,θ))は、生成器121により生成された疑似異常情報を識別器122が疑似異常情報であると識別する期待値である。GANの学習では、目的関数Eのmin-max最適化により、生成器121と識別器122とを敵対的に学習する。したがって、識別器122をだますような疑似異常情報を生成できるように生成器121を学習し、生成器121が生成した疑似異常情報を疑似異常情報であると識別するように識別器122を学習する。
【0058】
識別器122の学習では、真の異常情報が与えられた場合に、識別器122がy=1に近い出力を出すことで、上式(12)の目的関数Eの第1項を最大化する。一方、疑似異常情報が与えられた場合に、識別器122がy=0に近い出力を出すことで目的関数Eの第2項を最大化するように学習が行われる。
【0059】
生成器121の学習では、上式(12)のD(G(w,θ),w,θ)(図4のD(G(z)))が1に近くなるようなG(w,θ)(図4のG(z))を出力することで、目的関数Eを最小化する。学習部12は、生成器121のパラメータと識別器122のパラメータとを交互に更新する学習手順を用いる。なお、学習部12による生成器121および識別器122の学習手順の詳細は後述する。
【0060】
第1記憶部13は、学習部12によってGANの目的関数Eが最適化された学習済み生成器121’を記憶する。より詳細には、第1記憶部13は、クラスタ1~Dに対応するD個の学習済み生成器121’(学習済み生成器121’_1,・・・,121’_D)を記憶する。また、第1記憶部13は、パラメータμ、πが設定された上式(10)の混合確率モデルを記憶する。
【0061】
生成部14は、学習部12によって構築された学習済み生成器121’を用いて疑似異常情報を生成する。より詳細には、生成部14は、クラスタ1~Kに対応するD個の学習済み生成器121’_1,・・・,121’_Dのそれぞれの演算を行って、疑似異常情報を生成する。
【0062】
第2記憶部15は、生成部14によって生成された疑似異常情報を記憶する。第2記憶部15が記憶する疑似異常情報は、バーストトラヒックの発生パターンのデータベースである。
【0063】
収集部16は、通信ネットワーク上のトラヒック量の時系列データを収集する。例えば、収集部16は、ネットワークNWを介して、コアネットワーク4で記録されたトラヒック量の履歴を収集することができる。
【0064】
検出部17は、生成部14によって生成された疑似異常情報に基づいて、通信ネットワークで発生するバーストトラヒックを検出する。検出部17は、生成部14によって生成された疑似異常情報が示す、一時的なトラヒック量の増加を含む通信ネットワークのトラヒック量の時系列データと、収集部16によって収集された通信ネットワークのトラヒック量の時系列データとが一致する場合に、バーストトラヒックを検出することができる。
【0065】
より詳細には、検出部17は、収集部16によって収集されたトラヒック量の時系列データを、上式(5)に対応する二値データの時系列に変換する。具体的には、検出部17は、設定されたトラヒック量の値に基づいて、収集されたトラヒック量の時系列データを、「設定されたトラヒック量を超える:1」および「設定されたトラヒック量を超えない:0」の二値表現に変換する。
【0066】
検出部17は、疑似異常情報が示す、各時間帯でトラヒック量が設定された値を超える確率に基づく上式(5)に応じた二値データの時系列と、収集されたトラヒック量の時系列データの二値データの時系列とが一致する場合に、バーストトラヒックを検出することができる。また、検出部17は、収集されたトラヒック量の時系列データの二値データの時系列と疑似異常情報が示すトラヒック量の時系列データの二値データの時系列とを逐次比較し、早い時間帯から順に一致を確認することができる。例えば、図3の(a)に示すように、バーストトラヒックの発生を示すピークの値よりも前の時間帯でトラヒック量の時系列データの二値データの時系列が一致する場合に、事前にバーストトラヒックの発生を予測することができる。
【0067】
提示部18は、検出部17による異常トラヒックの検出結果を提示する。例えば、提示部18は、ネットワークNWを介して、外部のトラヒック管理サーバに対して、バーストトラヒックの発生が予測される時間帯を通知することができる。
【0068】
[異常検出装置のハードウェア構成]
次に、上述した機能を有する異常検出装置1を実現するハードウェア構成の一例について、図7を用いて説明する。
【0069】
図7に示すように、異常検出装置1は、例えば、バス101を介して接続されるプロセッサ102、主記憶装置103、通信インターフェース104、補助記憶装置105、入出力I/O106を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。さらに、異常検出装置1は、表示装置107を備える。
【0070】
プロセッサ102は、CPU、GPU、FPGA、ASICなどによって実現される。
【0071】
主記憶装置103には、プロセッサ102が各種制御や演算を行うためのプログラムが予め格納されている。プロセッサ102と主記憶装置103とによって、図1に示した第1設定部10、第2設定部11、学習部12、生成部14、収集部16、検出部17、および提示部18など異常検出装置1の各機能が実現される。
【0072】
通信インターフェース104は、異常検出装置1と各種外部電子機器との間をネットワーク接続するためのインターフェース回路である。
【0073】
補助記憶装置105は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。補助記憶装置105には、記憶媒体としてハードディスクやフラッシュメモリなどの半導体メモリを使用することができる。
【0074】
補助記憶装置105は、異常トラヒックを検出する異常検出プログラムを格納するプログラム格納領域を有する。また、補助記憶装置105は、混合ベルヌーイ分布に係る混合確率モデルの演算を行う混合確率モデル演算プログラムを格納するプログラム格納領域を有する。また、補助記憶装置105は、異常検出装置1が実行するGANの敵対的学習を行うための学習プログラムを格納するプログラム格納領域を有する。補助記憶装置105によって、図1で説明した第1記憶部13および第2記憶部15が実現される。さらには、例えば、上述したデータやプログラムなどをバックアップするためのバックアップ領域などを有していてもよい。
【0075】
入出力I/O106は、外部機器からの信号を入力したり、外部機器へ信号を出力したりする入出力装置である。
【0076】
表示装置107は、有機ELディスプレイや液晶ディスプレイなどによって構成される。表示装置107によって提示部18を実現することができる。
【0077】
[異常検出装置の動作]
次に、上述した構成を有する異常検出装置1の動作を、図8および図9のフローチャートを参照して説明する。
【0078】
図8に示すように、まず、第1設定部10は、混合確率モデルにおいて観測データXの分布を設定する(ステップS1)。具体的には、第1設定部10は、設定されたバーストトラヒックの発生パターンが反映されるように、クラスタごとに観測値xを設定する。なお、図2および図3で説明したように、クラスタの数は観測値の数、すなわちタイムスロットの数(K=D)とする。
【0079】
次に、第2設定部11は、ステップS1で設定された観測データXの分布となるように混合確率モデルのパラメータμ、πを設定する(ステップS2)。具体的には、第2設定部11は、上式(10)の混合確率モデルに、クラスタごとに設定された観測値xを有する観測データXを与えた際の、パラメータμ、πを調整して決定する。例えば、第2設定部11は、ステップS1で設定されたクラスタごとの観測値xの発生確率を考慮して、各クラスタの選ばれやすさを示す混合比率のパラメータπを設定し、さらにパラメータμ、πの値を相互に調整し決定することができる。パラメータμ、πが設定された混合確率モデルは、第1記憶部13に記憶される。
【0080】
続いて、学習部12は、学習処理を行う(ステップS3)。具体的には、学習部12は、ステップS2で設定されたパラメータμ、πを有する混合確率モデルを、バーストトラヒックの発生パターンを示す真の異常情報として、真の異常情報に類似する疑似異常情報を生成する生成器121と、生成器121によって生成された疑似異常情報と真の異常情報とを識別する識別器122とを有するGANの敵対的学習を行う。学習処理によって、クラスタ1~Dのそれぞれに対応するD個の学習済み生成器121’_1,・・・,121’_Dが構築され、第1記憶部13に記憶される。なお、ステップS3での学習処理の詳細は後述する。
【0081】
次に、生成部14は、ステップS3で学習部12によって構築された学習済み生成器121’を用いて疑似異常情報を生成する(ステップS4)。より詳細には、生成部14は、ステップS4において、クラスタ1~Dに対応するD個の学習済み生成器121’_1,・・・,121’_Dのそれぞれの演算を行って、疑似異常情報を生成する。その後、第2記憶部15は、ステップS4で生成された疑似異常情報を記憶する(ステップS5)。
【0082】
次に、収集部16は、通信ネットワーク上のトラヒック量の時系列データを収集する(ステップS6)。例えば、収集部16は、ネットワークNWを介して、コアネットワーク4で記録されたトラヒック量の履歴を収集することができる。続いて、検出部17は、ステップS6で収集されたトラヒック量の時系列データを、上式(5)に対応する二値データの時系列に変換する(ステップS7)。ステップS7では、基準値として設定されたトラヒック量の値に基づいて、トラヒック量の時系列データを、「設定されたトラヒック量を超える:1」および「設定されたトラヒック量を超えない:0」の二値データに変換する。
【0083】
続いて、検出部17は、ステップS5で第2記憶部15に記憶された疑似異常情報に基づいて、通信ネットワークで発生する異常トラヒックを検出する(ステップS8)。検出部17は、生成部14によって生成された疑似異常情報が示す、バーストトラヒックの発生パターンを表すトラヒック量の時系列データに対応する二値データの時系列と、ステップS6で収集部16によって収集され、さらにステップS7で変換されたトラヒック量の時系列データの二値データの時系列とが一致する場合に、異常トラヒックを検出することができる。ステップS8において検出部17は、疑似異常情報が示すトラヒック量のバーストの発生前の時間帯で、トラヒック量の時系列データに対応する二値データの時系列が一致する場合に、将来発生するバーストトラヒックを予測することができる。
【0084】
その後、提示部18は、ステップS7で検出部17による異常トラヒックの検出結果を提示する(ステップS9)。例えば、ステップS8では、提示部18は、ネットワークNWを介して、外部のトラヒック管理サーバ等に対して、バーストトラヒックの発生が予測される時間帯を通知することができる。
【0085】
次に、図9を参照し、図8で説明した異常検出装置1の学習部12による学習処理(ステップS3)を説明する。図9に示す学習処理の例では、学習部12は、1~D個のクラスタごとの真の異常情報を繰り返し学習する。まず、学習部12は、真の異常情報を訓練データ124として識別器122に入力し、真の異常情報を真の異常情報(y=1)と識別するように、識別器122のパラメータw,θを学習し、更新する(ステップS20)。
【0086】
図4の学習部12のブロック図に示すように、図8のステップS2で設定されたパラメータμ、πを有する混合確率モデルは、バーストトラヒックの発生パターンを示す真の異常情報であり、識別器122を学習する際の訓練データ124として用いられる。ステップS20では、まず、真の異常情報として、クラスタ1~クラスタDのうち、クラスタ1の1~D個の観測値xを訓練データ124として用いる。
【0087】
ステップS20において、学習部12は、例えば、誤差逆伝搬法などを用いて識別器122に真の異常情報を学習させることができる。ステップS20により、クラスタ1の真の異常情報を真の異常情報と識別することができる識別器122が事前に構築される。
【0088】
次に、学習部12は、ガウス雑音を発生し、発生したガウス雑音のランダムなベクトルを生成器121に入力として与える(ステップS21)。続いて、生成器121は、与えられたガウス雑音に基づいて、入力zと重みパラメータw,θの積和演算および活性化関数によるしきい値処理を行い、疑似異常情報G(z)を生成する(ステップS22)。ステップS22では、図4に示すように、学習部12は、D個の生成器121_1,・・・,121_Dの各々で生成された1~D個の出力を合成して(図4に示す点a)、1つの疑似異常情報G(z)を生成する。
【0089】
次に、学習部12は識別器122の学習を行う。識別器122の学習は、生成器121のパラメータw,θを固定して行われる。まず、学習部12は、図8のステップS2で設定されたパラメータμ、πを有する混合確率モデルである、真の異常情報を訓練データ124として識別器122に入力として与える。そして、学習部12は、上式(12)の目的関数Eが最大となるように、誤差逆伝搬法などによりパラメータw,θを更新する(ステップS23)。なお、訓練データ124のラベルは1(真の異常情報)が設定されている。ステップS23では、まず、学習部12は、D個のクラスタ1~クラスタDのうちのクラスタ1の1~D個の観測値xを真の異常情報として用いて、識別器122を学習する。
【0090】
次に、学習部12は、ステップS22で生成器121によって生成された疑似異常情報を識別器122に入力として与え、上式(12)の目的関数Eが最大となるように、誤差逆伝搬法などによりパラメータw,θを更新する(ステップS24)。すなわち、ステップS23およびステップS24では、上式(12)の目的関数Eを最大にするために、第1項はD(w,θ)=1が出力され、第2項はD(G(w,θ),w,θ)=0となるように最適化が行われる。なお、訓練データ124には、ラベルは0(疑似異常情報)が設定されている。ステップS24では、D個の生成器121_1,・・・,121_Dの各々で生成され、合成された1つの疑似異常情報G(z)を用いて、識別器122を学習する。
【0091】
ステップS23およびステップS24での識別器122の学習は、図4に示す学習部12のブロック図において、識別器122からの出力123に基づいて、目的関数Eのブロック125で識別器誤差が算出され、その後、識別器122へ誤差逆伝搬されることを示す破線の矢印に対応する。
【0092】
次に、学習部12は生成器121(生成器121_1,・・・,121_D)の学習を行う。生成器121の学習では、識別器122のパラメータが固定されて行われる。学習部12は、ランダムなガウス雑音を生成器121に与えた際に疑似異常情報が生成されるように生成器121を学習する。具体的には、学習部12は、上式(12)の目的関数Eを最小とするために、誤差逆伝搬法などによりパラメータw,θを更新する(ステップS25)。
【0093】
ステップS25での学習は、図4の学習部12のブロック図において、生成器121へ誤差逆伝搬されることを示す破線の矢印のフローに対応する。すなわち、ステップS25は、図4の生成器121で生成された疑似異常情報が識別器122に入力され、その出力123から目的関数Eのブロック125で生成器誤差が算出され、さらには、生成器121へ誤差逆伝搬される破線矢印のフローに対応する。
【0094】
その後、目的関数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までの処理が繰り返される。
【0095】
その後、クラスタ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に移行する。
【0096】
以上説明したように、本実施の形態に係る異常検出装置1によれば、バーストトラヒックの発生を混合ベルヌーイ分布によりモデル化し、疑似的に発生させたバーストトラヒックの発生パターンを表す観測データXの分布となるようにパラメータμ、πを設定した混合確率モデルをGANの敵対的学習での真のデータとして用いる。さらに、敵対的学習により構築された学習済み生成器121’によって生成された疑似異常情報をバーストトラヒックの発生パターンとしてデータベース化し、収集された実際のトラヒック量の時系列データが、データベースのバーストトラヒックの発生パターンに一致する場合、バーストトラヒックを検出する。そのため、大量の過去のバーストトラヒックのデータを用いることなく、バーストトラヒックを検出することができる。
【0097】
また、本実施の形態に係る異常検出装置1によれば、バーストトラヒックの発生パターンが反映されたパラメータμ、πが設定された混合確率モデルを、GANの敵対的学習での真のデータである真の異常情報として用い、真の異常情報に類似する疑似異常情報、すなわち、真の異常情報とは必ずしも一致しない疑似異常情報を生成する生成器121を学習する。そのため、GANの敵対的学習を行うことにより、混合ベルヌーイ分布に従う混合確率モデルの潜在変数の学習を行うことができる。
【0098】
また、本実施の形態に係る異常検出装置1によれば、トラヒック量が設定された値を超えるか否かを混合ベルヌーイ分布の各クラスタの観測値とするので、バーストトラヒックの発生にみられる短時間にトラヒック量が急増する頻度やパターンをクラスタごとに指定することができる。そのため、バーストトラヒックの発生パターンを詳細に設定し、より効果的なバーストトラヒックの検出が可能となる。
【0099】
また、本実施の形態に係る異常検出装置1によれば、学習済み生成器121’によって生成された疑似異常情報が示すトラヒック量の時系列データと、収集された実際のトラヒック量の履歴との比較を行うため、将来発生するバーストトラヒックを予測することが可能となる。
【0100】
なお、説明した実施の形態では、第1設定部10が、各クラスタの1~D個の観測値において、「設定されたトラヒック量を超える:1」となる時間帯、あるいは「設定されたトラヒック量を超えない:0」となる時間帯を設定し、さらには各観測値の発生確率を設定する場合について説明した。また、第2設定部11が、第1設定部10による設定に基づいて混合比率のパラメータπを設定し、さらに、観測値の発生確率を示すパラメータμと混合比率のパラメータπとを相互に調整し、パラメータμ、πを決定する場合について説明した。しかし、第1設定部10は、観測データXにおいて、各クラスタの1~D個の観測値の具体的な二値の値を設定し、第2設定部11が、各観測値の発生確率を設定し、パラメータμ、πを相互に調整する構成としてもよい。
【0101】
以上、本発明の異常検出装置、および異常検出方法における実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
【符号の説明】
【0102】
1…異常検出装置、2…通信端末、3…基地局、4…コアネットワーク、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によって構築された学習済み生成器を用いて疑似異常情報を生成する生成部14と、生成部14によって生成された疑似異常情報に基づいて、通信ネットワークで発生する異常トラヒックを検出する検出部17とを備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9