多変量時系列異状検知にグラフ・アテンションを用いたMTAD-GAT
3つの要点
✔️ 多変量時系列データの特徴、結果の利用目的を考慮して、新たなフレームワークを構築しています
✔️ 単変量を束ねた一括処理ではなく、変数間に関係性がみられるケースへの解法の提示は、宇宙、クラウドだけでなく、多くの製造業や医療関係でも、飛躍への道を拓くのではないでしょうか
✔️ ここ数年、数多く出てきているSOTAをさらに上回る性能を叩き出しています
Multivariate Time-series Anomaly Detection via Graph Attention Network
written by Hang Zhao, Yujing Wang, Juanyong Duan, Congrui Huang, Defu Cao, Yunhai Tong, Bixiong Xu, Jing Bai, Jie Tong, Qi Zhang
(Submitted on 4 Sep 2020)
Comments: Accepted by ICDM 2020.
Subjects: Machine Learning (cs.LG); Machine Learning (stat.ML)
code:
はじめに
開発されたフレームワークは、論文のタイトル通りMTAD-GATと名付けられています。深層学習を用いた時系列予測については、AI SCHOLARの以前の記事「深層学習で未来予測が変わる」でサーベイ論文を紹介しました。ビルディング・ブロックの要素としてLSTMなどを列挙し、深層学習を用いることにより、古典的手法では得られないアウトプットを得られる可能性があることを述べました。しかしそこでは、多変量データについては深く触れられませんでした。
LSTMベースのエンコーダ・デコーダで正常時の復元確率をモデリングしたもの[3]、確率的潜在変数を用いて多変量時系列の確率的再帰ネットワーク[4]などが提案されてきました。しかし、明示的に多変量間の相関関係を捉えた論文は見られず、そこに切り込んだのが本論文です。
手法
MTAD-GATでは、多変量のなかの個々の単変量時系列を特徴値と捉え、それぞれの特徴値間の相関を明示的にモデリングしようとしています。一方、それぞれの時系列内の時間依存も併せてモデル化します。
フレームワークの核になる構成要素は、2つのグラフ・アテンション層、すなわち「特徴値指向グラフ・アテンション層」と「時間指向グラフ・アテンション層」です。特徴値指向グラフ・アテンション層は複数の特徴値間の因果関係を捕捉します。また時間指向グラフ・アテンション層は時間軸での依存関係を捕捉します。
これらの層に入力する前に、時系列データは1D-convolution処理し、高位の特徴値を抽出します。
グラフ・アテンション(Graph Attention)については、Graph Attention Networksを参照してください。MLPやCNNなどGridのような構造では捉えられない対象に対してGraph Neural Networksが適用されますが、Graph Attention Networksは各ノードにself attentionにより特徴づけを行うことで、モデルの柔軟性をさらに高めています。上記の2つのモデル層は、目的関数を結合して、同時に最適化することができます。
続いて、concatenateされた隠れ層変数はGRU(Gated Recurrent Unit)に入力されます。時系列のシーケンス・パターンを捕捉します。GRUの出力は、並列して予測ベースのモデルと復元モデルに入力されます。予測ベースモデルにはFully-connected-networkを、復元モデルにはVAE(Variational Auto Encoder)を用いています。
データ前処理
前処理として、max-min正則化と、単変量異常検知でのSOTAであるSR(Spectral Residual)を用いています。
グラフ・アテンション
グラフ・アテンションはノードごとに次式で表されます。
σはシグモイド活性化関数です。Lはiの近傍のノードの数です。アテンション・スコアαは次のように求められます。
〇の中に+の記号は、concatenationを意味しています。
1. 特徴値指向グラフ・アテンション層
特徴値指向グラフ・アテンション層では、ノードは多変量の各変数に対応し、入力には全タイムスタンプnの時系列データをシーケンシャル・ベクターとして与えます。グラフは変数の数kだけ出来上がります。
2. 時間指向グラフ・アテンション層
時間指向グラフ・アテンション層では、時系列データはSliding windowsで切り分けられ、ノードはタイムスタンプ数nだけ存在し、多変量の数を次元にもつベクターが、それぞれのグラフからアウトプットされます。
結合最適化
損失関数は、予測モデルの損失関数と、復元ベースモデルの損失関数を足し合わせたものになり、両方のモデルからのパラメータは同時に更新します。
復元モデルの損失関数の第1項は負の対数尤度、第2項はKullback-Leiblerダイバージェンスです。
モデル推定
それぞれのタイムスタンプに対して、2つの推論結果があります。一つは予測値、二つ目は復元確率です。異状検知には、2つの結果のバランスを見て最適化した結果を使います。異状の判定のスレショルドは、POT(Peak Over Threshold)アルゴリズムで自動的に決定します。推論のスコアはハイパーパラメータγを用いて次のように計算します。
実験
データセット、指標
3つのデータセットを比較評価に用います。2つは、NASAにより収集された宇宙船のデータで、SMAP(Soil Moisture Active Passive sotellite)とMSL(Mars Science Laboratory rover)です。もう一つは、Microsoft自身の時系列異状検知システムで収集されたものでFlinkというストリーム処理フレームワークからとったTSA(Time Series Anomaly detection system)です。
評価指標は、precisio, recall, F1スコアです。
SOTAとの比較
比較対象にしたSOTAは次の8個です。いずれも2018年から2019年に発表された多変量異常検知です。予測ベースのモデルと復元ベースのモデルを含みます。
.Omni-Anomaly[4]
多変量時系列異状検知に対して、確率的モデルを提案しています。GRUで時間的依存関係を把握したのち、VAEで確率分布に投影しています。正常時のパターンに対して、復元確率が低いパターンを異状とみなしています。
.LSTM-NDT[2]
LSTMの出力に対して、教師なし、ノン・パラメータでスレショルドを決定するアルゴリズムを提案しています。
.KitNet[13]
特徴値抽出、特徴値マッピングした後、Auto Encoderのアンサンブルを通して、異状検知をしています。
.DAGMM[9]
時間依存は見ないで、多変量の異状検知にのみフォーカスしています。
.GAN-Li[10]
GANを用いてDiscriminatorを訓練することにより、異状を検知します。
.MAD-GAN[11]
変数間の潜在相互作用を見つけるために全データを同時に考慮しています。GAN-Liとほぼ同じ研究グループで、類似しています。
.LSTM-VAE[12]
LSTMとVAEを統合し、信号を融合、期待する分布を復元します。エンコードでは、多変量観測値と、その各時間ステップの時間的依存をLSTMベースのエンコーダで潜在空間に投影しています。デコードでは、潜在代表値より多変量インプットの分布期待値を予測しています。
これらのSOTAに対して、MTAD-GATはすべてのデータセットに対して、優れたF1スコアを叩き出しています。
Different Delayで評価
時系列データですので、遅滞なく異状の判定ができることが重要です。下記のグラフを見るとOmniAnomalyに対して常に早くF1スコアが上昇していることがわかります。
分析
グラフ・アテンションの効果
2つ使用しているグラフ・アテンションのそれぞれについての効果を評価しています。特徴値指向グラフ・アテンション、時間指向グラフ・アテンションいずれを欠いてもF1スコアが低下することがわかります。GRUを使用しているのにもかかわらず、時間指向グラフ・アテンションの効果が出ている理由は、GRUでは捉えられない、間隔のあいた時点間での関係が異状発生に対して影響していると解釈されています。
結合最適化の効果
同じ表から、加えて予測モデルと復元ベースモデルを結合最適化に用いていることの妥当性も確認できます。
ただし、復元ベースモデルで把握できていないケースも確認されています。例えば、Fig.6の赤の区間は検知できていません。復元ベースモデルは一般的にグローバルな分布を把握するのに優れていますが、周期性を乱す突然の摂動は見逃すことがあります。
γの分析
γは予測ベース誤差と復元ベース確率を組み合わせる比率した。γについての依存性も評価しています。ほとんど変化がありません。
異状診断
MTAD-GATは異状検知する以外に、異状診断に有益な知見を提供します。前出の推論スコアの各変数に対する寄与率の高い方から根本原因の候補を上げることができます。HitRate@P%, NDCGという2つの指標で正確度を評価しました。
いずれも比較的高い数値が得られています。
ケース・スタディ
正しく検知されない場合もあります。下図の緑色の部分が異状と判定されましたが、正常でした。FLINK_CHECKPOINT_DURATIONとCPUに普通でないスパイクを発見したためでした。DATA_RECEIVED_ON_FLINK, DATA_SENT_FROM_ONTIMER_FLINKも同タイミングで増加しているため、一時的にシステムへの入力データが増加したことがわかります。しかし、負荷の増大は短い時間に収まり、システムの動作状態として異常ではありませんでした。このような、ドメインナレッジや顧客フィードバックを必要とするケースについては、さらなる検討が必要です。
まとめ
多変量時系列データそのもの、そして時系列データの異状検知をするということの特徴について、深く考察し、それぞれを把握することのできるフレームワークMTAD-GATが開発されました。ここ数年の多くのSOTAに比べて優れたF1スコアを叩き出しています。大きな進歩が得られたのではないかと思います。
一方で、論文の中でも触れられているいくつかのケースでは、False positive, False negativeの判定をしています。このような特性をも包括的に取り込むことができる、さらに優れたモデルの開発が推進されるでしょう。
この記事に関するカテゴリー