LSTM や GRU は時系列モデリングの主役だったが、長い系列では遠い過去の情報が薄れ、並列化もしにくい。自然言語処理を席巻した Transformer の自己注意は、この2つの弱点を同時に解く。これを多変量時系列の異常検知に持ち込み、さらに敵対的な自己条件付けとメタ学習を組み合わせて、高精度と高速訓練を両立したのが TranAD(Tuli et al., VLDB 2022) だ。
本記事は、CPS多変量異常検知の俯瞰記事の個別深掘りとして、TranAD を原論文の図を全て引用しながら掘り下げる。なぜこれを学ぶのか。ひとつは、Transformer を異常検知にどう適応させるかの完成形を理解するため。もうひとつは、USAD で見た敵対的増幅のアイデアが注意機構の上でどう実装されるかを押さえるためだ。
前提知識
アーキテクチャ ― 2段階推論と敵対的自己条件付け

出典: Tuli et al., “TranAD: Deep Transformer Networks for Anomaly Detection in Multivariate Time Series Data”, VLDB 2022, Fig.1。
Fig.1 のモデルを追う。入力は長さ $K$ の窓と、その全体を要約した文脈ベクトルだ。Transformer エンコーダが窓を符号化し、2つのデコーダがそれぞれ再構成を出す。推論は2段階で行われる。
- 第1段(粗い再構成):デコーダが入力窓を素直に再構成する。このときの再構成誤差を focus score として取り出す。
- 第2段(焦点を当てた再構成):第1段の focus score を文脈として再投入し、もう一度デコードする。誤差の大きかった箇所に注意を集中させ、わずかな逸脱を増幅する。
この2段階の情報の流れを図にすると、次のようになる。

入力窓 $W$ をエンコーダが符号化し、Decoder 1 が第1段の再構成 $O_1$ を出す。その再構成誤差 $\lVert O_1 – W\rVert$ が focus score となり、これを文脈として Decoder 2 に再投入する。Decoder 2 は focus score が高い箇所(=第1段で「あやしい」とされた箇所)に注意を集中させ、第2段の再構成 $O_2$ を出す。最終的な異常スコアは $\lVert O_2 – W\rVert$ だ。第1段で目星をつけ、第2段で拡大鏡をあてる二段構えになっている。
さらに、2つのデコーダを 敵対的に自己条件付けする。一方は再構成誤差を小さくしようとし、もう一方はそれを増幅して異常を際立たせようとする ―― USAD と同じ思想を Transformer 上で実装したものだ。学習目的は2段階の再構成誤差を組み合わせた
$$ \begin{equation} L = \lVert \hat{O}_1 – W\rVert_2 + \lVert \hat{O}_2 – W\rVert_2 \end{equation} $$
の形で、$\hat{O}_1, \hat{O}_2$ は第1段・第2段の再構成、$W$ は入力窓だ。加えて、メタ学習(MAML 風)で初期値を最適化し、少ない反復で収束させる。これが訓練の高速化に効く。式の中身をもう少し丁寧に追ってみよう。
数式で追う ― focus scoreと2フェーズの敵対訓練
TranAD の損失をフェーズごとに分けて見ると、設計の意図がはっきりする。

第1段の再構成 $O_1$ は、入力窓を素直に復元したものだ。その誤差を focus score として
$$ \begin{equation} C = \lVert O_1 – W\rVert_2 \end{equation} $$
と定義し、これを文脈ベクトルに足し込んで第2段の再構成 $O_2$ を得る。つまり $O_2$ は「第1段の誤差情報を知ったうえでの再構成」になる。学習は2フェーズで進む。$n$ を訓練の反復回数とすると、各デコーダの損失はおおむね次の形を取る。
$$ \begin{equation} L_1 = \left\lVert O_1 – W\right\rVert_2 + \left\lVert O_2 – W\right\rVert_2, \qquad L_2 = \left\lVert O_1 – W\right\rVert_2 – \left\lVert O_2 – W\right\rVert_2 \end{equation} $$
第1フェーズ($L_1$)では両デコーダがともに再構成誤差を小さくしようとし、正常パターンを学ぶ。第2フェーズ($L_2$)では符号が反転し、Decoder 2 は誤差を大きくする方向に、Decoder 1 はそれを抑える方向に動く ―― これが敵対的自己条件付けだ。USAD で見た「2つのオートエンコーダの綱引き」を、Transformer の2段階デコードの上で実装したものになっている。
なぜこれで異常が際立つのか。正常な窓なら、第1段の focus score が小さいので第2段に渡る「あやしさ」の情報もほぼゼロで、$O_2$ もきれいに復元され誤差は小さい。一方、異常な窓は第1段で focus score が立ち、その情報が第2段に渡ることで、敵対的に学習された Decoder 2 が誤差を増幅する。結果として、わずかな逸脱でも $\lVert O_2 – W\rVert$ が大きく跳ねる。

上の図は、その様子を模式的に示したものだ。上段は入力 $W$ と第1段再構成 $O_1$ で、異常区間(赤帯)で両者がずれる。下段がその focus score で、異常区間でだけ大きく立ち上がる。この focus が第2段に渡り、異常の判定を鋭くする。「第1段で目星をつけ、focus を通じて第2段が拡大鏡をあてる」という流れが、数式と図の両方で確認できる。実際の検出例を見よう。
焦点と注意の可視化

出典: Tuli et al., VLDB 2022, Fig.3。
Fig.3 は、時系列に対する focus score と自己注意の重みを可視化したものだ。異常区間で focus score が高まり、注意がそこに集中する様子が見える。第1段で「あやしい」と判断した箇所を、第2段が拡大鏡のように詳しく見るという2段階の働きが読み取れる。実際の予測と検出を見よう。

出典: Tuli et al., VLDB 2022, Fig.2。
Fig.2 は実測(緑)と予測(赤)を重ね、検出された異常を示す。自己注意により、長い系列でも文脈を保ったまま逸脱を捉えられている。

出典: Tuli et al., VLDB 2022, Fig.5。
Fig.5 は予測した異常ラベルと正解ラベルの対応で、検出のタイミングと区間が正解とよく一致していることがわかる。次に、他手法との比較を見る。
評価 ― 他手法を上回る精度と頑健性

出典: Tuli et al., VLDB 2022, Fig.4。
Fig.4 は複数データセットでの F1・AUC の臨界差ダイアグラム(critical difference diagram)だ。横軸が平均順位で、線でつながれた手法は統計的に有意差がないことを意味する。TranAD は USAD・OmniAnomaly・MAD-GAN・DAGMM などより統計的に上位に位置する。SWaT/WADI/SMD/SMAP/MSL/NAB など多数のベンチで評価された。ハイパーパラメータへの頑健性も見ておこう。

出典: Tuli et al., VLDB 2022, Fig.6。
Fig.6 は訓練データ量を変えたときの F1・ROC/AUC・訓練時間だ。少ないデータでも性能が保たれ、訓練時間も短い。メタ学習による初期値最適化と Transformer の並列性が効いている。

出典: Tuli et al., VLDB 2022, Fig.7。
Fig.7 は窓サイズを変えたときの同様の指標で、幅広い窓長で安定して高い性能を出す。ハイパーパラメータに過敏でないことは実運用上の大きな利点だ。これらが揃って、TranAD が「速くて強くて頑健」な手法であることを示している。
まとめ
本記事では、TranAD を原論文の全図とともに深掘りしました。
- 2段階推論(focus score):第1段の再構成誤差を文脈に再投入し、第2段で異常箇所に焦点を当てて増幅する。
- 敵対的自己条件付け:2つのデコーダを競わせ、わずかな逸脱を際立たせる(USAD の思想を Transformer 上で実装)。
- メタ学習で高速化:MAML 風の初期値最適化で少ない反復・少ないデータでも収束。
- 評価:臨界差ダイアグラムで先行手法を統計的に上回り、データ量・窓サイズに頑健。
自己注意で長系列を扱い、敵対とメタ学習で精度と速度を両立した TranAD は、CPS 多変量異常検知における Transformer 時代の到達点のひとつです。各手法を俯瞰したいときは親記事へ、評価指標の落とし穴はサーベイ記事へ進んでください。


