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

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

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

特許7130125多変量時系列データの教師無し異常検知、診断及び修正
<>
  • 特許-多変量時系列データの教師無し異常検知、診断及び修正 図1
  • 特許-多変量時系列データの教師無し異常検知、診断及び修正 図2
  • 特許-多変量時系列データの教師無し異常検知、診断及び修正 図3
  • 特許-多変量時系列データの教師無し異常検知、診断及び修正 図4
  • 特許-多変量時系列データの教師無し異常検知、診断及び修正 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-25
(45)【発行日】2022-09-02
(54)【発明の名称】多変量時系列データの教師無し異常検知、診断及び修正
(51)【国際特許分類】
   G06N 3/04 20060101AFI20220826BHJP
   G06F 11/30 20060101ALI20220826BHJP
【FI】
G06N3/04 154
G06F11/30 182
【請求項の数】 20
(21)【出願番号】P 2021520292
(86)(22)【出願日】2019-08-26
(65)【公表番号】
(43)【公表日】2021-10-14
(86)【国際出願番号】 US2019048124
(87)【国際公開番号】W WO2020046806
(87)【国際公開日】2020-03-05
【審査請求日】2020-12-23
(31)【優先権主張番号】62/796,670
(32)【優先日】2019-01-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/723,024
(32)【優先日】2018-08-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/549,146
(32)【優先日】2019-08-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】ソン、 ドンジン
(72)【発明者】
【氏名】チェン、 ユンコン
(72)【発明者】
【氏名】ルメザヌ、 クリスチャン
(72)【発明者】
【氏名】チェン、 ハイフォン
(72)【発明者】
【氏名】ジャン、 チュジュ
【審査官】久保 光宏
(56)【参考文献】
【文献】Daehyung Park, et al.,"A Multimodal Anomaly Detector for Robot-Assisted Feeding Using an LSTM-Based Variational Autoencoder",IEEE Robotics and Automation Letters,2018年02月02日,Vol.3, No.3,Pages 1544-1551,ISSN: 2377-3766, <DOI: 10.1109/LRA.2018.2801475>.
【文献】Weixin Luo, et al.,"REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION",Proceedings of the 2017 IEEE International Conference on Multimedia and Expo (ICME 2017),2017年07月14日,Pages 439-444,ISBN: 978-1-5090-6067-2, <DOI: 10.1109/ICME.2017.8019325>.
【文献】Pankaj Malhotra, et al.,"LSTM-based Encoder-Decoder for Multi-sensor Anomaly Detection",arXiv:1607.00148v2,version v2,[online], arXiv (Cornell University),2016年07月11日,Pages 1-5,[令和4年2月4日検索], インターネット, <URL: https://arxiv.org/abs/1607.00148v2>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00-99/00
G06F11/30-11/34
G05B23/00-23/02
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
異常の検知及び修正方法であって、
複数の時系列の情報に基づいた、被監視システムの状態を示すオリジナルのシグネチャ行列を生成する(202)ことと、
複数の畳み込みニューラルネットワークを用いて前記オリジナルのシグネチャ行列を符号化する(204)ことと、
複数の畳み込みニューラルネットワーク毎に、複数の畳み込み長短期記憶(long-short term memory:LSTM)ニューラルネットワークを用いて前記符号化されたシグネチャ行列における時系列パターンをモデル化する(206)ことと、
複数の逆畳み込みニューラルネットワークを用いて前記モデル化された時系列パターンを含む前記符号化されたシグネチャ行列を復号する(208)ことと、
前記復号されたシグネチャ行列と前記オリジナルのシグネチャ行列との間の差に基づいて損失関数を用いて異常の発生を判定する(212)ことと、
前記異常の発生の判定に応答して修正動作を実行する(216)ことと、
を含む、方法。
【請求項2】
前記複数の畳み込みニューラルネットワークの各畳み込みニューラルネットワークは、複数のステップを含む、請求項1に記載の方法。
【請求項3】
各畳み込みLSTMニューラルネットワークが、前記畳み込みニューラルネットワークのうちの1つのそれぞれのステップの出力を受け取る、請求項2に記載の方法。
【請求項4】
前記シグネチャ行列を復号することは、逆畳み込みニューラルネットワークを用いて出力を順次逆畳み込みすることと、前記逆畳み込みされた出力を前記LSTMニューラルネットワークの次の出力と連結することとを含む、請求項1に記載の方法。
【請求項5】
前記オリジナルのシグネチャ行列を符号化することは、最終的な畳み込みニューラルネットワークに到達するまで、各畳み込みニューラルネットワークの出力を次の畳み込みニューラルネットワークの入力に供給することを含む、請求項1に記載の方法。
【請求項6】
前記異常の発生を判定することは、前記損失関数の出力を閾値と比較することを含む、請求項1に記載の方法。
【請求項7】
複数の異なる時間スケールにおいて、シグネチャ行列を用いて異常の深刻度を判定することをさらに含む、請求項1に記載の方法。
【請求項8】
オリジナルの各シグネチャ行列が、2つの各時系列間の相関値を表す、請求項1に記載の方法。
【請求項9】
wを期間の継続時間とし、δを時間ステップt-wからtまでの指数とし、
【数1】
を特定の時間t-δにおける第1の時系列の値とし、
【数2】
を特定の時間t-δにおける第2の時系列の値とし、kをリスケールファクタとしたとき、
時間tにおけるオリジナルの各シグネチャ行列が、
【数3】
の値から形成される、請求項8に記載の方法。
【請求項10】
前記修正動作が、前記被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインターフェースのステータスの変更から成るグループから選択される、請求項1に記載の方法。
【請求項11】
複数の畳み込みニューラルネットワークステージを用いて、複数の時系列の情報に基づいた、被監視システムの状態を示すオリジナルのシグネチャ行列を符号化し、それぞれの畳み込みニューラルネットワーク毎に、複数の畳み込み長短期記憶(long-short term memory:LSTM)ニューラルネットワークステージを用いて前記符号化されたシグネチャ行列における時系列パターンをモデル化し、複数の逆畳み込みニューラルネットワークステージを用いて前記モデル化された時系列パターンを含む前記符号化されたシグネチャ行列を復号するように構成されたニューラルネットワーク(400)と、
前記復号されたシグネチャ行列と前記オリジナルのシグネチャ行列との間の差に基づいて損失関数を用いて異常の発生を判定するように構成された異常検知器(510)と、
前記異常の発生の判定に応答して修正動作を実行するように構成された制御装置(512)と、
を含む、異常の検知修正装置。
【請求項12】
前記複数の畳み込みニューラルネットワークステージの各畳み込みニューラルネットワークステージは、複数のステップを含む、請求項11に記載のシステム。
【請求項13】
各畳み込みLSTMニューラルネットワークステージが、畳み込みニューラルネットワークステージのうちの1つのそれぞれのステップの出力を受け取る、請求項12に記載のシステム。
【請求項14】
前記ニューラルネットワークは逆畳み込みニューラルネットワークステージを使用してLSTMニューラルネットワークステージの出力を逆畳み込みし、前記逆畳み込みされた出力を前記LSTMニューラルネットワークステージの次の出力と連結するように構成される、請求項11に記載のシステム。
【請求項15】
前記ニューラルネットワークが、最終的な畳み込みニューラルネットワークステージに到達するまで、各畳み込みニューラルネットワークステージの出力を次の畳み込みニューラルネットワークステージの入力に供給するようにさらに構成された、請求項11に記載のシステム。
【請求項16】
前記異常検知器が、前記損失関数の出力を閾値と比較するようにさらに構成された、請求項11に記載のシステム。
【請求項17】
前記異常検知器が、複数の異なる時間スケールにおいて、シグネチャ行列を用いて異常の深刻度を判定するようにさらに構成された、請求項11に記載のシステム。
【請求項18】
オリジナルの各シグネチャ行列が、2つの時系列間のそれぞれの相関値を表す、請求項11に記載のシステム。
【請求項19】
wを期間の継続時間とし、δを時間ステップt-wからtまでの指数とし、
【数4】
を特定の時間t-δにおける第1の時系列の値とし、
【数5】
を特定の時間t-δにおける第2の時系列の値とし、kをリスケールファクタとしたとき、
時間tにおけるオリジナルの各シグネチャ行列が、
【数6】
の値から形成される、請求項18に記載のシステム。
【請求項20】
前記制御装置が、前記被監視システムのアプリケーションまたはハードウェアコンポーネントのセキュリティ設定の変更、前記被監視システムのアプリケーションまたはハードウェアコンポーネントの動作パラメータの変更、前記被監視システムのアプリケーションの停止または再起動、前記被監視システムのハードウェアコンポーネントの停止または再起動、前記被監視システムの環境条件の変更、並びに前記被監視システムのネットワークインターフェースのステータスの変更から成るグループから選択される修正動作を実行するようにさらに構成された、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2018年8月27日に出願された米国仮特許出願第62/723,024号及び2019年1月25日に出願された米国仮特許出願第62/796,670号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【0002】
本発明は、異常の検知及び診断に関し、特に異常な挙動の検知及び異常な挙動に関連する特定の時系列情報の特定に関する。
【背景技術】
【0003】
現代の製造業、発電所及び情報サービス等における複雑なシステムは、それぞれの時系列情報を生成する多数のセンサに起因して、監視が困難である。例えば、温度及び圧力センサは、発電所全体に分散して配置されている。そのような複雑なシステムにおける異常な挙動を特定することは困難であり、どのセンサが異常な読み取りの原因であるかを特定することは、さらに困難となる可能性がある。
【発明の概要】
【0004】
異常を検知及び修正するための方法は、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を生成することを含む。オリジナルのシグネチャ行列は、畳み込みニューラルネットワークを用いて符号化される。符号化されたシグネチャ行列における時系列パターンは、それぞれの畳み込みニューラルネットワーク毎に、畳み込み長短期記憶(long-short term memory)ニューラルネットワークを用いてモデル化される。モデル化されたシグネチャ行列は、逆畳み込みニューラルネットワークを用いて復号される。異常の発生は、復号されたシグネチャ行列とオリジナルのシグネチャ行列との間の差に基づいて、損失関数を用いて判定される。異常の発生の判定に応答して、修正動作が実行される。
【0005】
異常検知及び修正システムは、畳み込みニューラルネットワークステージを用いて、複数の時系列のシステムの状態を示すオリジナルのシグネチャ行列を符号化し、それぞれの畳み込みニューラルネットワーク毎に、畳み込み長短期記憶ニューラルネットワークステージを用いて符号化されたシグネチャ行列における時系列パターンをモデル化し、逆畳み込みニューラルネットワークステージを用いてモデル化されたシグネチャ行列を復号するように構成されたニューラルネットワークを含む。異常検知器は、復号されたシグネチャ行列とオリジナルのシグネチャ行列との間の差に基づいて、損失関数を用いて異常の発生を判定するように構成される。制御装置は、異常の発生の判定に応答して修正動作を実行するように構成される。
【0006】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【0007】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【0008】
図1図1は、本発明の一実施形態による、異常の検知及び修正対象となる被監視システムのブロック図である。
【0009】
図2図2は、本発明の一実施形態による異常の検知及び修正のための方法のブロック/フロー図である。
【0010】
図3図3は、本発明の一実施形態によるニューラルネットワークアーキテクチャのブロック図である。
【0011】
図4図4は、本発明の一実施形態による、異常の検知及び修正のために構成されたニューラルネットワークアーキテクチャのブロック図である。
【0012】
図5図5は、本発明の一実施形態による、異常の検知及び修正のためのシステムのブロック図である。
【発明を実施するための形態】
【0013】
本発明の実施形態は、複雑なシステムにおける異常な挙動の自動検知、診断及び修正を提供する。特に、本実施形態は、様々な時間ステップにわたるシステムの状態の複数のレベルを特徴付けるために、マルチスケールシグネチャ行列を構築する。様々なレベルのシステムの状態は、種々の異常事象の深刻度を示すために使用される。シグネチャ行列が与えられると、畳み込みエンコーダを用いて空間パターンを符号化することが可能であり、畳み込み長短期記憶(long-short term memory:LSTM)ネットワークを用いて時系列パターンを符号化できる。得られた時空間特徴マップを使用することで、異常を検知及び診断するために、シグネチャ行列及び残差シグネチャ行列を再構成する、逆畳み込みエンコーダを用いることができる。
【0014】
そのため、本実施形態は、異常の検知及び診断を、3つの基礎となる相互に関連するタスク、すなわち異常検知、根本原因の特定及び深刻度の判断で説明する。本実施形態は、システムシグネチャ行列を用いてこれら3つのタスクに共に対処する。
【0015】
図1を参照すると、異常検知システム106は、被監視システム102を監視する。被監視システム102は、製造ライン及び物的設備の動作等の物理システム、コンピュータまたは他のコンピュータ化された装置等の電子システム、並びにオペレーティングシステム及びアプリケーション等のソフトウェアシステムを含む、任意の適切なシステムとすることができる。
【0016】
1つまたは複数のセンサ104は、被監視システム102の状態に関する情報を記録する。センサ104は、例えば、温度、湿度、振動、圧力、電圧、電流、磁場、電場、光センサ等の物理的センサと、コンピュータシステムに設置されたログユーティリティ等のソフトウェアセンサとを含み、コンピュータシステムで動作するオペレーティングシステム及びアプリケーションの状態及び動作に関する情報を記録するためのログユーティリティ等の任意の適切な種類のセンサとすることができる。センサ104によって生成される情報は任意の適切なフォーマットとすることが可能であり、異種フォーマットで生成されるセンサログ情報を含むこともできる。
【0017】
センサ104は、無線通信及び有線通信を含む任意の適切な通信媒体及びプロトコルによって、記録されたセンサ情報を異常検知システム106に送信できる。異常検知システム106は、例えば、被監視システム102の挙動を予測し、センサ104によって測定された実際の挙動と予測された挙動とを比較できる。異常な挙動は、例えば、被監視システム102の実際の挙動が、予測された挙動から閾値量を超えて逸脱するか否かを検知することで識別可能であり、異常検知システム106は、挙動が異常であると判別できる。
【0018】
異常な挙動が検知されると、異常検知システム106は、システム制御ユニット108と通信し、異常な挙動を修正するために被監視システム102の1つまたは複数のパラメータを変更する。例示的な修正動作としては、アプリケーションまたはハードウェア構成要素のためのセキュリティ設定の変更、アプリケーションまたはハードウェア構成要素の動作パラメータの変更(例えば、動作速度)、アプリケーションの停止及び/または再起動、ハードウェア構成要素の停止及び/または再起動、環境条件の変更、ネットワークインターフェースの状態または設定の変更等を含む。これにより、異常検知システム106は、異常な挙動を自動的に修正または軽減する。
【0019】
本実施形態は、新規であるか、まれな異常な挙動であるか、または異常な挙動が以前に記録されていないシステムに対して異常検知を提供することで、被監視システムの動作の実質的な改善を提供する。その結果は、異常検知及び自動化されたシステムの管理技術の分野における有意な改善を意味する。本実施形態は、他のタイプの異常検知よりも少ない誤警報及び異常な挙動のより正確な検知を含む。加えて、本実施形態は、これまで遭遇したことの無い異常を含む全ての異常を検知する。
【0020】
次に、図2を参照すると、図2には、異常を検知、診断及び修正するための方法が示されている。ブロック202は、システム102のためのシグネチャ行列を形成する。異常検知システム106は、それぞれが長さTを有するn個の時系列から成る、異常が無いと仮定した履歴データを使用する。それぞれの時系列は、
【数1】
で表すことができる。異常検知システム106は、T後に起きる時間ステップで異常事象を検知し、該検知結果に基づいて、異常の原因として最も可能性が高い異常な時系列を特定し、該異常の深刻度を定性的に、例えば継続時間の長さとして捉える。
【0021】
異常検知システム106は、n×nのシグネチャ行列Mを構築する。ここで、tは特定の時刻を示す。2つの時系列セグメント
【数2】
及び
【数3】
が与えられると、これらの相関
【数4】
は、以下のように決定される。
【数5】
ここで、wは期間の継続時間であり、kはリスケールファクタであり、δは時間ステップt-wからtまでの指数である。
【0022】
シグネチャ行列Mは、内積を用いて2つの時系列間のパターンの類似性及び数値スケールの相関性の両方を取得する。個々の乱れがシステム全体にほとんど影響しないため、シグネチャ行列はデータ雑音に対してロバストである。l個の異なるシグネチャ行列のセットは、例えば、様々なセグメントサイズ(例えば、W=10、30、60)をそれぞれに用いて、異なる時間スケールでシステム状態を特徴付けるために用いることができる。
【0023】
ブロック204は、シグネチャ行列を符号化する。空間パターンをモデル化し、それらをコンパクトな表現として符号化するため、本発明は、例えば畳み込みニューラルネットワーク(CNN)を用いてもよい。Mは、大きさk×n×nの3次元テンソルXとして扱われる。Xは、いくつかの畳み込み層への入力として用いられる。層kの変換は次のように定式化される。
【数6】
ここで、*は畳み込み演算を示し、f(・)はCNNの活性化関数であり、W及びbはk番目の畳み込み層のフィルタパラメータである。いくつかの実施形態において、複数のSELU(scaled exponential linear unit)が4つの畳み込み層で使用される。1つの具体的な実施形態において、4つの畳み込み層は、サイズ3×3×3×32、3×3×32×64、2×2×64×128及び2×2×128×256のフィルタを有することが可能であり、サイズ1、2×2、2×2及び2×2のステップを有することが可能である。様々な時系列の順序は、時系列がCNNの性能内で基本的な空間パターンを有するため、ほとんど影響が無いように規定できる。
【0024】
ブロック206は、時系列パターンをモデル化する。各多変量時系列セグメントのシステムシグネチャ行列は、時系列データの時間依存性のために、先行するセグメントと関連する。本実施形態は、例えば畳み込みLSTMを用いて連続するシグネチャ行列間の時間依存性をモデル化する。畳み込みLSTMは、標準LSTMと異なり、時間的なモデル化にシグネチャ行列の空間パターンを組み込む。具体的には、k番目の畳み込み層及び先行する隠れ状態テンソル
【数7】
からの出力表現
【数8】
を備えた時間セグメント毎に、現在の隠れ状態
【数9】

【数10】
によって更新する。ConvLSTMセルは、
【数11】
で定式化される。ここで、*は畳み込み演算子であり、
【数12】
はアダマール積であり、σはシグモイド関数であり、Wは畳み込みLSTMネットワークのパラメータである。入力、
【数13】
、セル出力
【数14】
、隠れ状態
【数15】
、並びにゲート
【数16】
及び
【数17】
は3次元テンソルで表される。
【0025】
畳み込みLSTMネットワークのステップ長hは、先行するセグメント数を表し、例えば、5に設定できる。各畳み込み層で時系列パターンを取得するために、スタックされた複数の畳み込みLSTM層を使用できる。さらに、先行する全てのステップが現行セグメント
【数18】
の表現に等しく寄与するわけではないため、時間アテンションを用いて現行セグメントで重要なステップを抽出し、それらのセグメントの表現を統合して改良された表現を形成する。
【数19】
ここで、
【数20】
であり、
【数21】
はリスケールファクタである。最後の隠れ状態
【数22】
はグループレベルのコンテキストベクトルと見なされる。先行するステップからの重要度の重み
【数23】
は、ソフトマックス関数を介して測定される。このアテンションの定式化は、余分なパラメータを用いることなく、学習済みの隠れ状態に基づいている。
【0026】
ブロック208は、シグネチャ行列を復号する。時空間特徴マップを復号し、再構成されたシステムシグネチャ行列を得るために、本実施形態では、以下ように定式化された階層的な逆畳み込みニューラルネットワーク(deconvolutional neural networks:DeCNN)を利用できる。
【数24】
ここで、
【数25】
は逆畳み込み演算を示し、
【数26】
は連結演算を示し、f(・)はアクティベーションユニット(例えば、畳み込みエンコーダと同じ)であり、
【数27】
及び
【数28】
は、k番目の逆畳み込み層のフィルタパラメータである。
【0027】
本実施形態は、畳み込みステップと比べて逆の順序に従って、DeCNNにおけるk番目の畳み込みLSTM層の
【数29】
を入力する。出力
【数30】
は、先行する畳み込みLSTM層の出力と連結され、階層的な逆畳み込みプロセスが形成される。連結された表現は、さらに次の逆畳み込み層に供給される。最終的な出力
【数31】
は、再構成されたシグネチャ行列を示す。
【0028】
その結果、2×2×256×128、2×2×256×64、3×3×128×32及び3×3×64×3のサイズのフィルタと、それぞれ2×2、2×2、2×2及び1のサイズのストライドとを有する4つの逆畳み込み層を利用できる。デコーダは、様々なCNN及び畳み込みLSTM層における表現情報を復号プロセスに組み込む。この階層的な機構は、異常検知性能を向上させるのに有効である。
【0029】
ブロック210は、再構成されたシグネチャ行列及びオリジナルのシグネチャ行列を用いて残差行列を決定する。これらの残差行列は損失関数で使用される。ブロック210は、損失関数を最適化し、それぞれの行列間の差を最小化する。損失関数は、次のように表すことができる。
【数32】
いくつかの実施形態において、損失を最小限に抑制するためにAdamオプティマイザを使用できる。この最適化は、ニューラルネットワークにおけるアテンション重みと同様に、畳み込み及び逆畳み込みのカーネルを設定する。十分な訓練エポックの後、学習済みニューラルネットワークのパラメータは、検証及びテスト期間データの再構成されたシグネチャ行列を推測するために使用される。
【0030】
損失関数が最適化されると、ブロック212は、新しい時系列データを用いて異常検知を実行する。異常スコアは、不十分な再構成されたペアワイズ相関の数、すなわち残差行列における、与えられた閾値θよりも大きい値を有する要素の数で決定される。ここで、θは、経験的に設定することができる。残差マップは、ネットワークの入力と出力との間の絶対的な差に基づいて生成される。損失は、残差行列の全てのエントリの合計に基づく値である。異常が発生したことを示すために、任意の十分に大きな異常スコアが使用される。
【0031】
例えば、カッティング閾値は
【数33】
で決定できる。ここで、
【数34】
は検証期間中に測定された異常スコアであり、
【数35】
は何らかのメトリックに従って最良スコアが得られるように設定される。カッティング閾値τは、残差マップにおける各エントリが異常エントリとしてカウントされるか否かを判定するために使用される。異常スコアは、該閾値よりも大きい全ての残差エントリの総数に基づく。
【0032】
ブロック214は、識別された異常の根本原因である時系列を特定する。種々の入力は、それぞれの異常スコアに従ってランク付けされ、最も高い異常スコアを有する上位kの時系列が根本原因として特定される。上述したように、入力及び出力のシグネチャ行列は異なるスケールで決定される。異常の深刻度を判断するために、ブロック214はセグメントサイズw=10、30、60を備える様々なスケール(例えば、大、中及び小)の残差シグネチャ行列に基づいて種々の異常スコアを計算する。種々のスケールは、様々な時間スケールにわたって発生する異常を検知し、より小さいスケールの行列は比較的小さい閾値継続時間を超える異常を検知し、より大きいスケールの行列は、より大きい閾値継続時間にわたる異常を検知する。異常の深刻度は、様々なスケールで種々のチャネル異常スコアを併せて考慮することで判断可能であり、異常が全てのチャネルで検知できる場合は長い継続時間を有する可能性が高く、全てのチャネルよりも少ないチャネルで検知された場合は、短い継続時間または中程度の継続時間である。
【0033】
ブロック216は、ブロック214で特定された時系列に基づいて修正動作を実行する。異常な時系列は、特定のセンサ104に関連し、異常の原因である、対応するシステムまたは環境の変数を特定する。ブロック216は、異常を修正するために、設定またはパラメータを直接的にまたは間接的に自動で変更する動作を行う。例えば、時系列が温度センサで生成される場合、ブロック216は、冷却量を増減して測定温度を変化させることができる。時系列が直接制御可能なシステムで生成される場合、ブロック216は、システムの挙動を変更するためにシステムのパラメータを変更できる。例えば、一例として、発電所における燃料供給の速度を変更することがある。
【0034】
このプロセスは、繰り返すことが可能であり、異常な時系列が改善されたか否かを判定するため、修正動作が評価された後に収集された新しいデータが用いられる。時系列が改善されているが、依然として異常であると検知された場合、ブロック216は、問題となっているシステムをさらに調整できる。改善が検知されない場合、種々のシステムを調整できる、または異常を人のオペレータによる処理事項とすることができる。
【0035】
図3を参照すると、図3には人工ニューラルネットワーク(ANN)アーキテクチャ300が示されている。本アーキテクチャは例示的なものであり、代わりに他のアーキテクチャ、または他のタイプのニューラルネットワークを使用できることを理解されたい。本明細書で説明するANNの実施形態は、高いレベルの一般性におけるニューラルネットワーク計算の一般的な原理を示すことを意図して含むものであり、いかなる方法でも限定されるものと解釈されるべきではない。
【0036】
さらに、以下に記載されるニューロンの層及びそれらを接続する重みは、一般的な様式で記載され、任意の適切な程度の相互接続性または任意の適切なタイプの相互接続性を有する任意のタイプのニューラルネットワーク層によって置き換えることができる。例えば、複数の層には、畳み込み層、逆畳み込み層、プーリング層、全結合層、ソフトマックス層または任意の他の適切なタイプのニューラルネットワーク層を含むことができる。さらに、必要に応じて層を追加または除去することが可能であり、相互接続のより複雑な形態のために重みを省略できる。
【0037】
フィードフォワード動作中、1組の入力ニューロン302は、重み304の各行と並列に入力信号をそれぞれ供給する。各重み304は、設定可能な値をそれぞれ有する。それは、隠れニューロン306に対する重み付き入力を表すために、重み304から、重み出力がそれぞれの隠れニューロン306に渡される。ソフトウェアの実施形態において、重み304は、関連する信号に対して乗算される単なる係数値として表すことができる。各重みからの信号は、列毎に加算されて、隠れニューロン306に導かれる。
【0038】
隠れニューロン306は、重み304のアレイからの信号を用いて何らかの計算を実行する。隠れニューロ306は、それ自体の信号を別の重み304のアレイに出力する。このアレイは、重み304の列が隠れニューロン306から信号を受け取り、行毎に加算し、出力ニューロン308に提供される、重み付けされた信号出力を生成するために、同じ方法を実行する。
【0039】
アレイ及び隠れニューロン306の追加の層を介在させることで、任意の数のステージを実現できることを理解されたい。いくつかのニューロンは、アレイに固定の出力を提供する、固定ニューロン309であってもよいことにも留意されたい。固定ニューロン309は、入力ニューロン302及び/または隠れニューロン306の間に存在可能であり、フィードフォワード動作のみで使用される。
【0040】
バックプロパゲーションの間、出力ニューロン308は、重み304のアレイを横断して戻る信号を提供する。出力層は、生成されたネットワークの応答を訓練データと比較し、エラーを計算する。エラー信号は、エラーの値と比例するものでもよい。本実施例では、重み304の行が、それぞれの出力ニューロン308から並列に信号を受信し、列毎に加算して隠れニューロン306に入力を提供する出力を生成する。隠れニューロン306は、重み付けされたフィードバック信号を、そのフィードフォワード計算のデリバティブと結合し、フィードバック信号を重み304のそれぞれの列に出力する前にエラー値を保存する。このバックプロパゲーションは、全ての隠れニューロン306及び入力ニューロン302がエラー値を保存するまで、ネットワーク300全体を通して進行する。
【0041】
重みの更新の間、保存されたエラー値は、設定可能な重み304の値を更新するために使用される。このようにして、重み304は、ニューラルネットワーク300を、そのステップにおけるエラーに適応させるように訓練できる。3つの動作モード、フィードフォワード、バックプロパゲーション及び重みの更新は、互いに重複しないことに留意されたい。
【0042】
ここで図4を参照すると、図4には、ニューラルネットワーク400の一般的な構成が示されている。システムシグネチャ行列を含む入力が提供される。各システムシグネチャ行列は異なるタイムスケールを示す。この入力は、第1のCNNステージ404に印加される。第1のCNNステージ404の出力は、次のCNNステージ404へ入力として加えられ、このことは全てのCNNステージ404を通して順次継続する。
【0043】
各CNN 404は、上述したように一組の個別のステップから形成される。例えば、第1のCNN 404は、30×30のサイズを有する32ステップを有することができる。各CNN 404の各ステップは、LSTMブロック406における各畳み込みLSTMネットワークに対する入力として使用される。各LSTMブロック406の種々の畳み込みLSTMネットワークは、それぞれのLSTM出力を提供する。
【0044】
いくつかの実施形態において、最後のCNN 404(例えば、Conv 4)の出力から生成されたLSTM出力は、それぞれの逆畳み込みニューラルネットワーク410に直接提供される。逆畳み込みブロック410の出力は、連結ブロック408において、最後から2番目のCNN 404(例えば、Conv 3)の出力と連結される。連結された出力は、逆畳み込みニューラルネットワークブロック410に供給される。このようにして、残りのCNN 404の出力は、次に続く連結ブロック408及び逆畳み込みブロック410によって加算される。最終的な出力は、損失関数412に与えられ、該損失関数412は最終的な出力をオリジナルの入力行列と比較する。
【0045】
次に図5を参照すると、図5には、異常検知システム106のさらなる詳細が示されている。異常検知システム106は、ハードウェアプロセッサ502、メモリ504及びネットワークインターフェース506を含む。ネットワークインターフェース506は、任意の適切な有線または無線通信媒体及び任意の適切なプロトコルを用いて、センサ104及びシステム制御108と通信する。異常検知システム106は、さらにいくつかの実施形態において、メモリ504で保存され、ハードウェアプロセッサ502によって実行されるソフトウェアとして実装される、1つ以上の機能モジュールを含む。他の実施形態において、機能モジュールのうちの1つまたは複数は、例えば特定用途向け集積チップまたはフィールドプログラマブルゲートアレイの形式で、1つまたは複数の個別のハードウェア構成要素として実装されてもよい。
【0046】
ニューラルネットワーク400は、上述したように実施される。いくつかの例示的な実施形態において、ニューラルネットワーク400は、ハードウェアプロセッサ502として実装されてもよく、ソフトウェアとして実装されてもよい。訓練モジュール510は、例えば被監視システム102が正常に動作していると知られているときに取得されたセンサの測定値のセットを含む訓練データのセットを用いて、ニューラルネットワーク400を訓練する。訓練には、例えばAdamオプティマイザによるミニバッチ確率的勾配降下法を用いることができる。各エポックにおいて、多変量時系列セグメントの固定バッチサイズが、システムシグネチャ行列を生成するための入力としてランダムに選択される。
【0047】
異常検知器510は、訓練済みニューラルネットワーク400を用いて被監視システム102の挙動の予測を生成する。続いて、異常検知器512は、センサ104からの実際のセンサ情報を比較し、実際のセンサ情報を被監視システム102の予測された挙動と比較する。異常検知器510は、実際のセンサ情報と予測された挙動との間の、閾値よりも大きいあらゆる偏差に異常としてフラグを立てる。制御装置512は、ネットワークインターフェース506を用いてシステム制御108に命令を送ることで、フラグが立てられた異常に自動で応答する。
【0048】
本明細書で記載する実施形態は、全てハードウェアで実現してもよく、全てソフトウェアで実現してもよく、ハードウェアとソフトウェアの両方の要素を含んでいてもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアでも実現可能である。
【0049】
実施形態には、コンピュータもしくは任意の命令実行システムによって使用される、または関連して使用されるプログラムコードを提供する、コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体からアクセスできる、コンピュータプログラム製品を含んでもいてよい。コンピュータで使用可能な、またはコンピュータで読み取り可能な媒体には、命令実行システム、機器、もしくは装置によって使用される、または関連して使用されるプログラムを格納、伝達、伝搬または転送する任意の機器を含んでいてもよい。該媒体は、磁気媒体、光学媒体、電子媒体、電磁気媒体、赤外線媒体または半導体システム(または機器もしくは装置)、あるいは伝搬媒体であってもよい。該媒体には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク及び光ディスク等のコンピュータで読み取り可能な媒体を含んでいてもよい。
【0050】
各コンピュータプログラムは、汎用または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置(例えば、プログラムメモリまたは磁気ディスク)に格納される。該コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法をコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。
【0051】
プログラムコードを記憶及び/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に接続された少なくとも1つのプロセッサを備えていてもよい。このメモリ要素には、処理の実行中にバルク記憶装置からコードが検索される回数を減らすために、プログラムコードによって実際の実行中に用いられるローカルメモリ、バルク記憶装置及び少なくともいくつかのプログラムコードを一時的に記憶するキャッシュメモリを備えていてもよい。入出力またはI/O装置(限定されるものではないが、キーボード、ディスプレイ、ポインティング装置等を含む)は、直接またはI/Oコントローラを介してシステムに接続されてもよい。
【0052】
ネットワークアダプタは、データ処理システムが、プライベートネットワークまたは公衆ネットワークを介して、他のデータ処理システムまたはリモートプリンタもしくは記憶装置と接続することを可能にするために、上記システムと接続されていてもよい。モデム、ケーブルモデム及びイーサネット(登録商標)カードは、現在利用可能なタイプのネットワークアダプタの一例に過ぎない。
【0053】
上記は、あらゆる観点において説明的かつ典型的であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。
図1
図2
図3
図4
図5