# Graph Neural Network-Based Anomaly Detection in Multivariate Time Series Created: February 5, 2021 1:04 PM URL: https://bhooi.github.io/papers/gdn_aaai2021.pdf Year: 2021 # Abstract Given high-dimensional time series data (e.g., sensor data), how can we detect anomalous events, such as system faults and attacks? More challengingly, how can we do this in a way that captures complex inter-sensor relationships, and detects and explains anomalies which deviate from these relationships? Recently, deep learning approaches have enabled improvements in anomaly detection in high-dimensional datasets; however, existing methods do not explicitly learn the structure of existing relationships between variables, or use them to predict the expected behavior of time series. Our approach combines a structure learning approach with graph neural networks, additionally using attention weights to provide explainability for the detected anomalies. Experiments on two real-world sensor datasets with ground truth anomalies show that our method detects anomalies more accurately than baseline approaches, accurately captures correlations between sensors, and allows users to deduce the root cause of a detected anomaly. 高次元の時系列データ(センサデータなど)がある場合、システムの故障や攻撃などの異常事象をどのようにして検出することができるのでしょうか?さらに難しいのは、複雑なセンサ間の関係を捉え、これらの関係から逸脱した異常を検出して説明する方法でこれを行うにはどうすればよいのかということです。しかし、既存の手法では、変数間の既存の関係性の構造を明示的に学習したり、時系列の期待される振る舞いを予測したりすることはできませんでした。我々のアプローチでは、構造学習アプローチとグラフニューラルネットワークを組み合わせ、さらに注目度重みを用いて検出された異常の説明可能性を提供する。また、実際の2つのセンサデータセットを用いた実験では、ベースライン・アプローチよりも正確に異常を検出し、センサ間の相関関係を正確に捉え、検出された異常の根本原因を推論できることが示された。 # メモ ## 背景 - 多変両時系列データの異常検知手法は盛んに研究されているが,ほとんどの手法はどのデータ(論文の文脈ではセンサーに紐づく)が互いに関連しているかを明示的に学習していないため,多くの潜在的な相互関係を持つ高次元センサデータをモデル化することが困難である - そのため,異常な事象が発生したときに,そのような関係性からの逸脱を検出し、説明する能力が制限されている ## 提案 - センサ間の関係性のグラフを学習し,これらのパターンからの逸脱を検出する新しい異常検知アプローチであるGraph Deviation Network (GDN)を提案する. - 提案手法の特徴 1. 提案手法は,各ノードが持つパラメータの特性が異なるヘテロジーニアスな環境に適用可能 (1ノードが1センサーで単変量時系列データに相当する) 2. GNNsの入力となるグラフ構造を同時にデータから構築する - 全体像と動作の流れ ![[Graph Neural Network-Based Anomaly Detection in Mu/Untitled.png]] 1. Sensor Embedding - 異なるタイプのセンサに対して不均一な効果を小さくするためにセンサーデータごとに埋め込み表現を学習する - ここでの埋め込み表現は次のステップのグラフ構造推定にも活用する 2. Graph Structure Learning - グラフに関する事前情報を持っていない場合は,Embeddingのベクトルの類似度からグラフ構造を構築する 3. Graph Attention-Based Forecasting - 異常検知は予測誤差ベースで行う. - 予測ベースのアプローチを採用することにより,予測された行動から大きく乖離したセンサを容易に識別することができる. - さらに,各センサの予測された挙動と観測された挙動を比較することでモデルがセンサを異常とみなす理由を理解できる - (モデル的にはGraph Attention Networkに近いけど,センサーの生データだけでなく埋め込み表現も同時に学習しているところが違う) 4. Graph Deviation Scoring - 各ノード(センサーに相当)ごとに異常スコアを算出する - 異常スコアは予測と実測の差分の絶対値を正規化したもの ## 評価 - 通常の教師なし異常検出の定式化に従い,訓練データは正常時のデータのみで構成されている - データセットは,テストベッドシステムをベースとした2つのセンサデータセット(SWaTとWADI)を利用 - ベースラインは以下の7つ - PCA: Principal Component Analysis - KNN: K Nearest Neighbors - FB: A Feature Bagging detector - AE: Autoencoders - DAGMM: Deep Autoencoding Gaussian Model - LSTM-VAE - MAD-GAN - 精度比較 ![[Graph Neural Network-Based Anomaly Detection in Mu/Untitled 1.png]] - 解釈性 - 予測ベースなのでどのデータが予測から逸脱しているかでノードまでは特定できる. - (複数が同時に逸脱するようなケースを考えてないと思われる) - 学習の過程でノード間の関係性を反映したAttention重みを学習しているので異常ノードと合わせてエッジの情報も提供できる ![[Graph Neural Network-Based Anomaly Detection in Mu/Untitled 2.png]]