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

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

▶ エヌイーシー ラボラトリーズ アメリカ インクの特許一覧

<>
  • 特許-通信データからの性能予測 図1
  • 特許-通信データからの性能予測 図2
  • 特許-通信データからの性能予測 図3
  • 特許-通信データからの性能予測 図4
  • 特許-通信データからの性能予測 図5
  • 特許-通信データからの性能予測 図6
  • 特許-通信データからの性能予測 図7
  • 特許-通信データからの性能予測 図8
  • 特許-通信データからの性能予測 図9
  • 特許-通信データからの性能予測 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-27
(45)【発行日】2022-08-04
(54)【発明の名称】通信データからの性能予測
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220728BHJP
   G06F 11/34 20060101ALI20220728BHJP
【FI】
G06N20/00
G06F11/34 147
G06F11/34 152
G06F11/34 176
【請求項の数】 20
(21)【出願番号】P 2020570437
(86)(22)【出願日】2019-09-06
(65)【公表番号】
(43)【公表日】2021-10-21
(86)【国際出願番号】 US2019049907
(87)【国際公開番号】W WO2020076444
(87)【国際公開日】2020-04-16
【審査請求日】2020-12-17
(31)【優先権主張番号】16/553,465
(32)【優先日】2019-08-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/732,624
(32)【優先日】2018-09-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】タン、 ルーアン
(72)【発明者】
【氏名】ソン、 ドンジン
(72)【発明者】
【氏名】ゾング、 ボ
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】ニ、 ジンチャオ
(72)【発明者】
【氏名】ユ、 ウェンチャオ
【審査官】久保 光宏
(56)【参考文献】
【文献】特表2019-509565(JP,A)
【文献】石橋 圭介(外5名),「ホスト間通信関係構造の時系列変化に基づく異常検出」,コンピュータセキュリティシンポジウム2007論文集(情報処理学会シンポジウムシリーズ),Vol.2007, No.10,日本,社団法人 情報処理学会,2007年10月31日,第601~606頁,ISSN: 1344-0640.
【文献】久保田 展行,「深層学習の活用を加速するIoT向けソフトウエア基盤」,日経エレクトロニクス,日本,日経BP社,2017年04月20日,2017年5月号(第1179号),第59~69頁,ISSN: 0385-1680.
【文献】Jia Li, et al.,"Predicting Path Failure In Time-Evolving Graphs",arXiv:1905.03994v2,version v2,[online], arXiv (Cornell University),2019年05月21日,Pages 1-11,[令和4年7月12日検索], インターネット, <URL: https://arxiv.org/abs/1905.03994v2>.
【文献】織田 英夫(外2名),「ハードウェア障害情報収集分析システムの概要」,情報処理学会第52回(平成8年前期)全国大会講演論文集(6),日本,社団法人 情報処理学会,1996年03月06日,第6-385及び6-386頁.
【文献】渡部 瑞枝(外2名),「ハードウェア障害情報の分析方式」,情報処理学会第52回(平成8年前期)全国大会講演論文集(6),日本,社団法人 情報処理学会,1996年03月06日,第6-389及び6-390頁.
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00-99/00
G06F11/30-11/34
H04L41/00-43/55
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
システムデバイスの故障を予測するための方法であって、
複数のデバイスのそれぞれについて少なくとも1つの時間グラフによって所定のドメインからの前記複数のデバイスに関連付けられたデバイス故障関連データを表すこと(610)と、
プロセッサデバイスによって、前記デバイス故障関連データにおける時間的相関と構造的相関との両方を捕捉する前記少なくとも1つの時間グラフからの時間グラフ特徴に基づいてベクトル表現を抽出すること(620)と、
所定のドメインにおける前記ベクトル表現および少なくとも1つのデバイス故障関連メトリックに基づいて、所定の時間内に故障すると予想される複数のデバイスのうちの少なくとも1つを予測すること(650)と、
予測されたデバイス故障メトリックを有する複数のデバイスのうちの少なくとも1つを出力すること(650)とを含む方法。
【請求項2】
前記デバイス故障関連データを表すことは、さらに、
前記プロセッサデバイスによって、訓練フェーズにおいて訓練データを使用して時間グラフ構築を実行して、少なくとも1つの第1の時間グラフを決定することと、
前記訓練フェーズにおいて前記少なくとも1つの第1の時間グラフから時間グラフ特徴抽出を実行して、少なくとも第1の特徴ベクトルを導出することとを含む、請求項1に記載の方法。
【請求項3】
前記プロセッサデバイスによって、前記少なくとも1つの時間グラフに基づいてデバイス故障予測のためのグラフ学習(SFPGL)を介して、システム故障予測のための複数のモデルを訓練することをさらに含む、請求項1に記載の方法。
【請求項4】
前記複数のモデルを訓練することは、さらに、
訓練データを準備することと、
前記訓練データに基づいて前記複数のモデルから予測モデルを学習することと、
前記複数のモデルの中から最良のモデルを見つけるためにモデル選択を実行することとを含む、請求項3に記載の方法。
【請求項5】
前記プロセッサデバイスによって、試験フェーズにおいて時間グラフ構築を実行して、少なくとも1つの第2の時間グラフを決定することと、
前記試験フェーズにおいて少なくとも1つの第2の時間グラフから時間グラフ特徴抽出を実行して、少なくとも第2の特徴ベクトルを導出することと、
少なくとも1つの第2の特徴ベクトルに基づいてデバイス故障予測を実行し、少なくとも1つの予測結果を出力することとをさらに含む、請求項1に記載の方法。
【請求項6】
前記デバイス故障関連データは、通信データおよびデバイスプロファイルデータを含み、前記試験フェーズにおいて時間グラフ構築を実行することをさらに含み、さらに、
前記通信データと前記デバイスプロファイルデータとをエンコードすることを含む、請求項5に記載の方法。
【請求項7】
時間グラフ構築を実行することは、さらに、
複数の時間粒度で少なくとも1つのマルチスケール時間グラフを生成することを含む、請求項5に記載の方法。
【請求項8】
前記少なくとも1つの第2の時間グラフから時間グラフ特徴抽出を実行することは、
生データと、統計測定値と、時間差測定値とのうちの少なくとも1つに基づいて時系列をプロファイリングすることをさらに含む、請求項5に記載の方法。
【請求項9】
前記少なくとも1つの第2の時間グラフから時間グラフ特徴抽出を実行することは、さらに、
ワンホップメトリックから構造特徴を導出することを含む、請求項5に記載の方法。
【請求項10】
前記少なくとも1つの第2の時間グラフから時間グラフ特徴抽出を実行することは、さらに、
マルチホップメトリックから構造特徴を導出することを含む、請求項5に記載の方法。
【請求項11】
少なくとも1つの時間グラフのそれぞれは、グラフ<G1~Gx>のストリームとして表され、ここで、Giは、時間tiにおけるデバイスのための通信データおよびプロファイルデータを記録するグラフである、請求項1に記載の方法。
【請求項12】
少なくとも1つの時間グラフのそれぞれのノードおよびエッジは属性に関連付けられ、ノード属性は、時間tiにおけるノードにのみ関連するすべての情報を含み、エッジ属性は、対応する通信に関連する情報を含む、請求項1に記載の方法。
【請求項13】
システムデバイスの故障を予測するためのコンピュータシステムであって、
メモリデバイスに動作可能に結合されたプロセッサデバイスを有し、前記プロセッサデバイスは、
複数のデバイスのそれぞれについての少なくとも1つの時間グラフによって、所定のドメインからの前記複数のデバイスに関連付けられたデバイス故障関連データを表し(360)、
前記デバイス故障関連データにおける時間的相関と構造的相関との両方を捕捉する前記少なくとも1つの時間グラフから時間グラフ特徴に基づいてベクトル表現を抽出し(370)、
所定のドメインにおける前記ベクトル表現および少なくとも1つのデバイス故障関連メトリックに基づいて、所定の時間内に故障すると予想される複数のデバイスのうちの少なくとも1つを予測する(380)ように構成されるコンピュータシステム。
【請求項14】
前記デバイス故障関連データを表すとき、前記プロセッサデバイスは、さらに、
訓練フェーズにおいて訓練データを使用して時間グラフ構築を実行して、少なくとも1つの第1の時間グラフを決定し、
前記訓練フェーズにおいて前記少なくとも1つの第1の時間グラフから時間グラフ特徴抽出を実行して、少なくとも第1の特徴ベクトルを導出する請求項13に記載のシステム。
【請求項15】
前記プロセッサデバイスは、さらに、
前記少なくとも1つの時間グラフに基づいて、デバイス故障予測のためのグラフ学習(SFPGL)を介して、システム故障予測のための複数のモデルを訓練するように構成される、請求項13に記載のシステム。
【請求項16】
前記複数のモデルを訓練するとき、前記プロセッサデバイスは、さらに、
訓練データを準備し、
前記訓練データに基づいて前記複数のモデルから予測モデルを学習し、
前記複数のモデルの中から最良のモデルを見つけるためにモデル選択を実行するように構成される、請求項15に記載のシステム。
【請求項17】
前記プロセッサデバイスは、さらに、
前記ベクトル表現を最良のモデルに供給することによって、デバイス故障予測を実行するように構成される、請求項16に記載のシステム。
【請求項18】
少なくとも1つの時間グラフのそれぞれは、グラフ<G1~Gx>のストリームとして表され、ここで、Giは、時間tiにおけるデバイスのための通信データおよびプロファイルデータを記録するグラフである、請求項13に記載のシステム。
【請求項19】
前記少なくとも1つの時間グラフのそれぞれのノードおよびエッジは属性に関連付けられ、ノード属性は、時間tiにおけるノードにのみ関連するすべての情報を含み、エッジ属性は、対応する通信に関連する情報を含む、請求項13に記載のシステム。
【請求項20】
コンピュータに、
複数のデバイスのそれぞれについて少なくとも1つの時間グラフによって、所定のドメインからの前記複数のデバイスに関連付けられたデバイス故障関連データを表す手順(360)
前記デバイス故障関連データにおける時間的相関と構造的相関との両方を捕捉する前記少なくとも1つの時間グラフから時間グラフ特徴に基づいてベクトル表現を抽出する手順(370)
所定のドメインにおける前記ベクトル表現および少なくとも1つの性能メトリックに基づいて、所定の時間内に故障すると予想される複数のデバイスのうちの少なくとも1つを予測する手順(380)を実行させるためのコンピュータプログラム
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2018年9月18日に出願された米国仮特許出願第62/732,624号、および2019年8月28日に出願された米国特許出願第16/553,465号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、深層学習に関し、より詳細には、デバイスの性能を予測するために深層学習を適用することに関する。
関連技術の説明
【0003】
深層学習は、人工ニューラルネットワークに基づく機械学習方法である。深層学習アーキテクチャは、コンピュータビジョン、スピーチ認識、自然言語処理、オーディオ認識、ソーシャルネットワークフィルタリング、機械翻訳、バイオインフォマティクス、ドラッグデザイン、医療画像解析、材料検査およびボードゲームプログラムなどを含む分野に適用することができる。深層学習は、教師あり、半教師あり、または教師なしでも良い。
【発明の概要】
【0004】
本発明の一態様によれば、複数のデバイスの性能を予測する方法が提供される。この方法は、所定のドメインからの複数のデバイスに関連付けられたデバイス故障関連データを、デバイスのそれぞれについての時間グラフによって表すことを含む。この方法はまた、デバイス故障関連データにおける時間的相関と構造的相関との両方を捕捉する時間グラフから時間グラフ特徴に基づいてベクトル表現を抽出することを含む。この方法はさらに、所定のドメインにおけるベクトル表現および性能メトリックに基づいて、所定の時間内に故障すると予想されるデバイスのうちの1つまたは複数を予測することを含む。
【0005】
本発明の別の態様によれば、複数のデバイスの性能を予測するためのシステムが提供される。システムは、メモリデバイスに動作可能に結合されたプロセッサデバイスを含み、プロセッサデバイスは、デバイスのそれぞれについての時間グラフによって、所定のドメインからの複数のデバイスに関連付けられたデバイス故障関連データを表すように構成される。プロセッサデバイスはまた、デバイス故障関連データにおける時間的相関と構造的相関との両方を捕捉する時間グラフから、時間グラフ特徴に基づいてベクトル表現を抽出する。プロセッサ装置はまた、所定のドメインにおけるベクトル表現および性能メトリックに基づいて、所定の時間内に故障すると予想される装置のうちの1つまたは複数を予測する。
【0006】
これらおよび他の特徴および利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0007】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0008】
図1】本発明の一実施形態によるニューラルネットワークの一般化された図である。
【0009】
図2】本発明の一実施形態による、人工ニューラルネットワーク(ANN)アーキテクチャの図である。
【0010】
図3】本発明の一実施形態による、グラフ学習によるシステム故障予測(SFPGL)のプロセスを実施するシステムを示すブロック図である。
【0011】
図4】本発明の一実施形態による、時間グラフ構築のプロセスを示すブロック図である。
【0012】
図5】本発明の一実施形態による、時間グラフ特徴抽出のプロセスを示すブロック図である。
【0013】
図6】本発明の一実施形態によるモデル訓練を示すブロック図である。
【0014】
図7】本発明の一実施形態による、試験フェーズにおける時間グラフ構築のプロセスを示すブロック図である。
【0015】
図8】本発明の一実施形態による、試験フェーズにおける時間グラフ特徴抽出のプロセスを示すブロック図である。
【0016】
図9】本発明の一実施形態による、デバイス故障予測のプロセスを示すブロック図である。
【0017】
図10】本発明の一実施形態による、デバイス故障予測のためのSFPGLを実施する方法を示すフロー図である。
【発明を実施するための形態】
【0018】
本発明の実施形態によれば、通信データおよびプロファイルデータからデバイス故障予測を実施するためのシステムおよび方法が提供される。例示的な実施形態では、例えば、関連付けられた(例えば、機械学習)フレームワークを含むグラフ学習によるシステム故障予測(SFPGL)が、通信データおよびプロファイルデータからデバイス故障予測を決定するために適用される。
【0019】
例示的な実施形態では、決定プロセスにおける時間遅延を低減するために、SFPGLは、通常のハードウェアレポートの代わりに、装置の通信データ(リアルタイムで生成される)およびプロファイルデータを分析して、タイムリーな意思決定のための有意義な特徴を抽出する。次に、SFPGLは、決定プロセスを自動的にモデル化し、人間の意思決定者(例えば、人間の専門家)に関連するスケーラビリティ問題に対処するプロセス(例えば、機械学習方法)を実施する。SFPGLは、システムデバイス管理における予測問題のクラスに適用可能な一般的なフレームワークを提供する。SFPGLベースのフレームワークは、訓練フェーズおよび試験フェーズを含むことができる。
【0020】
例示的な実施形態では、方法は、特定のドメイン(例えば、システム管理ドメイン、金融ドメインなど)における特徴解釈を含むことができ、時間的特徴と構造的特徴とを同時に抽出するために、多次元ノード属性およびエッジ属性を完全に利用することができる。
【0021】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、または、ハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアで実施される。
【0022】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。媒体は、半導体または固体ステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【0023】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体またはデバイスがコンピュータによって読み取られるときに、コンピュータの動作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体またはデバイス(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【0024】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
【0025】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なネットワークアダプタのタイプの一例に過ぎない。
【0026】
ここで、同一の数字が同一または類似の要素を表し、最初に図1を参照すると、一実施形態例に従って、通信データからのデバイス故障予測を実施することができるニューラルネットワークの一般化された図が示される。
【0027】
人工ニューラルネットワーク(ANN)は、脳のような生体神経系に刺激される情報処理システムである。ANNの重要な要素は、情報処理システムの構造であり、これは、特定の問題を解決するために並列に動作する多くの高度に相互接続された処理要素(「ニューロン」と呼ばれる)を含む。ANNはさらに、ニューロン間に存在する重みの調整を含む学習を用いて、使用中に訓練される。ANNは、そのような学習プロセスを介して、パターン認識またはデータ分類などの特定のアプリケーションのために構成される。
【0028】
ANNは、複雑または不正確なデータから意味を導出する能力を示し、パターンを抽出し、人間または他のコンピュータベースのシステムによって検出するには複雑すぎる傾向を検出するために使用することができる。ニューラルネットワークの構造は、一般に、1つまたは複数の「隠れた」ニューロン104に情報を提供する入力ニューロン102を有する。入力ニューロン102と隠れニューロン104との間の接続108は重み付けされ、次に、これらの重み付けされた入力は、複数層間の重み付けされた接続108と共に、隠れニューロン104内の何らかの関数に従って隠れニューロン104によって処理される。隠れニューロン104、ならびに異なる機能を実行するニューロンの任意の数の層が存在し得る。畳み込みニューラルネットワーク、最大出力ネットワーク等のような異なるニューラルネットワーク構造も存在する。最後に、出力ニューロン106のセットは、隠れニューロン104の最後のセットからの重み付けされた入力を受け入れ、処理する。
【0029】
これは、情報が入力ニューロン102から出力ニューロン106に伝播する「フィードフォワード」計算を表す。訓練データは、サーバにインストールされたエージェントから収集された通信データおよびプロファイルデータ(例えば、データベースに格納された)を含むことができる。フィードフォワード計算が完了すると、出力は訓練データから利用可能な所望の出力と比較される。訓練データに対する誤差は、「フィードバック」計算で処理され、隠れニューロン104および入力ニューロン102は、出力ニューロン106から後方に伝播する誤差に関する情報を受け取る。一旦、逆方向エラー伝播が完了すると、重み付けされた接続108が受信された誤差を考慮するように更新されて、重み付け更新が実行される。これは、単に1つの種類のANNを表す。
【0030】
図2を参照すると、人工ニューラルネットワーク(ANN)アーキテクチャ200が示されている。本アーキテクチャは純粋に例示的なものであり、代わりに他のアーキテクチャまたはタイプのニューラルネットワークを使用することができることを理解されたい。本明細書で説明されるANN実施形態は、高レベルの一般性でニューラルネットワーク計算の一般原理を示すことを意図して含まれており、いかなる形でも限定するものと解釈されるべきではない。
【0031】
さらに、以下に記載されるニューロンの層およびそれらを接続する重みは、一般的な様式で記載され、任意の適切な程度またはタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えられ得る。例えば、層は、畳み込み層、プーリング層、完全に接続された層、ストップマックス層、または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することができ、相互接続のより複雑な形態のために重りを省略することができる。
【0032】
フィードフォワード動作中、1組の入力ニューロン202はそれぞれ、重み204のそれぞれの行に並列に入力信号を供給する。以下に説明するハードウェアの実施形態では、重み204は、重み出力が、重み204からそれぞれの隠れニューロン206に渡されて、隠れニューロン206への重み付けされた入力を表すように、それぞれの設定可能な値を有する。ソフトウェアの実施形態では、重み204は、関連する信号に対して乗算される係数値として単純に表されてもよい。各重みからの信号は列ごとに加算され、隠れニューロン206に流れる。
【0033】
隠れニューロン206は、重み204の配列からの信号を使用して、何らかの計算を実行する。次に、隠れニューロン206は、それ自体の信号を別の重み204の配列に出力する。この配列は、同じ方法で、重み204の列が、それぞれの隠れニューロン206から信号を受け取り、行方向に加算し、出力ニューロン208に供給される重み付けされた信号出力を生成する。
【0034】
配列および隠れニューロン206の追加の層を介在させることによって、任意の数のこれらの段階を実施できることを理解されたい。また、いくつかのニューロンは、配列に一定の出力を提供する定常ニューロン209であってもよいことに注意すべきである。定常ニューロン209は、入力ニューロン202および/または隠れニューロン206の間に存在することができ、フィードフォワード動作中にのみ使用される。
【0035】
逆伝搬の間、出力ニューロン208は、重み204の配列を横切って戻る信号を提供する。出力層は、生成されたネットワーク応答を訓練データと比較し、誤差を計算する。誤差信号を誤差値に比例させることができる。この実施例では、重み204の行は、それぞれの出力ニューロン208から並列に信号を受け取り、列ごとに加算して隠れニューロン206に入力を提供する出力を生成する。隠れニューロン206は、重み付けされたフィードバック信号をそのフィードフォワード計算の導関数と結合し、フィードバック信号を重み204のそれぞれの列に出力する前に誤差値を記憶する。この逆伝搬は、すべての隠れニューロン206および入力ニューロン202が誤差値を記憶するまで、ネットワーク200全体を通って進行する。
【0036】
重み更新中、記憶された誤差値は、重み204の設定可能な値を更新するために使用される。このようにして、重み204は、ニューラルネットワーク200をその工程における誤差に適応させるように訓練され得る。3つの動作モード、フィードフォワード、逆伝搬、および重み更新は、互いに重複しないことに留意されたい。
【0037】
畳み込みニューラルネットワーク(CNN)は、少なくとも1つの畳み込み層を有するANNのサブクラスである。CNNは、入力層および出力層、ならびに複数の隠れ層からなる。CNNの隠れ層は畳み込み層、整流線形ユニット(RELU)層(例えば活性化関数)、プーリング層、完全接続層および規格化層から成る。畳み込み層は、入力に畳み込み演算を適用し、その結果を次の層に渡す。畳み込みは、視覚刺激に対する個々のニューロンの応答をエミュレートする。
【0038】
CNNは、視覚画像の分析に適用することができる。CNNは、ローカル情報(例えば、画像内の隣接画素またはテキスト内の周囲の単語)を捕捉し、モデルの複雑さを低減することができる(例えば、より速い訓練、より少ない試料の必要性、およびオーバーフィッティングの機会の低減を可能にする)。
【0039】
CNNは、最小限の前処理を必要とするように設計された多層パーセプトロンの変形を使用する。CNNは、それらの共有重みアーキテクチャおよび変換不変特性に基づいて、シフト不変または空間不変人工ニューラルネットワーク(SIANN)としても知られている。CNNは、画像および映像認識、推薦システム、画像分類、医用画像解析、および自然言語処理における用途に使用することができる。
【0040】
次に、図3を参照すると、例示的な実施形態に従った、システムデバイス故障予測のためのグラフ学習(SFPGL)を介したシステム故障予測のプロセスを実施するためのシステム300を示すブロック図が示されている。
【0041】
システムデバイスの故障予測は、複雑なシステム管理の分野において重大な問題である。システム管理者にとって、最も重要なタスクの1つは、デバイスが近い将来に故障するかどうかを決定し、故障が起こる前にそれを交換することである。通常、そのような決定は、デバイスのハードウェア状態の評価に依存するが、大規模なハードウェア調査を実行することは通常費用がかかり、ハードウェア調査のタイミングは、デバイスの故障時間を満たさない場合がある。一般的にその問題は、以下のように定義することができる。システムデバイスの履歴記録が与えられると、目標は、システムデバイスが近い将来(例えば、1週間)に故障する可能性があるかどうかを予測することである。
【0042】
SFPGLシステム300は、図4図9に関して以下に説明するように、分散計算システムにおいてサーバ故障予測を実行するプロセスを実施する。SFPGLシステム300は、意思決定における時間遅延を大幅に低減することができ、多くのデバイスおよび大量の複雑なシステム管理関連データを用いてスケーリングすることができる。
【0043】
図3に示すように、SFPGLシステム300は、データ訓練要素310と、訓練(または第1の)時間グラフ構築要素320と、訓練(または第1の)時間グラフ特徴抽出要素330と、モデル訓練要素340と、データ試験要素350と、試験(または第2の)時間グラフ構築要素360と、試験(または第2の)時間グラフ特徴抽出要素370と、デバイス故障予測要素380と、予測結果要素390とを含む。
【0044】
データ訓練要素310は、訓練データ312を含む(またはそれへのアクセスを提供する)。訓練データ312は、SFPGLのモデル訓練に使用されるデータを含む。訓練データ312は、(例えば、主に)通信データ314(デバイス間またはデバイスの間)、デバイスプロファイルデータ316、および訓練データ内のデバイスのターゲットデバイス故障のグラウンドトゥルース318を含むことができる。データ訓練要素310は、SFPGLシステム300の訓練フェーズ中にデータを提供するように実装することができる。
【0045】
通信データ314は、あるデバイス(例えば、デバイスA)が別のデバイス(例えば、デバイスB)と通信を行う時刻を示す履歴情報を含むことができる。さらに、通信データ314は、この通信中のデータ転送量、この通信の目的などの通信詳細を記述する追加および/または補足(例えば、側)情報を含むことができる。
【0046】
デバイスプロファイルデータ316は、デバイスの型、デバイス故障履歴、デバイスエージなど、個々のデバイスに関連する情報を含む。いくつかの例示的な実施形態では、デバイスプロファイルデータ316は、時間展開することも含むことができる。例えば、デバイスの故障履歴を(動的に更新して)新しい故障インシデントを含めることができる。
【0047】
ターゲットデバイス故障318のグラウンドトゥルースは、デバイス故障履歴レコードから得られる。例えば、分析が1週間でサーバディスク故障に向けられるインスタンスにおいて、この故障318のグラウンドトゥルースは、通信データ314およびプロファイルデータ316と整列された履歴記録から導出される。
【0048】
訓練時間グラフ構築要素320は、通信データ314とデバイスプロファイルデータ316との両方を符号化する時間グラフを構築する。時間グラフは、図4に関して以下で詳細に説明するように、符号化された通信データおよびデバイスプロファイルデータなどのデータを表すために使用されるデータ構造として格納(または操作/送信/受信/等)することができる。
【0049】
訓練時間グラフ特徴抽出要素330は、時間グラフ特徴抽出を実行する。訓練時間グラフ特徴抽出要素330は、訓練時間グラフ構築要素320によって構築されたグラフから時間グラフ特徴を抽出し、図5に関して以下で詳細に説明するように、特徴ベクトルによって各デバイスを表す。
【0050】
モデル訓練要素340 は、デバイスの故障を予測するモデルを訓練する。モデル訓練要素340は、まず、訓練データを準備し、訓練データに基づいて予測モデルを学習し、次に、図6に関して以下で詳細に説明するように、最良のモデルを見つけるためにモデル選択を実行する。例えば、デバイスの特定の履歴記録が与えられると、モデル訓練要素340は、所定の性能メトリックの値を予測するためにモデルを選択することができる。
【0051】
データ試験要素350は、試験データを決定する。例えば、データ試験要素350は、このフレームワークにおける試験データとして機能することができるデバイスプロファイルデータ316と共に(デバイスによって提供される通信データの中から)任意の通信データ314を選択することができる。
【0052】
試験(または第2の)時間グラフ構築要素360はまた、(訓練(または第1の)時間グラフ構築要素320と同様のアプローチを使用して)時間グラフ構築を実行する。試験時間グラフ構築要素360は、データを試験するための時間グラフを構築するために、通信データ314とデバイスプロファイルデータ316との両方を符号化する時間グラフを構築する。
【0053】
試験時間グラフ特徴抽出要素370は、(第1の時間グラフ特徴抽出要素330と同様のアプローチを使用して)時間グラフ特徴抽出を実行する。試験時間グラフ特徴抽出要素370は、訓練時間グラフ特徴抽出要素330と同じ時間グラフ特徴のセットを抽出する。試験時間グラフ特徴抽出要素370が時間グラフ特徴抽出を実行した後、試験データ内の各デバイスは、特徴ベクトルとして表される。
【0054】
デバイス故障予測要素380は、デバイス故障予測を実装する。この段階で、デバイス故障予測要素380は、モデル訓練要素340によって訓練されたモデルにデバイスの特徴ベクトルを与え、各デバイスについてデバイス故障への予測を得る。
【0055】
予測結果要素390は、デバイス性能についての予測結果を出力する。
【0056】
図4は、例示的な実施形態による、時間グラフ構築要素320を訓練することによって実施される時間グラフ構築の処理を示すブロック図である。
【0057】
図4に示すように、訓練時間グラフ構築要素320は、データ訓練要素310から訓練データ312(通信データ314、デバイスプロファイルデータ316、およびターゲットデバイス故障メトリック318のグラウンドトゥルースを含む)を受信する。訓練時間グラフ構築要素320は、通信データおよびプロファイルデータベースのグラフ(要素、デバイスまたはモジュール)405およびマルチスケール時間グラフ(要素、デバイスまたはモジュール)410を含む。
【0058】
通信データおよびプロファイルデータベースのグラフ405は、通信314および(デバイス)プロファイルデータ316をグラフ(複数可)に構築(構築または変換)する。通信およびプロファイルデータベースのグラフ405は、時間グラフをグラフ<G1,G2,・・・,>のストリームとして表し、ここでGiは、時間tiにおけるデバイスのためのスナップショット、記録通信およびプロファイルデータと呼ばれるグラフである。各グラフGiにおいて、ノードはデバイスであり、ノードAとノードBとの間の1つのエッジは、時間tiにおいて通信されるAおよびBを示す。さらに、ノードとエッジは属性に関連し、ノード属性は時間tiで自身にのみ関連するすべての情報を含み、エッジ属性は対応する通信に関連するすべての情報を示唆する。このようにして、通信およびプロファイルデータベースのグラフ405は、デバイスプロファイルデータ316内のすべての側面(補助または相補)情報をノード属性によって符号化し、通信データ314内のすべての側面情報をエッジ属性によって符号化する。
【0059】
マルチスケール時間グラフ410は、通信およびプロファイルデータベースのグラフ405によって構築されたグラフに基づいてマルチスケール時間グラフを生成する。通信におけるタイムスタンプは、通常、異なる時間的粒度(例えば、秒の粒度)で時間を記録することができる。しかしながら、最も細かな(例えば、最小単位)粒度では、出力が細かな粒度に制約される場合に、(例えば、小さな時間にわたるインクリメンタルな変化に基づいて)グローバルな時間的発展を見逃すことができる。マルチスケール時間グラフ410は、それぞれが特定の時間粒度で生成される複数の時間グラフを構築することによって、通信データおよびプロファイルデータが与えられた場合に、デバイスの性能および故障の進展の様々な時間斜視図を提供する。例えば、1年の通信データおよびプロファイルデータが与えられると、マルチスケール時間グラフ410は、複数の(例えば、3つの)時間グラフを生成することができ、ここで、第1のグラフは、1分間の粒度であり、第2のグラフは、1時間の粒度であり、第3のグラフは、半日の粒度である、等である。時間粒度が与えられると、通信314およびデバイスプロファイルデータ316は、各グラフスナップショットに集約される。
【0060】
マルチスケール時間グラフ410が実装された後、訓練時間グラフ構築要素320は、所定の通信データ314およびプロファイルデータ316について時間グラフのセットを取得する。
【0061】
図5は、例示的な実施形態による、訓練時間グラフ特徴抽出要素330によって実施される時間グラフ特徴抽出のプロセスを示すブロック図である。
【0062】
図5に示すように、訓練時間グラフ特徴抽出要素330は、時間ノード特徴抽出(要素、デバイス、またはモジュール)420および時間構造特徴抽出(要素、デバイス、またはモジュール)430を使用して、訓練時間グラフ構築要素320から時間グラフのセットが与えられると、時間グラフ特徴抽出を実施する。
【0063】
時間ノード特徴抽出420は、訓練時間グラフ構築要素320からの入力に基づいて時間ノード特徴抽出を実行する。時間ノード特徴抽出420は、時間グラフのノード属性からノード特徴を導出する。特に、特定のノードの各ノード属性に対して、時間ノード特徴抽出420(例えば、本質的に)は時系列を形成する。この目的のために、ノード属性の時系列が与えられると、時間ノード特徴抽出420は、この時系列をプロファイリングする特徴ベクトルを提供する。実施形態例によれば、時間ノード特徴抽出420は、生データ、統計的測定、および/または時間微分測定などの角度(または遠近法、ビューなど)から時系列をプロファイリングすることができる。
【0064】
時間ノード特徴抽出420は、時系列の生データを時系列の特徴ベクトルに含めることができる。時間ノード特徴抽出420は、時系列の形状を特徴付けるために、平均、中央値、分散などの静的測定を含むことができる。時間ノード特徴抽出420はまた、時間差測定値(複数可)を含むことができる。時系列(例えば、時系列a)および時差Δtが与えられると、時間ノード特徴抽出420は、b[t]=a[t]-a[t-Δt]などの差分比較によって別の時系列(例えば、時系列b)を導出することができる。時系列bが与えられると、時間ノード特徴抽出420はさらに、時系列bの生データおよび統計的測定を特徴ベクトルに添付することができる。
【0065】
時間構造特徴抽出430は、時間構造特徴抽出を実行する。時間構造特徴抽出430は、ワンホップおよびマルチホップ構造メトリックから構造特徴を導出する。ワンホップ構造メトリックには、ノードのイン次数、ノードのアウト次数、およびノードの全次数を含めることができる。有向グラフでは、ノードに入るエッジの数は、対応するノードのイン次数と呼ばれ、ノードから出るエッジの数は、対応するノードのアウト次数と呼ばれる。マルチホップ構造メトリックは、ランダムウォークベースのメトリック(例えば、ページランク、エゴセントリックソーシャルネットワークデータ(例えば、EgoNet(登録商標)メトリック)、クラスタリング分析メトリックなど)を含む、多様であり得る。
【0066】
時間グラフが与えられると、特定のノードに関する構造メトリック(例えば、特定の観点から、本質的に等)は、時系列を形成する。時間ノード特徴抽出420によって実施されるのと同様に、時間構造特徴抽出430は、生データ、統計的測定、および時間差分測定を含む観点から、この時系列を記述するための特徴ベクトルを導出する。時間グラフのセットが与えられると、時間ノード特徴抽出420および時間構造特徴抽出430は、各時間グラフを通過し(例えば、方法、分析、抽出など)、各時間グラフのノードおよび構造特徴ベクトルを生成することに留意されたい。
【0067】
各ノードについて、訓練時間グラフ特徴抽出要素330は、ノードのすべてのノード特徴ベクトルおよび構造特徴ベクトルを長い特徴ベクトルに連結し、これは、モデル訓練のためにモデル訓練要素340によって使用することができる。
【0068】
図6は、例示的な実施形態による、モデル訓練要素340によって実装されるようなモデル訓練を示すブロック図である。
【0069】
図6に示すように、モデル訓練要素340は、訓練データ準備(要素、デバイスまたはモジュール)440と、モデル訓練および選択(要素、デバイスまたはモジュール)450とを含む。
【0070】
訓練データ準備440は、訓練データ準備を実施する。特に、訓練データ準備440は、訓練サンプルのセットを準備することができる。例えば、訓練時間グラフ特徴抽出要素330が、ノードのすべてのノード特徴ベクトルおよび構造特徴ベクトルを長い特徴ベクトルに連結した後、訓練データ準備440は、ノードk(例えば、特定のデバイスK)の特徴ベクトルxkを取得することができる。ターゲットデバイス故障メトリック318のグラウンドトゥルースから、訓練データ準備440は、ノードk、ykの対応する性能メトリック値を取得することができる。このようにして、訓練データ準備440は、訓練サンプル(xk、yk)を形成する。したがって、ターゲットデバイス故障メトリック318の特徴ベクトルおよびグラウンドトゥルースが与えられると、訓練データ準備440は、訓練サンプル{(x、y)}のセットを準備することができる。
【0071】
モデル訓練および選択450は、モデル訓練および選択を実施する。モデルおよび訓練データ312の候補プールが与えられると、モデル訓練および選択(要素、デバイス、またはモジュール)450は、複数のモデルを学習し(例えば、複数のモデルの精度を決定するために試行実行を分析および実施し)、試験フェーズのために(複数のモデルの中から)最良のモデルを選択する。モデル訓練および選択450は、機械学習技術(所定の(またはユーザ定義の)機械学習技術、ならびにサポートベクトル機械、線形回帰、ロジスティック回帰、多層ニューラルネットワーク、決定ツリー、およびアンサンブル方法などの既製の機械学習技術を含む)に基づいて(モデルの)候補プールを決定することができる。次いで、モデル訓練および選択450は、モデルを選択する。例えば、訓練されたモデルのセットが与えられると、モデル訓練および選択450は、k倍交差検証を使用して、最良の検証精度を有するモデルを選択する。クロスバリデーションは、機械学習モデルのスキル(例えば、精度)を推定するために使用される統計的方法である。
【0072】
図7は、例示的な実施形態による、試験時間グラフ構築要素360によって実施される試験フェーズにおける時間グラフ構築のプロセスを示すブロック図である。
【0073】
図7に示すように、試験時間グラフ構築要素360は、通信およびプロファイルデータベースのグラフ(要素、デバイスまたはモジュール)505と、マルチスケール時間グラフ(要素、デバイスまたはモジュール)510とを含む。
【0074】
通信データ314およびデバイスプロファイルデータ316が与えられると、通信およびプロファイルデータベースのグラフ505は、上記の通信およびプロファイルデータベースのグラフ405および図4に関して説明したのと同様の方法で時間グラフを構築する。
【0075】
マルチスケール時間グラフ510は、試験フェーズにおいて、図4に関して上述したように、訓練フェーズにおいてマルチスケール時間グラフ410によって適用される時間粒度を使用して、複数の時間グラフを生成する。マルチスケール時間グラフ510の出力は、訓練フェーズで定義された粒度で通信データ314およびデバイスプロファイルデータ316を符号化する時間グラフのセットである。
【0076】
図8は、例示的な実施形態による、試験時間グラフ特徴抽出要素370によって実施される時間グラフ特徴抽出のプロセスを示すブロック図である。
【0077】
図8に示すように、試験時間グラフ特徴抽出要素370は、試験時間グラフ構築要素360から時間グラフのセットが与えられた場合に、時間グラフ特徴抽出を実行する。試験時間グラフ特徴抽出要素370は、時間ノード特徴抽出520および時間構造特徴抽出530を含む。
【0078】
時間ノード特徴抽出520は、データを試験する各ノードについて、図5に関して本明細書で前述したように時間ノード特徴抽出420によって実装されるのと同様の方法でノード特徴ベクトルを構築する。
【0079】
時間構造特徴抽出530は、データを試験する各ノードについて、図5に関して本明細書で前述したように時間ノード特徴抽出420によって実装されるのと同様の方法で構造特徴ベクトルを構築する。
【0080】
時間グラフのセットが与えられると、時間ノード特徴抽出520および時間構造特徴抽出530は、時間グラフ特徴抽出要素330によって実施されるように、各時間グラフを通過し、ノードおよび構造特徴ベクトルを生成することができることに留意されたい。各ノードについて、試験時間グラフ特徴抽出要素370は、ノードのすべてのノード特徴ベクトルおよび構造特徴ベクトルを長い特徴ベクトルに連結することができ、長い特徴ベクトルは、デバイスの性能の予測のためにデバイス故障予測要素380によって使用することができる。
【0081】
図9は、実施例に従った、デバイス故障予測要素380によって実施されるデバイス故障予測の処理を示すブロック図である。
【0082】
図9に示されるように、デバイス故障予測構成要素380は、モデル訓練構成要素340と試験時間グラフ特徴抽出370とからの入力(例えば、それによって提供される/からのグラフのモデルおよび特徴)を使用して、デバイス故障予測の手順を実行する。デバイス故障予測要素380は、試験データ準備(要素、デバイスまたはモジュール)540および訓練されたモデル予測(要素、デバイスまたはモジュール)550を含む。
【0083】
試験データ準備540は、試験データ準備を実行する。この段階で、試験時間グラフ特徴抽出370からのデバイスの特徴ベクトルは、当然、試験試料のセットを形成する。例えば、ノードkについて、ノードの特徴ベクトルは、試験時間グラフ特徴抽出370からのxkであり、xkは、試験試料である。試験データ準備540は、試験時間グラフ特徴抽出370からのデータにアクセスする。
【0084】
訓練されたモデル予測550は、訓練されたモデルを使用して予測を行う。例えば、訓練モデル予測550は、モデル訓練要素340およびデバイスの特徴ベクトルによって訓練された最良のモデルを選択し、使用することができる。訓練されたモデル予測550は、SFPGLを適用して、各デバイスのターゲット性能メトリックの予測を実行することができる。
【0085】
上記の図3図9に関して説明した処理の例示的な実施形態は、マルチスケール時間グラフによってシステム管理ドメイン(またはデバイス故障関連ドメイン)からのデータを表す。訓練フェーズおよび試験フェーズにおける時間ノード特徴抽出420/520に関して、例示的な実施形態は、システムデバイス性能における時間的相関と構造的相関との両方を捕捉する時間グラフ特徴を抽出することができる。モデル訓練要素340およびデバイス故障予測要素380に関して、例示的な実施形態は、デバイスのベクトル表現からシステムデバイス管理ドメイン内のターゲット性能メトリックへの決定プロセスを自動化する処理を提供する。
【0086】
図10は、本発明による、デバイス故障予測のためのSFPGLを実施するための方法600を示す流れ図である。
【0087】
ブロック610において、システム300は、デバイス故障関連データを使用して訓練フェーズにおいて時間グラフ構築を実行する。例えば、システム300は、通信データ314、デバイスプロファイルデータ316、およびデバイスのターゲットデバイス故障メトリック318のグラウンドトゥルースを含む訓練データ312を使用して、デバイスの性能のグラフを構築することができる。
【0088】
ブロック620において、システム300は、訓練フェーズにおいて時間グラフ特徴抽出を実行する。例えば、システム300は、ブロック610で決定された時間グラフ内のノード属性からノード特徴を導出することができる。システム300は、図5に関して本明細書で上述した特定のノードの各ノード属性について時系列を形成することができる。
【0089】
ブロック630で、システム300は、例えば、本明細書で上述した図6に関して説明したのと同様の方法で、モデル訓練を実行する。システム300は、試験フェーズのための(複数のモデルの中から)最良のモデルを識別するために、訓練データ312を用いてモデルの候補プールからモデルを訓練することができる。
【0090】
ブロック640において、システム300は、試験フェーズにおいて時間グラフ構築を実行する。訓練データおよび試験データは、訓練データ中にグランドトゥルースまたはラベル情報が存在するが、試験データ中にグランドトゥルースまたはラベル情報が存在しないことを除いて、同一のフォーマットまたはスキーマを共有する。例えば、システム300は、通信データ314、デバイスプロファイルデータ316、およびデバイスのターゲットデバイス故障メトリック318のグラウンドトゥルースを含む訓練データ312を使用して、デバイスの性能のグラフを構築することができる。システム300は、履歴データを使用して、時間グラフを決定することができる。
【0091】
ブロック650において、システム300は、試験フェーズにおいて時間グラフ特徴抽出を実行する。例えば、システム300は、ブロック640で決定された時間グラフにおけるノード属性からノード特徴を導出することができる。システム300は、図5に関して上述したように、特定のノードの各ノード属性について時系列を形成することができる。
【0092】
ブロック660において、システム300は、デバイス故障予測を実行する。例えば、システム300は、デバイスのベクトル表現に基づいて、デバイス故障予測に基づいて、交換または修理の対象となる1つまたは複数のデバイスを予測することができる。システム300は、訓練されたモデルおよびデータに基づいて予測結果390を出力することができる。予測結果は、モバイルデバイス、パーソナルコンピュータ等のデバイスのインターフェース(例えば、グラフィカルユーザインターフェース(GUI))上に出力することができる。予測結果は、来るべき時間スパンにわたるデバイス故障の予測メトリックを含むことができる。いくつかの実施形態では、システム300は、他のデバイスを通じた通信の再ルーティング、負荷バランシングの調整など、予測結果に基づいて予防措置を開始することができる。システム300は、予測された結果を実際の結果と比較し、モデルまたはデータを実際の結果からのフィードバックに基づいて調整することができる。
【0093】
上記は、あらゆる点において例示的かつ例示的であると理解されるべきであり、限定的ではなく、本明細書に開示される本発明の範囲は、詳細な説明から決定されるべきではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明される実施形態は、本発明の例示にすぎず、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許状によって保護されることが請求され、望まれるものは、添付の特許請求の範囲に記載されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10