(57)【特許請求の範囲】
【請求項１】
プロセッサー実行異常検出方法であって、
複数のポイントの第１のセットを含む第１の時系列データを受信する工程と、
前記第１の時系列データ内の前記複数のポイントの第１のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得する工程と、
前記複数のエラーベクトルの第１のセットに基づいて、前記複数のエラーベクトルの第１のセットの平均ベクトル（μ）、共分散行列（Σ）、およびしきい値を推定する工程と、
複数のポイントの第２のセットを含む第２の時系列データを受信する工程と、
前記第２の時系列データ内の前記複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得する工程と、
前記複数のエラーベクトルの第１のセットの前記平均ベクトル（μ）および前記共分散行列（Σ）に基づいて、前記複数のエラーベクトルの第２のセットから、１つ以上の尤度値を取得する工程と、
前記しきい値および前記１つ以上の尤度値に基づいて、前記第２の時系列データ内における異常を検出する工程と、を含み、
前記第１の時系列データ内の前記複数のポイントの第１のセットは、ｍ次元ベクトルであり、
前記複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラーを含み、
前記１つ以上の尤度値が前記しきい値と比較され、さらに、前記１つ以上の尤度値の少なくとも１つが前記しきい値よりも小さいとき、前記異常が検出されることを特徴とするプロセッサー実行異常検出方法。
【請求項２】
前記複数のエラーベクトルの第１のセットの少なくとも１つをモデル化し、多変量ガウス分布を取得する工程をさらに含む請求項１に記載のプロセッサー実行異常検出方法。
【請求項３】
ロングショートタームメモリー（ＬＳＴＭ）ニューラルネットワークを用いた予測モデルに基づいて前記異常が検出される請求項１に記載のプロセッサー実行異常検出方法。
【請求項４】
前記複数のエラーベクトルの第１のセットの前記平均ベクトル（μ）、前記共分散行列（Σ）、および前記しきい値を、（ｉ）第３の時系列データに対応する複数のエラーベクトルの第３のセット、および（ｉｉ）第４の時系列データに対応する複数のエラーベクトルの第４のセットに対して適用することによって、前記第３の時系列データおよび前記第４の時系列データ内における異常を検出する工程をさらに含み、
前記第１の時系列データ、前記第２の時系列データ、前記第３の時系列データ、および前記第４の時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む請求項１に記載のプロセッサー実行異常検出方法。
【請求項５】
異常検出システムであって、
１つ以上のハードウェアプロセッサーと、
前記１つ以上のハードウェアプロセッサーを設定するための複数の命令を保存しているメモリーと、を含み、
前記１つ以上のハードウェアプロセッサーは、前記複数の命令によって、
複数のポイントの第１のセットを含む第１の時系列データを受信し、
前記第１の時系列データ内の前記複数のポイントの第１のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得し、
前記複数のエラーベクトルの第１のセットに基づいて、前記複数のエラーベクトルの第１のセットの平均ベクトル（μ）、共分散行列（Σ）、およびしきい値を推定し、
複数のポイントの第２のセットを含む第２の時系列データを受信し、
前記第２の時系列データ内の前記複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得し、
前記複数のエラーベクトルの第１のセットの前記平均ベクトル（μ）および前記共分散行列（Σ）に基づいて、前記複数のエラーベクトルの第２のセットから、１つ以上の尤度値を取得し、
前記しきい値および前記１つ以上の尤度値に基づいて、前記第２の時系列データ内における異常を検出するよう、設定されており、
前記第１の時系列データ内の前記複数のポイントの第１のセットは、ｍ次元ベクトルであり、
前記複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラーを含み、
前記１つ以上の尤度値が前記しきい値と比較され、さらに、前記１つ以上の尤度値の少なくとも１つが前記しきい値よりも小さいとき、前記異常が検出されることを特徴とする異常検出システム。
【請求項６】
前記１つ以上のハードウェアプロセッサーは、前記複数の命令によって、前記複数のエラーベクトルの第１のセットの少なくとも１つをモデル化し、多変量ガウス分布を取得するよう、さらに設定されている請求項５に記載の異常検出システム。
【請求項７】
前記第１の時系列データおよび前記第２の時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む請求項６に記載の異常検出システム。
【請求項８】
ロングショートタームメモリー（ＬＳＴＭ）ニューラルネットワークを用いた予測モデルに基づいて前記異常が検出される請求項５に記載の異常検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照および優先権
本出願は、２０１５年４月１０日付で出願されたインド国特許出願第１５１６／ＭＵＭ／２０１５号に基づく優先権を主張し、該インド国特許出願の開示内容の全てが、参照によりここに組み込まれる。
【０００２】
ここに開示される本発明は、一般的に、複数の異常（anomalies）の検出に関し、より具体的には、時系列データ（time-series data）からの異常の検出に関する。
【背景技術】
【０００３】
異常検出（anomaly detection）は、挙動（行動）、活動、その他の変化する情報における異常な（通常ではない）パターンを特定する目的で、人間、人間以外の対象物（動物等）、その他の対象物等を監視するプロセスである。異常は、通常、いくつかの既存の技術を用いて、時系列データから検出される。一般的に、センサーを用いて抽出された時系列データは、異常に対応するユニークな信号パターンを含む。従来、時系列データにおける異常検出は、既に時間的な解析がなされている時間窓の事前知識（prior knowledge of time window）を用いる工程を含む。異常検出技術の大部分は、時系列データのタイプ毎に事前処理される必要がある事前に特定された時間窓またはデータ（pre-specified time window or data）を必要とするので、一変量または多変量（univariate or multivariate）の時系列データに対して適用したとき、低い性能しか発揮できない。さらに、従来のプロセス監視技術は、時間窓に渡る指数関数的重みづけ移動平均（EWMA: Exponentially Weighted Moving Average）や、累積合計（CUSUM: Cumulative Sum）のような統計的測定値を用いて、基礎分布（underlying distribution）における変化を検出する。この時間窓の長さは、一般的に、事前に規定されている必要があり、さらに、従来の監視技術は、広範なデータの事前処理を必要とするものであり、その結果は、この時間窓に大きく依存し、そのため、時間窓は、システム性能の低下に繋がり得る。現在の技術は、予測モデル（prediction models）を利用することにより、異常を検出している。しかしながら、これらの技術は、車両の急ブレーキ、車両の加速度／減速度の急激な上昇／下降のような本質的に予測不可能なパターンを組み込んでいない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの様態において、異常検出システムが提供される。該システムは、１つ以上のハードウェアプロセッサーと、該１つ以上のハードウェアプロセッサーを設定するための複数の命令を保存しているメモリーとを含む。１つ以上のハードウェアプロセッサーは、複数のポイントの第１のセット（a first set of points）を含む第１の時系列データ（time-series data）を受信するよう、該複数の命令によって設定されている。ここで、第１の時系列データ内の複数のポイントの第１のセットは、ｍ次元ベクトルである。さらに、１つ以上のハードウェアプロセッサーは、第１の時系列データ内の複数のポイントの第１のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得するよう、該複数の命令によって設定されている。ここで、複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラー（prediction errors）を含む。さらに、１つ以上のハードウェアプロセッサーは、１つ以上の予測エラーを含む複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーターを推定するよう、該複数の命令によって設定されている。さらに、１つ以上のハードウェアプロセッサーは、複数のポイントの第２のセットを含む第２の時系列データを受信するよう、該複数の命令によって設定されている。さらに、１つ以上のハードウェアプロセッサーは、第２の時系列データ内の複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得するよう、該複数の命令によって設定されている。さらに、１つ以上のハードウェアプロセッサーは、１つ以上のパラメーターを、複数のエラーベクトルの第２のセットに対して適用（または使用）するよう、該複数の命令によって設定されている。さらに、１つ以上のハードウェアプロセッサーは、１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用（または使用）されたときに、第２の時系列データ内における異常（または複数の異常）を検出するよう、該複数の命令によって設定されている。
【０００５】
さらに、１つ以上のハードウェアプロセッサーは、複数のエラーベクトルの第１のセットの少なくとも１つをモデル化し、多変量ガウス分布（multivariate Gaussian distribution）を取得するよう、該複数の命令によって設定されている。さらに、１つ以上のハードウェアプロセッサーは、１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用されたときに、１つ以上の尤度値（likelihood values）を取得するよう、該複数の命令によって設定されている。ここで、１つ以上の尤度値は、複数のエラーベクトルの第２のセット用に取得される。１つ以上のパラメーターは、ミュー（μ）、シグマ（Σ）、およびしきい値の少なくとも１つを含む。１つ以上の尤度値の少なくとも１つがしきい値よりも小さいとき、第２の時系列データ内における異常が検出される。ここで、第１の時系列データおよび第２の時系列データは、一変量（univariate）時系列データおよび多変量時系列データの少なくとも１つを含む。異常は、ロングショートタームメモリー（LSTM: Long Short Term Memory）ニューラルネットワークを用いた予測モデルに基づいて検出される。
【０００６】
プロセッサー実行（processor implemented）異常検出方法は、複数のポイントの第１のセットを含む第１の時系列データを受信する工程を含む。ここで、第１の時系列データ内の複数のポイントの第１のセットは、ｍ次元ベクトルである。さらに、プロセッサー実行異常検出方法は、第１の時系列データ内の複数のポイントの第１のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得する工程を含む。ここで、複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラーを含む。さらに、プロセッサー実行異常検出方法は、１つ以上の予測エラーを含む複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーターを推定する工程を含む。さらに、プロセッサー実行異常検出方法は、複数のポイントの第２のセットを含む第２の時系列データを受信する工程を含む。さらに、プロセッサー実行異常検出方法は、第２の時系列データ内の複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得する工程を含む。さらに、プロセッサー実行異常検出方法は、１つ以上のパラメーターを、複数のエラーベクトルの第２のセットに対して適用する工程を含む。さらに、プロセッサー実行異常検出方法は、１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用されたときに、第２の時系列データ内における異常を検出する工程を含む。
【０００７】
さらに、プロセッサー実行異常検出方法は、複数のエラーベクトルの第１のセットの少なくとも１つをモデル化し、多変量ガウス分布を取得する工程を含む。さらに、プロセッサー実行異常検出方法は、１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用されたときに、１つ以上の尤度値を取得する工程を含む。ここで、１つ以上のパラメーターは、ミュー（μ）、シグマ（Σ）、およびしきい値の少なくとも１つを含む。１つ以上の尤度値の少なくとも１つがしきい値よりも小さいとき、第２の時系列データ内における異常が検出される。
【０００８】
異常は、ロングショートタームメモリー（ＬＳＴＭ）ニューラルネットワークを用いた予測モデルに基づいて検出される。さらに、プロセッサー実行異常検出方法は、複数の推定されたパラメーターのセットを、（ｉ）第３の時系列データに対応する複数のエラーベクトルの第３のセット、および（ｉｉ）第４の時系列データに対応する複数のエラーベクトルの第４のセットに対して適用することにより、第３の時系列データおよび第４の時系列データ内における１つ以上の異常を検出する工程を含む。ここで、第１の時系列データ、第２の時系列データ、第３の時系列データ、および第４の時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む。
【０００９】
さらに別の様態において、１つ以上のハードウェアプロセッサーによって実行されたときに、異常検出を実現する１つ以上の命令を含む１つ以上の非一時的マシーン可読情報記憶媒体（non-transitory machine readable information storage mediums）が提供される。異常は、以下の複数の工程を実行することにより、検出される。該工程は、複数のポイントの第１のセットを含む第１の時系列データを受信する工程を含む。ここで、第１の時系列データ内の複数のポイントの第１のセットは、ｍ次元ベクトルである。さらに、該工程は、第１の時系列データ内の複数のポイントの第１のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得する工程を含む。ここで、複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラーを含む。さらに、該工程は、１つ以上の予測エラーを含む複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーターを推定する工程を含む。さらに、該工程は、複数のポイントの第２のセットを含む第２の時系列データを受信する工程を含む。さらに、該工程は、第２の時系列データ内の複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得する工程を含む。さらに、該工程は、１つ以上のパラメーターを、複数のエラーベクトルの第２のセットに対して適用する工程を含む。さらに、該工程は、１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用されたときに、第２の時系列データ内における異常を検出する工程を含む。１つ以上のパラメーターは、ミュー（μ）、シグマ（Σ）、およびしきい値の少なくとも１つを含む。１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用されたときに、１つ以上の尤度値が取得される。１つ以上の尤度値の少なくとも１つが所定のしきい値よりも小さいとき、異常が検出される。
【００１０】
本分野における当業者であれば、ここに提供される任意のブロック図が、本発明の原理を具体化する説明的なシステムの概念図を表すことを理解できるであろう。同様に、任意のフローチャート、フロー図、状態遷移図、擬似コード等が、演算装置やプロセッサーが、明確には記述されるかどうかに関わらず、演算装置やプロセッサーによって実行され、コンピューター可読媒体内において実質的に示される様々なプロセスを表すことが、理解されるであろう。
【図面の簡単な説明】
【００１１】
本明細書における実施形態は、添付の図面を参照し、以下の詳細な説明によって、より理解されるであろう。
【００１２】
【図１】図１は、本発明の実施形態に係る異常検出システムのネットワーク実施を示す図である。
【００１３】
【図２Ａ】図２Ａは、本発明の実施形態に係るロングショートタームメモリー（ＬＳＴＭ）セルを示す図である。
【００１４】
【図２Ｂ】図２Ｂは、本発明の実施形態に係るＬＳＴＭネットワークの１つ以上の隠れ層（hidden layers）のスタックアーキテクチャ（stacked architecture）を示す図である。
【００１５】
【図２Ｃ】図２Ｃは、本発明の実施形態に係るＲＮＮおよびＬＳＴＭアーキテクチャの精度、再呼び出し、およびＦ０．１−スコアを示す表である。
【００１６】
【図３】図３は、本発明の実施形態に係る図１の異常検出システムのブロック図を示す図である。
【００１７】
【図４Ａ】図４Ａは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【図４Ｂ】図４Ｂは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【図４Ｃ】図４Ｃは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【図４Ｄ】図４Ｄは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【図４Ｅ】図４Ｅは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【図４Ｆ】図４Ｆは、本発明の実施形態に係る図１の異常検出システムを用いて、１つ以上のイベントを検出するための、１つ以上のセンサーから受信した複数の時系列データシーケンスサンプルのグラフ表示を示す図である。
【００１８】
【図５】図５は、本発明の実施形態に係る図１の異常検出システムを用いた異常検出方法を示すフロー図である。
【発明を実施するための形態】
【００１９】
本発明の実施形態、並びに、その様々な特徴および利点の詳細は、添付の図面に示され、以下の記載において詳細に説明されるいくつかの非限定的な実施形態を参照してさらに十分に説明される。ここで用いられるいくつかの実施例は、本発明の実施形態を実施し、さらに本分野における当業者が本発明の実施形態を実施することを可能とするための方法の理解を容易とするための意図で用いられるにすぎない。すなわち、実施例は、本発明の範囲の限定を構成するものではない。
【００２０】
異常検出システムおよび方法が提供される。異常検出システムは、異常に関連する１つ以上のポイントを含む時系列データを受信する。ここで、時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む。さらに、異常検出システムは、時系列データ内の１つ以上のポイントのそれぞれのエラーベクトルを算出し、複数のエラーベクトルを取得する。ここで、各エラーベクトルは、複数の予測エラーを含む。さらに、異常検出システムは、複数のエラーベクトルに基づいて、１つ以上のパラメーターを推定する。ここで、１つ以上のパラメーターは、ミュー（μ）、およびシグマ（Σ）の少なくとも１つを含む。さらに、異常検出パラメーターは、１つ以上のパラメーターに基づいて、異常を検出する。
【００２１】
各図、より具体的には、図１から図５を参照すると、各図を通じて、同じ特徴には一貫して同じ参照番号が付されている。各図には、好ましい実施形態が示されており、これら実施形態が、以下の例示的なシステムおよび／方法のコンテキスト（context:内容、文脈）において説明される。
【００２２】
図１は、本発明の実施形態に係る異常検出システム１０２のネットワーク実施１００を示している。異常検出システム１０２は、ネットワーク１０６に通信可能に接続されており、該ネットワーク１０６は、複数のユーザーデバイス１０４−１、１０４−２、１０４−３・・・１０４−Ｎ（以下、集合的にユーザーデバイス１０４と称され、さらに、個別にもユーザーデバイス１０４と称される）に接続されている。ユーザーデバイス１０４は、任意の従来の様々な演算デバイス（例えば、サーバー、デスクトップＰＣ、ノートパソコンまたは携帯型コンピューター、ワークステーション、メインフレームコンピューター、エンターテイメントデバイス、携帯電話、スマートフォン、ＰＤＡｓ（Personal Digital Assistants）、携帯型コンピューター、デスクトップコンピューター、タブレットコンピューター、ファブレット（phablet）、インターネット家電）として実施することができる。
【００２３】
異常検出システム１０２は、ネットワーク１０６を介して、ユーザーデバイス１０４に接続されている。ネットワーク１０６は、無線ネットワーク、有線ネットワーク、またはこれらの組み合わせであってもよい。また、ネットワーク１０６は、個別ネットワーク、または、互いに通信可能に接続され、単一の大規模ネットワーク（すなわち、インターネットまたはイントラネット）として機能する複数の個別ネットワークの集合体として実施することができる。ネットワーク１０６は、異なる種類のネットワーク（例えば、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット等）のいずれか１つとして実施することができる。ネットワーク１０６は、専用ネットワークであってもよいし、共有ネットワークであってもよい。共有ネットワークは、様々なプロトコルを用いる異なる種類のネットワークの接続を意味する。さらに、ネットワーク１０６は、異常検出システム１０２とユーザーデバイス１０４との間の通信リンクを提供するためのネットワークデバイス（例えば、ネットワークスイッチ、ハブ、ルーター、ＨＢＡｓ）を含んでいてもよい。
【００２４】
実施形態の１つにおいて、異常検出システム１０２は、時系列データからの異常の検出を容易とする。異常検出システム１０２は、１つ以上のセンサーを用いて、時系列データを取得する。時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む。ここで用いられる一変量時系列データは、１つ以上のポイントを含む時系列データであり、各ポイントは、１次元ポイント（unidimensional point or one dimensional point）である。ここで用いられる多変量時系列データは、１つ以上のポイントを含む時系列データであり、各ポイントは、多次元ポイント（multidimensional point）である。異常検出システム１０２は、複数のポイントの第１のセットを含む第１の時系列データを受信する。第１の時系列データ内の複数のポイントの第１のセットは、ｍ次元ベクトルである（ここで「ｍ」は自然数）。第１の時系列データを受信すると、異常検出システム１０２は、第１の時系列データ内の複数のポイントの第１のセットのそれぞれのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得する。複数のエラーベクトルの第１のセットの各エラーベクトルは、１つ以上の予測エラーを含む。異常検出システム１０２は、１つ以上の予測エラーを含む複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーターを推定する。さらに、異常検出システム１０２は、複数のポイントの第２のセットを含む第２の時系列データを受信し、複数のポイントの第２のセットの各ポイントのエラーベクトルを算出し、さらに、（１つ以上のエラーベクトルを含む）複数のエラーベクトルの第２のセットを取得する。複数のエラーベクトルの第２のセットの各エラーベクトルは、１つ以上の予測エラーを含む。さらに、異常検出システム１０２は、１つ以上のパラメーターを、複数のエラーベクトルの第２のセットに対して適用する。その後、１つ以上のパラメーターが、複数のエラーベクトルの第２のセットに対して適用されたとき、異常検出システム１０２は、第２の時系列データ内における異常を検出する。１つ以上のパラメーターは、これに限られないが、ミュー（μ）、シグマ（Σ）およびしきい値（τ）を含む。異常は、予測モデルを用いて、第２の時系列データ内において検出される。ここで、１つの例示的な実施形態では、異常検出システム１０２は、１つ以上のスタックＬＳＴＭ（stacked Long Short Term Memory）ニューラルネットワークを用いて予測モデルを学習し、その後、検出された１つ以上の異常を用いて、予測エラー分布（prediction error distribution）を算出する。
【００２５】
上述の方法は、異常を検出するための以下の実施例を用いて説明される。例えば、１つ以上のセンサー（これに限定されないが、圧力センサー、スピードセンサー、ギアセンサー、温度センサー、測定センサー、制御センサー、心電図（ＥＣＧ）センサー、燃料センサー、作動センサー、電力消費センサー等を含む）から、異常検出システム１０２によって、時系列データＸ＝｛ｘ（１），ｘ（２），．．．，ｘ（ｎ）｝が取得される。ここで、時系列内の各ポイントｘ（ｔ）∈Ｒｍは、ｍ次元ベクトル｛ｘ１（ｔ），ｘ２（ｔ），．．．，ｘｍ（ｔ）｝であり、該ｍ次元ベクトルの要素は、複数の入力変数（input variables）に対応している。異常検出システム１０２は、予測モデルを実行し、入力変数の「ｄ」の次の値「ｌ」を学習および予測する（ここで、１≦ｄ≦ｍである）。通常シーケンスは、１つ以上のセット、すなわち、通常トレーン（normal train）（ＳＮ）、通常検証−１（normal validation-1）（ＶＮ１）、通常検証−２（ＶＮ２）、および通常テスト（ｔＮ）に分割される。通常シーケンスは、時系列の規則的パターンであり、これは、システムの通常挙動を示す。異常シーケンス（anomalous sequence(s)）は、１つ以上のセット、すなわち、異常検証（ＶＡ）および異常テスト（ｔＡ）に分割される。異常シーケンスは、時系列の不規則（イレギュラーな）パターンであり、これは、システムの普通ではない挙動（異常挙動）を示す。
【００２６】
本発明は、異常検出システム１０２が第２の時系列データ（または、それに続く時系列データ）から異常を検出するために実施されるものとして説明されるが、異常検出システム１０２は、様々な演算システム（例えば、ラップトップコンピューター、デスクトップコンピューター、ノートパソコン、ワークステーション、メインフレームコンピューター、サーバー、ネットワークサーバー、タブレット、携帯電話等）において実施されてもよいことは理解されるであろう。実施形態の１つにおいて、異常検出システム１０２は、クラウドベース環境（cloud-based environment）において実施されてもよい。
【００２７】
図１および図２Ａには、本発明の実施形態に係る異常検出システム１０２のロングショートタームメモリー（ＬＳＴＭ）セルが示されている。従来のプロセス監視技術は、時間窓に渡る指数関数的重みづけ移動平均（EWMA: Exponentially Weighted Moving Average）や、累積合計（CUSUM: Cumulative Sum）のような統計的測定値を用いて、基礎分布（underlying distribution）における変化を検出する。一般的に、この時間窓の長さは、事前に定められている必要があり、さらに、検出結果は、このパラメーターに大きく依存する。ＬＳＴＭニューラルネットワークは、一定のエラーが、「メモリーセル（memory cells）」と呼ばれる特殊なユニットの内部状態を通るよう強制する乗法ゲート（multiplicative gates）を採用することにより、回帰性ニューラルネットワーク（RNNs: recurrent neural networks）によって発生する消失勾配問題（vanishing gradient problem）を解決する。このゲート、すなわち、ｉｎｐｕｔ（ＩＧ）２０２、ｆｏｒｇｅｔ（ＦＧ）２０４、およびｏｕｔｐｕｔ（ＯＧ）２０６は、図２Ａに示すように、メモリーコンテンツが無関係な入力および出力によって揺動（perturb）されることを防止し、それにより、長期のメモリー保存（long-term memory storage）を可能とする。シーケンス内における長期の相関（long term correlations）を学習するためのこの能力によって、ＬＳＴＭネットワークは、事前に特定された時間窓の必要性を除去し、さらに、複雑な多変量シーケンスを正確にモデル化することができる。
【００２８】
図１、図２Ａおよび図２Ｂは、本発明の実施形態に係るＬＳＴＭネットワークの１つ以上の隠れ層（hidden layers）のスタックアーキテクチャ（stacked architecture）を示している。図２Ｂから明らかなように、ネットワーク内においてＳ字状（sigmoidal）またはＬＳＴＭアクティベーションユニットの回帰性隠れ層をスタックすることは、時系列データの構造を取得し、さらに、異なる時間スケールで時系列を処理することを可能とする。異常検出のための階層的時間的処理（hierarchical temporal processing）の使用の注目すべき事例は、ネオコルテックス（neocortex:新皮質）におけるセルの階層、領域およびレベルを模倣しようと試みる階層的時間的メモリー（HTM: Hierarchical Temporal Memory）システムである。また、時間的異常検出アプローチ（temporal anomaly detection approaches）は、時系列を予測する方法を学習し、さらに、複数の予測エラーを用いて、異常を検出する。
【００２９】
予測子（predictor）が通常挙動をモデル化するために用いられ、続いて、複数の予測エラーが、異常挙動を特定するために用いられる。ネットワークがシーケンスの時間的構造を取得することを保証するために、将来における１つ以上の時系列データが予測される。よって、時系列データ内の各ポイントは、過去の複数の異なるポイントにおいて生成された複数の対応予測値（corresponding predicted values）を有している。この複数の対応予測値は、複数のエラー値を生じさせる。その後、通常のデータに対する予測の間に生成された複数のエラーの確率分布が、テストデータにおける通常挙動の確率を取得するために用いられる。また、複数の制御変数（例えば、車両のアクセルやブレーキ）が存在するとき、ＬＳＴＭネットワークは、複数の従属変数（dependent variables）に加えて、制御変数を予測するために生成される。これは、ＬＳＴＭネットワークが、複数の制御センサー変数および従属センサー変数の複数の予測エラーの結合分布（joint distribution）を介して、通常の使用パターンを学習することを強制するものである。その結果、制御入力（control input）が変化するときに生成された複数の明らかな予測エラーが取得され、さらに、そのような予測エラーが異常検出に対して寄与しなくなる。
【００３０】
図１、図２Ｂおよび図２Ｃは、本発明の実施形態に係るＲＮＮおよびＬＳＴＭアーキテクチャの精度（precision）、再呼び出し（recall）、Ｆ０．１−スコアを示す表を示している。予測モデルに基づくスタックＬＳＴＭネットワークが実施される。実施例を用いて、以下の実施形態が説明され、（３０−２０）隠れユニットが検討される。（３０−２０）は、ＬＳＴＭネットワークの第１の隠れ層および第２の隠れ層内に、３０個および２０個のユニットが存在することを示している。入力層（input layer）内の１つのユニットは、ｍ次元のそれぞれに対応しており、出力層（output layer）内のｄ×ｌ個のユニットは、「ｄ」次元のそれぞれの将来予測「ｌ」のそれぞれ用に１つのユニットが存在するようになっている。隠れ層内の複数のＬＳＴＭユニットは、複数の回帰性接続（recurrent connections）を介して接続されている。図２Ｂに示されているように、下位のＬＳＴＭ隠れ層内の各ユニットが、その上位のＬＳＴＭ隠れ層内の各ユニットに、複数のフィードフォワード接続（feedforward connections）を介して接続されるように、複数のＬＳＴＭ層がスタックされている。異常検出システム１０２は、ＳＮ内のシーケンス（単数または複数）を用いて、予測モデルを学習する。セットＶＮ１は、複数のネットワーク重み（network weights）を学習する間の早期停止（early stopping）のために用いられる。
【００３１】
予測長（prediction length）「ｌ」を用いて、選択されたｄ次元ｘ（ｔ）∈Ｘ（ここで、ｌ＜ｔ≦ｎ−ｌ）のそれぞれが、「ｌ」回予測される。エラーベクトルｅ（ｔ）がポイントｘ（ｔ）用に、［ｅ１１（ｔ），．．．，ｅ１ｌ（ｔ），．．．，ｅｄ１（ｔ），．．．，ｅｄｌ（ｔ）］として算出される。ここで、ｅｉｊ（ｔ）は、ｘｉ（ｔ）と、時間ｔ−ｊにおいて予測されたその値との差である。ＳＮでトレーニングされた予測モデルは、検証およびテストシーケンスにおいて各ポイントのエラーベクトルを算出するために用いられる。複数のエラーベクトルは、多変量ガウス分布Ｎ＝Ｎ（μ，Σ）にフィッティングするようモデル化される。エラーベクトルｅ（ｔ）の観測の尤度値「ｐ（ｔ）」は、ｅ（ｔ）におけるＮの値によって与えられる。例示的な実施形態の１つにおいて、ＶＮ１の複数のポイントの複数のエラーベクトルは、最尤推定を用いて、パラメーターμ（平均ベクトル）およびΣ（共分散行列）を推定するために用いられる。
【００３２】
ｐ（ｔ）＜τであれば、観測ｘ（ｔ）は、「異常検出（anomalous detection）」として分類され、それ以外であれば、観測は、「通常挙動検出（normal behavior detection）」として分類される。セットＶＮ２およびＶＡは、Ｆβ−スコアを最大化することによって、τを学習するために用いられる（ここで、複数の異常ポイントは、ポジティブクラスに属し、複数の通常ポイントは、ネガティブクラスに属する）。
【００３３】
図１、図２Ｃおよび図３は、本発明の実施形態に係る図１の異常検出システム１０２のブロック図を示している。実施形態の１つにおいて、システム１０２は、少なくとも１つのハードウェアプロセッサー３０２と、入力／出力（Ｉ／Ｏ）インターフェース３０４と、メモリー３０６とを含む。少なくとも１つのプロセッサー３０２は、１つ以上のマイクロプロセッサー、マイクロコンピューター、マイクロコントローラー、デジタル信号プロセッサー、中央演算装置（ＣＰＵ）、状態マシーン、論理回路および／または操作可能（operational）な命令に基づいて信号を操作する任意の装置として実施することができる。さらに、少なくとも１つのプロセッサー３０２は、マルチコアアーキテクチャを含んでいてもよい。その他の機能の中でも、少なくとも１つのプロセッサー３０２は、メモリー３０６内に保存されているコンピューター可読命令またはモジュールをフェッチ（fetch:命令コードを読み出すこと）し、実行するよう構成されている。
【００３４】
Ｉ／Ｏインターフェース３０４は、様々なソフトウェアおよびハードウェアインターフェース（例えば、ウェブインターフェース、ＧＵＩ（Graphical User Interface）等）を含む。Ｉ／Ｏインターフェース３０４は、システム１０２が、ユーザーと直接、またはユーザーデバイス１０４を介して、相互通信することを可能とする。さらに、Ｉ／Ｏインターフェース３０４は、システム１０２が、その他の演算デバイス（例えば、図示しないウェブサーバー、外部データサーバー等）と通信を行うことを可能とする。Ｉ／Ｏインターフェース３０４は、有線ネットワーク（例えば、ＬＡＮ、ケーブル等）および無線ネットワーク（例えば、ＷＬＡＮ、セルラー、衛星等）を含む広範な種類のネットワークおよびプロトコル内での多数の通信を容易にする。Ｉ／Ｏインターフェース３０４は、多数の装置を互いにまたは他のサーバーに接続するための１つ以上のポートを含む。
【００３５】
メモリー３０６は、本分野において既知の任意のコンピューター可読媒体またはコンピュータープログラム製品（例えば、静的ランダムアクセスメモリ（ＳＲＡＭ）や動的ランダムアクセスメモリ（ＤＲＡＭ）等の揮発性メモリーおよび／またはリードオンリーメモリー（ＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、フラッシュメモリ、ハードディスク、光学ディスク、コンパクトディスク（ＣＤｓ）、デジタル多用途ディスクまたはデジタルビデオディスク（ＤＶＤｓ）および磁気テープ等の不揮発性メモリー）を含む。メモリー３０６は、上述のように、複数のモジュール３０８を含む。
【００３６】
モジュールは、特定のタスクを実行または特定の抽象データ型（abstract data type）を実行するルーチン（routine）、プログラム、オブジェクト、コンポーネント、データ構造等を含む。実施形態の１つにおいて、上述の実施形態および方法は、複数のモジュール３０８（または、３０８Ａ−Ｎ）を用いることにより、実施および実行することができる。例えば、異常検出システム１０２は、（ｉ）第１の時系列データ内の１つ以上のポイントのそれぞれのエラーベクトルを算出し、複数のエラーベクトルの第１のセットを取得し、さらに、（ｉｉ）第２の時系列データ内の複数のポイントのそれぞれのエラーベクトルを算出し、複数のエラーベクトルの第２のセットを取得するエラーベクトル算出モジュールを含む。複数のエラーベクトルの第１のセットおよび第２のセットの各エラーベクトルは、１つ以上の予測エラーを含む。さらに、異常検出システム１０２は、複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーター（μ：平均ベクトル、Σ：共分散行列、およびしきい値（τ））を推定する推定モジュールを含む。その後、１つ以上のパラメーターが、複数のエラーベクトルの第２のセットに対して適用され、それに基づき、第２の時系列データ内における異常が検出される。１つ以上のパラメーターが複数のエラーベクトルの第２のセットに対して適用され、１つ以上の尤度値が取得される。その後、１つ以上の尤度値が、しきい値（τ）と比較される。少なくとも１つの尤度値がしきい値（τ）よりも小さいとき、異常が検出される。例示的な実施形態の１つにおいて、ｌ＝１のとき、ミュー（μ）およびシグマ（Σ）は、数値である。さらに、異常検出システム１０２は、１つ以上のパラメーターを用いて、異常を検出する異常検出モジュールを含んでいる。さらに、異常検出モジュール１０２は、予測モデルを実行し、上述のような複数の入力変数（ここでｌ≦ｄ≦ｍ）の「ｄ」の次の値「ｌ」を学習し予測する予測モジュールを含んでいる。
【００３７】
さらに、異常検出システム１０２は、１つ以上のエラーベクトルをモデル化し、多変量ガウス分布を取得するモデル化モジュールを含む。また、異常検出システム１０２は、尤度値（単数または複数）とメモリー３０６内に保存されているしきい値（τ）との比較に基づいて、イベントを、異常検出および通常挙動検出の少なくとも１つに分類する分類モジュールを含む。実施形態の１つにおいて、エラーベクトル算出モジュール、推定モジュール、異常検出モジュール、モデル化モジュール、分類モジュール、および予測モジュールは、実行されたとき上述の方法を実行するソフトウェアプログラムの論理的に自己完結型の部分（logically self-contained part）として実施される。
【００３８】
異なる実施形態において、エラーベクトル算出モジュール、推定モジュール、異常検出モジュール、モデル化モジュール、分類モジュール、および予測モジュールは、自己完結型のハードウェアコンポーネントとして実施される。さらに異なる実施形態において、上述の複数のモジュールは、ハードウェアコンポーネントのそれぞれに組み込まれたソフトウェアプログラムの論理的に自己完結型の部分を用いて、自己完結型のハードウェアコンポーネントとして実施されてもよい。
【００３９】
さらに、システム１０２は、システム１０２のアプリケーションや機能を補う複数のプログラムまたはコード化命令（coded instructions）を含むその他モジュールを含んでいてもよい。メモリー３０６は、その他の中でも特に、データを保存しており、さらに、１つ以上のモジュールによって処理され、受信され、生成されたデータを保存するためのレポジトリ（repository）として機能する。また、データは、システムデータベースおよびその他データ３２２を含んでいてもよい。その他データは、複数のその他モジュールの内の１つ以上のモジュールの実行の結果として生成されたデータを含んでいてもよい。
【００４０】
実施形態の１つにおいて、最初に、１つ以上のセンサーが、環境に関連する複数のイベントを検出するために、環境内に配置（配備）される。例えば、複数のセンサーは、イベントに関連する時系列データを取得するために、スペースシャトルに配置され、該時系列データに基づいて、通常挙動からの逸脱が検出されてもよい。時系列データは、タイムスタンプ情報（timestamp information）および／または複数のデータポイントを含む。
【００４１】
１つ以上のセンサーによって取得された時系列データは、その持続時間（time duration）が可変な、可変長のデータである。よって、複数のセンサー（１つより多いセンサー）によって取得された時系列データを、車両に関連するイベントを判別するために用いることができる。複数のセンサーからの時系列データが用いられるので、イベントを正確に判別することができる。
【００４２】
図１〜図３、および図４Ａ〜図４Ｆは、本発明の実施形態に係る図１の異常検出システム１０２を用いて、１つ以上のイベントを検出するために、１つ以上のセンサーから受信した複数の時系列データシーケンスのサンプルのグラフ表示を示している。４つのデータセットのサンプルシーケンスが、図４Ａ〜図４Ｆに示されており、図４Ａ〜図４Ｅのｙ軸のラベルは「センサー」であり、図４Ｆ内のｙ軸のラベルは、「需要」である。複数の通常挙動部分が、４０２として示されており、複数の異常部分が４０４として示されている。エラー分布からの複数の対応する尤度値が、しきい値（τ）を表す破線と共に、ログスケールのｙ軸（ラベル「ｐ」）に４０６として示されており、複数の隠れ層の複数のアクティベーション（activation:活動）シーケンスが４０８として示されている。
【００４３】
図４Ａは、前心室収縮（pre-ventricular contraction）に対応する単一の短期の異常を含むｑｔｄｂ／ｓｅｌ１０２ＥＣＧデータセットを示している。ＥＣＧデータセットは、１つの異常しか有していないため、しきい値は算出または設定されない。さらに、このデータセットの対応するＦ０．１−スコアに関し、異常検出システム１０２は、通常のＥＣＧサブシーケンスを用いて、予測モデルを学習し、さらに、時系列データの残りのシーケンスの複数のエラーベクトルの尤度を算出する。
【００４４】
図４Ｂは、スペースシャトルモラッタバルブ（marotta valve）時系列データセットを示している。このデータセットは、複数の短期のパターンと、おおよそ１００ｓの時間ステップ持続する複数の長期のパターンとの双方を有している。図４Ｂのデータセット内では、３つの異常領域が４０４（ａ１、ａ２、およびａ３）として示されている。領域ａ３は、容易に異常と識別できる一方、領域ａ１およびａ２は、より微妙な異常に対応しており、この分解能（解像度）では、容易に識別できない。
【００４５】
図４Ｃ〜図４Ｅは、エンジンデータセット用に予測すべき２つの次元（「センサー」および「制御」とラベル付けされている）のオリジナルサブシーケンスと、２つのアーキテクチャの尤度値を示している。図４Ｃは、モーターのような推進力エンジンの通常挙動のサンプルを示している一方、図４Ｄおよび図４Ｅは、欠陥のあるエンジンの２つの異なる例を示している。同じＳｉ（ｉ＝１，２，３）の複数のプロットは、同じｙ軸スケールを有している。図４Ｃ〜図４Ｅは、マルチセンサーエンジンデータセットを示している。このデータセットは、１２個の異なるセンサーからの読み出しを有している。複数のセンサーの１つは、エンジンに対する「制御」センサーであり、複数の制御変数を測定し、その他の残りのセンサーは、温度、トルク等のような複数の従属変数を測定する。最初に、異常検出システム１０２は、（予測モデルを学習するために）１つ以上の独立する欠陥に対応する複数の通常シーケンスＳＮを用いてトレーニングされ、Ｆβ−スコアが１つ以上の独立した欠陥の区別可能なセットにおいて測定される。換言すれば、最初に、システム１０２が、（予測モデルを学習するために）複数の通常シーケンスＳＮを用いてトレーニングされ、その後、通常シーケンスＶＮ２および欠陥（異常）シーケンスＶＡを用いて、Ｆβ−スコアを最大化することにより、しきい値が算出される。「制御」センサーは、予測すべき次元としての複数の従属変数の１つと共に、選択される。
【００４６】
図４Ｆは、電力需要データセットを示している。通常挙動は、電力消費が、５日間の平日に対応する５つのピークと、週末に対応する２つの谷とを有する複数の週に対応している。このデータセットは、数百の時間ステップに渡る超長期のパターンを有している。加えて、ピークが平日の同じ時間に正確に発生しないことから、データにはノイズが多い。図４Ｆ中の（ｆ．１）および（ｆ．２）は、下位の隠れ層（ＬＳＴＭ−Ｌ１）および上位の隠れ層（ＬＳＴＭ−Ｌ２）のそれぞれの選択されたＬＳＴＭ隠れユニットの複数のアクティベーションシークエンスを示している。
【００４７】
上述の複数の実験結果からの重要な観測（key observations）は、以下の事項を示している。
（ｉ）図４Ａおよび図４Ｅでは、全てのデータセットにおいて、異常領域における尤度値ｐ（ｔ）が、通常領域よりも著しく低い。さらに、ｐ（ｔ）の値は、異常領域の全てに渡って低いわけではない。β＜＜１（０．１）は、再呼び出し（recall）に渡る予測に対してより高い重要性を与えるように、意図的に用いられる。異常サブシーケンスにおける全てのポイントが「異常」とのラベルを有しているが、実際には、これらポイント間であっても、「通常」挙動の複数のポイントが存在し得ることは理解されるであろう。これは、「異常」サブシーケンス内の複数のポイントの有意な割合（パーセンテージ）が、異常として予測されるのに十分な程度になっている。得られるτの値（図４Ａおよび図４Ｆ中のｐ（ｔ）プロット内の破線によって表されている）は、（図２に示されているように）検討されるデータセットの適切な測定基準となるべきＦβ−スコアを示している。
（ｉｉ）ポジティブ尤度比（positive likelihood ratio）（「偽」のポジティブ率（false positive rate）に対する「真」のポジティブ率（true positive rate））が、全てのデータセットにおいて、高い（３４．０より高い）ことがわかる。高いポシティブ尤度比の値は、異常領域内における異常を報告する確率が、通常領域内における異常を報告する確率よりも大幅に高いことを示している。
（ｉｉｉ）選択された複数の隠れユニットの複数のアクティベーション、すなわち、電力データセット用の層ＬＳＴＭ−Ｌ１（３０個のユニットを有する下位の隠れ層）およびＬＳＴＭ−Ｌ２（２０個のユニットを有する上位の隠れ層）のそれぞれの４つのアクティベーションが図４（ｆ．１）および図４（ｆ．２）に示されている。図４（ｆ．２）に示された過去のアクティベーションシーケンス内においてｗ１およびｗ２によって示されているサブシーケンスは、この隠れ層のアクティベーションが平日の間に高く、週末の間に低いことを示している。これらは、上位の隠れ層によって学習されるべき、週単位の時間スケールにおいて現れる高レベルの特徴の例である。
（ｉｖ）図２Ｃに示されているように、「ＥＣＧ」および「エンジン」データセットは、長期の時間的従属性（long-term temporal dependence）を有しておらず、ロングショートタームメモリー−異常検出（LSTM-AD: Long-Term Memory-Anomaly Detection）および回帰性ニューラルネットワーク−異常検出（RNN-AD）の双方が、同じ程度に良好に機能している。ＬＳＴＭ−ＡＤは、ロングショートタームメモリー・ニューラルネットワークを用いた異常検出を意味する。ＲＮＮ−ＡＤは、複数の隠れ層内の複数のＳ字型ユニットを有する回帰性ニューラルネットワークを用いた異常検出を意味する。その一方、「スペースシャトル」および「電力需要」データセットは、短期の従属性と共に、長期の時間的従属性を有しており、ＬＳＴＭ−ＡＤは、Ｆ０．１−スコアの項目において、ＲＮＮ−ＡＤよりもそれぞれ１８％、３０％高いという顕著な改善を示している。
（ｖ）「エンジン」データセットの欠陥の前の期間（periods）において検出された異常ポイントの割合（fraction）は、通常動作の間の異常ポイントの割合よりも高い。これは、ここに説明の実施形態および／または方法が、早期に欠陥を予測するためにも良好に利用可能であることを示している。
【００４８】
図１〜図４を参照しつつ、図５は、本発明の実施形態に係る図１の異常検出システム１０２を用いる異常検出方法を示すフロー図である。工程５０２において、複数のポイントの第１のセットを含む第１の時系列データが受信される。時系列データ内の複数のポイントの第１のセットは、ｍ次元ベクトルである（ここで、「ｍ」は、１〜ｎの範囲の自然数である）。工程５０４において、第１の時系列データ内の複数のポイントの第１のセットのそれぞれのエラーベクトルが算出され、複数のエラーベクトルの第１のセットが取得される。複数のエラーベクトルの第１のセットのそれぞれは、１つ以上の予測エラーを含む。工程５０６において、複数のエラーベクトルの第１のセットに基づいて、１つ以上のパラメーターが推定され、複数の推定されたパラメーターのセットが取得される。推定されたパラメーターのセットは、ミュー（μ）、シグマ（Σ）、およびしきい値（τ）の少なくとも１つを含む。工程５０８において、複数のポイントの第２のセットを含む第２の時系列データが受信される。第２の時系列データ内の複数のポイントの第２のセットは、ｍ次元ベクトルである。工程５１０において、第２の時系列データ内の複数のポイントの第２のセットのそれぞれのエラーベクトルが算出され、複数のエラーベクトルの第２のセットが取得される。工程５１２において、複数の推定されたパラメーターのセットが、第２の時系列データの複数のエラーベクトルの第２のセットに対して適用される。複数のエラーベクトルの第２のセット内の各エラーベクトルは、１つ以上の予測エラーを含んでいる。工程５１４において、複数の推定されたパラメーターのセットが複数のエラーベクトルの第２のセットに対して適用されたとき、第２の時系列データ内における異常が検出される。より具体的には、複数の推定されたパラメーターのセットが、複数のエラーベクトルの第２のセットに対して適用されたとき、１つ以上の尤度値が取得される。例示的な実施形態の１つにおいて、複数の推定されたパラメーターのセットからの複数のパラメーターの任意の組み合わせが、第２の時系列データの複数のエラーベクトルの第２のセットに対して適用される（用いられる）。１つ以上の尤度値の少なくとも１つが、しきい値よりも小さい場合、異常が検出される。複数のエラーベクトルの第１のセットの少なくとも１つがモデル化され、多変量ガウス分布が取得される。ロングショートタームメモリー（ＬＳＴＭ）ニューラルネットワークを用いた予測モデルに基づいて、異常が検出される。第１の時系列データおよび第２の時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む。
【００４９】
学習フェーズの間、ＬＳＴＭベースの予測モデル、ガウスパラメーターであるミュー（μ）、シグマ（Σ）およびしきい値（τ）が学習される。その後、これらパラメーターの全てが、異常検出のため、すなわち、新たな時系列データ（または、後続の時系列データ）内の複数のポイントを、通常または異常として分類するために用いられる。予測モデルは、複数のエラーベクトルを取得するために用いられる。該複数のエラーベクトルは、その後、トレーニングフェーズにおいて学習されるミューおよびシグマを用いて、複数の尤度値を取得するために用いられる。尤度が学習フェーズの間に学習されたτよりも低い場合、そのポイントは、異常として分類され、それ以外の場合、通常として分類される。換言すれば、異常検出システム１０２は、推定されたパラメーターであるミュー（μ）、シグマ（Σ）およびしきい値（τ）の同じセットを、受信した第３の時系列データおよび第４の時系列データに用いる。例えば、複数のポイントの第３のセットを含む第３の時系列データが、異常検出システム１０２によって受信されると、異常検出システム１０２は、複数のポイントの第３のセット内の各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第３のセットを取得する。推定されたパラメーターであるミュー（μ）、シグマ（Σ）、およびしきい値（τ）のセットが、複数のエラーベクトルの第３のセットに対して適用または用いられ、第３の時系列データに対応する（または固有の）複数の尤度値のセット（複数の尤度値の第３のセットとも称される）が取得される。推定されたパラメーターであるミュー（μ）、シグマ（Σ）、およびしきい値（τ）のセットが、複数のエラーベクトルの第３のセットに対して適用または用いられたとき、第３の時系列データ内における１つ以上の異常が、検出される。より具体的には、得られた複数の尤度値のセットの少なくとも１つがしきい値（τ）よりも小さいとき、第３の時系列データ内における１つ以上の異常が検出される等である。同様に、複数のポイントの第４のセットを含む第４の時系列データが異常検出システム１０２によって受信されると、異常検出システム１０２は、複数のポイントの第４のセット内の各ポイントのエラーベクトルを算出し、複数のエラーベクトルの第４のセットを取得する。推定されたパラメーターであるミュー（μ）、シグマ（Σ）、およびしきい値（τ）のセットが、複数のエラーベクトルの第４のセットに対して適用または用いられ、第４の時系列データに対応する（または固有の）複数の尤度値のセット（複数の尤度値の第４のセットとも称される）が取得される。推定されたパラメーターであるミュー（μ）、シグマ（Σ）、およびしきい値（τ）のセットが、複数のエラーベクトルの第４のセットに対して適用または用いられたとき、第４の時系列データ内における１つ以上の異常が、検出される。より具体的には、得られた複数の尤度値の第４のセットの少なくとも１つがしきい値（τ）よりも小さいとき、第４の時系列データ内における１つ以上の異常が検出される等である。また、第１の時系列データ、第２の時系列データ、第３の時系列データ、および第４の時系列データは、一変量時系列データおよび多変量時系列データの少なくとも１つを含む。
【００５０】
上記記載は、本発明を記述し、本分野における当業者が本明細書に記述の実施形態および／または方法を実施および使用することを可能とするものである。本発明の範囲は、請求項によって規定されるものであり、本分野における当業者であれば成し得るその他変形、変更も含むものである。そのようなその他変形、変更は、請求項中の文言から解離しない同様のエレメントを有する場合、または、請求項中の文言から実質的に解離しない均等なエレメントを含む場合、請求項の範囲内のものである。
【００５１】
しかしながら、保護範囲は、メッセージを内部に有するコンピューター可読手段に加え、プログラムにまで拡張されることは理解されるであろう。そのようなコンピューター可読記憶手段は、プログラムが、サーバー、モバイルデバイス、または任意の好適なプログラム可能デバイス上において実行されたとき、上述の方法の１つ以上の工程を実行するプログラムコード手段を含む。ハードウェアデバイスは、プログラム可能な任意の種類のデバイス（例えば、サーバーやパーソナルコンピューター等のような任意の種類のコンピューター）、またはこれらの任意の組み合わせであってもよい。また、デバイスは、ハードウェア手段（例えば、ＡＳＩＣ（Application-Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、またはハードウェアの組み合わせ）、ハードウェア手段およびソフトウェア手段の組み合わせ（例えば、ＡＳＩＣおよびＦＰＧＡ）、または、内部にソフトウェアモジュールを有する少なくとも１つのマイクロプロセッサーおよび少なくとも１つのメモリーである手段を含んでいてもよい。よって、該手段は、ハードウェア手段と、ソフトウェア手段の双方を含むことができる。本明細書に説明の方法は、ハードウェアおよびソフトウェアにおいて実施することができる。また、本デバイスは、ソフトウェア手段を含む。代替的に、本発明は、複数の異なるハードウェアデバイス、すなわち、複数のＣＰＵを用いて、実施されてもよい。
【００５２】
本発明の実施形態は、ハードウェアおよびソフトウェアエレメントを含むことができる。ソフトウェアにおいて実施される実施形態は、これに限れないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。本明細書において説明された様々なモジュールによって実行される機能は、他のモジュールまたは他のモジュールの組み合わせによって実施されてもよい。説明の目的のため、コンピューター使用可能またはコンピューター可読媒体は、使用のためのプログラムを含み、保存し、通信し、伝播し、伝送可能な任意の装置、または命令実行システム、装置デバイスと接続するものであってもよい。
【００５３】
媒体は、電子、磁気、光学、電磁気、赤外、半導体システム（もしくは、装置、デバイス）、または、伝播媒体であってもよい。コンピューター可読媒体の例としては、半導体または固体メモリー、磁気テープ、リムーバブルコンピューターディスケット、ランダムアクセスメモリー（ＲＡＭ）、リードオンリーメモリー（ＲＯＭ）、リジット磁気メモリー、および光学ディスクが挙げられる。光学ディスクの近年の例としては、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＣＤ−Ｒ／Ｗ（Compact Disk-read/write）、およびＤＶＤが挙げられる。
【００５４】
プログラムコードを保存および／または実行するのに適したデータ処理システムは、システムバスを介してメモリーエレメントと直接または間接に接続された少なくとも１つのプロセッサーを含む。メモリーエレメントは、プログラムコードの実際の実行の間に用いられるローカルメモリー、大容量記憶装置、および、実行回数を低減するために少なくともいくつかのプログラムコードの一時的保存を提供するキャッシュメモリを含み得、コードは、実行の間に大容量記憶装置から読み出される。
【００５５】
入力／出力（Ｉ／Ｏ）デバイス（これに限れないが、キーボード、ディスプレイ、ポインティングデバイス等）は、直接または中継Ｉ／Ｏコントローラーを介してシステムに接続できる。また、ネットワークアダプターは、システムに接続され、データ処理システムが、中継プライベートネットワークまたはパブリックネットワークを介して、その他のデータ処理システム、遠隔プリンター、または記憶デバイスに接続されることを可能とする。ネットワークアダプターの最近の使用可能な種類のいくつかは、モデム、ケーブルモデム、およびイーサネット（登録商標）カードである。
【００５６】
本発明を実行するための代表的なハードウェア環境は、本発明の実施形態に係る情報操作／コンピューターシステムのハードウェア構成を含むことができる。このシステムは、少なくとも１つのプロセッサー、または中央演算装置（ＣＰＵ）を含む。ＣＰＵは、システムバスを介して、様々なデバイス（例えば、ランダムアクセスメモリー（ＲＡＭ）、リードオンリーメモリー（ＲＯＭ）、入力／出力（Ｉ／Ｏ）アダプター等）に相互接続されている。Ｉ／Ｏアダプターは、周辺機器（例えば、ディスクユニット、テープデバイス）、または、システムによって可読なその他のプログラム記憶媒体に接続可能である。システムは、プログラム記憶デバイス上の複数の発明的命令（inventive instructions）を読み込み、これらの命令に従って、上述の本発明の方法を実行する。このような様態は、図面中の代表的なコンピューターアーキテクチャによって示されている。
【００５７】
さらに、システムは、キーボード、マウス、スピーカー、マイク、および／またはその他ユーザーインターフェースデバイス（例えば、図示しないタッチスクリーンデバイス）をバスに接続し、ユーザー入力を収集するユーザーインターフェースアダプターを含む。さらに、例えば、通信アダプターは、バスをデータ処理ネットワークに接続し、ディスプレイアダプターは、バスを、出力デバイス（例えば、モニター、プリンター、送信器）として具体化されるディスプレイデバイスに接続する。
【００５８】
異常検出システム１０２は、パターン期間（pattern duration）の事前知識なしに、より高いレベルの時間的パターンを学習することができるスタックＬＳＴＭネットワークを実行し、さらに、スタックＬＳＴＭネットワークは、通常の時系列挙動をモデル化するための実行可能な技術であり、後に異常を検出するために用いることができる。異常検出システム１０２は、長期の時間的従属性と同様、短期の時間的従属性のモデル化も含むＬＳＴＭ−ＡＤ技術データセットを実行する。換言すれば、効率的な方法で通常挙動を学習することを可能とし、それにより正確に異常挙動を検出することを可能とするＬＳＴＭネットワークによって、多変量時系列データの複数の異なる次元間の従属性を学習可能となる。図２に示されているように、図２中の表は、ＬＳＴＭ−ＡＤ技術と、ＲＮＮ−ＡＤ技術の実験結果の比較を示しており、これは、ＲＮＮベースのモデルと比較して、ＬＳＴＭベースの予測モデルのほうがよりロバスト（robust）であることを示しており、これは特に、通常挙動が長期の従属性を含むかどうかの先験的情報（priori information）がない場合に顕著である。従来の異常検出システムおよび方法と異なり、異常検出システム１０２は、如何なる特徴エンジニアリング（feature engineering）や、事前処理（pre-processing）も必要としない。提案の実施形態は、異常検出システム１０２が、異常検出を改善するＬＳＴＭｓを用いて、時系列中の長期の相関を容易に取得することができるようにする。異常検出システム１０２は、「通常データ」を用いることによって、異常データの如何なる必要性もなしに、予測モデルを学習する。説明され、異常検出システム１０２によって実施される提案の実施形態は、これに限定されないが、（ｉ）異常挙動を検出するよう設定されたモノのインターネット（IoT: Internet of Things）、（ｉｉ）製造分野における欠陥検出、状態監視等において活用することができる。
【００５９】
様々な実施形態を参照し、ここまでの説明が提供された。説明された構造や動作の方法に対する適切な置換および変更が可能な応用例が、本発明の原理、精神、および範囲から優位に逸脱することなく実行可能であることは、本分野および本技術における当業者であれば理解できるであろう。
【図１】
0006313730.tif 000002
【図２Ａ】
0006313730.tif 000003
【図２Ｂ】
0006313730.tif 000004
【図２Ｃ】
0006313730.tif 000005
【図３】
0006313730.tif 000006
【図４Ａ】
0006313730.tif 000007
【図４Ｂ】
0006313730.tif 000008
【図４Ｃ】
0006313730.tif 000009
【図４Ｄ】
0006313730.tif 000010
【図４Ｅ】
0006313730.tif 000011
【図４Ｆ】
0006313730.tif 000012
【図５】
0006313730.tif 000013