特許第6811276号(P6811276)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ タタ コンサルタンシー サービシズ リミテッドの特許一覧

特許6811276多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出
<>
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000028
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000029
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000030
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000031
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000032
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000033
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000034
  • 特許6811276-多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出 図000035
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6811276
(24)【登録日】2020年12月16日
(45)【発行日】2021年1月13日
(54)【発明の名称】多次元時系列におけるスパース・ニューラル・ネットワーク・ベース異常検出
(51)【国際特許分類】
   G06N 3/04 20060101AFI20201228BHJP
【FI】
   G06N3/04 145
【請求項の数】15
【外国語出願】
【全頁数】21
(21)【出願番号】特願2019-50932(P2019-50932)
(22)【出願日】2019年3月19日
(65)【公開番号】特開2020-9411(P2020-9411A)
(43)【公開日】2020年1月16日
【審査請求日】2019年4月25日
(31)【優先権主張番号】201821025602
(32)【優先日】2018年7月9日
(33)【優先権主張国】IN
(73)【特許権者】
【識別番号】510337621
【氏名又は名称】タタ コンサルタンシー サービシズ リミテッド
【氏名又は名称原語表記】TATA Consultancy Services Limited
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】マルホトラ パンカジ
(72)【発明者】
【氏名】ググロトゥ ナレンダール
(72)【発明者】
【氏名】ヴィグ ロヴェケシュ
(72)【発明者】
【氏名】シュロフ ガウタム
【審査官】 渡部 博樹
(56)【参考文献】
【文献】 国際公開第2017/216647(WO,A1)
【文献】 特開2018−049355(JP,A)
【文献】 特開2018−081493(JP,A)
【文献】 特開2017−091278(JP,A)
【文献】 特開2016−201088(JP,A)
【文献】 米国特許出願公開第2018/0082150(US,A1)
【文献】 米国特許出願公開第2018/0137410(US,A1)
【文献】 米国特許出願公開第2016/0299938(US,A1)
(57)【特許請求の範囲】
【請求項1】
入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信するステップ(202)と、
次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して前記多次元時系列から次元削減された時系列を取得するステップであって、前記入力層と前記フィードフォワード層との間の結合が、前記複数のパラメータの少なくとも一部分にアクセスするためにスパースである、取得するステップ(204)と、
リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、前記次元削減モデルによって取得された前記次元削減された時系列を使用して前記多次元時系列を推定するステップ(206)と、
前記推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために前記次元削減モデルと前記RNNエンコーダデコーダ・モデルとを同時に学習するステップ(208)であって、前記学習するステップは、確率的勾配降下を用いて前記次元削減モデルの前記スパース・フィードフォワード層と前記RNNエンコーダデコーダ・モデルを学習することを備え、前記次元削減モデルの前記スパース・フィードフォワード層の勾配の値は、
【数17】
により与えられ、ここで、wは、スパース重み行列の要素である、同時に学習するステップ(208)と、

前記多層スパース・ニューラル・ネットワークを使用することによって、前記多次元時系列と前記推定された多次元時系列との比較を実施することによって前記多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算するステップ(210)と、
前記複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成するステップ(212)と
を含む、プロセッサ実装方法。
【請求項2】
前記次元削減された時系列における前記複数のパラメータの各々が、前記多次元時系列の前記複数のパラメータのサブセットの非線形関数である、請求項1に記載のプロセッサ実装方法。
【請求項3】
前記次元削減モデルが、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ前記フィードフォワード層を含む、請求項1に記載のプロセッサ実装方法。
【請求項4】
(a)前記異常スコアがしきい値よりも大きい場合、前記多次元時系列における少なくとも1つの時間インスタンスを異常として分類するステップ、あるいは
(b)前記異常スコアが前記しきい値よりも小さいかまたはそれに等しい場合、前記多次元時系列における少なくとも1つの時間インスタンスを正常として分類するステップ
をさらに含む、請求項1に記載のプロセッサ実装方法。
【請求項5】
前記しきい値が、Fスコアを最大にしながらホールドアウト検証セットに基づいて学習され、前記ホールドアウト検証セットが、前記多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含む、請求項4に記載のプロセッサ実装方法。
【請求項6】
命令を記憶するメモリ(102)と、
1つまたは複数の通信インターフェース(106)と、
前記1つまたは複数の通信インターフェース(106)を介して前記メモリ(102)に接続された1つまたは複数のハードウェア・プロセッサ(104)であって、
入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信することと、
次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して前記多次元時系列から次元削減された時系列を取得することであって、前記入力層と前記フィードフォワード層との間の結合が、前記複数のパラメータの少なくとも一部分にアクセスするためにスパースである、取得することと、
リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、前記次元削減モデルによって取得された前記次元削減された時系列を使用して前記多次元時系列を推定することと、
前記推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために前記次元削減モデルと前記RNNエンコーダデコーダ・モデルとを同時に学習することであって、前記学習するステップは、確率的勾配降下を用いて前記次元削減モデルの前記スパース・フィードフォワード層と前記RNNエンコーダデコーダ・モデルを学習することを備え、前記次元削減モデルの前記スパース・フィードフォワード層の勾配の値は、
【数17】
により与えられ、ここで、wは、スパース重み行列の要素である、同時に学習することと、
前記多層スパース・ニューラル・ネットワークを使用することによって、前記多次元時系列と前記推定された多次元時系列との比較を実施することによって前記多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算することと、
前記複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成することと
を行うように前記命令によって構成された、1つまたは複数のハードウェア・プロセッサ(104)と
を備えるシステム。
【請求項7】
前記次元削減された時系列における前記複数のパラメータの各々が、前記多次元時系列の前記複数のパラメータのサブセットの非線形関数である、請求項6に記載のシステム。
【請求項8】
前記次元削減モデルが、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ前記フィードフォワード層を含む、請求項6に記載のシステム。
【請求項9】
前記1つまたは複数のハードウェア・プロセッサは、
(a)前記異常スコアがしきい値よりも大きい場合、前記多次元時系列における少なくとも1つの時間インスタンスを異常として分類すること、あるいは
(b)前記異常スコアが前記しきい値よりも小さいかまたはそれに等しい場合、前記多次元時系列における少なくとも1つの時間インスタンスを正常として分類すること
を行うようにさらに構成された、請求項6に記載のシステム。
【請求項10】
前記しきい値が、Fスコアを最大にしながらホールドアウト検証セットに基づいて学習され、前記ホールドアウト検証セットが、前記多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含む、請求項9に記載のシステム。
【請求項11】
1つまたは複数のハードウェア・プロセッサによって実行されたとき、
入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信することと、
次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して前記多次元時系列から次元削減された時系列を取得することであって、前記入力層と前記フィードフォワード層との間の結合が、前記複数のパラメータの少なくとも一部分にアクセスするためにスパースである、取得することと、
リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、前記次元削減モデルによって取得された前記次元削減された時系列を使用して前記多次元時系列を推定することと、
前記推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために前記次元削減モデルと前記RNNエンコーダデコーダ・モデルとを同時に学習することであって、前記学習するステップは、確率的勾配降下を用いて前記次元削減モデルの前記スパース・フィードフォワード層と前記RNNエンコーダデコーダ・モデルを学習することを備え、前記次元削減モデルの前記スパース・フィードフォワード層の勾配の値は、
【数17】
により与えられ、ここで、wは、スパース重み行列の要素である、同時に学習することと、
前記多層スパース・ニューラル・ネットワークを使用することによって、前記多次元時系列と前記推定された多次元時系列との比較を実施することによって前記多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算することと、
前記複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成することと
を引き起こす1つまたは複数の命令を含む1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項12】
前記次元削減された時系列における前記複数のパラメータの各々が、前記多次元時系列の前記複数のパラメータのサブセットの非線形関数である、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項13】
前記次元削減モデルが、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ前記フィードフォワード層を含む、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項14】
(a)前記異常スコアがしきい値よりも大きい場合、前記多次元時系列における少なくとも1つの時間インスタンスを異常として分類すること、あるいは
(b)前記異常スコアが前記しきい値よりも小さいかまたはそれに等しい場合、前記多次元時系列における少なくとも1つの時間インスタンスを正常として分類すること
をさらに含む、請求項11に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項15】
前記しきい値が、Fスコアを最大にしながらホールドアウト検証セットに基づいて学習され、前記ホールドアウト検証セットが、前記多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含む、請求項14に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照および優先権
本出願は、その全体が参照により本明細書に組み込まれる、2018年7月9日に出願されたインド特許出願第201821025602号の優先権を主張する。
【0002】
本明細書の開示は、一般に時系列分析に関し、より詳細には、スパース・ニューラル・ネットワーク(Sparse neural network)に基づく多次元時系列における異常検出のためのシステムおよび方法に関する。
【背景技術】
【0003】
現在のデジタル時代において、ストリーミング・データはユビキタスであり、急速に増大しており、たとえば、産業用モノのインターネット(Industrial Internet of Things)を使用して、機器の動作挙動をキャプチャする多数のセンサーを用いて、システムの自動監視を可能にする。エンジン、タービン、航空機などの複雑な産業用システムは一般に、多数(数十、さらには数百)のセンサーを備えており、多次元ストリーミング・データが生じる。遠隔健康監視サービスを提供し、フィールド・エンジニアがインフォームド・ディシジョン(informed decisions)を行うのを助けるために、このデータを活用することの関心が、相手先商標製造会社(original equipment manufacturers)(OEM)の間で高まっている。
【0004】
時系列からの異常検出は、健康監視システムを構築する際の重要な構成要素のうちの1つである。たとえば、機械の切迫した障害の早期症状を異常の形態で検出することは、障害を回避するためのまたは保守費と機械休止時間とを低減するための是正措置をとるのを助けることができる。最近、リカレント・ニューラル・ネットワーク(Recurrent Neural Networks)(RNN)が、マルチセンサー・データから複雑なシステムの正常挙動のモデルを構築し、次いで、学習された正常挙動からの逸脱に異常のフラグを付けることによる、多変量時系列における異常検出のために広範に適用され始めている。したがって、有意味な異常を見つけるという概念は、多次元データにおいて実質的により複雑になる。
【発明の概要】
【0005】
RNNを使用する異常検出のためのドメイン駆動センサー選択は、異常の所与のセットをキャプチャするための重要なセンサーを知ることによって制限され、したがって、関連するセンサーのセット中に含まれないセンサーにおける他のタイプの異常シグネチャを逃す。同様に、そのようなシナリオを扱うために各センサーまたはセンサーのサブセットを別個に考慮する手法は、a)それが有用なセンサー依存性情報の消失につながり、b)センサーの数が大きいとき、各センサーについて別個のRNNモデルを構築および展開することが実際的でなく、計算量的に実現不可能であり得ることを仮定すれば、適切でないことがある。しかしながら、既存の異常検出手法は、多次元時系列についてあまり有効でない。
【0006】
本開示の実施形態は、従来のシステムにおける、発明者によって認識された上述の技術的問題のうちの1つまたは複数に対する解決策としての技術改善を提示する。たとえば、一態様では、スパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するためのプロセッサ実装方法が提供される。本方法は、入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信するステップと、次元削減モデル(dimensionality reduction model)を使用して、少なくとも1つのフィードフォワード層を介して多次元時系列から次元削減された(reduced−dimensional)時系列を取得するステップであって、入力層とフィードフォワード層との間の結合が、複数のパラメータの少なくとも一部分にアクセスするためにスパース(sparse)である、取得するステップと、リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、次元削減モデルによって取得された次元削減された時系列を使用して多次元時系列を推定するステップと、推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために次元削減モデルとRNNエンコーダデコーダ・モデルとを同時に学習するステップと、多層スパース・ニューラル・ネットワークを使用することによって、多次元時系列と推定された多次元時系列との比較を実施することによって多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算するステップと、複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成するステップとを含む。
【0007】
一実施形態では、次元削減された時系列における複数のパラメータの各々は、多次元時系列の複数のパラメータのサブセットの非線形関数である。次元削減モデルは、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO:Least Absolute Shrinkage and Selection Operator)スパース性(sparsity)制約をもつフィードフォワード層を含む。本方法は、異常スコアがしきい値(たとえば、動的しきい値)よりも大きい場合、多次元時系列における少なくとも1つの時間インスタンスを異常として分類するステップをさらに含み得る。本方法は、異常スコアがしきい値よりも小さいかまたはそれに等しい場合、多次元時系列における少なくとも1つの時間インスタンスを正常として分類するステップをさらに含み得る。しきい値は、Fスコアを最大にしながらホールドアウト検証セット(hold−out validation set)に基づいて学習され得る。ホールドアウト検証セットは、多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含む。
【0008】
別の態様では、スパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するためのプロセッサ実装システムが提供される。本システムは、命令を記憶するメモリと、1つまたは複数の通信インターフェースと、1つまたは複数の通信インターフェースを介してメモリに接続された1つまたは複数のハードウェア・プロセッサであって、入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信することと、次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して多次元時系列から次元削減された時系列を取得することであって、入力層とフィードフォワード層との間の結合が、複数のパラメータの少なくとも一部分にアクセスするためにスパースである、取得することと、リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、次元削減モデルによって取得された次元削減された時系列を使用して多次元時系列を推定することと、推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために次元削減モデルとRNNエンコーダデコーダ・モデルとを同時に学習することと、多層スパース・ニューラル・ネットワークを使用することによって、多次元時系列と推定された多次元時系列との比較を実施することによって多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算することと、複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成することとを行うように命令によって構成された、1つまたは複数のハードウェア・プロセッサとを備える。
【0009】
一実施形態では、次元削減された時系列における複数のパラメータの各々は、多次元時系列の複数のパラメータのサブセットの非線形関数である。一実施形態では、次元削減モデルは、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ複数のフィードフォワード層を含む。一実施形態では、1つまたは複数のハードウェア・プロセッサは、異常スコアがしきい値(たとえば、動的しきい値)よりも大きい場合、多次元時系列における少なくとも1つの時間インスタンスを異常として分類することと、異常スコアがしきい値よりも小さいかまたはそれに等しい場合、多次元時系列における少なくとも1つの時間インスタンスを正常として分類することとを行うようにさらに構成される。しきい値は、Fスコアについて最大にしながらホールドアウト検証セットに基づいて学習され得る。ホールドアウト検証セットは、多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含み得る。
【0010】
また別の態様では、1つまたは複数のハードウェア・プロセッサによって実行されたとき、入力層において、エンティティの複数のパラメータに対応する多次元時系列を受信することと、次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して多次元時系列から次元削減された時系列を取得することであって、入力層とフィードフォワード層との間の結合が、複数のパラメータの少なくとも一部分にアクセスするためにスパースである、取得することと、リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを使用することによって、次元削減モデルによって取得された次元削減された時系列を使用して多次元時系列を推定することと、推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために次元削減モデルとRNNエンコーダデコーダ・モデルとを同時に学習することと、多層スパース・ニューラル・ネットワークを使用することによって、多次元時系列と推定された多次元時系列との比較を実施することによって多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算することと、複数の誤差ベクトルに基づいて少なくとも1つの異常スコアを生成することとを引き起こす1つまたは複数の命令を含む1つまたは複数の非一時的機械可読情報記憶媒体が提供される。
【0011】
一実施形態では、命令は、1つまたは複数のハードウェア・プロセッサによって実行されたとき、次元削減された時系列における複数のパラメータの各々が多次元時系列の複数のパラメータのサブセットの非線形関数になることをさらに引き起こし得る。次元削減モデルは、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ複数のフィードフォワード層を含む。本方法は、異常スコアがしきい値(たとえば、動的しきい値)よりも大きい場合、多次元時系列における少なくとも1つの時間インスタンスを異常として分類することをさらに含み得る。本方法は、異常スコアがしきい値よりも小さいかまたはそれに等しい場合、多次元時系列における少なくとも1つの時間インスタンスを正常として分類することをさらに含み得る。しきい値(たとえば、動的しきい値)は、Fスコアについて最大にしながらホールドアウト検証セットに基づいて学習され得る。ホールドアウト検証セットは、多次元時系列の少なくとも1つの正常時間インスタンスおよび少なくとも1つの異常時間インスタンスを含み得る。
【0012】
上記の概略的な説明と以下の詳細な説明の両方が、例示的および説明的なものにすぎず、請求される本発明を限定するものではでないことを理解されたい。
【0013】
本開示の一部に組み込まれ、それを構成する添付の図面は、例示的な実施形態を示し、その説明とともに、開示される原理について説明するのに役立つ。
【図面の簡単な説明】
【0014】
図1】本開示の一実施形態による、スパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するためのシステムの例示的なブロック図である。
図2】本開示の一実施形態による、図1のシステムを使用してスパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するための方法を示す例示的な流れ図である。
図3A】標準リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダを示す図である。
図3B】本開示のいくつかの実施形態による、図1のシステム100によって実装されるスパース・ニューラル・ネットワーク・ベース異常検出(Sparse Neural Network based anomaly detection)を示す図である。
図3C】本開示のいくつかの実施形態による、標準RNNエンコーダデコーダとスパース・ニューラル・ネットワークとの間の比較を示す図である。
図4A】本開示の例示的な実施形態による、AUROCの観点からの異常検出モデルの性能比較を示すグラフィカル表現を示す図である。
図4B】本開示の例示的な実施形態による、AUROCの観点からの異常検出モデルの性能比較を示すグラフィカル表現を示す図である。
図4C】本開示の例示的な実施形態による、AUROCの観点からの異常検出モデルの性能比較を示すグラフィカル表現を示す図である。
【発明を実施するための形態】
【0015】
添付の図面を参照しながら、例示的な実施形態が説明される。図では、参照番号の(1つまたは複数の)左端の桁は、参照番号が最初に現れる図を識別する。好都合な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号が使用される。開示される原理の例および特徴が本明細書で説明されるが、開示される実施形態の趣旨および範囲から逸脱することなく、変更形態、適応形態、および他の実装形態が可能である。以下の詳細な説明は例示にすぎないと見なされ、真の範囲および趣旨は以下の特許請求の範囲によって示されることが意図される。
【0016】
本開示では、その関連する実施形態およびシステムおよび方法は、多次元時系列のためのそのような手法の拡張のための効率的なやり方を提供する。本手法は、エンドツーエンド学習フレームワークによる時系列モデル化のために非時間次元削減技法の利点とリカレント・オートエンコーダの利点とを組み合わせる。リカレント・エンコーダは、フィードフォワード層を介した入力次元へのスパース・アクセスを得るが、リカレント・デコーダは、すべての入力次元を再構成することを強制され、それにより、より良い正規化およびロバストな時間モデルにつながる。このようにして正常時系列に関してトレーニングされたオートエンコーダは、任意の異常時系列パターンについて、高い再構成誤差と、対応する高い異常スコアとを与える可能性がある。
【0017】
本開示は、スパース・ニューラル・ネットワーク・ベース異常検出(SPREAD:Sparse Neural Network based Anomaly Detection)、すなわち、システムの正常挙動をモデル化するために、エンドツーエンド学習設定において、入力層上で1つまたは複数のスパースに結合されたフィードフォワード層を介して点別(point-wise)(すなわち非時間(non-temporal))次元削減をリカレント・ニューラル・エンコーダデコーダと組み合わせる手法を提案する。正常挙動のためのモデルが学習されると、そのモデルは、リカレント・エンコーダの出力を使用して元の時系列を再構成することを試みるリカレント・デコーダを介して再構成を分析することによって、正常から逸脱する挙動を検出するために使用され得る。正常データのみに関してトレーニングされたので、そのモデルは、異常時系列を再構成することに失敗し、高い再構成誤差を生じる可能性がある。再構成におけるこの誤差は、異常スコアを取得するために使用される。
【0018】
本開示では、いくつかのベースラインにわたる異常検出性能におけるパブリック・データセットおよび2つの現実世界のデータセットの実験を通して提案される手法を実装することによって、有意な改善に関するさらなる有効性が観測される。提案される手法は、多次元設定において異常シグネチャを伝える関連する次元を知らなくても、うまく実施することが可能である。本開示は、さらに、多次元時系列における異常検出のためにL正規化を介してスパース・ネットワークを活用する有効なやり方を提案する。
【0019】
次に、同様の参照符号が図全体にわたって一貫して対応する特徴を示す図面、より詳細には、図1から図4A図4Cを参照すると、好ましい実施形態が示されており、これらの実施形態は、以下の例示的なシステムおよび/または方法のコンテキストにおいて説明される。
【0020】
図1は、本開示の一実施形態による、スパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するためのシステム100の例示的なブロック図を示す。一実施形態では、システム100は、1つまたは複数のプロセッサ104と、(1つまたは複数の)通信インターフェース・デバイスまたは(1つまたは複数の)入出力(I/O)インターフェース106と、1つまたは複数のプロセッサ104に動作可能に接続された1つまたは複数のデータ記憶デバイスまたはメモリ102とを含む。メモリ102はデータベース108を備える。ハードウェア・プロセッサである1つまたは複数のプロセッサ104は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装され得る。複数の能力の中でも、(1つまたは複数の)プロセッサは、メモリに記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。一実施形態では、システム100は、ラップトップ・コンピュータ、ノートブック、ハンドヘルド・デバイス、ワークステーション、メインフレーム・コンピュータ、サーバ、ネットワーク・クラウドなど、様々なコンピューティング・システムにおいて実装され得る。
【0021】
(1つまたは複数の)I/Oインターフェース・デバイス106は、様々なソフトウェアおよびハードウェア・インターフェース、たとえば、ウェブ・インターフェース、グラフィカル・ユーザ・インターフェースなどを含むことができ、ワイヤード・ネットワーク、たとえば、LAN、ケーブルなどと、WLAN、セルラー、または衛星など、ワイヤレス・ネットワークとを含む、多種多様なネットワークN/Wおよびプロトコル・タイプ内での複数の通信を可能にすることができる。一実施形態では、(1つまたは複数の)I/Oインターフェース・デバイスは、いくつかのデバイスを互いにまたは別のサーバに結合するための1つまたは複数のポートを含むことができる。
【0022】
メモリ102は、たとえば、スタティック・ランダム・アクセス・メモリ(SRAM)およびダイナミック・ランダム・アクセス・メモリ(DRAM)などの揮発性メモリ、ならびに/または、読取り専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュ・メモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含み得る。
【0023】
データベース108は、情報を記憶し、限定はしないが、1つまたは複数のセンサーから取得された複数のパラメータを記憶し得、パラメータは、エンティティ(たとえば、ユーザ、機械など)に固有である。一実施形態では、1つまたは複数のセンサーは、温度センサー、動きセンサー、圧力センサー、振動センサーなどであり得る。パラメータは、ユーザおよび/または機械のいずれかに結合されたセンサーを通してキャプチャされたセンサー・データを含み得る。さらに、データベース108は、本明細書で説明される方法論に固有の、(たとえば、各段階において)システム100に供給された入力および/またはシステムによって生成された出力に関係する情報を記憶する。より詳細には、データベース108は、提案される方法論の各ステップにおいて処理されている情報を記憶する。
【0024】
図2は、図1を参照しながら、本開示の一実施形態による、図1のシステム100を使用してスパース・ニューラル・ネットワークに基づいて多次元時系列において異常を検出するための方法を示す例示的な流れ図を示す。一実施形態では、システム100は、1つまたは複数のハードウェア・プロセッサ104に動作可能に接続された1つまたは複数のデータ記憶デバイスまたはメモリ102を備え、1つまたは複数のプロセッサ104による方法のステップの実行のための命令を記憶するように構成される。図2に示されている流れ図は、以下の説明/記述を介してより良く理解される。
【0025】
図3Aに示されているRNNベース・エンコーダデコーダ異常検出(EncDec−AD:Encoder−decoder anomaly detection)は、最初に、再構成誤差を損失関数として使用して時間オートエンコーダとしてリカレント・ニューラル・ネットワーク・エンコーダデコーダ(RNN−ED:recurrent neural network encoder−decoder)をトレーニングする。オートエンコーダは正常時系列に関してトレーニングされ、したがって、ネットワークは、正常時系列をうまく再構成することを学習するが、異常時系列を再構成しない可能性がある。次いで、再構成誤差は、異常スコアを取得するために使用される。
【0026】
より詳細には、図3Bは、図1図2を参照しながら、本開示のいくつかの実施形態による、図1のシステム100によって実装されるスパース・ニューラル・ネットワーク・エンコーダデコーダ・ベース異常検出を示す。より詳細には、リカレント・ニューラル・ネットワーク・エンコーダデコーダ(RNN−ED)は、i番目の時系列インスタンスについて、ターゲット時系列
【数1】
が入力時系列
【数2】
の逆であるような様式でトレーニングされる。一実施形態では、x1...Tは、長さTの多変量実数値時系列(multivariate real-valued time series)x、x、...、xを示し、ここで、各x∈Rである(dは入力次元、たとえばこの場合はセンサーの数である)。全体的プロセスは、エンコーダ関数fを介した入力多変量時系列と固定次元ベクトル
【数3】
との非線形マッピングと、その後に続く、デコーダ関数fを介した固定次元ベクトルと多変量時系列との別の非線形マッピングとして考えられ得る。RNN−EDは、2乗再構成誤差(squared reconstruction error)の平均によって与えられる損失関数Lを最小にするようにトレーニングされる。
【数4】
ここで、Nは、トレーニング・セット中の多変量時系列インスタンスの数であり、
【数5】
はLノルムを示し、WとWとは、それぞれエンコーダRNNのパラメータとデコーダRNNのパラメータとを表す。
【0027】
誤差ベクトル
【数6】
を仮定すれば、以下のように、異常スコア
【数7】
を計算するためにマハラノビス距離(Mahalanobis distance)が使用される。
【数8】
ここで、μおよびΣは、正常トレーニング時系列インスタンスに対応する誤差ベクトルの平均および共分散行列(mean and covariance matrix)である。この異常スコアは、現在の時間tにおいて終了する長さTのウィンドウを入力として使用することによってオンライン設定において取得され、異常挙動に関係する適時のアラームを生成することが可能になり得る。点
【数9】
は、
【数10】
である場合、異常として分類され、しきい値τは、Fスコアについて最適化しながらホールドアウト検証セットを使用して学習され得る。
【0028】
次に、図1に示されているシステム100の構成要素、および図2の流れ図を参照しながら、本開示の方法のステップが説明される。本開示の実施形態では、ステップ202において、1つまたは複数のハードウェア・プロセッサ104は、入力層において、エンティティ(たとえば、この場合、エンティティはユーザまたは機械などであり得る)の複数のパラメータに対応する多次元時系列を受信する。一実施形態では、多次元時系列の各次元は、エンティティの複数のパラメータからの少なくとも1つのパラメータに対応する。本開示の実施形態では、ステップ204において、1つまたは複数のハードウェア・プロセッサ104は、次元削減モデルを使用して、少なくとも1つのフィードフォワード層を介して多次元時系列から次元削減された時系列を取得する。一実施形態では、入力層とフィードフォワード層との間の結合は、複数のパラメータの少なくとも一部分にアクセスするためにスパースである。一実施形態では、フィードフォワード次元削減層(dimensionality reduction layer)を介して入力時系列における各多次元点を次元削減された点にマッピングするためのプロビジョンが、次いで、次元削減された空間における時系列を使用して、EncDec−ADの場合のように、RNN−EDを介して元の多次元時系列を再構成する。
【0029】
フィードフォワード層中の各ユニットが入力パラメータ(たとえば、入力次元)のサブセットへのアクセスを有するように、スパース性制約がフィードフォワード層の重みに関して追加される。整流された線形ユニット(ReLU:Rectified Linear Unit)を介した非線形変換を通して、r<dであるように、
【数11】

【数12】
にマッピングするために、入力層からのスパース結合Wをもつフィードフォワード層が使用される。次いで、変換された低次元入力
【数13】
が、
【数14】
の代わりにRNN−EDネットワークへの入力として使用され、式(1)におけるステップを以下のように変更する。
【数15】
ここで、
【数16】
(ここで、wは行列Wの要素である)は、次元削減層中のスパース性を誘起し、すなわち、Wの要素の小数(fraction)を0に近くなる(パラメータλを介して制御される)ように制約するために採用されるLASSOペナルティである。これは、密な全結合フィードフォワード層(dense, fully-connected feedforward layer)をスパース層に変換する。スパース・フィードフォワード層とRNN−EDとは、確率的勾配降下(stochastic gradient descent)を介してエンドツーエンド様式でトレーニングされる。
【数17】
であり、ここで、wは行列Wの要素である。一実施形態では、トレーニングすることは、ここでは、図2の場合のように各段階/ステップ(202〜208)の出力を学習することを意味する。Lノルムが0において微分可能でないとき、実際には劣勾配(subgradient)0が使用される。一実施形態では、次元削減モデルは、LASSOスパース性制約をもつ複数のフィードフォワード層を含む。たとえば、次元削減された時系列におけるパラメータの各々は、多次元時系列のサブセットの非線形関数である。
【0030】
得られたスパース重み行列Wは、フィードフォワード層中の各ユニットが入力次元のうちのほんのいくつかへのアクセスを潜在的に有するように入力層とフィードフォワード層との間の結合がスパースであることを保証する。したがって、
【数18】
の各次元は、比較的小さい数の入力次元の線形結合であり、教師なし特徴選択(unsupervised feature selection)を効果的に生じる。
【0031】
本開示の実施形態では、ステップ206において、1つまたは複数のハードウェア・プロセッサ104は、図3Bに示されているように、リカレント・ニューラル・ネットワーク(RNN)エンコーダデコーダ・モデルを介して、次元削減モデルによって取得された次元削減された時系列を使用して多次元時系列を推定する。より詳細には、図3Bは、図1図3Aを参照しながら、本開示のいくつかの実施形態による、図1のシステム100によって実装されるリカレント・ニューラル・ネットワーク・エンコーダデコーダ(RNN−ED)モデルを示す。一実施形態では、ReLU層は次元削減を暗示するが、オートエンコーダは、元の時系列自体を再構成するようにトレーニングされる。一実施形態では、スパース・フィードフォワード層は、ReLU層中の削減された次元が、すべての元の入力次元を再構成することに関連する情報をキャプチャすることを強制されるように、強力な正規化器(regularizer)として働く。
【0032】
本開示の実施形態では、ステップ208において、1つまたは複数のハードウェア・プロセッサ104は、推定された多次元時系列を使用することによって、多層スパース・ニューラル・ネットワークを取得するために次元削減モデルとRNNエンコーダデコーダ・モデルとを同時に学習する。一実施形態では、学習することは、図2の場合のように各ステップ/段階(202〜208)における入力および出力を包含する。本開示の実施形態では、ステップ210において、1つまたは複数のハードウェア・プロセッサ104は、多層スパース・ニューラル・ネットワークによって、多次元時系列と推定された多次元時系列との比較を実施することによって多次元時系列の少なくとも1つの時間インスタンスに対応する複数の誤差ベクトルを計算する。本開示の実施形態では、ステップ212において、1つまたは複数のハードウェア・プロセッサ104は、複数の誤差ベクトルに基づいて1つまたは複数の異常スコアを生成する。一実施形態では、システム100がトレーニングされると異常スコアが計算される。一実施形態では、次元削減された時系列における複数のパラメータの各々は、多次元時系列の複数のパラメータのサブセットの非線形関数である。
【0033】
別の実施形態では、次元削減モデルは、複数のフィードフォワード層の複数のパラメータに関する最小絶対収縮および選択演算子(LASSO)スパース性制約をもつ複数のフィードフォワード層を含む。一実施形態では、この手法は、異常スコアがしきい値よりも大きい場合、多次元時系列における少なくとも1つの時間インスタンスを異常として分類するステップをさらに含む。一実施形態では、この手法は、異常スコアがしきい値よりも小さいかまたはそれに等しい場合、多次元時系列における少なくとも1つの時間インスタンスを正常として分類するステップをさらに含む。一実施形態では、Fスコアは、2つのクラス、すなわち、正常クラス(0)および異常クラス(1)をもつバイナリ分類器に対応する。
【0034】
一実施形態では、これは、元の各次元の、異常スコアへの寄与が推定され得るように、異常スコアが依然として解釈可能であることを保証する。別の実施形態では、RNN−EDは、時間依存性がネットワークにおいてうまくキャプチャされることを保証し、スパース・フィードフォワード層は、所与の時間における様々な次元間の依存性がうまくキャプチャされることを保証する。
【0035】
実験評価:
【0036】
比較のために考慮される例示的な手法:
【0037】
本開示では、スパース・ニューラル・ネットワーク・エンコーダデコーダ(SPREAD)は、標準EncDec−AD(すなわち、以下でADとして参照される)と比較され得る。比較のために使用される他の手法は、以下の通りである。
i. トレイン・インスタンスからの元の点別入力のμおよびΣを使用する多次元入力空間におけるマハラノビス距離に基づく単純な非時間異常検出モデル、すなわち、MD(式2と同様。ここで、異常スコアを得るためにetの代わりにxtが使用される)。
ii. (領域の専門家によって示唆されるような)異常挙動または障害を決定するのに十分な最も関連するパラメータに関してのみADモデルがトレーニングされる、関連AD(Relevant−AD)。これは、多数の入力センサーの小さいサブセット中に存在するにすぎない弱い異常シグネチャを検出することが可能であることにおけるSPREADの有効性を評価するために使用される。
iii. エンドツーエンド学習を介したSPREADにおける暗黙的次元削減を標準次元削減技法と比較するために、PCA−ADが考慮され、ここで、ADに供給されている入力の次元を削減するために、最初に主成分分析(Principal Components Analysis)(PCA)が使用される(データの分散の95%をキャプチャする最上位主成分を考慮する)。
iv. LASSOスパース性制約をもつフィードフォワード層中のスパース結合の影響を評価するために、FF−AD(フィードフォワードEncDec−AD)モデルが考慮され、これは、事実上、L正規化を用いないSPREADである(すなわちλ=0)。
v. 性能評価について、時系列における各点が0(正常)または1(異常)としてのグランド・トゥルース(ground truth)を与えられる。オンライン様式で各点についての異常スコアが取得され、(しきい値τを変化させることによって取得された)レシーバ動作特性曲線下面積(AUROC:Area under Receiver Operating Characteristic curve)が性能メトリックとして使用される。
【0038】
考慮されるデータセット
【0039】
本開示のシステムおよび方法は、実験について表4において要約されるように、3つのマルチセンサー時系列データセット、すなわち、i)GHL:公的に入手可能なガス油加熱ループ(Gasoil Heating Loop)データセット、(ii)ターボ機械:現実世界のターボ機械データセット、およびiii)粉砕機(Pulverizer):現実世界の粉砕機データセットを利用した。GHLデータセットにおける異常は、システムに対するサイバー攻撃に対応し、ターボ機械データセットおよび粉砕機データセットにおける異常は、システムの障害挙動に対応する。各データセットは、トレイン・セット、検証セットおよびテスト・セットに分割され、トレイン・セットおよび検証セットは正常時系列のみを含んでおり、テスト・セットは正常時系列ならびに異常時系列を含んでいた。
【0040】
データセット情報
【0041】
GHL:GHLデータセットは、ガス油プラント加熱ループの正常動作についてのデータと、当該ループの制御論理を変更することによって誘起されるプラントにおける(サイバー攻撃による)障害挙動についてのデータとを含んでいた。14個の主変数と5つの補助変数とがあり、14個の主変数を考慮し、障害ID25〜48を利用し、危険センサーをグランド・トゥルース(1:異常、0:正常)として利用した。元の時系列は、4点平均を使用して計算効率のために4でダウンサンプリングされ、時系列インスタンスを生成するために100点のウィンドウがとられた(または考慮された)。
【0042】
ターボ機械:これは、強制停止までの1時間の間に障害シグネチャが存在していた4稼働日の間に記録された、56個のセンサーからの毎分のセンサー読み取りをもつ現実世界のデータセットであった。考慮されるセンサーは、機械の異なる構成要素に属する温度センサー、圧力センサー、制御センサーなどを含む。これらの56個のセンサーのうち、障害は、最初に、2つのセンサーのみにおいて現れた。最終的に、数個の他のセンサーも異常挙動を示し始めた。
【0043】
粉砕機:粉砕機は、35個のセンサーからの毎分のセンサー読み取りをもつ、粉砕機ミルから取得された現実世界のデータセットであった。このデータセットは45稼働日のセンサー読み取りを有しており、障害の症状は強制停止までの12時間の間に断続的に現れ始めた。考慮されるセンサーは、機械の異なる構成要素に属する温度、差圧力(differential pressure)、負荷などを含む。このデータセットは、異常挙動を識別するのに十分な3つの関連するセンサーを有していた。
【0044】
トレーニング詳細
【0045】
表4:データセットの詳細。ここで、T:ウィンドウの長さ、d:センサーの数、d:異常についての関連するセンサーの数、p:主成分の数、n:障害の数、n:異常点の数、n:ウィンドウの数。
【表1】
【0046】
システムおよび方法は、すべての実験について0.0005の初期学習レートを用いてネットワークの重みを最適化するためのAdamオプティマイザを利用する。システムおよび方法は、以下のハイパーパラメータ、すなわち、RNNエンコーダおよびデコーダ中のリカレント層の数L={1、2、3}、50のステップにおける50〜250の範囲内の層ごとの隠れユニットの数、およびフィードフォワード層中のユニットの数
【数19】
に対するグリッド探索を介して正常時系列のみを含んでいるホールドアウト検証セットに関する最小再構成誤差(least reconstruction error)をもつものとしてのアーキテクチャを利用する。システムおよび方法は、SPREADについてのλ=0.01と、正規化のためのエンコーダおよびデコーダ中のフィードフォワード結合における0.25のドロップアウト・レートとを利用する。
【0047】
表1:AUROCの観点からの異常検出モデルの性能比較。ADはEncDec−ADを指す。図4A図4Cを参照すると、フォールス・ポジティブ・レート(false positive rate)に対応するFPRがX軸にあり、トゥルー・ポジティブ・レート(True positive rate lies)に対応するTPRがY軸にある。
【表2】
表2:スパース性ファクタ
【表3】
表3:ターボ機械:センサーを別個に扱うことの影響
【表4】
【0048】
結果および所見:
【0049】
表1と、図4A図4CにおけるAUROCの観点からの異常検出モデルの性能比較を示すグラフィカル表現とにおける結果からの以下の重要な所見:
i. 非時間MD手法は、異常の時間性質、したがって、ADとSPREADとを含む時間モデルの適用可能性を強調しているデータセットにわたって十分に機能しない。それはまた、元の入力空間の代わりに誤差空間において適用されるマハラノビス距離が、弱い時間異常の影響を増幅することを示唆する。
ii. PCA−ADは、PCAを介した明示的次元削減が、異常シグネチャに関係する情報の消失につながることを示唆しているFF−ADおよびSPREADと比較してうまく機能しないが、FF−ADおよびSPREADは、フィードフォワード次元削減層を介した内部次元削減の利益を活用することが可能である。
iii. 予想されるように、関連するセンサーについての知識を活用する関連ADは、強力なベースラインである。これは、EncDec−ADが関連ADシナリオなどの低次元の場合にうまく機能することを強調する。言い換えれば、関連ADと比較して不十分なADの性能は、関連する次元の事前知識が入手可能でないときに異常シグネチャを検出することが困難であることを強調し、これは、実際によくあることである。しかしながら、粉砕機データセットおよびGHLデータセットでは、これらの場合、センサーにおいて発生する異常の影響が、他の相関するセンサーにおいても認識でき、より多くのセンサーを一緒に考慮するときに異常シグネチャの増幅により異常を検出することがより容易になるので、ADが関連ADよりもうまく機能することがわかる。
iv. SPREADは、(上記で説明された関連ADを除いて)たいていのデータセット上で他の方法と比較して著しくうまく機能する。SPREADは、スパース結合の正規化影響を強調しているFF−ADよりもうまく機能するか、またはそれに匹敵する。スパース性ファクタ(表2)は、FF−ADと比較したSPREADにおける結合のスパース性質を示す。スパース性ファクタは、重みの小数として測定され、絶対値<0.1×絶対重みの平均である。
v. 関連ADがターボ機械データセットに適用され、2つの関連するセンサーR1とセンサーR2とが別個に考慮され、表3に示されているように、両方の関連するセンサーを一緒に使用するモデルと比較して性能の著しい低下が観測された。これは、センサー間の相関関係(または依存関係)をキャプチャすることが、異常を検出するために重要であることを示唆する。
【0050】
異常検出のためのRNNベース・オートエンコーダは、多次元時系列について実際に準最適な性能をもたらし得る。これに対処するために、システム100の提案されるSPREADは、オートエンコーダとともにエンドツーエンド様式でトレーニングされた次元削減層を明示的にプロビジョニングし、多次元時系列モデル化のための強力な正規化器として働く。SPREADは、ストリーミング適用例のために望ましいオンライン様式で動作する。
【0051】
パブリック・データセットおよび2つの現実世界のデータセットの実験は、提案される手法の有効性を証明する。さらに、SPREADは内部で次元削減を使用するが、異常検出は入力特徴空間において起こり、したがって、各入力次元についての再構成誤差がアクセス可能であり、実際に異常スコアを解釈可能にする。この提案される手法は、本開示で説明されるシナリオおよび/または例の場合の限定的な範囲と解釈されないものとし、任意の多次元時系列異常検出に適用可能であり得る。
【0052】
本明細書は、当業者が実施形態を製作および使用することを可能にするために、本明細書の主題について説明する。主題の実施形態の範囲は、特許請求の範囲によって定義され、当業者が思い付く他の変更形態を含み得る。そのような他の変更形態は、それらが特許請求の範囲の文字通りの文言と異ならない類似の要素を有する場合、または、それらが特許請求の範囲の文字通りの文言とのわずかな差をもつ等価要素を含む場合、特許請求の範囲内に入ることが意図される。
【0053】
本開示の実施形態は、多変量時系列のロバストな非線形時間モデルを学習にすることを可能にする。その上、本明細書の実施形態は、同じ時間インスタンスにおける複数のパラメータ間の関係、すなわち、所与の時点における複数の次元またはパラメータ間の依存性および相関関係をキャプチャする。さらに、提案される手法は、時間にわたる複数のパラメータ間の時間関係、すなわち、期間にわたる多変量時系列における複数の次元または変数間の依存性および相関関係をキャプチャする。さらに、提案される手法は、バックプロパゲーション(backpropagation)を介してトレーニング可能であるエンドツーエンド学習フレームワークにおいて上記の2つの能力に応えることができる単一のニューラル・ネットワーク・モデルを学習することを可能にする。
【0054】
保護の範囲は、そのようなプログラムに、および追加として、その中にメッセージを有するコンピュータ可読手段に拡張されることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイル・デバイスあるいは任意の好適なプログラマブル・デバイス上で動作するとき、方法の1つまたは複数のステップの実装のためのプログラムコード手段を含んでいる。ハードウェア・デバイスは、たとえば、サーバまたはパーソナル・コンピュータなど、あるいはそれらの任意の組合せのような任意の種類のコンピュータを含む、プログラムされ得る任意の種類のデバイスであり得る。デバイスは、たとえば、たとえば特定用途向け集積回路(ASIC)、フィールドプログラマブル・ゲート・アレイ(FPGA)のようなハードウェア手段、あるいは、ハードウェア手段とソフトウェア手段の組合せ、たとえばASICおよびFPGA、またはソフトウェア・モジュールがその中にある少なくとも1つのマイクロプロセッサおよび少なくとも1つのメモリであり得る、手段をも含み得る。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明された方法実施形態は、ハードウェアおよびソフトウェアにおいて実装され得る。デバイスはソフトウェア手段をも含み得る。代替的に、実施形態は、たとえば複数のCPUを使用して、異なるハードウェア・デバイス上で実装され得る。
【0055】
本明細書の実施形態は、ハードウェア要素とソフトウェア要素とを含み得る。ソフトウェアで実装される実施形態は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明された様々なモジュールによって実施される機能は、他のモジュールまたは他のモジュールの組合せにおいて実装され得る。この説明では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用のための、あるいはそれらに関するプログラムを含むか、記憶するか、通信するか、伝搬するか、トランスポートすることができる任意の装置であり得る。
【0056】
示されたステップは図示の例示的な実施形態について説明するために提示され、進行中の技術発展が、特定の機能が実施される様式を変更することが予期されるべきである。これらの例は、限定ではなく例示の目的で本明細書で提示される。さらに、機能的ビルディング・ブロックの境界は、説明の便宜のために、任意に、本明細書で定義された。指定された機能およびその関係が適宜に実施される限り、代替境界が定義され得る。(本明細書で説明されたものの等価物、拡張、変形、逸脱などを含む)代替は、本明細書に含まれている教示に基づいて当業者に明らかになろう。そのような代替は、開示された実施形態の範囲および趣旨内に入る。また、「備える(comprising)」、「有する(having)」、「含んでいる(containing)」、および「含む(including)」という単語、ならびに他の類似の形式は、意味において等価であり、これらの単語のいずれか1つの後にくる1つまたは複数の項目が、そのような1つまたは複数の項目の網羅的なリスティングであるように意図されていないか、または、1つまたは複数のリストされた項目のみに限定されるように意図されていないという点で、オープンエンドであることが意図される。本明細書でおよび添付の特許請求の範囲において使用される単数形「a」、「an」、および「the」が、文脈が別段に明確に規定するのでなければ、複数形の言及を含むことにも留意されたい。
【0057】
さらに、1つまたは複数のコンピュータ可読記憶媒体が、本開示に従う実施形態を実装する際に利用され得る。コンピュータ可読記憶媒体は、プロセッサによって可読な情報またはデータが記憶され得る任意のタイプの物理的メモリを指す。したがって、コンピュータ可読記憶媒体は、(1つまたは複数の)プロセッサに本明細書で説明された実施形態に従うステップまたは段階を実施させるための命令を含む、1つまたは複数のプロセッサが実行するための命令を記憶し得る。「コンピュータ可読媒体」という用語は、有形の品物を含み、搬送波および過渡信号を除外し、すなわち、非一時的であることを理解されよう。例は、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハード・ドライブ、CD ROM、DVD、フラッシュ・ドライブ、ディスク、および任意の他の知られている物理的記憶媒体を含む。
【0058】
本開示および例は例示にすぎないと見なされ、開示された実施形態の真の範囲および趣旨は以下の特許請求の範囲によって示されることが意図される。

図1
図2
図3A
図3B
図3C
図4A
図4B
図4C