強力ギアになるかStackVAE-G、多変量時系列異状検知に切り込む
3つの要点
✔️ 多変量時系列データの特徴、目的を考慮したフレームワークをさらに提案
✔️ VAEを基本にしたブロック処理を積層、計算負荷も低減
✔️ グラフ学習モジュールを組み込むことにより性能と説明性を向上
Stacking VAE with Graph Neural Networks for Effective and Interpretable Time Series Anomaly Detection
written by Wenkai Li, Wenbo Hu, Ning Chen, Cheng Feng
(Submitted on 18 May 2021)
Comments: Published on arxiv.
Subjects: Machine Learning (cs.LG)
code:
はじめに
多変量時系列異状検知については、以前の記事(多変量時系列異状検知にグラフ・アテンションを用いたMTAD-GAT)で、個々の時系列データの時間軸での特徴を捉えるだけでなく、それぞれの時系列データ間の相関関係を捉えることにより、モデル性能が向上することを紹介しています。
ここで紹介するStackVAE-Gでも、このコンセプトに沿っています。発表時期が近いためかMTAD-GATとの直接比較はありません。モデルの構成要素が、MTAD-GATでは、グラフ・アテンションを主にして特徴値間相関、時間軸相関を捉え、FCN, VAEを予測モデル、復元モデルとして、それぞれ用いていたのに対し、StackVAE-GではVAEを積層して用いる特徴的な構造とグラフネットワーク(アテンションではない)を用いており、かなり異なっています。このあたりも見ていきたいと思います。
このデータ例は、MTAG-GAT評価でも使用されていたNASAにより収集された宇宙船のデータSMAP(Soil Moisture Active Passive satellite)です。いくつかのデータ系列間に類似性、相関性を見ることができます。
このような関係は、他の時系列データ、例えばメンテナンス時期判断、侵入検知、詐欺検知、疾病アウトブレーク検知、AIオペレーションなどでも見ることができます。効果的な異状検知を行うためには、次の2点を押さえることが重要です。
- 復元モデリング
- 相関構造
復元モデリングに対しては、ブロック状VAEモデルを多変量に適用するために、チャネルレベルの重みを共有しつつ積層した、積層ブロック状復元フレームワークを提案しています。系列間の相関構造の抽出に対しては、時系列データの各チャネルをノードに対応させたグラフ学習モジュールを通して離れた時点間の相関も把握しています。
背景
時系列異状検知
ニューラルネットワークをベースにした教師なし学習としては、予測ベース手法と復元ベース手法があります。予測ベース手法の例としてはLSTM-NTDがあり、復元ベース手法には深層生成モデルが広く適用されています。
深層生成モデル(DGM)
深層生成モデル(Deep Generative Model)は、データ入力の正常パターンを復元し、教師なしで、復元モデルとの違いで異状を検知するものです。DGMには2つの方法があり、段階的とブロック的手法です。(Figure1 (a), (b))
段階的手法では、RNNを用いて各時点のデータの復元モデルを構築します。LSTM Encoder-Decoder, LSTM-VAE, GGM-VAE, OmniAnomalyなどが、この構造を取っています。しかし、弱点として正常データと異状のいずれにも過学習してしまう傾向があります。それぞれの時点に対して復元モデルを構築する戦略のためです。
この問題を一部解決する方法としてブロック的手法ではsliding windowsを用いてブロックごとに復元モデルを構築します。Donut, USADなどが、この手法を取っています。しかし、これらはモデル重みのサイズが大きく、学習の精度を上げるためには、計算能力、データがさらに必要になります。多変量時系列では、さらに深刻になります。
グラフ学習、構造学習
多変量時系列データに対しては、内因性変数を持った自己回帰手法を用い、ベクトル自己回帰モデルを構築することができます。これらの再帰深層モデルには、チャネル間の相関関係を内示的に含んでおり、説明性には欠けます。
手法
StackVAE-Gの構成は、Figure 3のようになっています。骨格はVAEになっており、青い部分がEncoder, ピンクの部分がDecoderです。青い部分の左上のブロックがグラフ学習モデルです。上の時系列インプットと、下の時系列復元データを比較して、異状の判断を行います。
変分オートエンコーダ
変分オートエンコーダはStackVAEの基本モデルです。VAEの詳細については、各種解説を参照してください。
積層ブロックVAEモデル
積層ブロック式VAE復元モデルは、単チャネルブロック式復元を構築し、重み共有を用いて、複数回積み重ねています。(Figure 2c)図の行がチャネルに対応します。ブロックごとにエンコーディング処理された潜在変数$H_1$はm次元でチャネル数nのnxmのサイズです。次に述べるグラフ学習モジュールのアウトプット$\tilde{A}$で、次式のように重みづけして第2段階の潜在変数$H_2$に変換します。
潜在変数$H_2$をデコーダに通して、復元データを得ます。
グラフ学習モジュール
時系列データの複数チャネル間の相関構造を次式で表される無向グラフネットワークで学習します。
$E$はチャネルに対応する、乱数で初期化されたノードです。このモデルは異常検知タスクにフォーカスしており、確率的VAEフレームワークでの正常状態での安定した相関関係の時間不変グラフの学習を狙っています。
相関の強いトップkの他はゼロにする次の処理をして$\tilde{A}$を得ます。
損失関数
損失関数は、グラフネットワークの損失とVAEの損失を足し合わせて、次のようになります。
学習・検出
学習には、StackVAEモデルとグラフ学習モジュールの2つのモジュールを結合し$L_{total}$をAdamで最適化します。StackVAEとグラフ学習モジュールからなるエンコーダを学習し、事後潜在分布p(X|Z)を推論します。近似事後分布q(Z|X)からランダムサンプリングし、正確に復元アウトプットを生成するようにデコーダを学習します。
検出には、インプットXに対して復元した正常パターン$\hat{X}$とで、Xの各時点tの異状スコアは次のように表されます。
実験
評価に用いたデータは、冒頭のNASAのデータSMAP, さらにMSL(Mars Science Laboratory)と、サーバーのデータSMD(Server Machine Dataset)です。
比較対象は、Table 1にある通りです。大部分は前記事で紹介しています。IF(Isolation Forest)は異状を効率よく分類する木構造のアンサンブルです[19]。USAD(Unsupervised Anomaly Detection)はエンコーダを共有した2つのオートエンコーダを用いてGANのように敵対的学習を行うモデルです[14]。
それぞれの手法でベストのF1スコアが得られるスレショルドを選択しています。
StackVAE-Gのハイパーパラメータ
グラフ学習モジュールのハイパーパラメータは次の4つです。
- 融合比:グラフで求めた系列間の関係性をどの程度潜在変数に反映するかのパラメータです。
- 増幅率:系列間の類似性をどの程度考慮するかのパラメータです。
- トップk:各系列について類似性の上位k以外をマスクします。
- 損失関数のハイパーパラメータ:StackVAE-Gの損失関数の2つの部分のバランスを設定するパラメータです。
数値結果
評価結果は次表のようになっています。 SMDについてはOmmiAnomalyに次いで2番目、SMAP, MSLについては最高のF1スコアを出しています。StackVAE-Gファミリー内での比較から、グラフ構造に依る改善効果が確認されています。
結果の良いOmniAnomaly, USADと比較して、学習時間は同等以下に短くなっています。
グラフ構造分析
グラフ構造評価のベースラインとしてはLasso回帰が用いられています。下図左のLasso回帰と比べて、StackVAE-Gの方が、実データでも確認できているチャネル間の類似性がよく表れています。
次の図でわかるように、グラフ構造がこれらの類似性特性を把握する機能を持ちます。
まとめ
先行技術であるMTAD-GATとは、使用している構成要素が若干異なりますが、各チャネルの時間軸パターンをモデル化する復元部分と、チャネル間の相関関係を把握するグラフ学習モジュールを結合して、同様の機能を実現しています。StackVAE構造を採用することにより、計算量を削減しています。また、グラフ構造には、チャンネル間の相関の強さが表され説明性が確保されています。
False Negative, False Positiveの解析から、さらに精度を向上するための方向性を探索してほしいと思います。
この記事に関するカテゴリー