(57)【要約】  異常な動作を検出し、修正するための方法及びシステムは、複数の過去の時系列シーケンスのジョイントバイナリ埋め込みをそれぞれ生成することを含む。新しい時系列シーケンスのジョイントバイナリ埋め込みが生成される。複数の過去の時系列シーケンスのランク付きリストは、それぞれのジョイントバイナリ埋め込みに基づいて、新しい時系列シーケンスに対する過去の各時系列シーケンスの類似性に応じて生成される。新しい時系列シーケンスに関連するシステムの異常な動作は、ランク付きリストにおける最上位ランクの過去の時系列シーケンスのラベルに基づいて判定される。異常な動作を修正する修正動作が実行される。【選択図】図１
2021512437.tif 000002
【特許請求の範囲】
【請求項１】
異常な動作を検出し、修正するための方法であって、
複数の過去の時系列シーケンスのジョイントバイナリ埋め込みをそれぞれ生成し、
新しい時系列シーケンスのジョイントバイナリ埋め込みを生成し、
それぞれのジョイントバイナリ埋め込みに基づいて、前記新しい時系列シーケンスに対する前記過去の各時系列シーケンスの類似性に応じた複数の前記過去の時系列シーケンスのランク付きリストを生成し、
前記ランク付きリストにおける最上位ランクの過去の時系列シーケンスのラベルに基づいて前記新しい時系列シーケンスに関連するシステムの異常な動作を判定し、
前記異常な動作を修正する修正動作を実行する、方法。
【請求項２】
複数の前記過去の時系列シーケンス及び前記新しい時系列シーケンスのジョイントバイナリ埋め込みを生成することは、
時間的ダイナミクスの第１の表記を生成するために、長短期メモリユニットを用いて時系列シーケンスを符号化し、
同じ時間セグメント内の時系列の異なるペア間の相関関係に関する第２の表記を生成するために、畳み込みニューラルネットワークを用いて時系列シーケンスのペアを符号化することを含む、請求項１に記載の方法。
【請求項３】
複数の前記過去の時系列シーケンス及び前記新しい時系列シーケンスのジョイントバイナリを生成することは、
前記表記を結び付け、
該結び付きを１と−１との間の値にマップすることを含む、請求項２に記載の方法。
【請求項４】
前記ランク付きリストを生成することは、
前記新しい時系列シーケンスに対する複数の前記過去の各時系列シーケンスの類似性を、それぞれのジョイントバイナリ埋め込み間のハミング距離に基づいて判定することを含む、請求項１に記載の方法。
【請求項５】
前記ランク付きリストを生成することは、
ランキング損失の項及び正則化の項を含む目的関数を最適化することを含む、請求項１に記載の方法。
【請求項６】
前記目的関数を最適化することは、
近似された目的関数
【数１】
2021512437.tif 000084
を最適化することを含み、
Ｄｔｒｉｐｌｅｔはセグメントのトリプレットであり、Ｗはパラメータ行列であり、Ｍはトリプレットの総選択肢であり、ｓはトリプレットにおける異なるセグメントの数であり、
【数２】
2021512437.tif 000085
はクエリｙｑに関する過去の時系列ｙｉのソフト近似ランクであり、λはランキング損失と最適化とのトレードオフを制御するパラメータである、請求項５に記載の方法。
【請求項７】
前記目的関数が、確率的勾配降下法に基づく近似目的関数である、請求項５に記載の方法。
【請求項８】
各時系列シーケンスが、時間の順に記録されたセンサ値のセットを示す、請求項１に記載の方法。
【請求項９】
前記修正動作は、
被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインタフェースの状態の変更からなるグループから選択される、請求項１に記載の方法。
【請求項１０】
異常な動作を検出し、修正するためのシステムであって、
複数の過去の時系列シーケンスのジョイントバイナリ埋め込みをそれぞれ生成し、新しい時系列シーケンスのジョイントバイナリ埋め込みを生成するように構成されたプロセッサを備えるジョイント埋め込みモジュールと、
それぞれのジョイントバイナリ埋め込みに基づいて、前記新しい時系列シーケンスに対する前記過去の各時系列シーケンスの類似性に応じた複数の前記過去の時系列シーケンスのランク付きリストを生成するように構成されたランキングモジュールと、
前記ランク付きリストにおける最上位ランクの過去の時系列シーケンスのラベルに基づいて前記新しい時系列シーケンスに関連するシステムの異常な動作を判定し、前記異常な動作を修正する修正動作を実行するように構成された修正モジュールと、
を有するシステム。
【請求項１１】
前記ジョイント埋め込みモジュールが、
時間的ダイナミクスの第１の表記を生成するために、長短期メモリユニットを用いて時系列シーケンスを符号化し、
同じ時間セグメント内の時系列の異なるペア間の相関関係に関する第２の表記を生成するために、畳み込みニューラルネットワークを用いて時系列シーケンスのペアを符号化するようにさらに構成された、請求項１０に記載のシステム。
【請求項１２】
前記ジョイント埋め込みモジュールが、
前記表記を結び付け、
該結び付きを１と−１との間の値にマップするようにさらに構成された、請求項１１に記載のシステム。
【請求項１３】
前記ランキングモジュールが、
前記新しい時系列シーケンスに対する複数の前記過去の各時系列シーケンスの類似性を、それぞれのジョイントバイナリ埋め込み間のハミング距離に基づいて判定するようにさらに構成された、請求項１１に記載のシステム。
【請求項１４】
前記ランキングモジュールが、
ランキング損失の項及び正則化の項を含む目的関数を最適化するようにさらに構成された、請求項１０に記載のシステム。
【請求項１５】
前記ランキングモジュールが、
近似された目的関数
【数３】
2021512437.tif 000086
を前記目的関数として最適化するようにさらに構成され、
Ｄｔｒｉｐｌｅｔはセグメントのトリプレットであり、Ｗはパラメータ行列であり、Ｍはトリプレットの総選択肢であり、ｓはトリプレットにおける異なるセグメントの数であり、
【数４】
2021512437.tif 000087
はクエリｙｑに関する過去の時系列ｙｉのソフト近似ランクであり、λはランキング損失と最適化とのトレードオフを制御するパラメータである、請求項１４に記載のシステム。
【請求項１６】
前記目的関数が、確率的勾配降下法に基づく近似目的関数である、請求項１４に記載のシステム。
【請求項１７】
各時系列シーケンスが、時間の順に記録されたセンサ値のセットを示す、請求項１０に記載のシステム。
【請求項１８】
前記修正動作が、被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインタフェースの状態の変更からなるグループから選択される、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１８年２月８日に出願された米国特許出願第６２／６２７，９２２号及び２０１９年１月１１日に出願された米国特許出願第１６／２４５，７４０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０００２】
本発明は、複雑なシステムにおける多変量時系列の検索に関し、特に、システムの状態を判定し、修正する、上記の検索のためのランク監視付きジョイントバイナリ埋め込み（rank supervised joint binary embedding）に関する。
【背景技術】
【０００３】
多変量時系列データは、例えば、発電所モニタリング、ヘルスケア、ウェアラブル装置、自動車モニタリング、ＩｏＴ（Internet of Things）アプリケーション等を含む、多くの実用的なアプリケーションにおける共通事項である。多変量時系列の検索は、最新の多変量時系列セグメントが与えられると、過去のデータから関連する時系列セグメントをどのように取得するかを特徴とする。すなわち、特定の既知の時系列を用いて、過去のデータの中から一致する時系列を見つけ出すことは、特に異なる時系列のセット間の相互作用だけでなく、時間的ダイナミクスを符号化する必要性のために、容易ではない。
【発明の概要】
【０００４】
異常な動作を検出し、修正する方法は、過去の時系列シーケンスのセットのジョイントバイナリ埋め込みをそれぞれ生成することを含む。新しい時系列シーケンスのジョイントバイナリ埋め込みが生成される。複数の過去の時系列シーケンスのランク付きリストは、それぞれのジョイントバイナリ埋め込みに基づいて、新しい時系列シーケンスに対する過去の各時系列シーケンスの類似性に応じて生成される。新しい時系列シーケンスに関連するシステムの異常な動作は、ランク付きリスト内の最上位ランクの過去の時系列シーケンスのラベルに基づいて判定される。異常な動作を修正する修正動作が実行される。
【０００５】
異常な動作を検出し、修正するためのシステムは、複数の過去の時系列シーケンスのジョイントバイナリ埋め込みをそれぞれ生成し、新しい時系列シーケンスのジョイントバイナリ埋め込みを生成するように構成されたプロセッサを有するジョイント埋め込みモジュールを含む。ランキングモジュールは、それぞれのジョイントバイナリ埋め込みに基づいて、新しい時系列シーケンスに対する過去の各時系列シーケンスの類似性に応じた複数の過去の時系列シーケンスのランク付きリストを生成するように構成される。修正モジュールは、ランク付きリストにおける最上位ランクの過去の時系列シーケンスのラベルに基づいて、新しい時系列シーケンスに関連するシステムの異常な動作を判定し、前記異常な動作を修正する修正動作を実行するように構成される。
【０００６】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【０００７】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の一実施形態による、異常検出及び修正を伴う被監視システムのブロック図である。
【０００９】
【図２】図２は、本発明の一実施形態による、被監視システムにおける異常な動作を検出し、修正するブロック／フロー図である。
【００１０】
【図３】図３は、本発明の一実施形態による、例示的なニューラルネットワークの図である。
【００１１】
【図４】図４は、本発明の一実施形態による、例示的なニューラルネットワークアーキテクチャの図である。
【００１２】
【図５】図５は、本発明の一実施形態による、被監視システムにおける異常動作を検出及び修正するように構成された異常検出システムのブロック図である。
【００１３】
【図６】図６は、本発明の一実施形態による、処理システムのブロック図である。
【発明を実施するための形態】
【００１４】
多変量時系列の検索を実行するために、ｒ乗根（rth-root）ランク監視付きジョイントバイナリ埋め込みを使用する。未加工の（raw）多変量時系列セグメントが与えられると、本実施形態では、時間的ダイナミクスを符号化するためにＬＳＴＭ（long short term memory：長短期メモリ）ユニットを使用し、時系列が異なるペア間の相関関係を符号化するために畳み込みニューラルネットワーク（ＣＮＮ：convolutional neural network）を使用する。未加工の時系列セグメントにおける時間的ダイナミクス及び相関関係は、２つの個別の特徴ベクトルで表される。時間的ダイナミクス及び相関関係の両方を組み込むため、ジョイントバイナリ埋め込みが生成される。ハミング距離ランク付きリストの上位の正確さを最適化して出力を生成するために、ｒ乗根ランキング損失（rth-root ranking loss）を用いる。
【００１５】
ランキング損失は、位置がずれているセグメントが同じクラスに属する場合、それらが類似のバイナリ埋め込みを共有するようにできる。埋め込み関数を得るために、本発明のいくつかの実施形態では、連続置換を（continuous replacement）を用いてオリジナルの離散対象を変換し、確率勾配降下法を用いて置き換え対象を最適化する。
【００１６】
図１を参照すると、異常検出システム１０６が被監視システム１０２と共に示されている。被監視システム１０２には、製造ライン及び物的設備の運転等の物理システム、コンピュータまたはその他のコンピュータ装置等の電子システム、ウェアラブル装置、車両、ＩｏＴ装置、並びにオペレーティングシステム及びアプリケーション等のソフトウェアシステムを含む、任意の適切なシステムがなり得る。
【００１７】
１つまたは複数のセンサ１０４は、被監視システム１０２の状態に関する情報を記録する。センサ１０４には、例えば、温度、湿度、振動、圧力、電圧、電流、磁場、電場、光センサ等の物理センサと、コンピュータシステムにインストールされた、該コンピュータシステムで動作するオペレーティングシステム及びアプリケーションの状態及び動作に関する情報を記録するためのログユーティリティ等のソフトウェアセンサとを含む、任意の適切なタイプのセンサがなり得る。センサ１０４によって生成される情報は、任意の適切なフォーマットとすることが可能であり、異なるフォーマットで生成されたセンサログ情報を含むことができる。センサ１０４は、特にレコードの順序リストで示される時系列データを生成することが考えられる。時系列データには、それぞれのレコードが生成された時刻を示す、関連するタイムスタンプを有していてもよく、有していなくてもよい。
【００１８】
センサ１０４は、無線通信及び有線通信を含む任意の適切な通信媒体及びプロトコルによってログされたセンサ情報を異常検出システム１０６に送信できる。異常検出システム１０６は、新しく測定された時系列データのシーケンスを先に記録されたデータセットの主要部と比較し、１つまたは複数の一致する過去のインスタンスを取り出す。これらの取り出したインスタンスは、該取り出したインスタンスに関連する期間において、被監視システム１０２の状態または動作を記述する関連ラベルを有していてもよい。場合によっては、取り出したインスタンスのラベルは、被監視システム１０２が、異常な、すなわち好ましくない状態で動作していることを示していてもよい。
【００１９】
異常な動作が検出されると、異常検出システム１０６は、システム制御ユニット１０８と通信し、異常な動作を修正するために、被監視システム１０２の１つまたは複数のパラメータを変更する。典型的な修正動作としては、アプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、アプリケーションまたはハードウェアコンポーネントの動作パラメータの変更（例えば、動作速度）、アプリケーションの停止及び／または再起動、ハードウェアコンポーネントの停止及び／または再起動、環境条件の変更、ネットワークインタフェースの状態または設定の変更等が含まれる。これにより、異常検出システム１０６は、異常な動作を自動的に修正または軽減する。
【００２０】
多変量時系列セグメント、例えば、Ｔがウィンドウサイズの長さであるｎ個の時系列
【数１】
2021512437.tif 000003
が与えられると、
【数２】
2021512437.tif 000004
項は、長さｔの時系列を表す。
【数３】
2021512437.tif 000005
項は、特定の時間ｔにおけるｎ個の入力系列のベクトルを表す。さらに、フロベニウスノルムは
【数４】
2021512437.tif 000006
で示され、ベクトルｘのハミングノルムは
【数５】
2021512437.tif 000007
で示される。ハミングノルムは、ベクトル内の非ゼロエントリの数である。ベクトルｘの
【数６】
2021512437.tif 000008
ノルムは
【数７】
2021512437.tif 000009
として示され、ｘにおけるエントリの絶対値の総和を提供する。
【００２１】
Ｔ時間ステップだけ続く、ｎ個の時系列のスライスを示す多変量時系列セグメント
【数８】
2021512437.tif 000010
が与えられると、本実施形態は過去のデータベースのセットにおいて最も類似する時系列セグメントを見つけ出す。これは、以下の
【数９】
2021512437.tif 000011
で表される。ここで、
【数１０】
2021512437.tif 000012
はセグメントの集合であり、ｐは
【数１１】
2021512437.tif 000013
における第ｐセグメントの添え字を示し、Ｎは集合内のセグメントの総数を示し、
【数１２】
2021512437.tif 000014
は類似性測度関数（similarity measure function）を表す。
【００２２】
次に、図２を参照すると、図２には、異常な動作を検出し、修正する方法が示されている。多変量時系列の検索を実行するため、本実施形態は時間的ダイナミクスを捉える未加工の多変量時系列セグメントの表記（representation）を取得する。多変量時系列セグメント
【数１３】
2021512437.tif 000015
が与えられると、Ｘからｈまでのマッピングが
【数１４】
2021512437.tif 000016
として示される。ここで、
【数１５】
2021512437.tif 000017
は特徴ベクトルであり、ｍはｈの次元であり、
【数１６】
2021512437.tif 000018
は非線形マッピング関数である。
【００２３】
ブロック２０２は、
【数１７】
2021512437.tif 000019
に実装し、Ｘにおける時間的ダイナミクス及び長期依存性を捉えるためにＬＳＴＭユニットを用いる。ＬＳＴＭユニットにおいて、セル状態は、勾配消失問題を克服することが可能であり、時系列の長期依存性をより良く捉えることができる、時間の経過に伴うアクティビティを合計する。各ＬＳＴＭユニットは、時刻ｔにおける状態ｓｔを備えるメモリセルを有する。メモリセルに対するアクセスは、忘却（forget）ゲートｆｔ、入力ゲートｉｔ、出力ゲートｏｔの３つのシグモイドゲートによって制御される。ＬＳＴＭユニットの更新は、以下のように要約できる。
【数１８】
2021512437.tif 000020
ここで、
【数１９】
2021512437.tif 000021
は、先の状態ｈｔ−１と現在の入力ｘｔとを結び付けたものである。
【数２０】
2021512437.tif 000022
項及び
【数２１】
2021512437.tif 000023
項は、訓練中に学習されるパラメータである。関数
【数２２】
2021512437.tif 000024
及び
【数２３】
2021512437.tif 000025
は、ロジスティックシグモイド関数であり、要素毎の乗算演算子（例えば、アダマール積）である。
【００２４】
ブロック２０４は、多変量時系列セグメントにおける、時系列が異なるペア間の相関関係を表すためにＣＮＮを用いる。ブロック２０２及び２０４は、任意の順序で実行されてもよく、同時に実行されてもよいことが理解されるべきである。ブロック２０４は、例えば、ピアソンの相関係数を用いてｎ×ｎの相関マップを構築する。２つの時系列
【数２４】
2021512437.tif 000026
及び
【数２５】
2021512437.tif 000027
が与えられると、ピアソンの相関係数は、以下のように計算できる。
【数２６】
2021512437.tif 000028
ここで、
【数２７】
2021512437.tif 000029
及び
【数２８】
2021512437.tif 000030
は、２つの時系列の標本平均値を表す。
【００２５】
ＣＮＮは、ブロック２０４において、相関マップ
【数２９】
2021512437.tif 000031
のコンパクトな表記を生成するために使用される。典型的なＣＮＮアーキテクチャは、４つの畳み込み層及び２つの全結合層を含む。バッチ正規化（batch normalization）及び正規化線形ユニット（rectifier linear unit）に続く各畳み込み層は、サイズｈ×ｗ×ｄの３次元アレイである。ここで、ｈ及びｗは空間次元であり、ｄは特徴またはチャネル次元である。全結合層は、畳み込み特徴マップをベクトルに変換し、それを固定された次元ｍに投影する。このＣＮＮアーキテクチャは、純粋に例示したものであり、限定するものとして解釈されるべきではないと理解されるべきである。ＣＮＮの出力は、
【数３０】
2021512437.tif 000032
であり、多変量時系列セグメントにおける時系列が異なるペア間の相関関係を符号化するために使用される。
【００２６】
未加工の多変量時系列セグメントｈＴの表記と、同じセグメントｌ内の様々な時系列ペア間の相関関係の表記が与えられると、ブロック２０６は、それらの表記を
【数３１】
2021512437.tif 000033
で結び付け、２ｍ次元の浮動小数点入力
【数３２】
2021512437.tif 000034
がｖビットバイナリコード
【数３３】
2021512437.tif 000035
へ圧縮されるように、マッピング
【数３４】
2021512437.tif 000036
のグループを含むジョイントバイナリ埋め込みを学習する。これは、バイナリ埋め込みまたはハッシュ関数を表し、以下のように定式化できる。
【数３５】
2021512437.tif 000037
ここで、
【数３６】
2021512437.tif 000038
は、入力変数が０より大きい場合は１を返し、そうでない場合は−１を返す符号関数であり、
【数３７】
2021512437.tif 000039
は適切な予測関数である。特定のデータ領域及び実際のアプリケーションで役立てるために、(例えば、線形及び非線形)に関する種々の数学的形式
【数３８】
2021512437.tif 000040
が用いられる。本実施形態では、線形予測関数に焦点を当てているが、代わりに、任意の適切な予測関数が使用できることを理解されたい。したがって、
【数３９】
2021512437.tif 000041
である。ここで、
【数４０】
2021512437.tif 000042
であり、
【数４１】
2021512437.tif 000043
である。
【数４２】
2021512437.tif 000044
に関して、生成された各バイナリビット
【数４３】
2021512437.tif 000045
となる平均ベクトル
【数４４】
2021512437.tif 000046
で用いるバイアス項
【数４５】
2021512437.tif 000047
はバランスがとれており、最大のエントロピーを示す。バイナリ埋め込み関数
【数４６】
2021512437.tif 000048
全体は、行列
【数４７】
2021512437.tif 000049
によってパラメータ化できる、ｖ個の個別のバイナリ埋め込み関数
【数４８】
2021512437.tif 000050
の機能を含むようにさらに定義される。符号関数は要素毎に適用される。
【００２７】
ブロック２０８は、ＸｑとＸｉとが同じクラスにあり、ＸｑとＸｊとが異なるクラスにあるように、トリプレットＤｔｒｉｐｌｅｔ＝｛Ｘｑ，Ｘｉ，Ｘｊ｝の形式における相対的なセグメントの類似性を活用するためにランキング損失を決定する。ここで、トリプレットにおける各セグメントペア｛Ｘｑ，Ｘｉ｝はセグメントペア｛Ｘｑ，Ｘｊ｝よりも類似する。これらの相対的に類似する関係は、良好なバイナリ埋め込み関数
【数４９】
2021512437.tif 000051
によってハミング空間内で保存される。これは、埋め込み
【数５０】
2021512437.tif 000052
と
【数５１】
2021512437.tif 000053
との間のハミング距離よりも短い、埋め込み
【数５２】
2021512437.tif 000054
と
【数５３】
2021512437.tif 000055
との間のハミング距離となる。
【００２８】
ｙｑがクエリ（query）セグメントを示し、ｙｉが類似セグメントを示し、ｙｊが異種セグメントを示す場合、ｙｉが投影ハミング空間内にあるよりもクエリｙｑに近い異種セグメントｙｊの数として、クエリｙｑに関するｙｉの「ランク」を定義できる。すなわち、ランクは以下のように定義できる。
【数５４】
2021512437.tif 000056
ここで、
【数５５】
2021512437.tif 000057
は、括弧内の条件が満たされた場合は１を返し、そうでない場合は０を返す指示関数である。関数Ｒ（ｙｑ，ｙｉ）は、ハミング距離に関して、類似セグメントｙｉよりもクエリｙｑに近い、誤ってランク付けされた異種セグメントｙｊの数を明確に分ける。そのため、Ｒ（ｙｑ，ｙｉ）は、クエリｙｑに関するハミング距離ランク付きリストにおけるｙｉの位置を示す。
【００２９】
ｒ重根ランキング損失は、ランク付きリストの最上位位置で検索の正確さを明確に最適化し、以下のように定義される。
【数５６】
2021512437.tif 000058
ここで、ｒ＞１である。この損失は、ハミング距離ランク付きリストの最上位に誤ってランク付けされたセグメントを、最下位にランク付けされたセグメントよりもペナルティを科す。これは、Ｒが直線的に増加するにつれて、
【数５７】
2021512437.tif 000059
のインクリメントが徐々に減少するからである。
【数５８】
2021512437.tif 000060
は、ゼロより大きい１階微分値
【数５９】
2021512437.tif 000061
及びゼロより小さい２階微分値
【数６０】
2021512437.tif 000062
を備える１対１の単調増加関数である。
【数６１】
2021512437.tif 000063
は、その勾配の積分として見ることができるため、
【数６２】
2021512437.tif 000064
は、リストの最下部よりも最上部でより重くＲにペナルティを科すことでランクを保存する。
【００３０】
学習目標は以下のように定式化される。
【数６３】
2021512437.tif 000065
ここで、第１項はランキング損失であり、第２項は正則化を実行させ、λ＞０はランキング損失と正則化項との間のトレードオフを制御する正のパラメータである。パラメータｒ＞１は、より大きいｒが、より重いペナルティを項に科すように、どの程度のペナルティがランキングリストの最上位に置かれるかを決定する。Ｗに関してこの目的関数を最適化することで、ハミング距離ランク付きリストの最上位位置における正確さが最適化される。
【００３１】
ランキング損失は、連続的であり、Ｒに関して微分可能であるが、上述した目的関数を最適化することは依然として困難である。これは、バイナリ埋め込み関数が離散マッピングであり、ハミングノルムが離散空間にあるためである。したがって、ブロック２１０は、最適化を実行する前に、オリジナルの離散対象を連続的でかつ微分可能なサロゲート（surrogate）に変換（relax）する。ターゲットバイナリ埋め込み関数
【数６４】
2021512437.tif 000066
は、以下のように変換できる。
【数６５】
2021512437.tif 000067
これは、連続的かつ微分可能である。
【数６６】
2021512437.tif 000068
関数は、括弧内の値を−１と＋１との間で変換するため、
【数６７】
2021512437.tif 000069
関数の良好な近似である。ハミングノルムは、変換元（conv ex）である
【数６８】
2021512437.tif 000070
ノルムに変換される。指示関数はシグモイド関数によって変換される。指示関数は、次式で近似できる。
【数６９】
2021512437.tif 000071
ここで、
【数７０】
2021512437.tif 000072
は上述したシグモイド関数であり、ｕは平均ベクトルである。
【００３２】
これらの変換に基づいて、目的関数は以下のように近似できる。
【数７１】
2021512437.tif 000073
ここで、
【数７２】
2021512437.tif 000074
は、クエリｙｑに関するｙｉのソフト近似ランクであり、次式で与えられる。
【数７３】
2021512437.tif 000075
ここで、Ｖｑｉは
【数７４】
2021512437.tif 000076
で表され、Ｖｑｊは
【数７５】
2021512437.tif 000077
で表される。
【００３３】
目的関数を最適化するために確率的勾配降下法が導き出される。クエリＸｑは類似セグメントＸｊでランダムに選択される。そして、Ｘｑ及びＸｉが固定され、トリプレット
【数７６】
2021512437.tif 000078
のセットを形成するためにｓ個の異なるＸｊが設定される。ここで、ｊの総選択肢はＭである。違反例が一様分布であると仮定すると、
【数７７】
2021512437.tif 000079
は、
【数７８】
2021512437.tif 000080
で近似できる。ここで、
【数７９】
2021512437.tif 000081
はフロア関数である。
【００３４】
それにより、目的関数はさらに以下で近似される。
【数８０】
2021512437.tif 000082
関連する勾配は、以下で与えられる。
【数８１】
2021512437.tif 000083
【００３５】
この勾配に基づいて、ネットワークパラメータを最適化するために、Ａｄａｍオプティマイザを含むミニバッチ確率勾配降下法を用いて、ネットワーク全体にわたる逆伝播を実行できる。このようにして、ブロック２１０は目的関数の近似を最適化する。
【００３６】
結果は、最も類似するセグメントがリストの最上位にある、セグメントのランク付きリストである。次に、ブロック２１２は、リストからマッチングセグメントを決定する。いくつかの実施形態において、ブロック２１２は、リストから最も類似するセグメント（例えば、最上位ランクのセグメント）をマッチングセグメントとして選択する。他の実施形態において、ブロック２１２は、例えば上位ｎ個のマッチングセグメントを選択する、または類似性閾値に基づいて複数のセグメントを選択する等、複数のマッチングセグメントを選択してもよい。
【００３７】
ブロック２１４は、マッチングセグメントのラベルを決定し、該セグメントが異常な動作とみなすかどうかを判定する。他の実施形態において、ブロック２１４は、任意の種類のシステム動作について選択してもよい。例えば、ウェアラブルデバイスにおいて、ブロック２１４は、現在のセンサ情報が示す身体的なユーザの動きの種類を判定してもよい。他の種類の検出される動作には、コンピュータセキュリティ侵入イベント、危険な環境条件、健康状態等を含めてもよい。次に、ブロック２１６は、ブロック２１４の判定結果に基づいて修正動作を行う異常な動作に対応する修正動作としては、例えば、アプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、アプリケーションまたはハードウェアコンポーネントの動作パラメータの変更（例えば動作速度）、アプリケーションの停止及び／または再起動、ハードウェアコンポーネントの停止及び／または再起動、環境条件の変更、ネットワークインタフェースの状態または設定の変更等を含む。これにより、ブロック２１６は、異常な動作を自動的に修正または軽減する。
【００３８】
本明細書で記載する実施形態は、全てハードウェアで実現してもよく、全てソフトウェアで実現してもよく、ハードウェアとソフトウェアの両方の要素を含んでいてもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアでも実現可能である。
【００３９】
実施形態には、コンピュータもしくは任意の命令実行システムによって使用される、または関連して使用されるプログラムコードを提供する、コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体からアクセスできる、コンピュータプログラム製品を含んでもいてよい。コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体には、命令実行システム、機器、もしくは装置によって使用される、または関連して使用されるプログラムを格納、伝達、伝搬または転送する任意の機器を含んでいてもよい。該媒体は、磁気媒体、光学媒体、電子媒体、電磁気媒体、赤外線媒体または半導体システム（または機器もしくは装置）、あるいは伝搬媒体であってもよい。該媒体には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク及び光ディスク等のコンピュータで読み取り可能な媒体を含んでいてもよい。
【００４０】
各コンピュータプログラムは、汎用または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置（例えば、プログラムメモリまたは磁気ディスク）に格納される。該コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法をコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。
【００４１】
プログラムコードを記憶及び／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に接続された少なくとも１つのプロセッサを備えていてもよい。このメモリ要素には、処理の実行中にバルク記憶装置からコードが検索される回数を減らすために、プログラムコードによって実際の実行中に用いられるローカルメモリ、バルク記憶装置及び少なくともいくつかのプログラムコードを一時的に記憶するキャッシュメモリを備えていてもよい。入出力またはＩ／Ｏ装置（限定されるものではないが、キーボード、ディスプレイ、ポインティング装置等を含む）は、直接またはＩ／Ｏコントローラを介してシステムに接続されてもよい。
【００４２】
ネットワークアダプタは、データ処理システムが、プライベートネットワークまたは公衆ネットワークを介して、他のデータ処理システムまたはリモートプリンタもしくは記憶装置と接続することを可能にするために、上記システムと接続されていてもよい。モデム、ケーブルモデム及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタの一例に過ぎない。
【００４３】
本実施形態は、人工ニューラルネットワーク（ＡＮＮ：artificial neural network）用いて、特定のオペレーションを実行する。ＡＮＮは、脳のような生体神経系から発想を得た情報処理システムである。ＡＮＮの重要な要素は、情報処理システムの構造であり、この情報処理システムは、特定の問題を解決するために並列に動作する、高度に相互接続された多数の処理要素（「ニューロン」と呼ばれる）を含む。ＡＮＮは、さらにニューロン間に存在する重みの調整を含む学習を用いて運用中に訓練される。ＡＮＮは、そのような学習プロセスを通してパターン認識またはデータ分類等の特定のアプリケーションのために構成される。
【００４４】
ここで図３を参照すると、図３には、ニューラルネットワークの一般化された図が示されている。ＡＮＮは、複雑な、または不明確なデータから意味を導き出す能力を示し、パターンを抽出し、人またはその他のコンピュータベースのシステムで検出するには複雑すぎるトレンドを検出するために使用できる。ニューラルネットワークの構成は、一般に、１つまたは複数の「隠れ」ニューロン３０４に情報を提供する入力ニューロン３０２を有することが知られている。入力ニューロン３０２と隠れニューロン３０４との間のコネクション３０８は、重み付けされ、これらの重み付けされた入力は層間の重み付けされたコネクション３０８と共に、隠れニューロン３０４における幾つかの関数に基づいて隠れニューロン３０４によって処理される。任意の数の層の隠れニューロン３０４及び異なる関数を実行するニューロンが存在し得る。畳み込みニューラルネットワーク、ｍａｘｏｕｔネットワーク等の異なるニューラルネットワークの構成も存在する。最後に、出力ニューロン３０６のセットは、隠れニューロン３０４の最後のセットからの重み付けされた入力を受け入れて処理する。
【００４５】
これは、情報が入力ニューロン３０２から出力ニューロン３０６へ伝播する「フィードフォワード」計算を示す。フィードフォワード計算が終了すると、出力は訓練データから利用可能な所望の出力と比較される。訓練データに対する誤差は、「フィードバック」計算で処理され、隠れニューロン３０４及び入力ニューロン３０２は出力ニューロン３０６から逆方向に伝播する誤差に関する情報を受け取る。誤差の逆伝播が終了すると、重み付けされたコネクション３０８は、受信した誤差を考慮するために更新され、重み付けされた更新が実行される。これは、単に１つの種類のＡＮＮを示す。
【００４６】
ここで、同じ数字が同一または同様の要素を表す図面、まず図４を詳細に参照すると、図４にはＡＮＮアーキテクチャ４００が示されている。本アーキテクチャは、純粋に例示的なものであり、その他のアーキテクチャまたはタイプのニューラルネットワーク代わりに使用できることを理解されたい。本明細書で説明するＡＮＮの実施形態は、一般論の高レベルでニューラルネットワーク計算の一般原理を示すことを目的として含まれるものであり、決して制限するものとして解釈されるべきではない。
【００４７】
さらに、以下に記載されるニューロンの層及びそれらを接続する重みは、一般的な様式で記載され、任意の適切な次数（degree）またはタイプの相互接続性を有するどのようなタイプのニューラルネットワーク層に置き換えることができる。例えば、層には、畳み込み層、プーリング層、全結合層、ストップマックス層または任意のその他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または削除してもよく、相互接続性のより複雑な形態のために重みを省略してもよい。このようにして、示された一般的なＡＮＮ構造は、上述のＬＳＴＭ及びＣＮＮネットワークに適合させることができる。
【００４８】
フィードフォワード動作の間、入力ニューロン４０２のセットは、重み４０４の行と並列に入力信号をそれぞれ提供する。本明細書で記載するハードウェアの実施形態において、重み４０４は設定可能な値をそれぞれ有し、隠れニューロン４０６に対する重み付き入力を表すように、重み出力が重み４０４からそれぞれの隠れニューロン４０６に渡される。ソフトウェアの実施形態において、重み４０４は、関連する信号に単に乗算される係数値として表される。各重みからの信号は、列毎に加算され、隠れニューロン４０６へ流れる。
【００４９】
隠れニューロン４０６は、重み４０４のアレイからの信号を用いて何らかの計算を実行する。隠れニューロン４０６は、続いて自身の信号を重み４０４の別のアレイへ出力する。このアレイは、行ごとに加算し、出力ニューロン４０８に供給される、重み付き信号出力を生成するために、それぞれの隠れニューロン４０６から信号を受信する重み４０４の列で、同じように実行する。
【００５０】
アレイ及び隠れニューロン４０６の追加層を間に置くことで、任意の数のこれらのステージを実行できることを理解されたい。また、いくつかのニューロンは、アレイに一定の出力を提供する一定ニューロン４０９であってもよいことに注意すべきである。一定ニューロン４０９は、入力ニューロン４０２及び／または隠れニューロン４０６の間に存在可能であり、フィードフォワード動作中でのみ使用される。
【００５１】
逆伝播の間、出力ニューロン４０８は、重み４０４のアレイを越えて戻る信号を提供する。出力層は、生成されたネットワーク応答を訓練データと比較し、誤差を計算する。誤差信号は、誤差の値に比例させることができる。この実施例において、重み４０４の行は、それぞれの出力ニューロン４０８から並列に信号を受信し、隠れニューロン４０６に入力を提供するために、列ごとに加算して出力を生成する。隠れニューロン４０６は、重み付けされたフィードバック信号をそのフィードフォワード計算の微分係数と結合し、フィードバック信号をそれぞれの重み４０４の列に出力する前に誤差の値を保存する。この逆伝播は、全ての隠れニューロン４０６及び入力ニューロン４０２が誤差の値を保存するまで、ネットワーク４００全体の始めから終わりまで進行する。
【００５２】
重みの更新の間、保存された誤差の値は、重み４０４の設定可能な値を更新するために使用される。このようにして、ニューラルネットワーク４００がその処理における誤差に適応するように、重み４０４を訓練できる。３つの動作モード、フィードフォワード、逆伝播及び重みの更新は、互いに重複しないことに留意されたい。
【００５３】
次に、図５を参照すると、図５には、異常検出及び修正システム１０６が示されている。システム１０６は、ハードウェアプロセッサ５０２及びメモリ５０４を含む。ネットワークインタフェース５０６は、センサ１０４から情報を受信し、任意の適切な有線または無線通信媒体によって、及び任意の適切なプロトコルによって、システム制御１０８に制御情報を送信する。システム１０６は、いくつかの実施形態において、メモリ５０４に記憶され、ハードウェアプロセッサ５０２で実行される、ソフトウェアとして実装できる、１つ以上の機能モジュールをさらに含む。他の実施形態において、機能モジュールのうちの１つまたは複数は、例えば特定用途向け集積チップまたはフィールドプログラマブルゲートアレイの形態で、１つまたは複数の個別のハードウェア構成要素として実装されてもよい。
【００５４】
ＬＳＴＭネットワークユニット５０８は、時系列シーケンスの時間的ダイナミクスを捉え、ＣＮＮ５１０は、異なるセンサ１０４に由来する、異なる時系列のペア間の相関関係を捉える。ジョイント埋め込みモジュール５１２は、ＬＳＴＭネットワークユニット５０８及びＣＮＮ５１０の出力を用いてジョイントバイナリ埋め込みを生成する。ランキングモジュール５１４は、センサ１０４からの新しい時系列との類似性に応じてランク付きマッチング時系列のリストを生成する。
【００５５】
修正モジュール５１６は、ランク付きリストを用いて、類似するシーケンスに関連するラベルを評価することで、被監視システム１０２の現在の状態を判定する。このようにして、修正モジュール５１６は、異常な動作を特定する。次に、修正モジュール５１６は、異常な動作に応答して採用すべき適切な修正動作を決定し、その動作を実行する。
【００５６】
次に、図６を参照すると、図６には、異常検出システム１０６を表す例示的な処理システム６００が示されている。処理システム６００は、システムバス６０２を介して他の構成要素が動作可能に接続された、少なくとも１つの処理装置（ＣＰＵ）６０４を含む。システムバス６０２には、キャッシュ６０６、リードオンリメモリ（ＲＯＭ）６０８、ランダムアクセスメモリ（ＲＡＭ）６１０、入力／出力（Ｉ／Ｏ）アダプタ６２０、サウンドアダプタ６３０、ネットワークアダプタ６４０、ユーザインタフェースアダプタ６５０及びディスプレイアダプタ６６０が動作可能に接続されている。
【００５７】
第１の記憶装置６２２及び第２の記憶装置６２４は、Ｉ／Ｏアダプタ６２０によってシステムバス６０２に動作可能に接続されている。記憶装置６２２及び６２９は、ディスク記憶装置（例えば、磁気または光ディスク記憶装置）、固体磁気装置等のうちのいずれであってもよい。記憶装置６２２及び６２４は、同じタイプの記憶装置であってもよく、異なるタイプの記憶装置であってもよい。
【００５８】
スピーカ６３２は、サウンドアダプタ６３０によってシステムバス６０２に動作可能に接続されている。トランシーバ６４２は、ネットワークアダプタ６４０によってシステムバス６０２に動作可能に接続されている。ディスプレイ装置６６２は、ディスプレイアダプタ６６０によってシステムバス６０２に動作可能に接続されている。
【００５９】
第１のユーザ入力装置６５２、第２のユーザ入力装置６５４及び第３のユーザ入力装置６５６は、ユーザインタフェースアダプタ６５０によってシステムバス６０２に動作可能に接続されている。ユーザ入力装置６５２、６５４及び６５６は、キーボード、マウス、キーパッド、イメージキャプチャ装置、モーション感知装置、マイクロホン、あるいはこれらの装置のうちの少なくとも２つの装置の機能を組み込んだ装置等のいずれであってもよい。本原理の趣旨を維持する限りにおいて、他のタイプの入力装置を使用することも可能である。ユーザ入力装置６５２、６５４及び６５６は、同じタイプのユーザ入力装置であってもよく、異なるタイプのユーザ入力装置であってもよい。ユーザ入力装置６５２、６５４及び６５６は、システム６００に情報を入力し、システム６００から情報を出力するために使用される。
【００６０】
処理システム６００は、当業者であれば容易に思いつくような他の要素（図示せず）を含んでもよく、特定の要素を省略することも可能である。例えば、当業者であれば容易に理解できるが、処理システム６００には、その詳細な実装に応じて他の様々なタイプの入力装置及び／または出力装置を含むことができる。例えば、無線及び／または有線による様々な入力装置及び／または出力装置を使用できる。さらに、当業者であれば容易に理解できるが、様々な構成の追加プロセッサ、コントローラ、メモリ等を使用することも可能である。処理システム６００の上記及び他の変形例は、本明細書で提供される本原理の教示によって当業者であれば容易に考えられるであろう。
【００６１】
上記は、あらゆる観点において説明的（illustrative）かつ典型的（exemplary）であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。
【図１】
2021512437.tif 000088
【図２】
2021512437.tif 000089
【図３】
2021512437.tif 000090
【図４】
2021512437.tif 000091
【図５】
2021512437.tif 000092
【図６】
2021512437.tif 000093
【国際調査報告】
2021512437.tif 000094
2021512437.tif 000095