(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-26
(45)【発行日】2023-02-03
(54)【発明の名称】通信データからの異常デバイス検出
(51)【国際特許分類】
G06F 11/30 20060101AFI20230127BHJP
G06F 21/55 20130101ALI20230127BHJP
G06N 3/02 20060101ALI20230127BHJP
H04L 41/0631 20220101ALI20230127BHJP
H04L 41/16 20220101ALI20230127BHJP
【FI】
G06F11/30 140A
G06F21/55 320
G06N3/02
H04L41/0631
H04L41/16
(21)【出願番号】P 2020570468
(86)(22)【出願日】2019-09-11
(86)【国際出願番号】 US2019050549
(87)【国際公開番号】W WO2020060814
(87)【国際公開日】2020-03-26
【審査請求日】2020-12-17
(32)【優先日】2018-09-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】ゾング、 ボ
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】タン、 ルーアン
(72)【発明者】
【氏名】ニ、 ジンチャオ
【審査官】久保 光宏
(56)【参考文献】
【文献】米国特許出願公開第2018/0306609(US,A1)
【文献】特表2019-506739(JP,A)
【文献】仲宗根 一成(外2名),「機械学習を用いたDNSクエリ/応答のログ解析による悪性端末検出手法の提案」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2019年02月25日,Vol.118, No.466,第271~276頁,ISSN: 2432-6380.
【文献】浦川 侑之介(外2名),「ペイロードの特徴量に注目した未知のネットワーク異常検出」,コンピュータセキュリティシンポジウム2018論文集,Vol.2018, No.2,日本,[online], 情報処理学会,2018年10月25日,第1038~1045頁,[令和4年7月1日検索], インターネット, <URL: http://id.nii.ac.jp/1001/00192152/>,ISSN: 1882-0840.
【文献】福田 健介,「インターネットバックボーントラフィックにおける異常検出」,コンピュータソフトウェア,日本,一般社団法人 日本ソフトウェア科学会,2013年04月25日,Vol.30, No.2,第23~32頁,ISSN: 0289-6540.
【文献】瀧本 達也(外1名),「IoT機器に特化したアノマリ型侵入検知システムの提案」,コンピュータセキュリティシンポジウム2018論文集,Vol.2018, No.2,日本,[online], 情報処理学会,2018年10月25日,第443~447頁,[令和4年7月1日検索], インターネット, <URL: http://id.nii.ac.jp/1001/00192069/>,ISSN: 1882-0840.
【文献】今井 康平(外2名),「シグネチャ型IDSを考慮したトラフィック特徴量のクラスタリングに基づく未知の異常検出」,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2015年02月24日,Vol.114, No.489,第7~12頁,ISSN: 0913-5685.
【文献】Xiaojun Zhou, et al.,"Inside the Closed World: User and Device Profile Analytics for SCADA Security",MATEC Web of Conferences,[online],2018年06月19日,Vol.173 (SMIMA 2018),Pages 1-9,[令和4年6月30日検索], インターネット, <URL: https://www.matec-conferences.org/articles/matecconf/abs/2018/32/matecconf_smima2018_03039/matecconf_smima2018_03039.html>,Article Number: 03039, <DOI: https://doi.org/10.1051/matecconf/201817303039>, eISSN: 2261-236X.
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/30-11/34
H04L41/00-43/55
G06N3/00-99/00
G06F21/55-21/56
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
デバイス挙動解析のための異種特徴統合(HFIDBA)を実施するための方法であって、
複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現すること(620)と、
各デバイスの挙動を表現するために前記ベクトルのシーケンスから少なくとも1つの静的特徴、少なくとも1つの時間的特徴、および少なくとも1つの深層埋め込み特徴を抽出すること(630)と、
プロセッサデバイスによって、前記複数のデバイスのそれぞれ
が通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現され、前記静的特徴および前記時間的特徴および前記深層埋め込み特徴が含まれるベクトル表現に基づいてデバイスの状態を判定すること(650)とを含む方法。
【請求項2】
前記デバイスの状態を判定することは、さらに、
前記デバイスにて異常を検出することに基づいて、デバイスが所定の時間内に故障する可能性があるかどうかを判定することを含む、請求項1に記載の方法。
【請求項3】
前記複数のデバイスのそれぞれを、前記通信のためのベクトルのシーケンスおよび前記デバイスプロファイルのための別個のベクトルとして表現することは、さらに、
複数のデバイスのそれぞれについて、通信のシーケンスを符号化するシーケンスベクトルとして各デバイスを表現するシーケンスデータ構築を実行することと、
前記複数のデバイスのそれぞれについて、デバイスプロファイルベクトルとしてデバイスプロファイルデータを表現することとを含む、請求項1に記載の方法。
【請求項4】
前記ベクトルのシーケンスから前記少なくとも1つの静的特徴、前記少なくとも1つの時間的特徴、および前記少なくとも1つの深層埋め込み特徴を抽出することは、さらに、
前記複数のデバイスのそれぞれについて、少なくとも1つの所定のパターンを使用して、前記少なくとも1つの静的特徴および前記少なくとも1つの時間的特徴を抽出することを含む、請求項1に記載の方法。
【請求項5】
前記複数のデバイスのそれぞれを、前記通信のためのベクトルのシーケンスおよび前記デバイスプロファイルのための別個のベクトルとして表現することは、さらに、
前記複数のデバイスのそれぞれについて、深層埋め込み処理に基づいて少なくとも1つの深層埋め込み特徴を導出することと、
前記複数のデバイスのそれぞれについて、前記少なくとも1つの静的特徴、前記少なくとも1つの時間的特徴、および前記少なくとも1つの深層埋め込み特徴に基づいてベクトルのセットを決定することとを含む、請求項1に記載の方法。
【請求項6】
前記深層埋め込み処理は、ドメイン知識または所定のパターンを含まない、請求項5に記載の方法。
【請求項7】
前記複数のデバイスのそれぞれの前記ベクトル表現に基づいて、前記デバイスの状態を判定することは、さらに、
前記ベクトル表現に基づいて、教師なし異常検出を実行することを含む、請求項1に記載の方法。
【請求項8】
教師なし異常検出を実行することは、さらに、
異常を検出するために、ノイズを伴うアプリケーションの密度ベースの空間クラスタリング(DBSCAN)と、分離フォレストと、ワンクラスサポートベクトルマシンとの少なくとも1つを使用することを含む、請求項
7に記載の方法。
【請求項9】
前記通信のそれぞれは、通信日、通信量、および通信タイプに関する情報を有する通信記録を含む、請求項1に記載の方法。
【請求項10】
前記少なくとも1つの静的特徴が、平均と、中央値と、分散とのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項11】
デバイス挙動解析のための異種特徴統合(HFIDBA)を実施するためのコンピュータシステムであって、
メモリデバイスに動作可能に結合されたプロセッサデバイスを含み、前記プロセッサデバイスは、
複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現し(420)、
各デバイスの挙動を表現するために前記ベクトルのシーケンスから少なくとも1つの静的特徴、少なくとも1つの時間的特徴、および少なくとも1つの深層埋め込み特徴を抽出し(430)、
前記複数のデバイスのそれぞれ
が通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現され、前記静的特徴および前記時間的特徴および前記深層埋め込み特徴が含まれるベクトル表現に基づいてデバイスの状態を判定する(440)ように構成されたコンピュータシステム。
【請求項12】
前記デバイスの状態を判定するとき、前記プロセッサデバイスは、さらに、
前記デバイスにて異常を検出することに基づいて、所定の時間内にデバイスが故障する可能性があるかどうかを判定するように構成される、請求項
11に記載のシステム。
【請求項13】
前記複数のデバイスのそれぞれを、前記通信のためのベクトルのシーケンスおよび前記デバイスプロファイルのための別個のベクトルとして表現する場合、前記プロセッサデバイスは、さらに、
複数のデバイスのそれぞれについて、通信のシーケンスを符号化するシーケンスベクトルとして各デバイスを表現するシーケンスデータ構築を実行し、
前記複数のデバイスのそれぞれについて、デバイスプロファイルベクトルとしてデバイスプロファイルデータを表現するように構成される、請求項
11に記載のシステム。
【請求項14】
前記少なくとも1つの静的特徴、前記少なくとも1つの時間的特徴、および前記少なくとも1つの深層埋め込み特徴を前記ベクトルのシーケンスから抽出するとき、前記プロセッサデバイスは、さらに、
前記複数のデバイスのそれぞれについて、少なくとも1つの所定のパターンを使用して、前記少なくとも1つの静的特徴および前記少なくとも1つの時間的特徴を抽出するように構成される、請求項
11に記載のシステム。
【請求項15】
前記複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現する場合、前記プロセッサデバイスは、さらに、
前記複数のデバイスのそれぞれについて、深層埋め込み処理に基づいて、少なくとも1つの
深層埋め込み特徴を導出し、
前記複数のデバイスのそれぞれについて、少なくとも1つの静的特徴、少なくとも1つの時間的特徴、および少なくとも1つの深層埋め込み特徴に基づいて、ベクトルのセットを決定するように構成される、請求項
11に記載のシステム。
【請求項16】
前記深層埋め込み処理は、ドメイン知識または所定のパターンを含まない、請求項
15に記載のシステム。
【請求項17】
前記複数のデバイスのそれぞれの前記ベクトル表現に基づいて、前記デバイスの状態を判定するとき、前記プロセッサデバイスは、さらに、
前記ベクトル表現に基づいて、教師なし異常検出を実行するように構成される、請求項
11に記載のシステム。
【請求項18】
教師なし異常検出を実行するとき、前記プロセッサデバイスは、さらに、
異常を検出するために、ノイズを伴うアプリケーションの密度ベースの空間クラスタリング(DBSCAN)と、分離フォレストと、ワンクラスサポートベクトルマシンとの少なくとも1つを使用するように構成される、請求項
17に記載のシステム。
【請求項19】
デバイス挙動分析のための異種
特徴統合(HFIDBA)を実現するためのコンピュータプログラムであって、
複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスとして、およびデバイスプロファイルのための別個のベクトルとして表現すること(620)と、
各デバイスの挙動を表現するためにベクトルのシーケンスから少なくとも1つの静的特徴、少なくとも1つの時間的特徴、および少なくとも1つの深層埋め込み特徴を抽出すること(630)と、
前記複数のデバイスのそれぞれ
が通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現され、前記静的特徴および前記時間的特徴および前記深層埋め込み特徴が含まれるベクトル表現に基づいてデバイスの状態を判定する(650)こととを含む方法をコンピュータデバイスに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2018年9月18日に出願された米国仮特許出願第62/732,633号、および2019年9月6日に出願された米国特許出願第16/562,755号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、深層学習に関し、より詳細には、コンピューティングシステムにおけるデバイス故障を予測するための深層学習の適用に関する。
関連技術の説明
【0003】
深層学習は、人工ニューラルネットワークに基づく機械学習方法である。深層学習アーキテクチャは、コンピュータビジョン、スピーチ認識、自然言語処理、オーディオ認識、ソーシャルネットワークフィルタリング、機械翻訳、バイオインフォマティクス、ドラッグデザイン、医療画像解析、材料検査およびボードゲームプログラムなどを含む分野に適用することができる。深層学習は、教師あり、半教師あり、または教師なしでも良い。
【発明の概要】
【0004】
本発明の一態様によれば、デバイス挙動解析のための異種特徴統合(HFIDBA)を実施するための方法が提供される。この方法は、複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスとして、およびデバイスプロファイルのための別個のベクトルとして表現することを含む。この方法はまた、各デバイスの挙動を表現するために、ベクトルのシーケンスから静的特徴、時間的特徴、および深層埋め込み特徴を抽出することを含む。この方法は、プロセッサデバイスによって、複数のデバイスのそれぞれのベクトル表現に基づいてデバイスの状態を判定することをさらに含む。
【0005】
本発明の別の態様によれば、デバイス挙動解析のための異種特徴統合(HFIDBA)を実施するためのシステムが提供される。システムは、メモリデバイスに動作可能に結合されたプロセッサデバイスを含む。プロセッサデバイスは、複数のデバイスのそれぞれを、通信のためのベクトルのシーケンスとして、およびデバイスプロファイルのための別個のベクトルとして表現する。プロセッサデバイスはまた、各デバイスの挙動を表現するために、ベクトルのシーケンスから静的特徴、時間的特徴、および深層埋め込み特徴を抽出する。プロセッサデバイスはまた、複数のデバイスのそれぞれのベクトル表現に基づいてデバイスの状態を判定する。
【0006】
これらおよび他の特徴および利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0007】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0008】
【
図1】本発明の一実施形態によるニューラルネットワークの一般化された図である。
【0009】
【
図2】本発明の一実施形態による、人工ニューラルネットワーク(ANN)アーキテクチャの図である。
【0010】
【
図3】本発明による、デバイス挙動解析のための異種特徴統合(HFIDBA)を実施するための環境を示すブロック図である。
【0011】
【
図4】本発明によるHFIDBAを実施するシステムを示すブロック図である。
【0012】
【
図5】本発明の一実施形態によるシーケンスデータ構築の処理を示すブロック図である。
【0013】
【
図6】本発明の一実施形態による挙動特徴抽出の処理を示すブロック図である。
【0014】
【
図7】本発明の一実施形態による、異常デバイス検出の処理を示すブロック図である。
【0015】
【
図8】本発明によるHFIDBAを実施する方法を示すフロー図である。
【発明を実施するための形態】
【0016】
本発明の実施形態によれば、分散コンピュータシステムにおいてサーバ故障予測を実行するためのデバイス挙動解析のための異種特徴統合(HFIDBA)のためのシステムおよび方法が提供される。ここでは、デバイスはサーバである。サーバにインストールされているエージェントは、通信データとプロファイルデータとを収集し、通信データとプロファイルデータをデータベースに格納する。HFIDBAを実装するシステムは、データベースを介して通信データおよびプロファイルデータにアクセスし、履歴データに基づいて予測モデルを構築し、将来のサーバ故障イベントを予測し、予測結果をシステム管理者などのエンドユーザに送信する。
【0017】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、または、ハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実施される。
【0018】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。媒体は、半導体または固体ステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【0019】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体またはデバイスがコンピュータによって読み取られるときに、コンピュータの動作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体またはデバイス(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【0020】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
【0021】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なネットワークアダプタのタイプの一例に過ぎない。
【0022】
図1を参照すると、ニューラルネットワークの一般化された図が示される。
【0023】
人工ニューラルネットワーク(ANN)は、脳のような生体神経系に刺激される情報処理システムである。ANNの重要な要素は、情報処理システムの構造であり、これは、特定の問題を解決するために並列に動作する多くの高度に相互接続された処理要素(「ニューロン」と呼ばれる)を含む。ANNはさらに、ニューロン間に存在する重みの調整を含む学習を用いて、使用中に訓練される。ANNは、そのような学習プロセスを介して、パターン認識またはデータ分類などの特定のアプリケーションのために構成される。
【0024】
ANNは、複雑または不正確なデータから意味を導出する能力を示し、パターンを抽出し、人間または他のコンピュータベースのシステムによって検出するには複雑すぎる傾向を検出するために使用することができる。ニューラルネットワークの構造は、一般に、1つまたは複数の「隠れた」ニューロン104に情報を提供する入力ニューロン102を有する。入力ニューロン102と隠れニューロン104との間の接続108は重み付けされ、次に、これらの重み付けされた入力は、複数層間の重み付けされた接続108と共に、隠れニューロン104内の何らかの関数に従って隠れニューロン104によって処理される。隠れニューロン104、ならびに異なる機能を実行するニューロンの任意の数の層が存在し得る。畳み込みニューラルネットワーク、最大出力ネットワーク等のような異なるニューラルネットワーク構造も存在する。最後に、出力ニューロン106のセットは、隠れニューロン104の最後のセットからの重み付けされた入力を受け入れ、処理する。
【0025】
これは、情報が入力ニューロン102から出力ニューロン106に伝播する「フィードフォワード」計算を表す。フィードフォワード計算が完了すると、出力は訓練データから利用可能な所望の出力と比較される。訓練データに対する誤差は、「フィードバック」計算で処理され、隠れニューロン104および入力ニューロン102は、出力ニューロン106から後方に伝播する誤差に関する情報を受け取る。一旦、逆方向エラー伝播が完了すると、重み付けされた接続108が受信された誤差を考慮するように更新されて、重み付け更新が実行される。これは、単に1つの種類のANNを表す。
【0026】
次に、同一の数字が同一または類似の要素を表し、最初に
図2を参照すると、人工ニューラルネットワーク(ANN)アーキテクチャ200が示されている。本アーキテクチャは純粋に例示的なものであり、代わりに他のアーキテクチャまたはタイプのニューラルネットワークを使用することができることを理解されたい。本明細書で説明されるANN実施形態は、高レベルの一般性でニューラルネットワーク計算の一般原理を示すことを意図して含まれており、いかなる形でも限定するものと解釈されるべきではない。
【0027】
さらに、以下に記載されるニューロンの層およびそれらを接続する重みは、一般的な様式で記載され、任意の適切な程度またはタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えられ得る。例えば、層は、畳み込み層、プーリング層、完全に接続された層、ストップマックス層、または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することができ、相互接続のより複雑な形態のために重りを省略することができる。
【0028】
フィードフォワード動作中、1組の入力ニューロン202はそれぞれ、重み204のそれぞれの行に並列に入力信号を供給する。以下に説明するハードウェアの実施形態では、重み204は、重み出力が、重み204からそれぞれの隠れニューロン206に渡されて、隠れニューロン206への重み付けされた入力を表すように、それぞれの設定可能な値を有する。ソフトウェアの実施形態では、重み204は、関連する信号に対して乗算される係数値として単純に表されてもよい。各重みからの信号は列ごとに加算され、隠れニューロン206に流れる。
【0029】
隠れニューロン206は、重み204の配列からの信号を使用して、何らかの計算を実行する。次に、隠れニューロン206は、それ自体の信号を別の重み204の配列に出力する。この配列は、同じ方法で、重み204の列が、それぞれの隠れニューロン206から信号を受け取り、行方向に加算し、出力ニューロン208に供給される重み付けされた信号出力を生成する。
【0030】
配列および隠れニューロン206の追加の層を介在させることによって、任意の数のこれらの段階を実施できることを理解されたい。また、いくつかのニューロンは、配列に一定の出力を提供する定常ニューロン209であってもよいことに注意すべきである。定常ニューロン209は、入力ニューロン202および/または隠れニューロン206の間に存在することができ、フィードフォワード動作中にのみ使用される。
【0031】
逆伝搬の間、出力ニューロン208は、重み204の配列を横切って戻る信号を提供する。出力層は、生成されたネットワーク応答を訓練データと比較し、誤差を計算する。誤差信号を誤差値に比例させることができる。この実施例では、重み204の行は、それぞれの出力ニューロン208から並列に信号を受け取り、列ごとに加算して隠れニューロン206に入力を提供する出力を生成する。隠れニューロン206は、重み付けされたフィードバック信号をそのフィードフォワード計算の導関数と結合し、フィードバック信号を重み204のそれぞれの列に出力する前に誤差値を記憶する。この逆伝搬は、すべての隠れニューロン206および入力ニューロン202が誤差値を記憶するまで、ネットワーク200全体を通って進行する。
【0032】
重み更新中、記憶された誤差値は、重み204の設定可能な値を更新するために使用される。このようにして、重み204は、ニューラルネットワーク200をその工程における誤差に適応させるように訓練され得る。3つの動作モード、フィードフォワード、逆伝搬、および重み更新は、互いに重複しないことに留意されたい。
【0033】
畳み込みニューラルネットワーク(CNN)は、少なくとも1つの畳み込み層を有するANNのサブクラスである。CNNは、入力層および出力層、ならびに複数の隠れ層からなる。CNNの隠れ層は畳み込み層、整流線形ユニット(RELU)層(例えば活性化関数)、プーリング層、完全接続層および規格化層から成る。畳み込み層は、入力に畳み込み演算を適用し、その結果を次の層に渡す。畳み込みは、視覚刺激に対する個々のニューロンの応答をエミュレートする。
【0034】
CNNは、視覚画像の分析に適用することができる。CNNは、ローカル情報(例えば、画像内の隣接画素またはテキスト内の周囲の単語)を捕捉し、モデルの複雑さを低減することができる(例えば、より速い訓練、より少ない試料の必要性、およびオーバーフィッティングの機会の低減を可能にする)。
【0035】
CNNは、最小限の前処理を必要とするように設計された多層パーセプトロンの変形を使用する。CNNは、それらの共有重みアーキテクチャおよび変換不変特性に基づいて、シフト不変または空間不変人工ニューラルネットワーク(SIANN)としても知られている。CNNは、画像および映像認識、推薦システム、画像分類、医用画像解析、および自然言語処理における用途に使用することができる。
【0036】
ここで
図3を参照すると、例示的な実施形態による、分散コンピュータシステムにおけるデバイス挙動解析のための異種特徴統合(HFIDBA)の方法を実施するためのシステム300を示すブロック図が示されている。
【0037】
HFIDBAシステム330は、サーバ305(サーバ305-1,305-2,…,305-N-l~305-Nとして示される)として実行するデバイスを含む分散コンピュータシステムにおいて、サーバ故障予測を実行するモジュール、要素、デバイスおよび処理を実装する。サーバ305にインストールされたエージェント(
図3には別途示されていない)は、サーバ305の通信データおよびプロファイルデータを収集し、通信データおよびプロファイルデータをデータベース320に記憶する(315)。HFIDBAシステム330は、データベース320を介して通信データおよびプロファイルデータにアクセスし、履歴データに基づいて予測モデルを構築し、将来のサーバ故障イベントの予測を行い、
図4~
図8に関して以下で説明するように、システム管理者などのエンドユーザ340に予測結果を送信する。
【0038】
ここで
図4を参照すると、HFIDBAシステム330は、通信履歴を有するデバイスデータ(明確にするために以下「要素」と呼ぶが、要素、モジュール、またはデバイスとして実装することができる)410、シーケンスデータ構築(要素、モジュール、またはデバイス)420、挙動特徴抽出(要素、モジュール、またはデバイス)430、デバイス故障予測(要素、モジュール、またはデバイス)440、および予測結果(要素、モジュール、またはデバイス)450を含むことができる。
【0039】
通信履歴要素を有するデバイスデータ410は、デバイスプロファイルデータおよび関連付けられた通信履歴を含む(またはそれへのアクセスを提供する)。例えば、通信履歴要素を有するデバイスデータ410は、データベース320とのインターフェースを提供することができる。
【0040】
通信データは、個々のデバイス305の通信履歴を含む。一般に、各通信記録は、この通信がいつ行われたか、どのくらいのデータが含まれていたか、および通信タイプ、この通信の目的など、データおよび通信の多くの他の記述に関する情報を含む。各通信には、通信日付(時間)、通信量、通信種別に関する情報を含む通信記録を含むことができる。
【0041】
デバイスプロファイルデータは、デバイスタイプ、製造業者などのデバイスに関連する情報を含む。
【0042】
シーケンスデータ構築要素420は、各デバイス305を表現するために使用されるシーケンス(例えば、データ構造)を決定する。シーケンスデータ構築要素420は、通信データとデバイスプロファイルデータとの両方を符号化する各デバイス305のためのシーケンスを構築することができる。シーケンスは、
図5に関して以下で詳細に説明するように、符号化された通信データおよびデバイスプロファイルデータのようなデータを表現するために使用されるデータ構造として格納(または操作/送信/受信/等)することができる。
【0043】
挙動特徴抽出要素430は、シーケンスデータ構築要素420によって構築されたシーケンスから挙動特徴を抽出し、
図6に関して以下で詳細に説明するように、特徴ベクトルによって各企業を表す。
【0044】
デバイス故障予測440は、
図7に関して以下に詳述されるように、ベクトルデータ(例えば、異常デバイスに関連するパターンのためのカスタマイズされた異常検出技術、ノイズを伴うアプリケーションの密度ベースの空間クラスタリング(DBSCAN)、分離フォレスト、ワンクラスのサポートベクトルマシンなど)のための異常デバイス検出技術を実装することによって、データサンプルを準備し、異常を発見する。デバイス故障は、デバイスが動作しなくなる危険性を含むことができる。
【0045】
あるいは、デバイス故障予測440は、サイバーセキュリティリスクなどを発見するために実装され得る。サイバーセキュリティのシナリオでは、デバイス挙動分析の概念を適用することもできる。例えば、ネットワーク侵入検出の場合、各デバイスは時間の経過とともに異なる種類のパケットを受信し、一連のパケットイベントを形成する。デバイス挙動分析を適用することにより、HFIDBAシステム330は、ネットワーク管理者の注意に値する悪意のある侵入である可能性があるパケットイベントに関して、異常な挙動を発見することができる。例えば、1つの通常のデバイスが通常、平均到着間隔時間100msをもつ「開始」と「終了」パケットのペアを受信するとき、攻撃を受ける1つのデバイスは、平均到着間隔時間10msをもつ「終了」パケットがない「開始」パケットを受信する可能性があった。HFIDBAシステム330は、挙動のこれらの差を検出し、システム管理者に通知を提供する(および/または、疑わしいデバイスによるアクセスを制限するなど、事前にプログラムされたアクションを実行する)ことができる。
【0046】
予測結果450は、エンドユーザ340に予測を報告し、HFIDBAシステム330によって提供される所定の応答に基づいて、検出された挙動に対する所定の応答を実施する。例示的な実施形態では、予測結果450は、予測結果を決定し、報告する。
【0047】
HFIDBAシステム330は、これらの異常デバイスを検出するための希少な訓練データを回避するように、コンピューティングアーキテクチャにおいて異常デバイスの検出を実施する。例示的な実施形態は、訓練フェーズまたは異常なアクティビティのパターンの事前知識なしに、異常なデバイスを検出するための教師なし処理を実装することができる。さらに、HFIDBAシステム330は、例えば、ドメインエキスパートの手動検証によって決定される、異常デバイスに関連付けられる(または、異常デバイスによって生成される)傾向がある所定のタイプの挙動に関する知識を組み込むことができる。HFIDBAシステム330は、試験データに関する最低限の(例えば、少しまたは全く無いなど)事前知識で、教師なしの設定(疑わしいデバイスに関連する挙動のタイプの専門家のガイダンスおよび/または知識を必要とする教師ありの設定とは対照的に)での検出を可能にする。
【0048】
HFIDBAシステム330は、次元性の制限を克服する方法で、効果的な検出のために特徴工学を実行する。HFIDBAシステム330は、無関係または雑音の多い多くの特徴を有するデータを含む、データの高次元性に対する感度を低減(例えば、軽減または無効化)することができる。HFIDBAシステム330は、(教師ありの方法/処理とは対照的に)特徴を選択する能力がより弱い(または限られているなど)教師なしの処理を有する異常なデバイスを検出するように実装することができる。
【0049】
HFIDBAシステム330は、隠れた挙動特徴を回復することができる。HFIDBAシステム330は、生の通信データを分析して、異常なデバイスを特徴付けるための有用な特徴を得て、それらを正常なデバイスから区別することができる。HFIDBAシステム330は、通信の履歴全体において、ローカルであり、埋め込まれている(例えば、隠されている、難読化されているなど)有用な挙動特徴を識別することができる。
【0050】
HFIDBAシステム330は、デバイスデータをそれらの通信履歴と共に入力として受け取り、複数の視点から特徴抽出を実行し(例えば、エキスパートガイド学習方法と深層学習方法との一方または両方を使用して)、抽出された特徴に基づいて異常検出を実行し、検出結果を報告する一般的なフレームワークを実装する。
【0051】
HFIDBAシステム330は、1つのフェーズでHFIDBAを実施することができる。このフェーズでは、入力は、デバイスプロファイルおよび通信履歴を含む。HFIDBAシステム330は、各デバイスのための通信シーケンスを構築し、特徴工学と深層学習方法とのうちの(1つまたは)両方によって、シーケンスから挙動特徴を抽出する。このようにして、HFIDBAシステム330は、各デバイスをベクトルとして表現し、異常デバイスを検出するために(例えば、既製の、専用の、またはカスタム設計された)異常検出技術を利用する。
【0052】
図5は、例示的な実施形態による、シーケンスデータ構築の処理を示すブロック図である。
【0053】
図5に示すように、シーケンスデータ構築要素420は、通信データシーケンサ505およびデバイスプロファイルデータベクトル410を含む。シーケンスデータ構築要素420は、例えば、データベース320などから、入力デバイスプロファイルおよび通信履歴を受信する。シーケンスデータ構築要素420は、各デバイスを、通信のためのベクトルのシーケンスおよびデバイスプロファイルのための別個のベクトルとして表現する。
【0054】
通信データシーケンサ505は、通信データからシーケンスを決定する。通信データシーケンサ505は、通信データ内の通信、および/または通信を拒否(またはキャンセル)する要求を含むこともできる。通信データシーケンサ505は、通信のシーケンス<e1,e2,・・・,en>として各デバイスを表現し、ここでeiはイベントであり、通信の情報を記録する。例示的な実施形態では、通信データシーケンサ505は、通信属性とプロファイル属性との両方を符号化するために、各イベントについて多次元ベクトルを使用する。通信データシーケンサ505は、通信の時間的順序に一致する各シーケンスにおけるイベント(または通信)間の順序を決定することができることに注意されたい。
【0055】
デバイスプロファイルデータベクトル410は、例示的な実施形態では、時間不変または静的であるデバイスプロファイルデータを決定(またはアクセス、識別など)することができる。したがって、デバイスプロファイルデータベクトル410は、デバイスプロファイルデータを符号化するために別個の多次元ベクトルを使用する。デバイスプロファイルデータベクトル410は、関連するデバイス間のリンクを識別することができる。
【0056】
シーケンスデータ構築要素420が実装された後、HFIDBAシステム330は、各デバイスのシーケンス(通信用)およびベクトル(デバイスプロファイル用)を決定する。
【0057】
図6は、例示的な実施形態による、挙動特徴抽出要素430によって実施される挙動特徴抽出の処理を示すブロック図である。
【0058】
図5に示すように、挙動特徴抽出要素430は、特に、静的および時間的特徴抽出(要素、デバイスまたはモジュール)520および深層埋め込み特徴抽出(要素、デバイスまたはモジュール)530を使用して、挙動特徴抽出を実施する。挙動特徴抽出要素430は、静的、時間的、および深層埋め込み特徴を抽出して、異なる観点(視点、ビューなど)から各デバイスの挙動を表現する。
【0059】
静的および時間的特徴抽出520は、関連するパターン(例えば、専門家によって発見されたパターン、HFIDBAシステム330のユーザによって提供されたパターンなど)から静的特徴および時間的特徴を導出する。
【0060】
静的および時間的特徴抽出520は、静的特徴が時間的に独立であると仮定する(または決定する)。静的特徴の時間的/シーケンス順序は、通信が時間的に独立しているので、デバイス故障予測に無関係であると判定される。この仮定(または条件)の下で、静的および時間的特徴抽出520は、ベクトルの集合と等価であるベクトルのシーケンスを決定する。この観点から、静的および時間的特徴抽出520は、各個々の次元(複数可)における平均、中央値、および分散などの統計的差異を区別するために、特徴の(例えば、豊富、多様、ラージなどの)クラスを導出する。
【0061】
静的および時間的特徴抽出520は、時間的特徴が、正常デバイスと異常デバイスとの間の異なる既存の時間的パターンを含むと仮定する(または決定する)。これらの時間的特徴を抽出するために、静的および時間的特徴抽出520は、各シーケンスを学習済みモデルパラメータに要約するために、点処理(例えば、Hawke処理、Poisson処理、手動特徴工学など)を利用する。このようにして、静的および時間的特徴抽出520は、各シーケンスをベクトルに圧縮し、各ベクトルは、基礎となる点処理によって示唆される時間的相関を示す。
【0062】
深層埋め込み特徴抽出530は、深層埋め込み処理から特徴を導出する(例えば、深層埋め込み)。深層埋め込み特徴は、予め定義された深層学習技術からの中間ベクトル表現である。これらの深層埋め込み処理は、専門家からのドメイン知識または事前定義されたパターンを必要としない(または含まないなど)。教師ありの状況と教師なしの状況との両方において、深層埋め込み処理が適用可能である。
【0063】
教師ありの状況(または設定)では、深層埋め込み特徴抽出530は、デバイスのサブセット(1つまたは複数)についてのラベル(例えば、正常および異常)があると仮定する。深層埋め込み特徴抽出530は、ラベル予測を実行するアーキテクチャを構築するために、反復ニューラルネットワークの変形(例えば、ゲート反復ユニット(GRU)および長期短期メモリ(LSTM)など)を利用することができる。このアーキテクチャでは、分類層への入力として働くベクトル表現は、デバイスの埋め込みである。デバイスの埋め込みは、データを、デバイスに関連付けられた特定のプロパティ(例えば、相対的などの概念)が距離によって表され得る特徴表現に変換することを指す。分類は、所与のデータ点のクラスを予測する処理である。分類層は、相互に排他的なクラスを有するマルチクラス分類問題に対するクロスエントロピー損失を計算する。深層分類子は、入力データを深層学習ネットワーク内の特定のカテゴリにマッピングする。したがって、シーケンスのための深層分類器が訓練されると、深層分類器は、最後の分類層を除去することによって埋め込みシステムとして働くことができる。学習済みの深層分類器が埋め込みシステムとして扱われる場合、深層埋め込み特徴抽出530は、デバイスのシーケンスデータを深層分類器へ供給し、中間ベクトル表現を出力として抽出し、これを埋め込み特徴として使用することができる。
【0064】
教師なしの状況(または設定)では、深層埋め込み特徴抽出530は、シーケンスをベクトル空間に投影するためにシーケンス用の自動エンコーダを利用することができる。自動エンコーダは、教師なしの方法で効率的なデータ符号化を学習することができる人工ニューラルネットワークの一種である。
【0065】
要約すると、例示的な実施形態によれば、挙動特徴抽出要素430は、静的および時間的特徴抽出520および深層埋め込み特徴抽出530を実施して、各シーケンスを通過させ、シーケンスの静的、時間的、および深層埋め込み特徴を生成する。各デバイスについて、挙動特徴抽出要素430は、デバイスの静的、時間的、深層埋め込み特徴を長い特徴ベクトルと連結させ、これは、
図6に関して後述するように、異常デバイスを検出するためのデバイス故障予測440で使用される。
【0066】
図7は、例示的な実施形態による、デバイス故障予測440によって実装されるようなモデル訓練を示すブロック図である。
【0067】
図7に示すように、デバイス故障予測440は、訓練データ準備(要素、デバイス、またはモジュール)540と、教師なし異常検出(要素、デバイス、またはモジュール)550とを含む。デバイス故障予測440は、デバイスのベクトル表現(
図6に関して上述したように、挙動特徴抽出要素430によって提供される)から、デバイスの状態を正常または異常として判定するまでの判定処理を自動化することができる。
【0068】
訓練データ準備540は、訓練データ準備を実行する。例えば、訓練データ準備540は、ベクトルのセットを準備することができ、そのそれぞれは、対応するデバイスのベクトル表現である。ベクトル表現は、静的、時間的、および深層埋め込み特徴を連結する長い特徴ベクトルを含むことができる。
【0069】
教師なし異常検出550は、教師なし異常検出を実施する。与えられた入力ベクトル、教師なし異常検出550は、(例えば、既製の、カスタマイズされた、独自仕様の、その他の)ベクトルの異常検出技術(例えば、DBSCAN、分離フォレスト、またはワンクラスサポートベクトルマシン)を利用して、データの集合における異常を発見することができる。異常は、所定の時間内に故障する可能性が高いデバイスとして扱われ、エンドユーザに報告され得る。異常はまた、システムによるさらなるアクション(例えば、負荷バランシング、再ルーティング、再スケジュールメンテナンスなど)を実施するために使用され得る。
【0070】
図8は、本発明による、企業パフォーマンス予測のためのGLCPPを実施するための方法600を示す流れ図である。
【0071】
ブロック610において、システム300はシーケンスデータ構築を実行する。例えば、システム300は、各通信の時間に基づくシーケンスとして通信データを表現することができる。各デバイスは、通信<e1,e2,・・・,en>のシーケンスとして表現することができ、ここで、eiはイベントであり、通信の情報を記録する。
【0072】
ブロック620において、システム300は、デバイスプロファイルデータをベクトルとして表現することができる。システム300は、デバイスプロファイルデータを別個の多次元ベクトルとして符号化することができる。
【0073】
ブロック630において、システム300は、
図6に関して上述したのと同様の方法で、関連するパターンを用いて静的および時間的特徴を抽出する。システム300は、通信がデバイス故障予測に対して時間的に独立である静的特徴を抽出することができる。システム300は、正常デバイスと異常デバイスとの間の異なる時間パターンを識別することができる。例えば、時間パターンは、一連の異なるタイプの通信などを含むことができる。1つの実施例では、正常なデバイスは、オープン→読み取り→書き込み→クローズなどの通常の通信パターンを持つことができるが、故障したデバイスは、オープン→オープン→オープンなどの異常なイベントシーケンスを生成する可能性がある。
【0074】
ブロック640で、システム300は、ドメイン知識または事前定義されたパターン(例えば、エキスパート)を含まない深層埋め込み処理から特徴を導出する。システム300は、教師ありの状況と教師なしの状況との両方において、深層埋め込み処理から特徴を導出する。
【0075】
ブロック650において、システム300は、ベクトルのセットを準備し、そのそれぞれは、
図6に関して上述したような対応するデバイスのベクトル表現である。
【0076】
ブロック660において、システム300は、教師なしの異常検出を実行する。入力ベクトルが与えられると、システム300は、ベクトル(例えば、DBSCAN、孤立フォレスト、またはワンクラスサポートベクトルマシン)の異常検出技術(例えば、既製など)を利用して、データの集合内の異常を発見することができる。システム300は、その異常を、所定の時間内に故障する可能性があるデバイスとして扱い、そのデバイスをエンドユーザに報告する。いくつかの例では、デバイスは、1週間、1ヶ月、1四半期、1年などの範囲内など、異なる予想される故障のタイムラインに基づいてグループ化することができる。
【0077】
上記は、あらゆる点において例示的かつ例示的であると理解されるべきであり、限定的ではなく、本明細書に開示される本発明の範囲は、詳細な説明から決定されるべきではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明される実施形態は、本発明の例示にすぎず、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許状によって保護されることが請求され、望まれるものは、添付の特許請求の範囲に記載されている。