時系列の異常検知では「正常をどう表現し、異常との違いをどう測るか」が核心です。再構成誤差や予測誤差が定番ですが、Anomaly Transformer(Xu et al., ICLR 2022)はまったく別の基準を導入しました——各時刻が系列全体とどう「関連(association)」するか、その関連のパターンの違いです。
鍵となる観察はこうです。異常はまれなので、異常な点が系列全体と強い関連を結ぶのは難しく、その関連は近傍に集中しがちです(連続性により、隣接点が似た異常パターンを含むため)。一方、支配的な正常点は系列全体に広く関連を持てます。この「関連の集中度の差」を Association Discrepancy(関連乖離) として定量化し、異常検知の基準にします。
本記事は、Anomaly Transformerのアーキテクチャと骨子——Anomaly-Attention・Association Discrepancy・minimax最適化・異常スコア・評価結果・アブレーション・5種類の異常タイプへの対応——を、数式・論文の図・PyTorch実装で追います。
本記事の内容
- 着想:なぜ「関連の集中度」で異常が分かるのか
- Anomaly-Attention:prior-association(ガウス核)とseries-association(自己注意)の二枝詳細
- Association Discrepancy(対称KL)と minimax 最適化(stop-gradient)
- 異常スコア $\mathrm{softmax}(-\mathrm{AssDis})\odot$再構成誤差
- 主要性能・ROC曲線・アブレーション・5種類の異常タイプ事例
- 実データ可視化とハイパラ感度分析
前提・関連記事




着想:関連の集中度で異常を見分ける
自己注意の重みは、各時刻が他のどの時刻と関連するかの分布とみなせます。Anomaly Transformerは、この関連分布に2つの形を考えます。

- series-association:自己注意が生データから学ぶ関連。正常点は周期やトレンドを通じて系列全体に広がる。
- prior-association:「近傍に集中する」という帰納バイアスをガウス核で表したもの。
正常点(左)では、series-associationが系列全体に広がるため、近傍集中のprior-associationとの差が大きくなります。異常点(右)では、series-associationも近傍に集中せざるを得ず、prior-associationに近づく=差が小さくなります。この差(Association Discrepancy)の大小が、正常・異常を分ける基準になります。
では、この2つの関連をどう計算し、どう差を測るのか。アーキテクチャを見ましょう。
アーキテクチャ全体

出典: J. Xu, H. Wu, J. Wang, M. Long “Anomaly Transformer: Time Series Anomaly Detection with Association Discrepancy”, ICLR 2022 (arXiv:2110.02642), Fig.1.
全体は、バニラTransformerの自己注意を Anomaly-Attention に置き換えた多層構造です。入力 $X \in \mathbb{R}^{N \times d}$ に対し、第 $l$ 層は次の式で表されます(論文 式1)。
$$ \begin{equation} \begin{aligned} \mathcal{Z}^l &= \mathrm{LayerNorm}\big(\text{Anomaly-Attention}(\mathcal{X}^{l-1}) + \mathcal{X}^{l-1}\big) \\ \mathcal{X}^l &= \mathrm{LayerNorm}\big(\mathrm{FeedForward}(\mathcal{Z}^l) + \mathcal{Z}^l\big) \end{aligned} \end{equation} $$
記号の定義: $N$ は窓内の時刻数、$d$ は入力変量数、$d_\text{model}$ は内部の隠れチャネル数、$L$ は層数。$\mathcal{X}^l \in \mathbb{R}^{N \times d_\text{model}}$ が第 $l$ 層の出力、$\mathcal{Z}^l \in \mathbb{R}^{N \times d_\text{model}}$ が Anomaly-Attention 直後の隠れ表現です。$\mathcal{X}^0 = \mathrm{Embedding}(\mathcal{X})$ は埋め込んだ入力系列です。各層の Anomaly-Attention が prior-association と series-association を同時に作り、最終層の出力から系列を再構成します。中核の Anomaly-Attention を分解します。
Anomaly-Attention:2つの関連を作る
Anomaly-Attentionは二枝構造です。論文の Anomaly-Attention 詳細図(左枝=QKV自己注意による series-association、右枝=ガウス核 $\sigma$ による prior-association)を引用します。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.1(左部クロップ).
図左側では $Q, K, V, \sigma$ が同じ入力から Linear 投影で生成される様子が確認できます。右側の Prior-Association 枝では $\sigma_1, \sigma_2, \ldots, \sigma_N$ が時刻ごとに異なる値を持ち、距離関数 $G(|j-i|;\sigma_i)$ でガウス核を作って Rescale (行正規化)していることが見て取れます。
第 $l$ 層の Anomaly-Attention は次の4ステップで構成されます(論文 式2)。
Initialization——同じ入力 $\mathcal{X}^{l-1}$ から $Q, K, V, \sigma$ を線形投影で生成します。
$$ \begin{equation} Q = \mathcal{X}^{l-1}W^l_Q,\quad K = \mathcal{X}^{l-1}W^l_K,\quad V = \mathcal{X}^{l-1}W^l_V,\quad \sigma = \mathcal{X}^{l-1}W^l_\sigma \end{equation} $$
次元: $Q, K, V \in \mathbb{R}^{N \times d_\text{model}}$。重み行列 $W^l_Q, W^l_K, W^l_V \in \mathbb{R}^{d_\text{model} \times d_\text{model}}$、$W^l_\sigma \in \mathbb{R}^{d_\text{model} \times 1}$。単一ヘッドでは $\sigma \in \mathbb{R}^{N \times 1}$。マルチヘッド版では $\sigma \in \mathbb{R}^{N \times h}$($h$ はヘッド数、各ヘッドが独立に $\sigma$ を持つ)。
series-association $S^l$ は、通常の自己注意の重みです。
$$ \begin{equation} S^l = \mathrm{Softmax}\!\left(\frac{QK^\top}{\sqrt{d_{\text{model}}}}\right) \in \mathbb{R}^{N \times N} \end{equation} $$
各行 $S^l_{i,:}$ は時刻 $i$ が他の時刻に向ける関連の離散分布(行和=1)です。
prior-association $P^l$ は、学習可能なガウス核で「近傍集中」を表します。ガウス核 $G(|j-i|;\sigma_i)$ を行正規化(Rescale)して確率分布にします(論文 式2)。
$$ \begin{equation} G(|j-i|;\,\sigma_i) = \frac{1}{\sqrt{2\pi}\,\sigma_i}\exp\!\left(-\frac{|j-i|^2}{2\sigma_i^2}\right) \end{equation} $$
$$ \begin{equation} P^l_{i,j} = \mathrm{Rescale}\!\left(G(|j-i|;\,\sigma_i)\right)_{j \in \{1,\dots,N\}} = \frac{G(|j-i|;\,\sigma_i)}{\sum_{k=1}^{N} G(|k-i|;\,\sigma_i)} \end{equation} $$
$P^l \in \mathbb{R}^{N \times N}$ で各行は和1の離散分布。$\mathrm{Rescale}(\cdot)$ は行和で割る行正規化であり、$P^l_{i,:}$ と $S^l_{i,:}$ を同じ確率分布の空間に揃えるために必須です。ガウス核の単峰性により、構造的に近傍へ注意が向きます。重要なのは、スケール $\sigma_i$ を 時刻 $i$ ごとに別個に学習可能にした点です——小さければ鋭い近傍集中、大きければ緩やかな広がりを表し、異常区間の長さや位置ごとの「どこまで近傍とみなすか」に prior が適応できます(後で示すアブレーションで、この学習可能性が大きく効きます)。なお実装では、$|j-i|$ は窓内の固定相対位置行列として計算できるため、$P^l$ の計算コストは $\sigma$ の投影分だけで済みます。
Reconstruction——Anomaly-Attention の最終出力は、series-association で値を集約した隠れ表現です。
$$ \begin{equation} \hat{\mathcal{Z}}^l = S^l V \in \mathbb{R}^{N \times d_\text{model}} \end{equation} $$
prior $P^l$ は出力経路には乗らず、後述の Association Discrepancy を通じてのみ学習に効きます。
2つの関連ができたので、その「差」を測ります。
Association Discrepancy:対称KLで差を測る
Association Discrepancy は、prior-association と series-association の 対称KLダイバージェンスを、層平均して定義します(論文 式3)。
$$ \begin{equation} \mathrm{AssDis}(P,S;\mathcal{X}) = \left[\frac{1}{L}\sum_{l=1}^{L}\Big(\mathrm{KL}(P^l_{i,:}\,\|\,S^l_{i,:}) + \mathrm{KL}(S^l_{i,:}\,\|\,P^l_{i,:})\Big)\right]_{i=1,\dots,N} \end{equation} $$
各行(時刻)ごとに計算され、$\mathrm{AssDis}(P,S;\mathcal{X})\in\mathbb{R}^{N\times1}$ は点ごとの関連乖離です。$L$ は層数、総和は全 $L$ 層を平均します。各時刻 $i$ について、KLダイバージェンスは $P^l_{i,:},\,S^l_{i,:}$ を行和1の離散分布として次のように計算されます。
$$ \begin{equation} \mathrm{KL}(P^l_{i,:}\,\|\,S^l_{i,:}) = \sum_{j=1}^{N} P^l_{i,j}\,\log\frac{P^l_{i,j}}{S^l_{i,j}} \end{equation} $$
対称化する($\mathrm{KL}(P\|S)+\mathrm{KL}(S\|P)$)のは、片方向のKLだと「priorが0に近い所でseriesが大きい」ような非対称な食い違いを見落とすためで、双方向にペナルティを課して乖離を漏れなく拾います。複数層を平均することで、浅い層(局所的な関連)から深い層(大域的な関連)までを1つの情報量にまとめます。前述のとおり、異常点はこの値が小さくなります。
マルチヘッド版での計算手順(論文 Appendix Algorithm 2): 各ヘッドの prior/series を先にヘッド軸で平均し($P’ \in \mathbb{R}^{L \times N \times N}$, $S’ \in \mathbb{R}^{L \times N \times N}$)、KLを取ってから層軸で平均します($R \in \mathbb{R}^{N \times 1}$)。
ただし、ここで放っておくと問題が起きます。series-association は自由に動けるので、単に prior に一致してしまえば乖離はゼロになり、正常・異常の区別がつきません。そこで minimax で差を「増幅」します。
minimax 最適化

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.2.
損失関数は再構成損失と乖離拡大項の差で定義されます(論文 式4)。
$$ \begin{equation} \mathcal{L}_\text{Total}(\hat{X}, P, S, \lambda;\, X) = \|X – \hat{X}\|_F^2 – \lambda \cdot \|\mathrm{AssDis}(P, S; X)\|_1 \end{equation} $$
$\hat{X} \in \mathbb{R}^{N \times d}$ は再構成出力、$\|\cdot\|_F$ はフロベニウスノルム、$\|\cdot\|_1$ はL1ノルム。$\lambda > 0$ のとき最適化は乖離を拡大する方向に働きます(論文では $\lambda = 3$ に固定)。
しかしこれを素朴に最適化すると、ガウス核の $\sigma_i$ が際限なく小さくなり、prior が一点に潰れて学習が不安定になります。そこで論文は minimax(式5)に分け、2つのフェーズを交互に最適化します。
$$ \begin{equation} \begin{aligned} \text{Minimize}:&\quad \mathcal{L}_\text{Total}(\hat{X},\, P,\, S_\text{detach},\, {-\lambda};\, X) \\ \text{Maximize}:&\quad \mathcal{L}_\text{Total}(\hat{X},\, P_\text{detach},\, S,\, {\lambda};\, X) \end{aligned} \end{equation} $$
$S_\text{detach}$, $P_\text{detach}$ はそれぞれ勾配を止めた定数扱いです。原典の表記に沿って整理すると:
- 最小化フェーズ(Minimize): $\lambda$ の符号を $-\lambda$ にする=乖離を縮める方向。$S$ を固定して $P$($\sigma_i$)のみ更新。priorをガウス核の族の中で、その時点の series に最もよく合うよう追従させる。$\sigma$ の暴走を防ぐ制約として機能する。
- 最大化フェーズ(Maximize): $\lambda$ の符号を $+\lambda$ にする=乖離を拡大する方向。$P$ を固定して $S$のみ更新。ただし再構成損失の制約下なので、$S$ は系列を再構成できる範囲でしか広域に広がれない。
直感的には、priorに「正常の関連はこのくらい広がる」と追従させつつ($\sigma_i$ が series の広がりを学ぶ)、seriesには「正常はもっと広く関連せよ」と押し広げさせる。この綱引きの結果、正常点では series がしっかり広域に伸び、近傍集中の prior との乖離が大きく保たれる一方、異常点は連続性の制約で広く関連できず、series が prior に近いまま=乖離が小さい。両者のコントラストが minimax で増幅され、正常・異常の区別が際立ちます。
異常スコア
学習後、点ごとの異常スコアは再構成誤差と関連乖離を掛け合わせます(論文 式6)。
$$ \begin{equation} \mathrm{AnomalyScore}(X) = \mathrm{Softmax}\big(-\mathrm{AssDis}(P,S;X)\big)\;\odot\;\big[\,\|X_{i,:}-\hat{X}_{i,:}\|_2^2\,\big]_{i=1,\dots,N} \end{equation} $$
$\odot$ は要素積、$\mathrm{AnomalyScore}(X) \in \mathbb{R}^{N \times 1}$ は点ごとのスコアです。$\mathrm{Softmax}(\cdot)$ は $N$ 個の時刻にわたって適用します(dim=0方向)。$\|X_{i,:}-\hat{X}_{i,:}\|_2^2$ は時刻 $i$ の再構成誤差(変量方向の二乗L2ノルム)です。異常点は乖離 $\mathrm{AssDis}$ が小さい → $\mathrm{Softmax}(-\mathrm{AssDis})$ が大きい → 再構成誤差を増幅します。再構成しやすい異常でも乖離は小さくなるので、両者が協調して検出力を高める設計です。加算ではなく乗算を採用する理由は、加算(Addition)では協調効果が得られず純再構成と大差ない(Appendix アブレーション Table7で確認)のに対し、乗算が最良であると論文が実験で確認しているためです。
骨子はこれで全部です。実装して、核心の「異常点ほど乖離が小さい」を確かめます。
PyTorchで機構を確かめる
Anomaly-Attention 層を実装します。series-association(自己注意)と prior-association(学習可能ガウス核)を作り、対称KLで乖離を計算します。
import numpy as np, torch, torch.nn as nn, torch.nn.functional as F
np.random.seed(0); torch.manual_seed(0)
M, W = 3, 50 # 変量数・窓長(=系列内の注意長)
class AnomalyAttention(nn.Module):
def __init__(self, d, W):
super().__init__()
self.q=nn.Linear(d,d); self.k=nn.Linear(d,d); self.v=nn.Linear(d,d); self.d=d
self.sigma=nn.Linear(d,1) # 学習可能スケールσ(位置ごと)
pos=torch.arange(W).float()
self.register_buffer("dist",(pos[:,None]-pos[None,:]).abs()) # |i-j|
def forward(self, x): # x:(B,W,d)
S = torch.softmax(self.q(x)@self.k(x).transpose(1,2)/self.d**0.5, -1) # series-association
sigma = F.softplus(self.sigma(x)).squeeze(-1) + 1.0 # σ
P = torch.exp(-self.dist[None]**2/(2*sigma[:,:,None]**2+1e-6)) # prior(ガウス核)
P = P/(P.sum(-1, keepdim=True)+1e-9)
return S@self.v(x), P, S
def sym_kl(P, S): # 行ごとの対称KL → (B,W)
P=P.clamp_min(1e-8); S=S.clamp_min(1e-8)
return (P*(P.log()-S.log())).sum(-1) + (S*(S.log()-P.log())).sum(-1)
これを2層重ね、各層の対称KLを平均して Association Discrepancy とし、最終層から系列を再構成します(全体コードは図生成スクリプトに収録)。学習は前述の minimax を stop-gradient で2フェーズ実行します。
# minimize: prior側で乖離を縮める(S を detach)
L1 = rec + lam*sym_kl(P, S.detach()).mean()
# maximize: series側で乖離を広げる(P を detach)
L2 = rec - lam*sym_kl(P.detach(), S).mean()
学習後、合成多変量時系列(区間異常を注入)で正常点と異常点の Association Discrepancyを比べます。

実測で、異常点の関連乖離の平均は正常点より小さくなりました(正常 24.77 vs 異常 22.74)。狙いどおり、異常点では series-association が prior(近傍)に近づいています。差は穏やかですが、これは小さな合成データ・小モデルでの結果で、論文は大規模モデル・実データ・多数ステップのminimaxで明瞭な分離を得ています。
異常スコア $\mathrm{softmax}(-\mathrm{AssDis})\odot$再構成誤差 を時系列で見ると、異常区間で立ち上がります。

赤帯(真の異常区間)でスコアが上昇し、関連乖離と再構成誤差を組み合わせた基準が機能していることが確認できます。
評価:主要性能(論文Table.1・ROC曲線)
Anomaly Transformer は5〜6個の標準ベンチマーク(SMD・MSL・SMAP・SWaT・PSM、加えてNeurIPS-TS)で評価されました。実装の主なハイパラ設定: 層数 $L=3$、隠れチャネル $d_\text{model}=512$、ヘッド数 $h=8$、$\lambda=3$、窓サイズ100(非重複スライディング窓)、学習率 $10^{-4}$(Adam)、バッチサイズ32、最大10エポック早期停止。異常スコア(式6)にしきい値 $\delta$ を当てて判定します(point-adjust使用、しきい値は検証データの上位 $r$% で決定: SWaT は $r=0.1\%$、SMD は $r=0.5\%$、その他 $r=1\%$)。

出典: J. Xu, H. Wu, J. Wang, M. Long “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Table 1.
最下段 “Ours”(Anomaly Transformer)が、5データセットで F1 = 92.33 / 93.59 / 96.69 / 94.07 / 97.89(%)を達成し、OC-SVM・Isolation Forest・LOF・Deep-SVDD・LSTM-VAE・DAGMM・OmniAnomaly・InterFusion・THOC といった距離・密度・再構成ベースの手法をすべて上回っています。とくに THOC(当時の強い再構成系)に対しても全データセットで上振れしており、「点の再構成」ではなく「関連分布の集中度の差」を基準にした効果が現れています。Table.1 で注目すべき点として、SMD では BeatGAN(F1=89.94%)や LSTM-VAE(81.09%)より Ours(92.33%)が大きく優位で、F1改善幅が最も大きいのが SMD という多変量・長期データであることが分かります——変量間の依存関係を関連分布で捉えることが特に有効なデータセットです。
次に ROC 曲線で各データセット別の AUC を確認します。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.3.
SMD(AUC=0.9866)・MSL(0.9812)・SMAP(0.9941)・SWaT(0.9876)・PSM(0.9946)で、Anomaly Transformer(“Ours”)は比較手法(BeatGAN・Deep-SVDD・LSTM-VAE)をすべてのデータセットで上回り、曲線が左上コーナーに最も近く推移しています。特に SMAP と PSM で 0.99 超という高い AUC が読み取れます——「関連乖離+再構成誤差」の協調基準が閾値によらない識別力の高さとして表れています。
また、NeurIPS-TS という多様な人工ベンチマークでの比較棒グラフも示されています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.4.
Anomaly Transformer が OmniAnomaly・Deep-SVDD・THOC・LSTM-VAE・DAGMM・BeatGAN の全手法を大きく凌駕し、F1スコアで約71%を達成しています。2位 BeatGAN との差が10%以上あり、異なる生成ルールで作られた多様な人工異常タイプに対しても安定した検出力を持つことが確認できます。次節でその理由——設計要素別への貢献を定量的に見ます。
設計要素の寄与:アブレーション
では、Anomaly Transformer の優位は どの設計要素から来ているのか。論文はアブレーションで分解しています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Table 2.
この表は3つの軸——異常基準(Recon=純再構成 / AssDis=純乖離 / Assoc=式6の協調基準)、prior-association(Fix=σを1.0固定 / Learnable=学習可能)、最適化戦略(Max / Minimax)——を切り替えたときの平均F1を示します。読み取りどころは次の3点です。
- 協調基準 Assoc の効果:純再構成の Transformer(76.62%)に対し、関連乖離を組み込んだ最終構成(94.96%)は +18.34% の大改善。乖離単独(AssDis=91.55%)や再構成単独でなく、両者を掛け合わせる式6が最良です。
- 学習可能 prior の効果:σ を 1.0 に固定(Fix, 79.05%)→ 位置ごとに学習可能(Learnable, 87.48%)で +8.43%。前述の「位置ごとに近傍幅を学ぶ」設計が効いています。
- minimax の効果:最大化のみ(Max, 87.48%)→ minimax(94.96%)で +7.48%。stop-gradient で prior の暴走を抑える綱引きが、乖離の増幅と安定の両立に必要だと分かります。
各要素が独立に効いていることが、この表から定量的に裏づけられます。Association Discrepancy の距離の取り方は対称KLのほか JSD・Wasserstein・CE・L2 も比較され、対称KLが最良でした。評価は point-adjust ベースである点は、時系列ADサーベイで述べた水増し問題と合わせて読むのが適切です。
正常点vs異常点の隣接注意重み:prior最適化の効果
minimax を経ることで「正常点の series-association が広域に広がり、異常点は近傍に集中する」という仮説がどの程度成立するか、論文は Table.3 で定量的に示しています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Table 3.
「Abnormal (%)」は異常点の隣接注意重みの割合、「Normal (%)」は正常点の同値です。行を比べると、最終モデル “Ours” では全データセットで Abnormal > Normal かつその差(Contrast = Abnormal/Normal)が “Recon” や “Max” より大幅に大きくなっています。具体的に SMD では Contrast 1.15(再構成のみ) → 1.27(最大化のみ) → 2.39(Ours=minimax) と、minimax により正常・異常の「近傍集中度の差」が2倍超に増幅されています。PSM でも 1.03 → 1.04 → 2.64 という大幅な増幅が確認でき、論文の核心仮説「minimax が近傍集中度のコントラストを高める」が数値として裏づけられています。
5種類の異常タイプへの対応:事例研究
異常には一般に複数のパターンがあります。論文は合成データで5種類の異常タイプを定義し、各手法の検出性能を比較しています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.5.
図には5列が並んでいます。
- (a) Point-Global:全系列の値域から大きく逸脱するスパイク状異常。再構成誤差だけでも比較的検出しやすいタイプです。
- (b) Point-Contextual:値域内に収まるが文脈(トレンドや周期)からは逸脱する点異常。再構成ベースは判断を迷いやすく、Association Discrepancy の恩恵が大きいタイプです。
- (c) Pattern-Shapelet:形状(局所パターン)の変化を伴う区間異常。Anomaly Transformer は区間内の関連が異なるパターンを示すため検出が安定します。
- (d) Pattern-Seasonal:季節性(周期)が崩れる区間異常。正常時は系列全体に広がる関連(周期の折り返し点への関連)が崩れるため、乖離が検出を後押しします。
- (e) Pattern-Trend:トレンドが変化する区間異常。長距離の関連が崩れることで検出されます。
各タイプの入力系列、および LSTM-VAE・Deep-SVDD などのベースラインと Anomaly Transformer の異常スコア曲線が対比されています。Anomaly Transformer(最下段)は全タイプで異常区間にスパイクが立ち、ベースラインが迷うポイントコンテキスト型や季節性崩壊型で特に安定した検出が読み取れます。
prior-association可視化と最適化戦略の解析
minimax 最適化の過程で prior-association(ガウス核のσ)がどう変化するか、そして再構成損失のみ・最大化のみ・minimax の3戦略下でどんな異常基準が形成されるかを比較します。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), 本文中の可視化.
上段のグラフは、minimax 最適化を経て 異常区間で σ が小さくなる(prior がより鋭い近傍集中に向かう)ことを示しています。つまり prior は「その時刻で series がどのくらい近傍に集中しているか」を追いかけてキャリブレーションされており、異常区間では series の近傍集中に prior が引っ張られて σ が縮小します。下段は3つの最適化戦略による異常スコア曲線を並べたもので、再構成損失のみ(Recon)のスコアは曲線が「ジッター(細かいブレ)」が多く安定しない一方、minimax(Ours)では曲線が滑らかで異常区間だけに明確なピークが立つことが読み取れます。これは Table.3 で見た「Contrastの増幅」が、実際のスコア曲線としても現れていることを示す定性的な裏づけです。
実データでの検知可視化(Fig.9)
合成データだけでなく、実データ(SMD・MSL・SMAP・SWaT・PSM)での検知結果も論文は示しています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.9(上部).

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.9(下部).
各列が1データセット(a=SMD/b=MSL/c=SMAP/d=SWaT/e=PSM)に対応します。上段に入力時系列、中段にベースライン手法(BeatGAN・Deep-SVDD・LSTM-VAE)の異常スコア、最下段に Anomaly Transformer の異常スコアが並んでいます。ベースラインは正常区間でもスコアが揺れたり、異常区間での上昇が鈍い場合があるのに対し、Anomaly Transformer の曲線は多くのケースで正常区間が低く抑えられ、異常区間でのピークが際立っています。特に SWaT(d列)では、論文が「長い異常区間を途中で見落とさず初期に検出できた」と述べており、関連乖離の基準が早期検出に有効であることが確認できます。
ハイパラ感度分析
論文はハイパラの安定性も確認しています。

出典: J. Xu ら “Anomaly Transformer”, ICLR 2022 (arXiv:2110.02642), Fig.7.
左のグラフが窓サイズ(Window Size)に対する F1 の感度で、50〜300 の広い範囲でほとんどのデータセットが高いF1を保っており、論文が採用した窓サイズ100が安定域の中央付近にあることが分かります。右のグラフが損失重み λ に対する感度で、λ=1〜6 の範囲でF1の変動が小さく、損失バランスの細かいチューニングに依存しない設計であることが示されています。いずれの軸でも「崖崩れ」のような急落がなく、実用上は論文推奨値($\text{窓}=100, \lambda=3$)で多くのデータセットに対応できることを示唆しています。
まとめ
Anomaly Transformerのアーキテクチャを骨子から追いました。
- 着想: 異常はまれ→関連が近傍集中。正常は系列全体に関連 → その差(Association Discrepancy)で見分ける
- Anomaly-Attention(論文 式2): series-association $S^l = \mathrm{Softmax}(QK^\top/\sqrt{d_\text{model}})$ + prior-association $P^l = \mathrm{Rescale}(G(|j-i|;\sigma_i))$ の二枝。$Q,K,V,\sigma$ は同一入力から線形投影。$\sigma_i \in \mathbb{R}$ は時刻ごとに独立に学習される近傍幅パラメータ。$P^l, S^l \in \mathbb{R}^{N\times N}$、再構成出力 $\hat{\mathcal{Z}}^l = S^l V$
- Association Discrepancy(論文 式3): $\mathrm{AssDis}(P,S;X) \in \mathbb{R}^{N\times 1}$、層平均の対称KL。異常点ほど小さい
- 損失(論文 式4): $\mathcal{L}_\text{Total} = \|X-\hat{X}\|_F^2 – \lambda\|\mathrm{AssDis}\|_1$、$\lambda=3$
- minimax(論文 式5): Minimize フェーズ($\lambda \to -\lambda$, $P$ 更新, $S$ detach)/Maximize フェーズ($\lambda$, $S$ 更新, $P$ detach)を交互に → 乖離を増幅。隣接注意重みのコントラストが最大2.64倍に増幅(Table.3)
- 異常スコア(論文 式6): $\mathrm{AnomalyScore}(X) = \mathrm{Softmax}(-\mathrm{AssDis})\odot\|X_{i,:}-\hat{X}_{i,:}\|_2^2 \in \mathbb{R}^{N\times 1}$。乗算で両者が協調
- 実装ハイパラ: $L=3$, $d_\text{model}=512$, $h=8$, $\lambda=3$, 窓サイズ100
- 主要性能: 5データセットでF1=92.33〜97.89%。ROC AUC 0.98〜0.99台。18手法中トップ
- 設計要素の効果: 協調基準+18.34%、学習可能prior+8.43%、minimax+7.48%(Table.2)
- ロバスト性: 5種類の異常タイプ(Point-Global/Contextual/Pattern-Shapelet/Seasonal/Trend)に対応、窓サイズ50〜300・λ=1〜6で安定
「点の再構成」でも「対の関連」でもなく、関連分布の集中度の差という新しい基準を、注意機構の改造とminimaxで実現したのが Anomaly Transformer です。コードは github.com/thuml/Anomaly-Transformer で公開されています。
この「関連の乖離で異常を見分ける」着想はその後発展し、DCdetector(KDD 2023)は再構成項を捨て、同じ窓を2つの見方(パッチ間/パッチ内)で対照し乖離だけで検出する後継として知られます。また関係ベースの方向では、SARAD(NeurIPS 2024)が「変量間の空間的関連の崩壊」を検出基準にし、OracleAD(NeurIPS 2025)が安定参照テンプレートとの構造逸脱を使う発展系として続きます。Anomaly Transformer と合わせて読むと、関連ベース検出の系譜が見えてきます。







参考文献
- J. Xu, H. Wu, J. Wang, M. Long. “Anomaly Transformer: Time Series Anomaly Detection with Association Discrepancy.” ICLR 2022 (arXiv:2110.02642). コード: github.com/thuml/Anomaly-Transformer
- A. Vaswani ら. “Attention Is All You Need.” NeurIPS 2017(Transformerの原典)