オーケストラの指揮者は、各楽器の音量そのものだけを聴いているわけではない。バイオリンとチェロが美しくハモっていたのが突然ばらける ―― 個々の音量はどれも正常の範囲でも、楽器間の調和が崩れたこと が異常を告げる。多変量時系列の異常検知にも、これと同じ盲点がある。各センサーの値はどれも正常範囲なのに、センサー間の関係だけが壊れる 異常を、値を見るだけの検知器は取りこぼす。
この盲点に正面から取り組んだのが SARAD(Zhihao Dai, Ligang He, Shuang-Hua Yang, Matthew Leeke, “Spatial Association-Aware Anomaly Detection and Diagnosis for Multivariate Time Series,” NeurIPS 2024)である。著者は University of Warwick / Reading / Birmingham のグループで、本稿の図表はすべて NeurIPS 2024 の proceedings 版(arXiv プレプリントなし、コードは GitHub: daidahao/SARAD で公開)から引用している。SARAD の主張は鋭い ―― 異常検知の対象を「データの値」から「変量間の関係パターン」に移す。関係の崩壊こそが異常の最も信頼できるシグナルだ。本記事では、SARAD がどうやって変量間の関連を学習し、異常時に起きる「関連の系統的な減少」を捉えるのかを、2モジュールのアーキテクチャと数式、論文の図表、そして決定的なデモで掘り下げる。
なぜこれを学ぶのか。応用先は2つある。ひとつは、値の逸脱が目立たない異常(故障の立ち上がりや、関係だけが壊れる異常)を捉える新しい検知の作り方を理解すること。もうひとつは、本ブログの異常検知シリーズで主流だった「再構成や距離」とは別軸の、関係ベース の異常検知という発想を押さえることだ。

まず直感を固めよう。SARAD はセンサーの値そのものではなく、変量間の関連パターン(spatial association) を監視する。正常時には特定の変量どうしが強く連動している。その連動が崩れたとき、それが異常のシグナルになる。フィードバック制御された系では、この関連パターンこそが系の振る舞いを特徴づける ―― SARAD はそこに賭ける。では、従来手法と何が違うのか。
パラダイムの転換 ― データ空間から関連空間へ

従来の再構成系の異常検知(オートエンコーダや VAE)は、データ空間 で動く。値 $x$ を潜在 $z$ に圧縮し、$x’$ に復元する。正常な値はうまく復元でき、異常な値は復元できない ―― その誤差を異常スコアにする。
SARAD は再構成の舞台を 関連空間 に移す。変量間の関連行列 $A$ をエンコードし、$A’$ に復元する。正常時の関連パターンはうまく復元でき、異常時には復元できない。値ではなく 関係そのもの を再構成の対象にする、これが SARAD の発想の核だ。ではなぜ「関係の崩壊」が異常の信頼できる印になるのか。その根拠を実データの構造で見る。
関連の崩壊 ― Spatial Association Reduction
SARAD の出発点となる観察はこうだ。異常は、異常変量を他の変量から引き剥がす。異常が起きるか、あるいは異常の結果として、それまで成り立っていた関連が解け、異常変量が周囲との連動を失う。論文はこれを Spatial Association Reduction(SAR、空間的関連の減少) と呼ぶ。
この現象を、論文は SMD(Server Machine Dataset)の実データで示している。

出典: Dai et al., NeurIPS 2024, Fig. 1a
上の図は SMD の実時系列で、赤くハイライトされた区間が異常 $p_i$ に対応する。38変量のうち異常に関わる変量(#12、#15)は赤枠で示されている。注目すべきは、異常区間で値が劇的に変化しているわけではない点だ ―― 値の逸脱だけを見ていると検知が難しい。
そこで、Transformer(MHSA)が各ステップで計算した変量間の関連写像 $A$ を時系列方向に並べると何が起きるかを見る。

出典: Dai et al., NeurIPS 2024, Fig. 1b–f
各パネルは $N \times N$ の関連行列で、縦横軸が変量インデックス、色の濃さが関連の強さを表す。(b) 異常前は特定の変量ペアが強く連動しているブロック構造が見える。(c) 異常中は変量 #12・#15 の 行と列が薄くなり グループから切り離されている ―― これが SAR だ。(e) $\mathrm{ReLU}(A_{\mathrm{pre}} – A_{\mathrm{in}})$ は前後での関連の「減少分」だけを取り出し、列方向に際立った赤い筋 が現れている。この「列 $k$ の突出」が変量 $k$ の脱落率 ―― つまり根本原因変量を指し示す。
重要なのは、SAR が 列方向 で最も顕著に出る点だ。$j$ 番目の列は「変量 $j$ が他の変量との連動から脱落した度合い」を表す。だから、どの列が崩れたかを見れば 異常の根本原因となる変量を特定 できる(これが SARAD の診断機能になる)。
SARはデータセットをまたいで普遍的に観察される
SMD だけでなく、工業用水処理プラント SWaT でも同じ現象が確認されている。

出典: Dai et al., NeurIPS 2024, Fig. 6
SWaT は 51 変量、約 12% の異常率を持つ水処理プラントのデータだ。異常前(パネル b)では変量 #38 が関連行列の中で明確な行列構造を持つが、異常中(パネル c)で #38 の行と列が急激に薄くなっている。ReLU差分(パネル e)では #38 の列に著しい突出が見え、その後(パネル f)では関連が部分的に回復している。この現象は SMD の IT サービス監視でも SWaT の工業制御でも、システムの種類や変量数によらず安定して観察される ―― SAR が普遍的な異常パターンであることを強く示唆する。
さらに SMD の別の異常区間でも同様の現象が確認されている。

出典: Dai et al., NeurIPS 2024, Fig. 4
複数の異常区間にわたって SAR パターンが一貫して観察されることで、SARAD の前提となる仮説 ―― 「異常は関連の系統的な減少を引き起こす」 ―― が経験的に支持される。この観察を自作のデモで確認してみよう。
これを合成データで可視化したのが次の図だ。6つの変量があり、正常時は変量 0–1–2 が強く連動し、変量 3–4–5 が別のグループとして連動している。ここで変量2が周囲との連動を失う異常(脱共起)を起こす。

左が正常時の関連行列で、0–1–2 と 3–4–5 の2つのブロックがはっきり見える。中央が異常中で、変量2の行と列が薄くなり、グループから切り離されている。右は「基準 − 現在」、つまり関連がどれだけ減ったかを示す。変量2の列が際立って赤く光る ―― これが SAR であり、論文の言う Association Descending Pattern(関連降下パターン) だ。
SAR という現象が特定のデータセットに限らず普遍的であることを確認できた。では、このパターンをどのように数値化し、アーキテクチャに落とし込むのか。
アーキテクチャ ― 2モジュール構成
SARAD は2つのモジュールを直列につなぐ。全体像を論文の Table 1(ダイアグラム付き)で確認しておこう。

出典: Dai et al., NeurIPS 2024, Table 1
表の左が データ再構成モジュール(サブシリーズ分割・マージ + Encoder-only Transformer)、右が 空間プログレッション再構成モジュール(MLP)だ。訓練目的・検知クリテリア・診断クリテリアがそれぞれ独立して定義されている点が重要で、2つの空間で同時に最適化される。
では各モジュールを掘り下げよう。

ひとつ目は データ再構成モジュール(Transformer) だ。入力の時間窓 $X \in \mathbb{R}^{2W \times N}$ を 転置 してオートエンコーダとして再構成する。ここがミソで、転置することで Transformer の自己注意(MHSA)が 時間方向ではなく変量間 の関連を学習するように仕向ける。各エンコーダ層の MHSA は、変量ペアの関連写像 $A^l_{h} \in \mathbb{R}^{N \times N}$ を計算する。その $(j,k)$ 成分は「変量 $j$ の再構成が変量 $k$ の情報からどれだけ影響を受けるか」を定量化する ―― つまり学習された変量間依存だ。
MHSA の内部構造
このMHSAのブロック図を論文から引用する。

出典: Dai et al., NeurIPS 2024, Fig. 2
入力 $x$(転置された変量軸が系列軸に対応)から Linear で $Q, K, V$ を生成する。$K$ を Transpose してから $Q$ とドット積を計算し、各変量ペアの注意スコア(関連強度)を導く構造だ。各 $(j, k)$ 成分は「変量 $j$ の注意スコアが変量 $k$ のキーをどれだけ参照するか」、より広い視点では「変量 $k$ の原信号が変量 $j$ の再構成に残す残余的影響の定量」(論文 p.6)だ。これで 変量 $j$ と変量 $k$ の関連強度 が自然に $N \times N$ 行列として得られる。
式(1): エンコーダ更新則
このMHSAを $L$ 層積んだエンコーダの各層 $l$ の更新則は次のとおり(論文 式 1)。
$$ \begin{equation} Z^l_i = \mathrm{LN}\!\bigl(\mathrm{MHSA}(X^{l-1}_i) + X^{l-1}_i\bigr), \qquad X^l_i = \mathrm{LN}\!\bigl(\mathrm{MLP}(Z^l_i) + Z^l_i\bigr) \end{equation} $$
ここで $X^{l-1}_i,\, Z^l_i,\, X^l_i \in \mathbb{R}^{N \times D}$ はそれぞれ第 $l-1$ 層の出力、第 $l$ 層の隠れ状態、第 $l$ 層の出力。$\mathrm{LN}(\cdot)$ は Layer Normalization、残差接続で各層の入力に足し戻す標準的な Transformer ブロックだ。$i \in \{1, 2\}$ はサブシリーズの添字で、$X_1, X_2$ それぞれを独立にエンコードする。
各ヘッド $h$ の関連写像 $A^l_h \in \mathbb{R}^{N \times N}$ は MHSA の注意重み行列から取り出される。最終第 $L$ 層のヘッド平均を $\bar{A}^L = \frac{1}{H}\sum_{h=1}^H A^L_h \in \mathbb{R}^{N \times N}$ とすると、これが SAR 可視化で使う「平均関連写像」に対応する(論文 Fig.1, Fig.3の “average association mapping $\bar{A}^L$”)。
Embedding とデータフロー
各サブシリーズ $X_i \in \mathbb{R}^{W \times N}$ はエンコーダに入る前に Embedding 層を通る(論文 p.5)。
$$ X^0_i = E_i + M, \quad E_i = \mathrm{Linear}(X_i^\top) \in \mathbb{R}^{N \times D}, \quad M = \{m_n \in \mathbb{R}^D \mid n \in [N]\} $$
$E_i$ は転置 $X_i^\top \in \mathbb{R}^{N \times W}$ を線形変換して得る $N \times D$ の特徴埋め込みで、$M$ は変量ごとに独立した学習可能な特徴レベル埋め込みだ。両者の和 $X^0_i$ がエンコーダの入力となる。
実装上のデフォルトパラメータ(論文 Appendix F)をまとめる。
| 記号 | 意味 | デフォルト値 |
|---|---|---|
| $2W$ | 時間窓長(入力の時間軸) | 100 |
| $H$ | Attention ヘッド数 | 8 |
| $D$ | Attention 長(埋め込み次元) | 512 |
| $D_{FF}$ | FFN 隠れ層次元 | 2048 |
| $L$ | エンコーダ層数 | $\{3, 5\}$ からTPEで選択 |
| $D_P$ | Progression MLP 隠れ長 | 64 |
最終層の出力 $X^L_i$ を Linear Projection で転置し、復元サブシリーズ $\hat{X}_i \in \mathbb{R}^{W \times N}$ を得る。2つの復元サブシリーズを連結して完全な復元 $\hat{X} \in \mathbb{R}^{2W \times N}$ を構成する。なお $N^2$ の計算量(変量数の2乗)が SARAD の時間複雑度に関わる点に注意が必要で、変量数が非常に多い大規模系では過負荷になりうる(論文 Appendix B)。
ふたつ目は progression 再構成モジュール(MLP) だ。データモジュールが出す関連写像から「関連の減少」だけを抽出し、関連空間でオートエンコーディングする。この2つが、データ空間と関連空間という別々の舞台で、同時に2つの異常検知器として働く。では、関連の減少をどう取り出すのか。
サブシリーズ分割と関連 progression

SARAD は入力窓を時間で2つの サブシリーズ $X_1, X_2 \in \mathbb{R}^{W \times N}$ に分割する($X = \{X_1, X_2\}$、窓長 $2W$)。各サブシリーズをエンコーダでエンコードし、それぞれの関連写像 $A^l_{i,h} \in \mathbb{R}^{N \times N}$(層 $l$、ヘッド $h$、サブシリーズ $i$)を得て、非負の後退差分 を取る。
式(2): 関連 Progression
$$ \begin{equation} S^l_h = \mathrm{ReLU}(A^l_{1,h} – A^l_{2,h}) \end{equation} $$
$\mathrm{ReLU}$ が肝だ。$A_{1,h}^l$ が前半(時刻 $[0, W)$)の関連、$A_{2,h}^l$ が後半(時刻 $[W, 2W)$)の関連を表す。前半より後半で関連が 減った 成分だけを通し、増えた成分は0にする。異常に伴うのは関連の崩壊(減少)だから、減少だけを抜き出せば異常のシグナルが純化される。なお、$S^l_h \in \mathbb{R}^{N \times N}$ は各層・各ヘッドで計算されるが、集約には最終第 $L$ 層のものだけを使う。
式(3): Progression 集約
$$ \begin{equation} S = \Bigl\{\sum_{j=1}^{N} S^L_{h,(j,k)} \;\Big|\; h \in [H],\, k \in [N]\Bigr\} \end{equation} $$
結果は $S \in \mathbb{R}^{H \times N}$ で、$k$ 番目の列方向の和を全ヘッド×全変量で集めたものだ。各 $(h, k)$ 成分は「ヘッド $h$ において変量 $k$ が他の全変量との関連から脱落した量」を表す。SAR は列方向で最も顕著だった(第1節の観察)ため、列和を取ることで「変量 $k$ の脱落率」を直接測れる。行和($j$ 方向)は変量 $k$ の「他からの孤立」よりも弱いシグナルで、アブレーション実験(Table 5)が明確に示している。
サブシリーズ分割の副次的な利点として、最新の関連写像をメモリに保持する必要がなくなり、学習時に時間窓をシャッフルできる ―― 順序バイアスを減らし汎化を高め、破滅的忘却を防ぐ(論文 pp.4–5)。
集約した $S$ を1次元に平坦化($H \cdot N$ 次元)し、2層 MLP で $\hat{S} \in \mathbb{R}^{H \times N}$ に再構成する。MLP の隠れ層長 $D_P = 64$ はデータモジュールの $D = 512$ の8分の1に過ぎず、Progression モジュールのパラメータ数は意図的に小さく 設計されている。これで2つの再構成誤差がそろう。あとはどう判定に結びつけるかだ。
joint 判定 ― 2つの空間が補い合う

学習は、2つの再構成誤差を結合した目的関数を端から端まで最小化する。
式(4): 学習目的関数
$$ \begin{equation} L_R = \lVert \hat{X} – X \rVert_2^2, \quad L_S = \lVert \hat{S} – S \rVert_2^2, \quad L = L_R + \lambda_{LS}\, L_S \end{equation} $$
$L_R$ がデータ空間の再構成損失、$L_S$ が関連空間(progression)の再構成損失で、$\lambda_{LS}$ がその重みだ。重要な実装上の工夫として、$S$ に流れ込む勾配を止める(stop-grad)。正確には: $L_S$ の損失が逆伝播するとき、勾配が $S$ を通じてデータモジュール(Transformer)のパラメータへ伝わらないようにする。これがないと $L_S$ がデータモジュールの関連表現学習を歪め、エンコーダが「MLPに再構成しやすいS」を出すよう崩壊してしまう(論文 p.6: “Gradients are stopped from flowing into S to prevent updates to the data module and collapses in association representation”)。
$$ \underbrace{L_S}_{\text{Progression損失}} \xrightarrow{\text{勾配}} \underbrace{\hat{S}}_{\text{MLP出力}} \xrightarrow{\text{勾配}} \underbrace{\text{MLP重み}}_{\text{更新される}} \quad \xrightarrow{\text{stop-grad}} \underbrace{S}_{\text{ここで遮断}} $$
つまり stop-grad は MLP を更新するが、Transformer は $L_S$ では更新しない。Transformer は $L_R$ だけから学習し、関連写像 $A_h^L$ の品質を保つ。
ハイパーパラメータ選択の手順(Appendix F):まず TPE サンプリングで層数 $L \in \{3, 5\}$ と学習率 $\in [10^{-4}, 10^{-2}]$ をバリデーションセットの $L_R$ 最小化で決定する。次に $\lambda_{LS} \in [10^{-2}, 10^2]$ をバリデーションセットの $L_S$ 最小化で決定する(2段階チューニング)。Adam オプティマイザーを使い、学習率はエポックごとに半減(3エポックで収束、過学習防止)。
異常スコアと診断スコア
推論時の異常スコアは、2つの再構成誤差を正規化して和を取る。
式(5): 異常検知スコア
$$ \begin{equation} r = \lVert \hat{X} – X \rVert_2^2,\quad p = \lVert \hat{S} – S \rVert_2^2,\quad s = \frac{r – \mu_r}{\sigma_r} + \frac{p – \mu_p}{\sigma_p} \end{equation} $$
$r$ がデータ空間の再構成誤差(窓全体のスカラー)、$p$ が関連空間(progression)の再構成誤差(同じくスカラー)、$\mu_r, \sigma_r, \mu_p, \sigma_p$ はそれぞれ バリデーションセット 上での平均・標準偏差だ。正規化することで、スケールの異なる2つのスコアを直接足し合わせられる。式(4)の $L_R, L_S$ と同じ二乗ノルムの形だが、学習時は全サンプルの平均で使い、推論時は窓ごとのスカラーとして使う。
式(6): 診断スコア
根本原因診断のスコアは変量ごとに計算する。変量 $j$ の診断スコアは、その変量のデータ再構成誤差の行 $j$ の成分だ。
$$ \begin{equation} s_j = r_j = \lVert \hat{X}_{(j,\cdot)} – X_{(j,\cdot)} \rVert_2^2 \end{equation} $$
添字 $(j,\cdot)$ は $j$ 番目の変量の全時刻を表す。これが変量 $j$ の「データ空間での逸脱量」だ。この $r_j$ を降順に並べ、上位 $P\%$ が ground truth の異常変量と重なる割合を HR@P% で評価する(論文 Appendix J, 式 10)。
論文は Appendix D(式 7)で、データと progression を組み合わせた joint 診断スコア も定義して比較している。
$$ \begin{equation} s_j = \frac{r_j – \mu_{r_j}}{\sigma_{r_j}} + \frac{p_j – \mu_{p_j}}{\sigma_{p_j}}, \quad \text{where} \quad p_j = \lVert \hat{S}_{(\cdot,j)} – S_{(\cdot,j)} \rVert_2^2 \end{equation} $$
ここで $p_j$ は $j$ 番目の変量(列)の progression 再構成誤差だ。Table 7 の比較では joint 診断が SMD で劣り、$r_j$ のみ(= 式 6, SARAD の採用値)が安定して高い性能を示す。長い異常区間では $p_j$ の大きな乖離が進むと再構成が適応してしまい鈍るためだ。検知(式 5)は joint、診断(式 6)は $r_j$ のみ、という非対称な設計の合理性がここにある。
2つの誤差が補い合う理由
なぜ2つの空間を組み合わせるのか。両者が補い合う からだ。この相補性を、データ誤差 $r$ と Progression 誤差 $p$ の散布図で確認する。

出典: Dai et al., NeurIPS 2024, Fig. 12
各点が1つの時系列窓に対応し、青が正常、赤が異常だ。SMD では異常点が高 $r$ または高 $p$ のいずれか(もしくは両方)の領域に分布しており、$r$ だけでは見逃す異常を $p$ が補い、$p$ だけでは見逃す異常を $r$ が補っている。SWaT や HAI では正常と異常の分離がより明確で、joint スコア $s$ が有効に機能する条件が整っていることがわかる。SMD のような IT サービス監視では正常・異常の混在が多く、両空間の complementary な働きがより重要になる。
データ空間の再構成誤差は、値の逸脱が目立たないとき ―― たとえば異常の立ち上がりや、関係だけが壊れる異常 ―― では鈍い。一方、関連空間の誤差は関連の崩壊に敏感で、まさにそこを捉える。この相補性を、デモで確かめよう。
値では見えない「関係の崩壊」を捉える ― デモ
先ほどの6変量データに、性質の異なる2つの異常を仕込む。事象A は「関係のみ異常」で、変量2が周囲との連動を失うが値の範囲は正常のまま。事象B は「値の異常」で、変量2の値が逸脱するが連動は保たれる。値だけを見る検知器(各変量の z スコア)と、関連の減少を見る検知器(列集約した関連崩壊)を並べる。

上段の 値の検出器 は、事象B(値の逸脱)にはきれいに反応するが、事象A では正常時とほとんど変わらないスコアのまま ―― 関係だけが壊れる異常を完全に見逃している。下段の 関連減少の検出器 は、事象A で大きくスパイクし、値では見えなかった関係の崩壊を捉えている(事象B にも反応する)。
これが SARAD の核心的な価値だ。値の再構成だけに頼る手法が取りこぼす「関係の崩壊」を、関連空間が拾う。そして両者を結合する joint 判定なら、値の異常も関係の異常も漏らさない。実データではどう効くのか。
評価データセットと実験設定
論文は4つの実データセットで評価している。詳細を Table 2 で確認する。

出典: Dai et al., NeurIPS 2024, Table 2
4データセットの特性をまとめると: – SMD(Server Machine Dataset): 28台のサーバー、各38変量、異常率 4.16%。変量間に複雑なフィードバック関係があり、SAR が顕著に出る – PSM(Pooled Server Metrics): 25変量、異常率 27.73%。異常が頻繁で値の逸脱も混在 – SWaT(Secure Water Treatment): 51変量、異常率 12.02%。物理的に密結合した水処理系、センサー間の依存が強い – HAI(Hardware-in-the-loop Anomaly Injection、本論文では79変量): 産業制御系のシミュレーション、異常率 2.23%
指標には、閾値に依存しない AUC-ROC/AUC-PR と、parameter-free な VUS(Volume Under the Surface) を採用する。VUS は時系列異常検知の評価で水増しを避ける指標で、本ブログでも別記事で解説した。
評価 ― 関係を見ることの効き目
異常検知性能

出典: Dai et al., NeurIPS 2024, Table 3(太字が最良値、下線が2位)
Table 3 は10手法との全面比較で、指標は AUC-ROC/AUC-PR(閾値非依存)と VUS-ROC/VUS-PR(parameter-free)の4種類だ。VUS-ROC で見ると結果は以下のとおり:
- SMD: SARAD VUS-ROC 79.67% ← 2位 GDN 66.07(+13.60%)、MAD-GAN 64.16(+15.51%)。論文本文も “SMD: +15.51% MAD-GAN” と記載(p.8)
- PSM: SARAD VUS-ROC 61.77%(GDN 63.13 に対し −1.36%、僅差)
- SWaT: SARAD VUS-ROC 87.52%(DIF 87.88 と同等水準、差 −0.36%)
- HAI: SARAD VUS-ROC 96.17% ← 2位 DiffAD 86.25(+9.92%)。論文本文も “HAI: +9.92% DiffAD” と記載(p.8)
特筆すべき点が2つある。第一に、SMD と HAI は変量間の依存関係が特に密な産業制御系データで、まさに SAR が顕著に現れる条件だ。第二に、グラフベースの GDN も変量間の「グラフ関係」を学習するが、異常スコアに関係を直接使わないため SARAD に大きく劣る ―― 関係の崩壊をスコアに直結させる ことの重要性を示している。
TranAD・Anomaly Transformer・DCdetector は再構成誤差ベースで、値の逸脱が弱い SMD では苦戦している。USAD も敵対学習で再構成を強化しているが、関連空間を持たないため SMD の差は縮まらない。
異常スコアの分布
関連空間と値空間の joint スコアが正常と異常をどれだけ分離できているかを、密度分布で確認する。

出典: Dai et al., NeurIPS 2024, Fig. 13
縦軸が密度、横軸が異常スコア(対数スケール)で、青が正常、赤が異常の分布だ。SWaT と HAI では正常分布と異常分布がほぼ完全に分離しており、閾値設定が容易で高い検知性能が得られることがわかる。SMD と PSM では分布の重なりが大きく ―― この「分離の難しさ」が SMD の VUS-ROC がおよそ 80% 止まりである理由と一致する。IT サービス監視ではセンサー依存パターンが複雑で、工業制御系よりも異常が多様な形を取る。
SMD での検知可視化
実際の多変量時系列に SARAD を適用したときの出力を論文の Figure 3 で見る。

出典: Dai et al., NeurIPS 2024, Fig. 3(パネル a–h は各コンポーネントの出力)
パネル (a) は生の多変量時系列で、異常区間が赤でハイライトされている(異常変量 #1, #9, #10, #12, #13, #14, #15 が赤枠)。パネル (b)/(c) は最終 $L$ 層 MHSA が計算した平均関連写像 $\bar{A}^L$(異常前と異常中)。パネル (d) は集約後のプログレッション $S$(関連の減少量)で、異常区間でプログレッション値が際立って大きくなる のが見て取れる。パネル (e) はその Progression 復元 $\hat{S}$。パネル (f) が変量ごとの progression スコア $p_j$、パネル (g) が データ誤差 $r_j$、パネル (h) が joint スコア $s_j$ ――論文 Fig. 3 のキャプション “3f, 3g, 3h show the scores p, r, and joint s according to Eq. 5 per feature” の順序に対応する。パネル (i) はセグメント全体の異常スコアで、SAR が立ち上がりで早期にスコアを押し上げ、データ誤差が鈍い局面を補完しているのが見える。この可視化が示すのは、関連空間のシグナルと値空間のシグナルが 補完的に働いている という SARAD の主張の実証だ。
異常診断性能

出典: Dai et al., NeurIPS 2024, Table 4
Table 4 は根本原因変量の特定精度だ。指標は3種類: – HR@P%(Hit Rate): 上位 P% に真の異常変量が含まれる割合 – NDCG@P%(Normalized Discounted Cumulative Gain): ランキング品質(上位ほど高得点) – IPS@P%(Inverse Proportion Score): 範囲ベースの診断指標
SARAD は SMD・SWaT・HAI の全データで概ね最良か2位水準を示す。特に SMD HR@100% が 56.73% で次点 GDN 28.67% の約2倍、NDCG@100% は 60.79% で次点 TranAD 34.71% を大きく上回る。TranAD は診断機能を持つが、変量間の関連構造を直接使わないため劣る。ATF-UAD や DiffAD は診断クリテリアが異なり比較不能な列に N/A が入っている。SARAD の診断が効くのは、列方向集約 $S$ が「どの変量が関連から脱落したか」を自然に定量化しているからで、診断機能が検知アーキテクチャに 内蔵 されている点が他手法と質的に異なる。
アブレーション研究
プログレッション再構成モジュールの効果

出典: Dai et al., NeurIPS 2024, Table 5
Table 5 はプログレッション再構成モジュールのアブレーションで、3つの変形を比較している:
- no ReLU: 差分 $A_1 – A_2$ から ReLU を外す → 関連の増加も混入し、減少シグナルが曖昧になる。SMD VUS-ROC が 79.67% → 75.16% に低下
- Aggr. (Eq.3) row sum: 列集約の代わりに行和を使う → SAR が列方向で顕著という観察に反し、性能が落ちる
- Aggr. (Eq.3) no sum: 集約なしで $N \times N$ を MLP に渡す → 次元が大きすぎてオーバーフィットし不安定。SMD VUS-ROC が 56.98% に大幅低下
- Detection S directly: $S$ を直接スコアに使い MLP を外す → MLP による関連空間の学習が消え、SMD では若干の改善($S$ が直接有効)だが HAI では低下
いずれの変形も性能が落ち、ReLU と列方向集約がそれぞれ独立に性能に寄与していることが確かめられた。特に行和 vs 列和の差は、SAR が 列方向 で顕著に現れるという本手法の根幹的観察の直接的な実証になっている。
検知クリテリアの比較

出典: Dai et al., NeurIPS 2024, Table 6
Table 6 は、検知スコアを「データ誤差のみ(DR, $r$ only)」「プログレッション誤差のみ(SPR, $p$ only)」「joint(both)」の3通りで比較したものだ。論文の主張どおり、joint スコアが最も優れる ―― ただし SMD のように関連崩壊が支配的なデータではプログレッションのみでも高い(SMD VUS-ROC: SPR 79.39% vs joint 79.67%)。SWaT のように値の逸脱も重要なデータでは SPR のみだと VUS-ROC が 87.52% → 65.31% に大きく落ちる。両者の相補性が joint を有効にしている点が改めて確認できる。
診断基準のアブレーション

出典: Dai et al., NeurIPS 2024, Table 7
Table 7 は診断基準の選択を比較している。変量ごとのデータ誤差 $r_j$、Progression 誤差 $p_j$、そして joint スコア $s_j$ の3種類だ。SARAD は $r_j$ のみを診断スコアとして採用しているが、Table 7 が示すのは joint や SPR($p_j$ のみ)が必ずしも $r_j$ より優れるとは限らない点だ。特に長い異常区間(IPS@P% の長い方の列)では $r_j$ が安定して高い性能を発揮する。$p_j$ の大きな乖離は短い関連崩壊区間には鋭敏だが、異常継続時間が長くなると再構成が適応してしまい鈍くなる ことが理由だ。SARAD が診断には $r_j$ を採用し検知には joint $s$ を採用する設計の妥当性が確認できる。
ハイパーパラメータ感度
ハイパーパラメータが性能に与える影響を、VUS-ROC スコアで確認する。

出典: Dai et al., NeurIPS 2024, Fig. 10
4つのパネルを見ると以下の傾向が読み取れる(Appendix H, Fig. 10–11):
- (a) 窓幅 $2W$: デフォルトは 100。窓が小さすぎる(10〜20)と関連空間の時間的受容野が狭くなり、SMD・PSM など短い異常区間(中央値11/5)を持つデータで異常パターンが希薄化し性能が落ちる。窓が大きすぎると(200〜400)SMD・PSM では計算コストが増す一方で性能が頭打ちになる。ただし SARAD の計算量は変量数 $N$ の2乗・窓長には 線形 なため、時系列的なモデルより窓拡大のコスト増は緩やか(論文 App. H)
- (b) 訓練エポック数: 1〜2 エポックは過少適合。3〜5 エポックは安定。学習率をエポックごとに半減する積極的な逓減スケジュールが過学習を防ぐため、エポックが増えても急激な性能劣化は起きない
- (c) Attention 長 $D$: 128〜512 で安定した性能。SMD・PSM は監視システムの規模が小さいため 512 を超えると過学習傾向。SWaT・HAI は変量数が多く大きな $D$ が有効
- (d) Progression 隠れ長 $D_P$: デフォルト 64。複雑な Progression 検知器($D_P$ を大きく)しても性能は悪化しない ―― 関連空間はデータ空間より過学習しにくいことを示唆する(論文 App. H)
全体として SARAD は ハイパーパラメータに対してロバスト で、デフォルト値付近に安定した性能ピークがある。これはデプロイ時の調整コストが低いことを意味する。
モデル複雑度とオーバーヘッド

出典: Dai et al., NeurIPS 2024, Table 15
Table 15 は全手法の訓練時間(分)・推論時間(ミリ秒/サンプル)・パラメータ数を横断比較している。SARAD の数値を整理すると:
| データセット | 訓練時間 | 推論時間 | パラメータ数 |
|---|---|---|---|
| SMD(T=708K, N=38) | 1.47分 | 0.11ms | 9.57M |
| PSM(T=132K, N=25) | 2.32分 | 0.12ms | 15.85M |
| SWaT(T=497K, N=51) | 10.87分 | 0.16ms | 9.59M |
| HAI(T=922K, N=79) | 31.97分 | 0.39ms | 15.94M |
比較対象の中で 最も高速な学習 を実現しているのが SARAD で、最大データセット HAI での訓練時間は 31.97 分 ―― データ収集時間(30日間)や計測サンプリング周期(1秒)と比べると圧倒的に小さい。推論は 0.11〜0.39ms/サンプルで、リアルタイム適用が可能なレベルだ。パラメータ数は約 10〜16M と中規模で、DiffAD の 38.85M より少ない。DCdetector は HAI でメモリ不足でエラーが出るが、SARAD は全データセットで安定して動作する。
このオーバーヘッドの小ささはアーキテクチャの設計に由来する。Progression モジュールの MLP が小規模($D_P = 64$)なため全体の訓練コストが抑えられ、Transformer の推論はバッチ並列化が効く。
まとめ
SARAD のエッセンスを整理する。
- 発想の転換:異常検知の対象を「データの値」から「変量間の関係パターン(spatial association)」へ移す。関係の崩壊こそ信頼できる異常シグナル。
- SAR の観察:異常は異常変量を周囲から引き剥がし、関連を系統的に減少させる(Association Descending Pattern)。この減少は 列方向 で最も顕著で、どの列が崩れたかが根本原因変量を指す。SWaT・SMD・PSM と複数データで普遍的に確認された。
- 2モジュール:転置窓を再構成する Transformer(データ空間)と、関連の減少 $S^L_h = \mathrm{ReLU}(A^L_{1,h} – A^L_{2,h})$(式 2)を列集約(式 3)して再構成する MLP(関連空間)。サブシリーズ分割で減少だけを抽出する。
- MHSA の役割:転置された時間窓を入力として $N \times N$ の変量間関連写像 $A^l_h$ を計算。Dot Product Attention の転置入力が変量間注意を実現。エンコーダ深さ $L \in \{3,5\}$(TPE選択)、Attention 長 $D = 512$、FFN 隠れ次元 $D_{FF} = 2048$、ヘッド数 $H = 8$(全て Appendix F デフォルト値)。
- Embedding:$X^0_i = E_i + M$、$E_i = \mathrm{Linear}(X_i^\top) \in \mathbb{R}^{N \times D}$、$M$ は変量ごとの学習可能埋め込み $\{m_n \in \mathbb{R}^D\}$。
- joint 判定:$L = L_R + \lambda_{LS} L_S$($\lambda_{LS} \in [10^{-2}, 10^2]$ をTPEで選択)。$L_S$ の勾配が $S$ を通して Transformer に伝わらないよう stop-grad。データ誤差が鈍い関係のみ異常の立ち上がりを、関連誤差が補完。2誤差の相補性は散布図でも確認できる。
- 正規化基準:$\mu_r, \sigma_r, \mu_p, \sigma_p$ はバリデーションセット(訓練データの後半20%)上で計算。
- 診断スコア:変量 $j$ の $r_j = \|\hat{X}_{(j,\cdot)} – X_{(j,\cdot)}\|_2^2$(式 6)。joint 診断(式 7)はSMDで劣るため採用せず。診断機能がアーキテクチャに内蔵。
- 評価:VUS-ROC で SMD +15.51%(MAD-GAN 比)・HAI +9.92%(DiffAD 比) と関係が効くデータで大きく勝ち、訓練速度は全手法中最速クラス(HAI 32分)、推論は 0.4ms 以内。
- ハイパーパラメータ堅牢性:窓幅・Attention 長・Progression 隠れ長のいずれにも安定した感度を示し、実運用時の調整が少ない。
「値ではなく関係を見る」という SARAD の視点は、本シリーズの他手法と好対照だ。相関構造そのものでレジームを発見する TICC、潜在変数で文脈を吸収する OmniAnomaly、注意の乖離で異常を測る Anomaly Transformer と読み比べると、「変量間の関係」をどう異常検知に使うかという設計の幅が見えてくるはずだ。SAR という現象を「根本原因への直接経路」として組み込んだ点が、SARAD を関係ベース手法の中でも独特な位置に置いている。







