CPS多変量時系列の異常検知を論文で深掘りする ― DAGMM・OmniAnomaly・USAD・GDN・TranADまで

ポンプやバルブに指令を出すと、圧力・流量・水位といったセンサが応答する。上下水道や発電・化学プラントのようなサイバーフィジカルシステム(CPS, Cyber-Physical System)では、こうした数十〜百以上のチャネルが同時に時々刻々と動く。攻撃者が偽の制御指令を注入したり、センサ値を偽装したり、あるいは機器が劣化したとき、その兆候は「個々のチャネルの値」ではなく「チャネル同士の関係の崩れ」として現れる。ポンプを止めたのに流量が減らない、温度と圧力の連動が崩れる ―― これを正常データだけから学んで拾うのが、CPSの多変量時系列異常検知だ。

前回の記事「コマンド・操作に対する応答を学習する異常検知」では、入力で説明できる変動を引き算して残りを異常とする発想を俯瞰した。本記事はその CPS への具体化として、代表的なニューラルネット手法を原論文のアーキテクチャ図とともに技術的に深掘りする。扱うのは DAGMM・OmniAnomaly・USAD・MAD-GAN・MTAD-GAT・GDN・TranAD・Telemanom の8手法だ。なぜこれを学ぶのか。ひとつは、SWaT/WADI のような標準ベンチで何が効くのかを設計レベルで理解するため。もうひとつは、予測・再構成・密度・敵対という異常検知の主要パラダイムを、同じ土俵で見比べて引き出しを増やすためだ。

CPS多変量時系列異常検知の手法分類マップ

上の地図が全体像だ。手法は大きく4系統に分かれる。予測ベース(次の値を当てて誤差を見る:LSTM-NDT・MTAD-GAT・GDN)、再構成ベース(圧縮復元の誤差を見る:AE・OmniAnomaly・USAD)、敵対/生成ベース(GANで正常分布を学ぶ:MAD-GAN)、密度推定ベース(潜在の確率密度で測る:DAGMM)だ。そして近年は、注意機構やグラフで変量間の関係を明示し、さらに Transformer へと向かう横断トレンドがある。まずは時代の流れから見よう。

前提知識

本記事は、各手法の素地となる以下を前提にすると理解が深まります。

手法の系譜 ― 2018年から2022年へ

CPS異常検知の代表手法の年表(2018-2022)

2018年、密度推定の DAGMM と、宇宙機テレメトリ向けの予測手法 LSTM-NDT(Telemanom)が土台を作った。2019年に確率的RNNの OmniAnomaly と敵対的な MAD-GAN、2020年に2段階敵対オートエンコーダの USAD と、グラフ注意の MTAD-GAT が登場し、再構成系が一気に充実する。2021年にはグラフ偏差の GDN が変量間の関係を前面に出し、2022年の TranAD で Transformer 化が決定づけられた。この5年で、モデルは「全チャネルをまとめて潰す」段階から「チャネル間の関係を明示的にモデル化する」段階へと進化した。それぞれを掘る前に、評価の共通基盤を押さえておく。

評価データセットと指標の落とし穴

CPS の多変量異常検知では、いくつかのベンチマークが繰り返し使われる。SWaT(Secure Water Treatment, 51次元)と WADI(Water Distribution, 123次元)は、実物の水処理テストベッドにアクチュエータ指令とセンサ応答が並ぶデータで、本分野の代表だ。ほかに SMD(Server Machine Dataset, 28台×38次元)、宇宙機由来の SMAP(25次元)・MSL(55次元)、PSM(eBay, 25次元)がよく登場する。いずれも「正常データで訓練し、異常を含むテストで検出する」教師なし設定で使う。

注意すべきは評価指標だ。多くの論文は point-adjust(ある異常区間のうち1点でも当てれば区間全体を正解扱いにする後処理)を施した F1 を報告する。これは区間が長いほどスコアを大きく水増しするため、論文間の F1 を額面どおり比較するのは危険だ。以下で紹介する数値も、特記しない限り point-adjust 下の報告値であり、PR-AUC や range ベース指標と併用して読むべきものだ。この点は時系列異常検知のサーベイで詳しく扱っている。それでは予測ベースから順に見ていく。

予測ベース① Telemanom(LSTM-NDT)

予測ベースの出発点が、NASA JPL の Telemanom(Hundman et al., KDD 2018) だ。考え方は素直で、各チャネルの未来値を LSTM で予測し、実測との誤差が大きい点を異常とする。

Telemanom の入力と予測の例(出典: Hundman et al., KDD 2018, Fig.1)

出典: Hundman et al., “Detecting Spacecraft Anomalies Using LSTMs and Nonparametric Dynamic Thresholding”, KDD 2018, Fig.1。

論文の Fig.1 は、テレメトリ値(上)と予測誤差(下)の関係を示している。正常区間では予測がよく当たって誤差が小さく、異常区間では予測が外れて誤差が跳ね上がる。問題は「どこから先を異常と呼ぶか」という閾値だ。Telemanom の肝は 非パラメトリックな動的閾値にある。誤差を平滑化(指数移動平均)したうえで、閾値を $\epsilon = \mu(e) + z\,\sigma(e)$ の形で置き、$z$ を「閾値を超える誤差を取り除いたときに、残りの誤差列の平均と分散がどれだけ大きく下がるか」を最大化するように自動で選ぶ。分布を仮定せずデータから閾値を決めるので、チャネルごとに性質が違っても破綻しにくい。

Telemanom の異常プルーニング過程(出典: Hundman et al., KDD 2018, Fig.2)

出典: Hundman et al., KDD 2018, Fig.2。

Fig.2 が示すのはプルーニングだ。検出した異常候補のうち、最大誤差が突出したものを残し、それと比べて誤差の小さい候補は「正常のゆらぎ」として刈り込む。これで誤報を大きく減らせる。評価は宇宙機 SMAP/MSL データで、以後この2つは多変量異常検知の定番ベンチになった。Telemanom は単変量予測の集合体に近いが、次の MTAD-GAT と GDN は「チャネル間の関係」を明示的に取り込んでいく。

予測ベース② MTAD-GAT ― 2種類のグラフ注意

MTAD-GAT(Zhao et al., ICDM 2020) は、グラフ注意ネットワーク(GAT)を2つ重ねて、多変量時系列の2方向の依存関係を同時に捉える。

MTAD-GAT のアーキテクチャ(出典: Zhao et al., ICDM 2020, Fig.2)

出典: Zhao et al., “Multivariate Time-series Anomaly Detection via Graph Attention Network”, ICDM 2020, Fig.2。

Fig.2 のアーキテクチャを追うと、入力の窓はまず2つの GAT 層に分岐する。ひとつは feature-oriented(特徴方向)の GAT で、$M$ 個のチャネルをノードとみなし、チャネル同士の相関を注意で学ぶ。もうひとつは time-oriented(時間方向)の GAT で、窓内の各時刻をノードとみなし、時刻間の依存を学ぶ。両者の出力を元の特徴と結合し、GRU で時間発展をまとめる。

MTAD-GAT の特徴方向グラフ注意層(出典: Zhao et al., ICDM 2020, Fig.3)

出典: Zhao et al., ICDM 2020, Fig.3。

Fig.3 は特徴方向 GAT の中身だ。各チャネルを完全グラフのノードとして、注意係数でほかのチャネルから情報を集約する。これで「どのチャネルが互いに効いているか」をデータから学べる。MTAD-GAT は予測(次時刻のforecasting)と再構成(VAEベース)の2つの目的を同時に最適化し、両方のスコアを足し合わせて異常スコアにする点も特徴だ。予測は急な変化に、再構成は全体パターンの崩れに強く、補い合う。関係を「注意」で柔らかく学ぶ MTAD-GAT に対し、GDN は関係を「グラフ構造」として明示的に学習する。

予測ベース③ GDN ― グラフ偏差スコアリング

GDN(Graph Deviation Network; Deng & Hooi, AAAI 2021) は、センサ間の関係を有向グラフとして陽に学び、その関係から外れた予測誤差を異常とする。

GDN のフレームワーク(出典: Deng & Hooi, AAAI 2021, Fig.1)

出典: Deng & Hooi, “Graph Neural Network-Based Anomaly Detection in Multivariate Time Series”, AAAI 2021, Fig.1。

Fig.1 の4ステップが GDN の全体だ。(1) センサ埋め込み:各センサに学習可能なベクトル $v_i$ を割り当てる。(2) グラフ構造学習:埋め込みのコサイン類似度の上位 $k$ 本だけ有向辺を張り、「どのセンサがどのセンサを説明するか」の関係グラフを作る。(3) グラフ注意ベース予測:そのグラフ上で注意つき集約を行い、各センサの次時刻値を予測する。(4) グラフ偏差スコアリング:センサごとの予測誤差を正規化し、最大の偏差を時刻の異常スコアにする。

GDN が学習したセンサ埋め込みのt-SNE(出典: Deng & Hooi, AAAI 2021, Fig.2)

出典: Deng & Hooi, AAAI 2021, Fig.2。

Fig.2 は学習されたセンサ埋め込みを t-SNE で可視化したもので、似た役割のセンサが近くに固まる。つまり埋め込みが物理的な機器構成を反映していることがわかる。

GDN の注意グラフと偏差(出典: Deng & Hooi, AAAI 2021, Fig.3)

出典: Deng & Hooi, AAAI 2021, Fig.3。

Fig.3 は異常時の様子だ。左は注意の強さを反映した力学的グラフ配置、右は実際に大きな偏差が出たセンサの時系列を示す。どのセンサで関係が崩れたかをグラフ上で指し示せるため、検出だけでなく原因の解釈にもつながる。GDN は SWaT/WADI で予測ベースの強力なベースラインとなった。ここまでの予測ベースは「次を当てる」発想だった。視点を変え、「正常を復元する」再構成ベースに移ろう。

再構成ベース① OmniAnomaly ― 確率的RNN

OmniAnomaly(Su et al., KDD 2019) は、GRU と VAE を組み合わせ、多変量時系列を確率的な潜在変数列で表現する。

OmniAnomaly が対象とする多変量時系列の例(出典: Su et al., KDD 2019, Fig.1)

出典: Su et al., “Robust Anomaly Detection for Multivariate Time Series through Stochastic Recurrent Networks”, KDD 2019, Fig.1。

Fig.1 は、複数チャネルが連動して動く正常時系列に異常が混じる様子だ。OmniAnomaly の狙いは、こうしたチャネル間の確率的な依存とゆらぎを丸ごとモデル化することにある。

OmniAnomaly の全体構造(出典: Su et al., KDD 2019, Fig.2)

出典: Su et al., KDD 2019, Fig.2。

Fig.2 の全体構造は、前処理 → モデル訓練 → 閾値選択 → オンライン検出 → 異常結果 → 異常解釈、というパイプラインだ。中核のモデルは、GRU で時間文脈をまとめ、VAE で各時刻の潜在変数 $z_t$ を確率的に推論する。潜在変数は時間方向に線形ガウス状態空間でつながれ、さらに planar normalizing flow で事後分布の表現力を高める。異常スコアには 再構成確率を使う。正常なら観測 $x_t$ がモデル下で高い確率を持ち、異常なら低くなる(USAD と符号が逆で、低いほど異常)。閾値は POT(Peaks-Over-Threshold、極値理論の一般化パレート分布)で自動決定する。

OmniAnomaly の潜在z空間(出典: Su et al., KDD 2019, Fig.6)

出典: Su et al., KDD 2019, Fig.6。

Fig.6 は学習された3次元の $z$ 空間で、正常な軌跡と異常時の逸脱が分かれて見える。各潜在次元の寄与を見れば「どのチャネルが異常に効いたか」を解釈できる。OmniAnomaly は SMD/SMAP/MSL で当時の SOTA となり、次の USAD の比較対象になった。確率モデルは強力だが訓練が重い。それを軽く速くしたのが USAD だ。

再構成ベース② USAD ― 2段階の敵対的オートエンコーダ

USAD(UnSupervised Anomaly Detection; Audibert et al., KDD 2020) は、1つの共有エンコーダと2つのデコーダを、敵対的に2段階で訓練する。

USAD のアーキテクチャ(出典: Audibert et al., KDD 2020, Fig.1)

出典: Audibert et al., “USAD: UnSupervised Anomaly Detection on Multivariate Time Series”, KDD 2020, Fig.1。

Fig.1 の左が訓練、右が検出だ。共有エンコーダ $E$ が窓 $W$ を潜在 $Z$ に圧縮し、2つのデコーダ $D_1, D_2$ がそれぞれ復元する($AE_1, AE_2$)。フェーズ1では両者を単純なオートエンコーダとして再構成誤差で訓練する。フェーズ2では敵対を導入する。$AE_1$ は自分の出力を $AE_2$ に「本物らしく」見せようとし、$AE_2$ は本物の入力と $AE_1$ の出力を見分けようとする。この綱引きで、$AE_2$ は「$AE_1$ がうまく復元できてしまう異常」を増幅して暴けるようになる。異常スコアは2つの再構成を重み付けした

$$ \begin{equation} \mathcal{A}(W) = \alpha\,\lVert W – AE_1(W)\rVert_2 + \beta\,\lVert W – AE_2(AE_1(W))\rVert_2 \end{equation} $$

で、$\alpha, \beta$ で「検出感度」と「誤報の少なさ」のトレードオフを調整する。

USAD のパラメータ感度(出典: Audibert et al., KDD 2020, Fig.2)

出典: Audibert et al., KDD 2020, Fig.2。

Fig.2 は $\alpha, \beta$ を振ったときの精度・再現率・F1 の変化で、両者のバランスで性能が動くことを示す。

USAD の再構成例(出典: Audibert et al., KDD 2020, Fig.4)

出典: Audibert et al., KDD 2020, Fig.4。

Fig.4 は実データの再構成例で、異常区間(強調された箇所)で入力と再構成が乖離する様子が見える。USAD は SWaT で F1 ≈ 0.846 など高い精度を、OmniAnomaly の数百分の一の訓練時間で達成し、「軽くて強い」再構成系として広く使われるようになった。再構成系と並ぶもう一つの古典が、潜在の確率密度を直接モデル化する密度推定ベースだ。

密度推定ベース DAGMM

DAGMM(Deep Autoencoding Gaussian Mixture Model; Zong et al., ICLR 2018) は、オートエンコーダとガウス混合モデル(GMM)を同時に学習する。

DAGMM の低次元表現(出典: Zong et al., ICLR 2018, Fig.1)

出典: Zong et al., “Deep Autoencoding Gaussian Mixture Model for Unsupervised Anomaly Detection”, ICLR 2018, Fig.1。

Fig.1 が動機を語っている。オートエンコーダの潜在表現だけ、あるいは再構成誤差だけでは、正常と異常がうまく分離しない。ところが両者を組み合わせた低次元空間では、異常がきれいに浮き上がる。

DAGMM のアーキテクチャ(出典: Zong et al., ICLR 2018, Fig.2)

出典: Zong et al., ICLR 2018, Fig.2。

Fig.2 のアーキテクチャは2つのネットワークから成る。圧縮ネットワーク(オートエンコーダ)は入力を低次元の潜在 $z_c$ に圧縮し、同時に再構成誤差から導いた特徴 $z_r$(コサイン類似度やユークリッド距離)を作る。両者を連結した $z = [z_c, z_r]$ を、推定ネットワーク(softmax 付き MLP)が GMM の所属確率に写す。学習は再構成誤差と GMM の対数尤度を一緒に最適化するので、「再構成しやすく、かつ密度の高い」正常表現が育つ。異常スコアはサンプルのエネルギー

$$ \begin{equation} E(z) = -\log \sum_{k} \phi_k\, \mathcal{N}(z;\,\mu_k,\,\Sigma_k) \end{equation} $$

で、密度が低い(エネルギーが高い)サンプルを異常とする。AE と GMM を別々に学習すると潜在が GMM に向かないが、同時学習がそれを解決した点が DAGMM の貢献だ。ここまでは復元や密度で正常を表したが、GAN で「正常らしさ」そのものを学ぶ流派もある。

敵対/生成ベース MAD-GAN

MAD-GAN(Li et al., 2019) は、LSTM ベースの GAN で多変量時系列の正常分布を学び、生成器と識別器の両方を異常検知に使う。

MAD-GAN のアーキテクチャ(出典: Li et al., 2019, Fig.1)

出典: Li et al., “MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversarial Networks”, ICANN 2019, Fig.1。

Fig.1 のとおり、生成器(LSTM)が潜在ノイズから正常らしい多変量系列を作り、識別器(LSTM)が本物と生成を見分ける。学習が進むと、生成器は正常の多様体を、識別器は正常からの逸脱を捉えるようになる。検出時には DR-score(Discrimination-Reconstruction score)を使う。識別器が「偽物らしい」と判断する度合いに加え、テスト系列を潜在空間に逆写像して再生成した際の再構成誤差を合わせて異常を測る。GAN の不安定さはあるものの、「正常分布を陽に生成できる」性質は、希少な異常しか得られない設定と相性がよい。

MAD-GAN の評価指標(出典: Li et al., 2019, Fig.5)

出典: Li et al., 2019, Fig.5。

Fig.5 は精度・再現率・F1 などの評価で、GAN ベースでも実用的な検出性能が出ることを示している。ここまでの手法は LSTM/GRU/GAT が主役だった。最後に、系列モデリングの主役を Transformer に置き換えた TranAD を見る。

Transformerの登場 ― TranAD

TranAD(Tuli et al., VLDB 2022) は、Transformer のエンコーダ・デコーダを軸に、敵対的な自己条件付けとメタ学習を組み合わせて、速度と精度を両立させた。

TranAD のモデル(出典: Tuli et al., VLDB 2022, Fig.1)

出典: Tuli et al., “TranAD: Deep Transformer Networks for Anomaly Detection in Multivariate Time Series Data”, VLDB 2022, Fig.1。

Fig.1 のモデルは2段階の推論を行う。まずエンコーダが窓全体を要約し、デコーダが第1段で粗い再構成を出す。その再構成誤差(focus score)を手がかりに第2段でもう一度デコードし、異常らしい箇所に注意を集中させる。さらに2つのデコーダを敵対的に競わせ(USAD と同じ思想を Transformer 上で実装)、わずかな逸脱も増幅する。

TranAD の異常予測の可視化(出典: Tuli et al., VLDB 2022, Fig.2)

出典: Tuli et al., VLDB 2022, Fig.2。

Fig.2 は、実測(緑)と予測(赤)、そして検出された異常区間の関係を示す。注意機構により、長い系列でも文脈を保ったまま逸脱を捉えられる。

TranAD の臨界差ダイアグラム(出典: Tuli et al., VLDB 2022, Fig.4)

出典: Tuli et al., VLDB 2022, Fig.4。

Fig.4 は複数データセットでの F1・AUC の臨界差ダイアグラムで、TranAD が多くの先行手法(USAD・OmniAnomaly・MAD-GAN・DAGMM など)より統計的に上位に位置することを示す。加えて、Transformer の並列性と MAML 風のメタ学習により、訓練時間も大きく短縮した。これで主要8手法が出そろった。最後に系統ごとの勘所を整理する。

手法の使い分け

系統 代表手法 異常スコア 強み 注意点
予測 Telemanom 予測誤差+動的閾値 単変量集合に強い・閾値が自動 変量間関係を陽に使わない
予測 MTAD-GAT 予測+再構成の和 2方向の関係を注意で学習 計算がやや重い
予測 GDN グラフ偏差(正規化誤差の最大) 関係を陽にグラフ化・解釈可 上位k本の選択に依存
再構成 OmniAnomaly 再構成確率(低いほど異常) 不確実性を確率で扱える 訓練が重い
再構成 USAD 2つの再構成の重み和 軽量・高速・高精度 潜在次元の設定が効く
密度 DAGMM GMMエネルギー 潜在密度で素直に異常を測る 時系列依存は弱め
敵対 MAD-GAN DR-score 正常分布を生成できる GANの学習が不安定
Transformer TranAD 2段階再構成+敵対 長系列・高速・SOTA級 実装がやや複雑

選び方の指針はこうだ。まず軽くて強いベースラインが欲しいなら USAD変量間の関係を解釈したいなら GDN不確実性を確率で扱いたいなら OmniAnomaly長い系列で最高精度を狙うなら TranAD。そして DAGMM は時系列性が薄い表データにも効く汎用的な密度推定として今も有用だ。いずれを使うにせよ、評価では point-adjust の水増しに注意し、PR-AUC や range ベースの指標を併用して初めて、手法の優劣をフェアに語れる。

まとめ

本記事では、CPS の多変量時系列異常検知を、原論文の図とともに技術的に深掘りしました。

  • 4系統:予測(Telemanom・MTAD-GAT・GDN)、再構成(OmniAnomaly・USAD)、密度(DAGMM)、敵対(MAD-GAN)に整理でき、近年は Transformer(TranAD)へ収束しつつある。
  • 関係の明示化が大きな流れ:全チャネルをまとめて潰す段階から、注意機構(MTAD-GAT)やグラフ(GDN)で変量間の関係を陽にモデル化する段階へ。
  • 異常スコアの作り方は系統ごとに違う:予測誤差、再構成(確率)誤差、GMMエネルギー、DR-score、2段階再構成。どれも「正常で説明できないぶん」を測る点は共通。
  • 評価は SWaT/WADI/SMD/SMAP/MSL/PSM が定番だが、point-adjust の水増しに注意。

次は、操作シーケンス(ログ)側の深掘りとして DeepLog の実装記事に進むと、「連続値のセンサ応答」と「離散の操作系列」という両輪がそろいます。

コマンド・操作に対する応答を学習する異常検知 ― 条件付き/文脈付き異常検知の系譜
入力で説明できる変動を引き算し、残った逸脱を異常とする発想の俯瞰。本記事のCPS手法群の上位概念。
USAD:敵対的に訓練した2つのオートエンコーダによる異常検知
本記事で扱ったUSADを、PyTorch実装と実測検証つきで徹底解説。
OmniAnomaly:確率的RNNによる多変量時系列の異常検知
本記事で扱ったOmniAnomalyを、planar NF・POTまで含めて詳説。
時系列異常検知のサーベイ
8パラダイム分類と、point-adjustの水増し問題・新しい評価指標を整理。