(57)【要約】  異常を検知及び修正するための方法及びシステムは、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を生成すること（２０２）を含む。オリジナルのシグネチャ行列は、畳み込みニューラルネットワークを用いて符号化される（２０４）。符号化されたシグネチャ行列における時系列パターンは、それぞれの畳み込みニューラルネットワーク毎に、畳み込み長短期記憶ニューラルネットワークを用いてモデル化される（２０６）。モデル化されたシグネチャ行列は、逆畳み込みニューラルネットワークを用いて復号される（２０８）。異常の発生は、復号されたシグネチャ行列とオリジナルのシグネチャ行列との間の差に基づいて損失関数を用いて判定される（２１２）。異常の発生の判定に応答して、修正動作が実行される（２１６）。【選択図】図２
2021527906.tif 000002
【特許請求の範囲】
【請求項１】
異常の検知及び修正方法であって、
複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を生成する（２０２）ことと、
複数の畳み込みニューラルネットワークを用いて前記オリジナルのシグネチャ行列を符号化する（２０４）ことと、
複数の畳み込みニューラルネットワーク毎に、複数の畳み込み長短期記憶（long-short term memory：ＬＳＴＭ）ニューラルネットワークを用いて前記符号化されたシグネチャ行列における時系列パターンをモデル化する（２０６）ことと、
複数の逆畳み込みニューラルネットワークを用いて前記モデル化されたシグネチャ行列を復号する（２０８）ことと、
前記復号されたシグネチャ行列と前記オリジナルのシグネチャ行列との間の差に基づいて損失関数を用いて異常の発生を判定する（２１２）ことと、
前記異常の発生の判定に応答して修正動作を実行する（２１６）ことと、
を含む、方法。
【請求項２】
前記複数の畳み込みニューラルネットワークの各畳み込みニューラルネットワークは、複数のステップを含む、請求項１に記載の方法。
【請求項３】
各畳み込みＬＳＴＭニューラルネットワークが、前記畳み込みニューラルネットワークのうちの１つのそれぞれのステップの出力を受け取る、請求項２に記載の方法。
【請求項４】
前記シグネチャ行列を復号することは、逆畳み込みニューラルネットワークを用いて出力を順次逆畳み込みすることと、前記逆畳み込みされた出力を前記ＬＳＴＭニューラルネットワークの次の出力と連結することとを含む、請求項１に記載の方法。
【請求項５】
前記オリジナルのシグネチャ行列を符号化することは、最終的な畳み込みニューラルネットワークに到達するまで、各畳み込みニューラルネットワークの出力を次の畳み込みニューラルネットワークの入力に供給することを含む、請求項１に記載の方法。
【請求項６】
前記異常の発生を判定することは、前記損失関数の出力を閾値と比較することを含む、請求項１に記載の方法。
【請求項７】
複数の異なる時間スケールにおいて、シグネチャ行列を用いて異常の深刻度を判定することをさらに含む、請求項１に記載の方法。
【請求項８】
オリジナルの各シグネチャ行列が、２つの各時系列間の相関値を表す、請求項１に記載の方法。
【請求項９】
ｗを期間の継続時間とし、δを時間ステップｔ−ｗからｔまでの指数とし、
【数１】
2021527906.tif 000038
を特定の時間ｔ−δにおける第１の時系列の値とし、
【数２】
2021527906.tif 000039
を特定の時間ｔ−δにおける第２の時系列の値とし、ｋをリスケールファクタとしたとき、
時間ｔにおけるオリジナルの各シグネチャ行列が、
【数３】
2021527906.tif 000040
の値から形成される、請求項８に記載の方法。
【請求項１０】
前記修正処置が、前記被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインターフェースのステータスの変更から成るグループから選択される、請求項１に記載の方法。
【請求項１１】
複数の畳み込みニューラルネットワークステージを用いて、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を符号化し、それぞれの畳み込みニューラルネットワーク毎に、複数の畳み込み長短期記憶（long-short term memory：ＬＳＴＭ）ニューラルネットワークステージを用いて前記符号化されたシグネチャ行列における時系列パターンをモデル化し、複数の逆畳み込みニューラルネットワークステージを用いて前記モデル化されたシグネチャ行列を復号するように構成されたニューラルネットワーク（４００）と、
前記復号されたシグネチャ行列と前記オリジナルのシグネチャ行列との間の差に基づいて損失関数を用いて異常の発生を判定するように構成された異常検知器（５１０）と、
前記異常の発生の判定に応答して修正動作を実行するように構成された制御装置（５１２）と、
を含む、異常の検知修正装置。
【請求項１２】
前記複数の畳み込みニューラルネットワークステージの各畳み込みニューラルネットワークステージは、複数のステップを含む、請求項１１に記載のシステム。
【請求項１３】
各畳み込みＬＳＴＭニューラルネットワークステージが、畳み込みニューラルネットワークステージのうちの１つのそれぞれのステップの出力を受け取る、請求項１２に記載のシステム。
【請求項１４】
前記ニューラルネットワークは逆畳み込みニューラルネットワークステージを使用してＬＳＴＭニューラルネットワークステージの出力を逆畳み込みし、前記逆畳み込みされた出力を前記ＬＳＴＭニューラルネットワークステージの次の出力と連結するように構成される、請求項１１に記載のシステム。
【請求項１５】
前記ニューラルネットワークが、最終的な畳み込みニューラルネットワークステージに到達するまで、各畳み込みニューラルネットワークステージの出力を次の畳み込みニューラルネットワークステージの入力に供給するようにさらに構成された、請求項１１に記載のシステム。
【請求項１６】
前記異常検知器が、前記損失関数の出力を閾値と比較するようにさらに構成された、請求項１１に記載のシステム。
【請求項１７】
前記異常検知器が、複数の異なる時間スケールにおいて、シグネチャ行列を用いて異常の深刻度を判定するようにさらに構成された、請求項１１に記載のシステム。
【請求項１８】
オリジナルの各シグネチャ行列が、２つの時系列間のそれぞれの相関値を表す、請求項１１に記載のシステム。
【請求項１９】
ｗを期間の継続時間とし、δを時間ステップｔ−ｗからｔまでの指数とし、
【数４】
2021527906.tif 000041
を特定の時間ｔ−δにおける第１の時系列の値とし、
【数５】
2021527906.tif 000042
を特定の時間ｔ−δにおける第２の時系列の値とし、ｋをリスケールファクタとしたとき、
時間ｔにおけるオリジナルの各シグネチャ行列が、
【数６】
2021527906.tif 000043
の値から形成される、請求項１８に記載のシステム。
【請求項２０】
前記制御装置が、前記被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインターフェースのステータスの変更から成るグループから選択される修正処置を実行するようにさらに構成された、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１８年８月２７日に出願された米国仮特許出願第６２／７２３，０２４号及び２０１９年１月２５日に出願された米国仮特許出願第６２／７９６，６７０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０００２】
本発明は、異常の検知及び診断に関し、特に異常な挙動の検知及び異常な挙動に関連する特定の時系列情報の特定に関する。
【背景技術】
【０００３】
現代の製造業、発電所及び情報サービス等における複雑なシステムは、それぞれの時系列情報を生成する多数のセンサに起因して、監視が困難である。例えば、温度及び圧力センサは、発電所全体に分散して配置されている。そのような複雑なシステムにおける異常な挙動を特定することは困難であり、どのセンサが異常な読み取りの原因であるかを特定することは、さらに困難となる可能性がある。
【発明の概要】
【０００４】
異常を検知及び修正するための方法は、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を生成することを含む。オリジナルのシグネチャ行列は、畳み込みニューラルネットワークを用いて符号化される。符号化されたシグネチャ行列における時系列パターンは、それぞれの畳み込みニューラルネットワーク毎に、畳み込み長短期記憶（long-short term memory）ニューラルネットワークを用いてモデル化される。モデル化されたシグネチャ行列は、逆畳み込みニューラルネットワークを用いて復号される。異常の発生は、復号されたシグネチャ行列とオリジナルのシグネチャ行列との間の差に基づいて、損失関数を用いて判定される。異常の発生の判定に応答して、修正動作が実行される。
【０００５】
異常検知及び修正システムは、畳み込みニューラルネットワークステージを用いて、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を符号化し、それぞれの畳み込みニューラルネットワーク毎に、畳み込み長短期記憶ニューラルネットワークステージを用いて符号化されたシグネチャ行列における時系列パターンをモデル化し、逆畳み込みニューラルネットワークステージを用いてモデル化されたシグネチャ行列を復号するように構成されたニューラルネットワークを含む。異常検知器は、復号されたシグネチャ行列とオリジナルのシグネチャ行列との間の差に基づいて、損失関数を用いて異常の発生を判定するように構成される。制御装置は、異常の発生の判定に応答して修正動作を実行するように構成される。
【０００６】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【０００７】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の一実施形態による、異常の検知及び修正対象となる被監視システムのブロック図である。
【０００９】
【図２】図２は、本発明の一実施形態による異常の検知及び修正のための方法のブロック／フロー図である。
【００１０】
【図３】図３は、本発明の一実施形態によるニューラルネットワークアーキテクチャのブロック図である。
【００１１】
【図４】図４は、本発明の一実施形態による、異常の検知及び修正のために構成されたニューラルネットワークアーキテクチャのブロック図である。
【００１２】
【図５】図５は、本発明の一実施形態による、異常の検知及び修正のためのシステムのブロック図である。
【発明を実施するための形態】
【００１３】
本発明の実施形態は、複雑なシステムにおける異常な挙動の自動検知、診断及び修正を提供する。特に、本実施形態は、様々な時間ステップにわたるシステムの状態の複数のレベルを特徴付けるために、マルチスケールシグネチャ行列を構築する。様々なレベルのシステムの状態は、種々の異常事象の深刻度を示すために使用される。シグネチャ行列が与えられると、畳み込みエンコーダを用いて空間パターンを符号化することが可能であり、畳み込み長短期記憶（long-short term memory：ＬＳＴＭ）ネットワークを用いて時系列パターンを符号化できる。得られた時空間特徴マップを使用することで、異常を検知及び診断するために、シグネチャ行列及び残差シグネチャ行列を再構成する、逆畳み込みエンコーダを用いることができる。
【００１４】
そのため、本実施形態は、異常の検知及び診断を、３つの基礎となる相互に関連するタスク、すなわち異常検知、根本原因の特定及び深刻度の判断で説明する。本実施形態は、システムシグネチャ行列を用いてこれら３つのタスクに共に対処する。
【００１５】
図１を参照すると、異常検知システム１０６は、被監視システム１０２を監視する。被監視システム１０２は、製造ライン及び物的設備の動作等の物理システム、コンピュータまたは他のコンピュータ化された装置等の電子システム、並びにオペレーティングシステム及びアプリケーション等のソフトウェアシステムを含む、任意の適切なシステムとすることができる。
【００１６】
１つまたは複数のセンサ１０４は、被監視システム１０２の状態に関する情報を記録する。センサ１０４は、例えば、温度、湿度、振動、圧力、電圧、電流、磁場、電場、光センサ等の物理的センサと、コンピュータシステムに設置されたログユーティリティ等のソフトウェアセンサとを含み、コンピュータシステムで動作するオペレーティングシステム及びアプリケーションの状態及び動作に関する情報を記録するためのログユーティリティ等の任意の適切な種類のセンサとすることができる。センサ１０４によって生成される情報は任意の適切なフォーマットとすることが可能であり、異種フォーマットで生成されるセンサログ情報を含むこともできる。
【００１７】
センサ１０４は、無線通信及び有線通信を含む任意の適切な通信媒体及びプロトコルによって、記録されたセンサ情報を異常検知システム１０６に送信できる。異常検知システム１０６は、例えば、被監視システム１０２の挙動を予測し、センサ１０４によって測定された実際の挙動と予測された挙動とを比較できる。異常な挙動は、例えば、被監視システム１０２の実際の挙動が、予測された挙動から閾値量を超えて逸脱するか否かを検知することで識別可能であり、異常検知システム１０６は、挙動が異常であると判別できる。
【００１８】
異常な挙動が検知されると、異常検知システム１０６は、システム制御ユニット１０８と通信し、異常な挙動を修正するために被監視システム１０２の１つまたは複数のパラメータを変更する。例示的な修正処置としては、アプリケーションまたはハードウェア構成要素のためのセキュリティ設定の変更、アプリケーションまたはハードウェア構成要素の動作パラメータの変更（例えば、動作速度）、アプリケーションの停止及び／または再起動、ハードウェア構成要素の停止及び／または再起動、環境条件の変更、ネットワークインターフェースの状態または設定の変更等を含む。これにより、異常検知システム１０６は、異常な挙動を自動的に修正または軽減する。
【００１９】
本実施形態は、新規であるか、まれな異常な挙動であるか、または異常な挙動が以前に記録されていないシステムに対して異常検知を提供することで、被監視システムの動作の実質的な改善を提供する。その結果は、異常検知及び自動化されたシステムの管理技術の分野における有意な改善を意味する。本実施形態は、他のタイプの異常検知よりも少ない誤警報及び異常な挙動のより正確な検知を含む。加えて、本実施形態は、これまで遭遇したことの無い異常を含む全ての異常を検知する。
【００２０】
次に、図２を参照すると、図２には、異常を検知、診断及び修正するための方法が示されている。ブロック２０２は、システム１０２のためのシグネチャ行列を形成する。異常検知システム１０６は、それぞれが長さＴを有するｎ個の時系列から成る、異常が無いと仮定した履歴データを使用する。それぞれの時系列は、
【数１】
2021527906.tif 000003
で表すことができる。異常検知システム１０６は、Ｔ後に起きる時間ステップで異常事象を検知し、該検知結果に基づいて、異常の原因として最も可能性が高い異常な時系列を特定し、該異常の深刻度を定性的に、例えば継続時間の長さとして捉える。
【００２１】
異常検知システム１０６は、ｎ×ｎのシグネチャ行列Ｍｔを構築する。ここで、ｔは特定の時刻を示す。２つの時系列セグメント
【数２】
2021527906.tif 000004
及び
【数３】
2021527906.tif 000005
が与えられると、これらの相関
【数４】
2021527906.tif 000006
は、以下のように決定される。
【数５】
2021527906.tif 000007
ここで、ｗは期間の継続時間であり、ｋはリスケールファクタであり、δは時間ステップｔ−ｗからｔまでの指数である。
【００２２】
シグネチャ行列Ｍｔは、内積を用いて２つの時系列間のパターンの類似性及び数値スケールの相関性の両方を取得する。個々の乱れがシステム全体にほとんど影響しないため、シグネチャ行列はデータ雑音に対してロバストである。ｌ個の異なるシグネチャ行列のセットは、例えば、様々なセグメントサイズ（例えば、Ｗ＝１０、３０、６０）をそれぞれに用いて、異なる時間スケールでシステム状態を特徴付けるために用いることができる。
【００２３】
ブロック２０４は、シグネチャ行列を符号化する。空間パターンをモデル化し、それらをコンパクトな表現として符号化するため、本発明は、例えば畳み込みニューラルネットワーク（ＣＮＮ）を用いてもよい。Ｍｔは、大きさｋ×ｎ×ｎの３次元テンソルＸｔとして扱われる。Ｘは、いくつかの畳み込み層への入力として用いられる。層ｋの変換は次のように定式化される。
【数６】
2021527906.tif 000008
ここで、＊は畳み込み演算を示し、ｆ(・)はＣＮＮの活性化関数であり、Ｗｋ及びｂｋはｋ番目の畳み込み層のフィルタパラメータである。いくつかの実施形態において、複数のＳＥＬＵ（scaled exponential linear unit）が４つの畳み込み層で使用される。１つの具体的な実施形態において、４つの畳み込み層は、サイズ３×３×３×３２、３×３×３２×６４、２×２×６４×１２８及び２×２×１２８×２５６のフィルタを有することが可能であり、サイズ１、２×２、２×２及び２×２のステップを有することが可能である。様々な時系列の順序は、時系列がＣＮＮの性能内で基本的な空間パターンを有するため、ほとんど影響が無いように規定できる。
【００２４】
ブロック２０６は、時系列パターンをモデル化する。各多変量時系列セグメントのシステムシグネチャ行列は、時系列データの時間依存性のために、先行するセグメントと関連する。本実施形態は、例えば畳み込みＬＳＴＭを用いて連続するシグネチャ行列間の時間依存性をモデル化する。畳み込みＬＳＴＭは、標準ＬＳＴＭと異なり、時間的なモデル化にシグネチャ行列の空間パターンを組み込む。具体的には、ｋ番目の畳み込み層及び先行する隠れ状態テンソル
【数７】
2021527906.tif 000009
からの出力表現
【数８】
2021527906.tif 000010
を備えた時間セグメント毎に、現在の隠れ状態
【数９】
2021527906.tif 000011
を
【数１０】
2021527906.tif 000012
によって更新する。ＣｏｎｖＬＳＴＭセルは、
【数１１】
2021527906.tif 000013
で定式化される。ここで、＊は畳み込み演算子であり、
【数１２】
2021527906.tif 000014
はアダマール積であり、σはシグモイド関数であり、Ｗは畳み込みＬＳＴＭネットワークのパラメータである。入力、
【数１３】
2021527906.tif 000015
、セル出力
【数１４】
2021527906.tif 000016
、隠れ状態
【数１５】
2021527906.tif 000017
、並びにゲート
【数１６】
2021527906.tif 000018
及び
【数１７】
2021527906.tif 000019
は３次元テンソルで表される。
【００２５】
畳み込みＬＳＴＭネットワークのステップ長ｈは、先行するセグメント数を表し、例えば、５に設定できる。各畳み込み層で時系列パターンを取得するために、スタックされた複数の畳み込みＬＳＴＭ層を使用できる。さらに、先行する全てのステップが現行セグメント
【数１８】
2021527906.tif 000020
の表現に等しく寄与するわけではないため、時間アテンションを用いて現行セグメントで重要なステップを抽出し、それらのセグメントの表現を統合して改良された表現を形成する。
【数１９】
2021527906.tif 000021
ここで、
【数２０】
2021527906.tif 000022
であり、
【数２１】
2021527906.tif 000023
はリスケールファクタである。最後の隠れ状態
【数２２】
2021527906.tif 000024
はグループレベルのコンテキストベクトルと見なされる。先行するステップからの重要度の重み
【数２３】
2021527906.tif 000025
は、ソフトマックス関数を介して測定される。このアテンションの定式化は、余分なパラメータを用いることなく、学習済みの隠れ状態に基づいている。
【００２６】
ブロック２０８は、シグネチャ行列を復号する。時空間特徴マップを復号し、再構成されたシステムシグネチャ行列を得るために、本実施形態では、以下ように定式化された階層的な逆畳み込みニューラルネットワーク（deconvolutional neural networks：ＤｅＣＮＮ）を利用できる。
【数２４】
2021527906.tif 000026
ここで、
【数２５】
2021527906.tif 000027
は逆畳み込み演算を示し、
【数２６】
2021527906.tif 000028
は連結演算を示し、ｆ(・)はアクティベーションユニット（例えば、畳み込みエンコーダと同じ）であり、
【数２７】
2021527906.tif 000029
及び
【数２８】
2021527906.tif 000030
は、ｋ番目の逆畳み込み層のフィルタパラメータである。
【００２７】
本実施形態は、畳み込みステップと比べて逆の順序に従って、ＤｅＣＮＮにおけるｋ番目の畳み込みＬＳＴＭ層の
【数２９】
2021527906.tif 000031
を入力する。出力
【数３０】
2021527906.tif 000032
は、先行する畳み込みＬＳＴＭ層の出力と連結され、階層的な逆畳み込みプロセスが形成される。連結された表現は、さらに次の逆畳み込み層に供給される。最終的な出力
【数３１】
2021527906.tif 000033
は、再構成されたシグネチャ行列を示す。
【００２８】
その結果、２×２×２５６×１２８、２×２×２５６×６４、３×３×１２８×３２及び３×３×６４×３のサイズのフィルタと、それぞれ２×２、２×２、２×２及び１のサイズのストライドとを有する４つの逆畳み込み層を利用できる。デコーダは、様々なＣＮＮ及び畳み込みＬＳＴＭ層における表現情報を復号プロセスに組み込む。この階層的な機構は、異常検知性能を向上させるのに有効である。
【００２９】
ブロック２１０は、再構成されたシグネチャ行列及びオリジナルのシグネチャ行列を用いて残差行列を決定する。これらの残差行列は損失関数で使用される。ブロック２１０は、損失関数を最適化し、それぞれの行列間の差を最小化する。損失関数は、次のように表すことができる。
【数３２】
2021527906.tif 000034
いくつかの実施形態において、損失を最小限に抑制するためにＡｄａｍオプティマイザを使用できる。この最適化は、ニューラルネットワークにおけるアテンション重みと同様に、畳み込み及び逆畳み込みのカーネルを設定する。十分な訓練エポックの後、学習済みニューラルネットワークのパラメータは、検証及びテスト期間データの再構成されたシグネチャ行列を推測するために使用される。
【００３０】
損失関数が最適化されると、ブロック２１２は、新しい時系列データを用いて異常検知を実行する。異常スコアは、不十分な再構成されたペアワイズ相関の数、すなわち残差行列における、与えられた閾値θよりも大きい値を有する要素の数で決定される。ここで、θは、経験的に設定することができる。残差マップは、ネットワークの入力と出力との間の絶対的な差に基づいて生成される。損失は、残差行列の全てのエントリの合計に基づく値である。異常が発生したことを示すために、任意の十分に大きな異常スコアが使用される。
【００３１】
例えば、カッティング閾値は
【数３３】
2021527906.tif 000035
で決定できる。ここで、
【数３４】
2021527906.tif 000036
は検証期間中に測定された異常スコアであり、
【数３５】
2021527906.tif 000037
は何らかのメトリックに従って最良スコアが得られるように設定される。カッティング閾値τは、残差マップにおける各エントリが異常エントリとしてカウントされるか否かを判定するために使用される。異常スコアは、該閾値よりも大きい全ての残差エントリの総数に基づく。
【００３２】
ブロック２１４は、識別された異常の根本原因である時系列を特定する。種々の入力は、それぞれの異常スコアに従ってランク付けされ、最も高い異常スコアを有する上位ｋの時系列が根本原因として特定される。上述したように、入力及び出力のシグネチャ行列は異なるスケールで決定される。異常の深刻度を判断するために、ブロック２１４はセグメントサイズｗ＝１０、３０、６０を備える様々なスケール（例えば、大、中及び小）の残差シグネチャ行列に基づいて種々の異常スコアを計算する。種々のスケールは、様々な時間スケールにわたって発生する異常を検知し、より小さいスケールの行列は比較的小さい閾値継続時間を超える異常を検知し、より大きいスケールの行列は、より大きい閾値継続時間にわたる異常を検知する。異常の深刻度は、様々なスケールで種々のチャネル異常スコアを併せて考慮することで判断可能であり、異常が全てのチャネルで検知できる場合は長い継続時間を有する可能性が高く、全てのチャネルよりも少ないチャネルで検知された場合は、短い継続時間または中程度の継続時間である。
【００３３】
ブロック２１６は、ブロック２１４で特定された時系列に基づいて修正動作を実行する。異常な時系列は、特定のセンサ１０４に関連し、異常の原因である、対応するシステムまたは環境の変数を特定する。ブロック２１６は、異常を修正するために、設定またはパラメータを直接的にまたは間接的に自動で変更する動作を行う。例えば、時系列が温度センサで生成される場合、ブロック２１６は、冷却量を増減して測定温度を変化させることができる。時系列が直接制御可能なシステムで生成される場合、ブロック２１６は、システムの挙動を変更するためにシステムのパラメータを変更できる。例えば、一例として、発電所における燃料供給の速度を変更することがある。
【００３４】
このプロセスは、繰り返すことが可能であり、異常な時系列が改善されたか否かを判定するため、修正動作が評価された後に収集された新しいデータが用いられる。時系列が改善されているが、依然として異常であると検知された場合、ブロック２１６は、問題となっているシステムをさらに調整できる。改善が検知されない場合、種々のシステムを調整できる、または異常を人のオペレータによる処理事項とすることができる。
【００３５】
図３を参照すると、図３には人工ニューラルネットワーク（ＡＮＮ）アーキテクチャ３００が示されている。本アーキテクチャは例示的なものであり、代わりに他のアーキテクチャ、または他のタイプのニューラルネットワークを使用できることを理解されたい。本明細書で説明するＡＮＮの実施形態は、高いレベルの一般性におけるニューラルネットワーク計算の一般的な原理を示すことを意図して含むものであり、いかなる方法でも限定されるものと解釈されるべきではない。
【００３６】
さらに、以下に記載されるニューロンの層及びそれらを接続する重みは、一般的な様式で記載され、任意の適切な程度の相互接続性または任意の適切なタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えることができる。例えば、複数の層には、畳み込み層、逆畳み込み層、プーリング層、全結合層、ソフトマックス層または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することが可能であり、相互接続のより複雑な形態のために重みを省略できる。
【００３７】
フィードフォワード動作中、１組の入力ニューロン３０２は、重み３０４の各行と並列に入力信号をそれぞれ供給する。各重み３０４は、設定可能な値をそれぞれ有する。それは、隠れニューロン３０６に対する重み付き入力を表すために、重み３０４から、重み出力がそれぞれの隠れニューロン３０６に渡される。ソフトウェアの実施形態において、重み３０４は、関連する信号に対して乗算される単なる係数値として表すことができる。各重みからの信号は、列毎に加算されて、隠れニューロン３０６に導かれる。
【００３８】
隠れニューロン３０６は、重み３０４のアレイからの信号を用いて何らかの計算を実行する。隠れニューロ３０６は、それ自体の信号を別の重み３０４のアレイに出力する。このアレイは、重み３０４の列が隠れニューロン３０６から信号を受け取り、行毎に加算し、出力ニューロン３０８に提供される、重み付けされた信号出力を生成するために、同じ方法を実行する。
【００３９】
アレイ及び隠れニューロン３０６の追加の層を介在させることで、任意の数のステージを実現できることを理解されたい。いくつかのニューロンは、アレイに固定の出力を提供する、固定ニューロン３０９であってもよいことにも留意されたい。固定ニューロン３０９は、入力ニューロン３０２及び／または隠れニューロン３０６の間に存在可能であり、フィードフォワード動作のみで使用される。
【００４０】
バックプロパゲーションの間、出力ニューロン３０８は、重み３０４のアレイを横断して戻る信号を提供する。出力層は、生成されたネットワークの応答を訓練データと比較し、エラーを計算する。エラー信号は、エラーの値と比例するものでもよい。本実施例では、重み３０４の行が、それぞれの出力ニューロン３０８から並列に信号を受信し、列毎に加算して隠れニューロン３０６に入力を提供する出力を生成する。隠れニューロン３０６は、重み付けされたフィードバック信号を、そのフィードフォワード計算のデリバティブと結合し、フィードバック信号を重み３０４のそれぞれの列に出力する前にエラー値を保存する。このバックプロパゲーションは、全ての隠れニューロン３０６及び入力ニューロン３０２がエラー値を保存するまで、ネットワーク３００全体を通して進行する。
【００４１】
重みの更新の間、保存されたエラー値は、設定可能な重み３０４の値を更新するために使用される。このようにして、重み３０４は、ニューラルネットワーク３００を、そのステップにおけるエラーに適応させるように訓練できる。３つの動作モード、フィードフォワード、バックプロパゲーション及び重みの更新は、互いに重複しないことに留意されたい。
【００４２】
ここで図４を参照すると、図４には、ニューラルネットワーク４００の一般的な構成が示されている。システムシグネチャ行列を含む入力が提供される。各システムシグネチャ行列は異なるタイムスケールを示す。この入力は、第１のＣＮＮステージ４０４に印加される。第１のＣＮＮステージ４０４の出力は、次のＣＮＮステージ４０４へ入力として加えられ、このことは全てのＣＮＮステージ４０４を通して順次継続する。
【００４３】
各ＣＮＮ  ４０４は、上述したように一組の個別のステップから形成される。例えば、第１のＣＮＮ  ４０４は、３０×３０のサイズを有する３２ステップを有することができる。各ＣＮＮ  ４０４の各ステップは、ＬＳＴＭブロック４０６における各畳み込みＬＳＴＭネットワークに対する入力として使用される。各ＬＳＴＭブロック４０６の種々の畳み込みＬＳＴＭネットワークは、それぞれのＬＳＴＭ出力を提供する。
【００４４】
いくつかの実施形態において、最後のＣＮＮ  ４０４（例えば、Ｃｏｎｖ  ４）の出力から生成されたＬＳＴＭ出力は、それぞれの逆畳み込みニューラルネットワーク４１０に直接提供される。逆畳み込みブロック４１０の出力は、連結ブロック４０８において、最後から２番目のＣＮＮ  ４０４（例えば、Ｃｏｎｖ  ３）の出力と連結される。連結された出力は、逆畳み込みニューラルネットワークブロック４１０に供給される。このようにして、残りのＣＮＮ  ４０４の出力は、次に続く連結ブロック４０８及び逆畳み込みブロック４１０によって加算される。最終的な出力は、損失関数４１２に与えられ、該損失関数４１２は最終的な出力をオリジナルの入力行列と比較する。
【００４５】
次に図５を参照すると、図５には、異常検知システム１０６のさらなる詳細が示されている。異常検知システム１０６は、ハードウェアプロセッサ５０２、メモリ５０４及びネットワークインターフェース５０６を含む。ネットワークインターフェース５０６は、任意の適切な有線または無線通信媒体及び任意の適切なプロトコルを用いて、センサ１０４及びシステム制御１０８と通信する。異常検知システム１０６は、さらにいくつかの実施形態において、メモリ５０４で保存され、ハードウェアプロセッサ５０２によって実行されるソフトウェアとして実装される、１つ以上の機能モジュールを含む。他の実施形態において、機能モジュールのうちの１つまたは複数は、例えば特定用途向け集積チップまたはフィールドプログラマブルゲートアレイの形式で、１つまたは複数の個別のハードウェア構成要素として実装されてもよい。
【００４６】
ニューラルネットワーク４００は、上述したように実施される。いくつかの例示的な実施形態において、ニューラルネットワーク４００は、ハードウェアプロセッサ５０２として実装されてもよく、ソフトウェアとして実装されてもよい。訓練モジュール５１０は、例えば被監視システム１０２が正常に動作していると知られているときに取得されたセンサの測定値のセットを含む訓練データのセットを用いて、ニューラルネットワーク４００を訓練する。訓練には、例えばＡｄａｍオプティマイザによるミニバッチ確率的勾配降下法を用いることができる。各エポックにおいて、多変量時系列セグメントの固定バッチサイズが、システムシグネチャ行列を生成するための入力としてランダムに選択される。
【００４７】
異常検知器５１０は、訓練済みニューラルネットワーク４００を用いて被監視システム１０２の挙動の予測を生成する。続いて、異常検知器５１２は、センサ１０４からの実際のセンサ情報を比較し、実際のセンサ情報を被監視システム１０２の予測された挙動と比較する。異常検知器５１０は、実際のセンサ情報と予測された挙動との間の、閾値よりも大きいあらゆる偏差に異常としてフラグを立てる。制御装置５１２は、ネットワークインターフェース５０６を用いてシステム制御１０８に命令を送ることで、フラグが立てられた異常に自動で応答する。
【００４８】
本明細書で記載する実施形態は、全てハードウェアで実現してもよく、全てソフトウェアで実現してもよく、ハードウェアとソフトウェアの両方の要素を含んでいてもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアでも実現可能である。
【００４９】
実施形態には、コンピュータもしくは任意の命令実行システムによって使用される、または関連して使用されるプログラムコードを提供する、コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体からアクセスできる、コンピュータプログラム製品を含んでもいてよい。コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体には、命令実行システム、機器、もしくは装置によって使用される、または関連して使用されるプログラムを格納、伝達、伝搬または転送する任意の機器を含んでいてもよい。該媒体は、磁気媒体、光学媒体、電子媒体、電磁気媒体、赤外線媒体または半導体システム（または機器もしくは装置）、あるいは伝搬媒体であってもよい。該媒体には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク及び光ディスク等のコンピュータで読み取り可能な媒体を含んでいてもよい。
【００５０】
各コンピュータプログラムは、汎用または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置（例えば、プログラムメモリまたは磁気ディスク）に格納される。該コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法をコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。
【００５１】
プログラムコードを記憶及び／または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に接続された少なくとも１つのプロセッサを備えていてもよい。このメモリ要素には、処理の実行中にバルク記憶装置からコードが検索される回数を減らすために、プログラムコードによって実際の実行中に用いられるローカルメモリ、バルク記憶装置及び少なくともいくつかのプログラムコードを一時的に記憶するキャッシュメモリを備えていてもよい。入出力またはＩ／Ｏ装置（限定されるものではないが、キーボード、ディスプレイ、ポインティング装置等を含む）は、直接またはＩ／Ｏコントローラを介してシステムに接続されてもよい。
【００５２】
ネットワークアダプタは、データ処理システムが、プライベートネットワークまたは公衆ネットワークを介して、他のデータ処理システムまたはリモートプリンタもしくは記憶装置と接続することを可能にするために、上記システムと接続されていてもよい。モデム、ケーブルモデム及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタの一例に過ぎない。
【００５３】
上記は、あらゆる観点において説明的かつ典型的であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。
【図１】
2021527906.tif 000044
【図２】
2021527906.tif 000045
【図３】
2021527906.tif 000046
【図４】
2021527906.tif 000047
【図５】
2021527906.tif 000048
【国際調査報告】
2021527906.tif 000049
2021527906.tif 000050