時系列の異常検知で難しいのは「過渡的なゆらぎ」の扱いです。サーバの起動直後やネットワークトラフィックの週末の落ち込みは、値が大きく変化しても「正常な現象」です。しかし単純な再構成誤差で判定すると、こうした正常なゆらぎをことごとく異常と誤判定してしまいます。
この問題を解決する鍵は「分散を学習する」ことです。再構成の平均 $\mu_x$ だけでなく、不確かさの幅を表す $\sigma_x$ も同時に推定できれば、「値は変化しているが、モデルが予測する範囲内に収まっている」ことを検出できます。DC-VAE(Dilated Convolutional Variational Autoencoder)は、この考え方を因果拡張畳み込みネットワークの上に実現した手法です。
DC-VAEが力を発揮する応用先は大きく2つあります。まず通信ネットワーク監視—モバイルISPのトラフィック時系列のように、日次・週次の周期性を持ちながら不規則な変動も含むデータで、正常域の学習と誤検知の抑制が同時に求められる場面です。もう一つは宇宙機テレメトリ—長期ミッション中にセンサ値が徐々にドリフトする状況で、変化の幅そのものを学習することで誤検知を防ぎます。DC-VAEはその後、ESA(欧州宇宙機関)が整備した異常検知ベンチマーク(ESA-ADB)のベースライン手法としても採用され、後継の基盤モデルFAEへと発展しています。
本記事では、DC-VAEのアーキテクチャを式レベルで丁寧に解説し、なぜこの設計が「分散を推定できる」のか、そしてそれが異常検知においてどう効くのかを説明します。
本記事の内容
- 因果拡張畳み込み(Causal Dilated CNN)の受容野拡大の仕組み
- VAEのエンコーダ→潜在変数 $\bm{z}$、再パラメータ化トリック
- デコーダによる heteroscedastic な $\mu_x, \sigma_x$ 出力
- ELBO損失関数の再構成項とKL正則化項の役割
- 異常スコア $s = |x – \mu_x| / \sigma_x$ と $N\sigma$ 閾値の動作原理
- ESA-ADB での評価設定と後継モデルFAEへの発展
前提知識
この記事を読む前に、以下の記事で基礎を押さえておくと理解が深まります。
なぜ「分散を学習する」必要があるのか
単純な再構成型オートエンコーダで異常検知をする場合、異常スコアは再構成誤差そのものです。
$$ s_t = \| \bm{x}_t – \hat{\bm{x}}_t \|^2 $$
この式には大きな問題があります。異常スコアのスケールが「そのデータが本来どのくらい変動するべきか」という情報を持っていないのです。
工場のポンプ回転数を例に考えましょう。通常運転中は毎分3000回転を中心に±50回転程度でゆれます。一方、起動直後の過渡期には±300回転の変動が「正常」です。もし閾値を固定値で設定すると、過渡期の正常な変動が毎回アラームを鳴らします。
求めているのは「このタイムステップでの、モデルが許容する変動幅」です。時刻 $t$ ごとに異なる標準偏差 $\sigma_{x,t}$ を学習できれば、異常スコアをこう定義できます。
$$ s_t = \frac{|x_t – \mu_{x,t}|}{\sigma_{x,t}} $$
正常な過渡期では $\sigma_{x,t}$ が大きく計算され、同じ偏差でもスコアが低くなります。真の異常——例えばセンサの固着や突発的なスパイク——は、モデルが予測した正常域から明確に外れるため、スコアが急上昇します。これが heteroscedastic(不均一分散)な再構成 の考え方です。
VAEはまさにこの目的のための框組みを持っています。デコーダが確率分布のパラメータを出力するという設計が、自然に $\mu_x$ と $\sigma_x$ の同時推定をもたらします。しかし問題は「長い時系列の時間的依存関係をどう捉えるか」です。ここで登場するのが因果拡張畳み込みです。
因果拡張畳み込み:受容野を指数的に広げる
時系列モデルには「未来の情報を使わない」という制約があります。時刻 $t$ の異常判定に時刻 $t+1$ 以降の情報を使えば、実用的なリアルタイム検知ができません。この制約を「因果性」と呼びます。
通常の畳み込みでは、カーネルサイズ $F$ のフィルタは $F$ 個の時間ステップしか参照できません。深く積み重ねても受容野は線形にしか増えません。拡張畳み込み(Dilated Convolution)は、フィルタの適用点に間隔(拡張率 $D$)を置くことで、パラメータ数を増やさずに受容野を広げます。
拡張率 $D$ の畳み込みでは、$F$ 個のフィルタが $D \times (F-1) + 1$ 個のタイムステップをカバーします。カーネルサイズ $F=2$、拡張率 $D=1, 2, 4$ と指数的に増やしていくと:
$$ \text{層0}(D=1) : \text{受容野} = 2 \\ \text{層1}(D=2) : \text{受容野} = 4 \\ \text{層2}(D=4) : \text{受容野} = 8 $$
3層で受容野が8タイムステップに達します。層 $n$($n=0,1,\ldots,N-1$)の拡張率は
$$ d_n = F^n $$
と指数的に増加します($F=2$ なら $d_0=1, d_1=2, d_2=4, \ldots$)。
層数の決定則(FAE論文の定式化):ウィンドウ長 $T$ を完全にカバーするために必要な最小隠れ層数 $N$ は次の不等式を満たす最小の整数です。
$$ T \leq 2 \cdot F^{N-1} $$
$F=2$ の場合、$2 \cdot 2^{N-1} = 2^N$ なので $N = \lceil \log_2 T \rceil$ と書き直せます。具体例を確認します:$T=8$ なら $N=3$($2^3=8$)、$T=256$ なら $N=8$($2^8=256$)。
なお前述のよう、層0から層 $N-1$ の最大受容野は $2 \cdot F^{N-1}$($F=2$ のとき $2^N$)となります。この値が $T$ 以上であれば、最終タイムステップの出力がウィンドウ全体を参照できることが保証されます。
この構造の重要な点は因果性の保証です。畳み込みは常に過去方向にのみパディングを行い、未来の時刻を参照しません(これが「causal」の意味です)。つまり、最終層の時刻 $T-1$ における出力は、入力 $X_0, X_1, \ldots, X_{T-1}$ の全時刻の情報を含む一方、未来のサンプルには依存しません。
RNNに比べた優位性は2点あります。まず並列計算が可能なこと——畳み込みは全タイムステップを同時に処理できます。次に勾配消失が起きにくいこと——長い系列でも接続が安定しています。DC-VAEはこの因果拡張畳み込みをエンコーダとデコーダの両方に用い、時系列の長期依存関係を効率的に捉えます。
エンコーダ:入力から潜在分布パラメータへ
DC-VAEのエンコーダは、多変量時系列 $\bm{X} \in \mathbb{R}^{J \times T}$ を受け取り、潜在空間の分布パラメータ $\bm{\mu}_z, \bm{\sigma}_z \in \mathbb{R}^{J \times 1}$ を出力します。ここで $J$ は変量数、$T$ はウィンドウ長です。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.1
この図はDC-VAEの後継モデルFAEのアーキテクチャですが、DC-VAEの設計を忠実に継承しています。左がエンコーダ、右がデコーダです。中央の「Reparameterization Trick」ボックスが、2つのモジュールをつなぐ確率的なサンプリングに対応します。
エンコーダ内の処理を追います。入力 $\bm{X} \in \mathbb{R}^{J \times T}$($J$:変量数)は $N$ 個の拡張畳み込み隠れ層を通過します(層 $n$ の拡張率 $d_n = F^n$、フィルタ数 $U$)。各隠れ層の出力は $\bm{H} \in \mathbb{R}^{U \times T}$——つまり時系列長 $T$ は変わりません。チャネル方向だけが $J \to U$ に変化します。
最終隠れ層の出力から、フィルタサイズ1の畳み込み層を2本並列に適用します。各並列層のフィルタ数を $J$ に設定することで、出力は $\mathbb{R}^{J \times T}$ となります。そしてそれぞれの最後のタイムステップ(時刻 $T-1$)の値だけを取り出すと潜在分布のパラメータが得られます:
$$ \bm{\mu}_z, \bm{\sigma}_z \in \mathbb{R}^{J \times 1}, \quad J < T $$
ここで $J < T$ は圧縮条件です(FAE論文でも明示)。DC-VAEでは変量数と潜在次元が同じ $J$ に設定されており、圧縮は時間軸方向($T \to 1$)にのみ行われます。
なぜ最後のタイムステップだけを使うのか。因果拡張畳み込みの設計により、時刻 $T-1$ の出力だけが入力全体 $[X_0, X_1, \ldots, X_{T-1}]$ の情報を持つからです。それ以外の時刻の出力は、対応する過去の一部しか参照していません。このため $\bm{\mu}_z$ と $\bm{\sigma}_z$ はウィンドウ全体を圧縮した「要約ベクトル」として機能します。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.1(エンコーダ部分)
図左のエンコーダを見ると、下から上に向かって拡張率が1→2→4と増え、各層でブロック色が変わっているのがわかります。最上層の出力のうち、右端(最終タイムステップ)の列から $\bm{\mu}_z$ と $\bm{\sigma}_z$ の2本の矢印が出ていることが確認できます。
$\bm{\sigma}_z$ は標準偏差ですが、実装上は負値を取らないように工夫します。ネットワークの出力 $\tilde{\sigma}_z$ に対してソフトプラスまたは指数関数を適用します。
$$ \bm{\sigma}_z = \text{softplus}(\tilde{\sigma}_z) = \log(1 + e^{\tilde{\sigma}_z}) $$
あるいは単純に $\bm{\sigma}_z = e^{\tilde{\sigma}_z / 2}$(対数分散を出力する変形)を使う場合もあります。いずれも正値を保証し、潜在空間の分布が正しいガウス分布を表現できるようにします。同様の正値制約はデコーダ出力 $\bm{\sigma}_x$ にも適用されます(デコーダ出力の生の値にも同じソフトプラスまたは指数変換を通すことで $\sigma_{x,j,t} > 0$ を保証します)。
再パラメータ化トリック:確率的サンプリングを微分可能に
VAEの訓練では「サンプリング」という確率的な操作が必要です。エンコーダが $q_\phi(\bm{z}|\bm{X}) = \mathcal{N}(\bm{\mu}_z, \text{diag}(\bm{\sigma}_z^2))$ を学習し、そこから $\bm{z}$ をサンプリングしてデコーダに渡します。
しかし確率変数のサンプリングは微分不可能です。勾配を逆伝播できなければ、エンコーダを訓練できません。
再パラメータ化トリックはこの問題を解決します。確率的な部分を入力から分離します。
$$ \bm{z} = \bm{\mu}_z + \bm{\epsilon} \odot \bm{\sigma}_z, \quad \bm{\epsilon} \sim \mathcal{N}(\bm{0}, \bm{I}) $$
ここで $\odot$ は要素積です。ランダムネスは補助変数 $\bm{\epsilon}$ に押し込め、$\bm{\mu}_z$ と $\bm{\sigma}_z$ についての勾配は確定的に計算できます。図中央の「$+\epsilon \ast \sigma_z = z$」というボックスがまさにこれです。$\bm{\epsilon} \sim \mathcal{N}(\bm{0}, \bm{I})$ から独立にサンプリングし、スケーリングしてシフトするだけです。
この操作によって、エンコーダのパラメータ $\phi$ に対して $\bm{z}$ の生成過程全体が微分可能になり、ELBOの勾配をエンドツーエンドで計算できるようになります。
デコーダ:heteroscedasticな出力で再構成分布を生成
デコーダはエンコーダと対称な構造を持ちます。ただし入力の与え方に工夫があります。潜在ベクトル $\bm{z} \in \mathbb{R}^{J \times 1}$ は1タイムステップのベクトルですが、デコーダは $T$ 長の系列を受け取る必要があります。そこで $\bm{z}$ を $T$ 回繰り返し、$\bm{z} \in \mathbb{R}^{J \times T}$ を入力とします。
$$ \text{decoder input} = [\underbrace{\bm{z}, \bm{z}, \ldots, \bm{z}}_{T \text{ 個}}] \in \mathbb{R}^{J \times T} $$
デコーダの各拡張畳み込み層は、「全タイムステップにわたって、同じ潜在コードを参照しながら時系列を展開する」という操作を行います。デコーダの拡張率はエンコーダと逆順($D=4, 2, 1$)となり、最終出力 $\bm{H} \in \mathbb{R}^{U \times T}$ が得られます。
最終層からも、フィルタサイズ1の2本並列の畳み込みを通じて2つの出力を取り出します。
$$ \bm{\mu}_x \in \mathbb{R}^{J \times T}, \quad \bm{\sigma}_x \in \mathbb{R}^{J \times T} $$
これがDC-VAEの核心です。デコーダは単一の再構成値を返すのではなく、各タイムステップ・各変量ごとに正規分布のパラメータを返します。
$$ p_\theta(\bm{X} | \bm{z}) = \prod_{j=1}^{J} \prod_{t=0}^{T-1} \mathcal{N}(X_{j,t}; \mu_{x,j,t}, \sigma_{x,j,t}^2) $$
「heteroscedastic」とは「不均一分散」を意味します。通常の再構成オートエンコーダでは各タイムステップの再構成誤差の標準偏差が一定(homoscedastic)と仮定されますが、DC-VAEでは $\sigma_{x,j,t}$ がタイムステップ $t$ によって異なる値を取ります。過渡的に変動が大きい区間では $\sigma_{x,j,t}$ が自然と大きくなり、静穏な区間では小さくなります。
ELBO損失:再構成精度とKL正則化のバランス
DC-VAEを訓練する目的関数は、VAEの標準的な変分下限(ELBO)です。
$$ \mathcal{L}_{\text{ELBO}} = \mathbb{E}_{q_\phi(\bm{z}|\bm{X})} \left[ \log p_\theta(\bm{X} | \bm{z}) \right] – D_{\text{KL}}(q_\phi(\bm{z}|\bm{X}) \| p(\bm{z})) $$
各項の意味を順に押さえます。
第1項:再構成対数尤度
$p_\theta(\bm{X} | \bm{z})$ がガウス分布であるという仮定から、対数尤度を展開します。
$$ \log p_\theta(\bm{X} | \bm{z}) = \sum_{j,t} \left[ -\frac{1}{2} \log(2\pi \sigma_{x,j,t}^2) – \frac{(X_{j,t} – \mu_{x,j,t})^2}{2\sigma_{x,j,t}^2} \right] $$
定数項を除くと、最小化すべき量は次の2項になります。
$$ \mathcal{L}_{\text{recon}} = \sum_{j,t} \left[ \frac{(X_{j,t} – \mu_{x,j,t})^2}{2\sigma_{x,j,t}^2} + \frac{1}{2}\log \sigma_{x,j,t}^2 \right] $$
第1項は「分散で正規化した再構成誤差」です。$\sigma_{x,j,t}$ が大きいほどペナルティが小さくなります——モデルが「この時刻は変動が大きい」と判断したなら、外れても許容します。第2項の $\log \sigma_{x,j,t}^2$ は正則化です。$\sigma_{x,j,t}$ を単純に大きくして第1項を0にしようとすると、第2項が増大してペナルティを受けます。この2項のバランスが、$\sigma_{x,j,t}$ をデータの実際のゆらぎに合わせて学習させる仕組みです。
第2項:KLダイバージェンス
事後分布 $q_\phi(\bm{z}|\bm{X}) = \mathcal{N}(\bm{\mu}_z, \text{diag}(\bm{\sigma}_z^2))$ と事前分布 $p(\bm{z}) = \mathcal{N}(\bm{0}, \bm{I})$ のKLダイバージェンスは、ガウス分布同士なので解析的に計算できます。
$$ D_{\text{KL}} = \frac{1}{2} \sum_{j=1}^{J} \left( \bm{\mu}_{z,j}^2 + \bm{\sigma}_{z,j}^2 – \log \bm{\sigma}_{z,j}^2 – 1 \right) $$
この項が潜在空間を「正規分布の形」に整えます。KL項が大きすぎると過度な正則化になり再構成精度が下がりますが、小さすぎると潜在空間が分散しすぎて汎化能力が失われます。実用的にはKL項に重み $\beta$ を付けた $\beta$-VAE の形にすることもあります。
$$ \mathcal{L} = \mathcal{L}_{\text{recon}} – \beta \cdot D_{\text{KL}} $$
以上の損失関数は全て確定的な演算で表現されており(再パラメータ化トリックを使っているため)、確率的勾配降下法でエンコーダとデコーダを同時に訓練できます。
異常スコアとNσ閾値:実装レベルの異常判定
訓練済みのDC-VAEモデルで異常検知を行う手順は次の通りです。
入力ウィンドウ $\bm{X}_t \in \mathbb{R}^{J \times T}$(時刻 $t$ を末尾とするウィンドウ)をモデルに通し、$\bm{\mu}_x$ と $\bm{\sigma}_x$ を得ます。各変量 $j$、各タイムステップ位置での異常スコアは:
$$ s_{j,t} = \frac{|X_{j,t} – \mu_{x,j,t}|}{\sigma_{x,j,t}} $$
これは「何標準偏差離れているか」を表すzスコアそのものです。変量間・タイムステップ間でスケールが揃った、比較可能なスコアが得られます。
多変量の場合、変量全体のスコアを集約します。シンプルな方法はmax値を使う方法(いずれかの変量が外れれば検知)や平均を使う方法です。
$$ S_t = \max_{j} s_{j,t} \quad \text{または} \quad S_t = \frac{1}{J} \sum_{j} s_{j,t} $$
閾値 $\alpha$ を設定し、$S_t > \alpha$ のとき異常と判定します。$\alpha$ の典型的な値は3や5——それぞれ「3標準偏差外れ(正規分布で確率0.27%)」「5標準偏差外れ(正規分布で確率0.00006%)」に対応します。FAE論文では $\alpha$ を「正の整数」と定義しており、各変量・各タイムステップが「正常域」に含まれる条件を次の区間で表現しています。
$$ X_{j,t} \in \left[\mu_{x,j,t} – \alpha \cdot \sigma_{x,j,t},\; \mu_{x,j,t} + \alpha \cdot \sigma_{x,j,t}\right] $$
この区間に収まれば正常、外れれば異常です。スコア式 $s_{j,t} = |X_{j,t} – \mu_{x,j,t}| / \sigma_{x,j,t}$ との関係は単純で、$s_{j,t} \leq \alpha$ が正常条件に対応します。
$$ \hat{y}_t = \begin{cases} 1 & (S_t > \alpha) \\ 0 & (S_t \leq \alpha) \end{cases} $$
この $N\sigma$ 閾値の解釈が直感的な点は、正規分布への慣れ親しみを活かせることです。$\alpha = 3$ とすれば、正常期間中にランダムに選んだタイムステップがアラームを発する確率は約0.27%——100分に1回未満です。実際のシステムでは正常期間が非常に長いため、$\alpha$ を高めに設定することが多くあります。
OmniAnomaly(OmniAnomaly:確率的RNNによる多変量時系列異常検知)と対比すると興味深い違いがあります。OmniAnomaly は GRU と正規化フローで潜在空間の時間相関を明示的にモデル化し、異常スコアとして「再構成確率の低さ」を使います——スコアが「小さい=異常」です。DC-VAE は対照的に、デコーダ出力の $\sigma_x$ を直接使った zスコアで異常判定します——スコアが「大きい=異常」です。評価指標や閾値の設定方向が逆転する点に注意が必要です。
DC-VAEのアーキテクチャ設計の特徴
DC-VAEが実際にどのような再構成を行うか、FAE論文の実験結果で確認します。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.3(b)(DC-VAE多変量モデルの予測)
この図はTELCOデータセット(モバイルISPのネットワーク監視時系列)における、DC-VAE多変量モデルの2日間の予測を示しています。オレンジの実線が実測値 $\bm{x}$、青の実線が再構成の平均 $\bm{\mu}_x$、青い帯が $\mu_x \pm 2\sigma_x$ の正常域に対応します。日次の周期性を正確に追い、かつ不確かさの幅が自動的に調整されている様子が見て取れます——変動が大きい時間帯では帯が広がり、安定した深夜帯では帯が狭まります。
DC-VAEの多変量版が持つ重要な特徴は「変量間の空間相関を活用する」点です。FAEの論文では、TS12(特定の時系列)の土曜夜間の落ち込みを、DC-VAEはTS11やTS1との強い空間相関を利用して正確に予測していると述べています。これは因果拡張畳み込みが時間方向だけでなく、多変量データの変量間依存も自然に捉えられることを示しています。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.4(潜在空間の時間的変化)
潜在空間 $\bm{z}$ の主成分を可視化した図です。横軸がZPC1、縦軸がZPC2で、各点の色は時間帯(0時から21時まで3時間ごとに色分け)を表します。時間の流れに沿って潜在表現が滑らかな軌道を描いていることがわかります。日次の周期性が潜在空間の構造として学習されているのです。正常運転中の時系列は、この「時刻に応じた正常な軌道」の近傍に分布します。異常点が生じると、潜在表現がこの正常軌道から外れ、デコーダが大きな $\sigma_x$ を推定できないほど外れた再構成を強いられます。
ハイパーパラメータと実装上の設計選択
DC-VAEの主要なハイパーパラメータと、それぞれが持つ意味を確認します。FAE論文(García González et al., MiLeTS@KDD 2024)ではTPE探索(50試行)で以下の最良値が得られています。
| ハイパーパラメータ | 探索範囲 | 最良値 | 意味 |
|---|---|---|---|
| $T$(ウィンドウ長) | 128〜512(step 32) | 256 | 文脈の深さ(5分サンプリングで約21時間) |
| $J$(潜在次元) | 16〜$T/4$(step 16) | 48 | 圧縮表現の次元(要件:$J < T$) |
| $\gamma$(学習率) | $10^{-5}$〜$5 \times 10^{-4}$ | $6 \times 10^{-5}$ | Adam等のステップ幅 |
| $m$(ミニバッチ数) | 16〜96(step 16) | 32 | 確率的勾配のバッチサイズ |
| $U$(フィルタ数) | 16〜128(step 16) | 128 | 各隠れ層の幅 |
| $\alpha$(閾値) | 整数 | 3または5 | $N\sigma$ 判定の感度 |
ウィンドウ長 $T$ と層数 $N$ の対応:決定則 $T \leq 2 \cdot F^{N-1}$ より、$T=256$、$F=2$ のとき $N=8$($2^8=256$)が必要最小層数です。合計パラメータ数は $T=256$、$J=48$、$U=128$ で $p=483{,}840$ と論文で確認されています。
潜在次元 $J$:探索範囲が $16$ から $T/4=64$(step 16)であり、圧縮条件 $J < T$ を常に満たします。最良値 $J=48$ は $T=256$ に対して時間軸を約$1/5.3$に圧縮することに対応します。あまり小さいと再構成精度が落ち、大きいとKL正則化が弱くなり潜在空間が拡散します。
フィルタ数 $U$:各隠れ層の幅を決めます。$U=128$ は変量間の複雑な相関を捉える表現力を提供しますが、増やすほど過学習リスクと計算コストが上がります。
異常判定閾値 $\alpha$:STD3($\alpha=3$)とSTD5($\alpha=5$)の2段階が実用上よく使われます。精度重視なら $\alpha=3$(感度高め)、誤報率を下げたいなら $\alpha=5$ を選びます。ESA-ADB評価では複数の $\alpha$ でROC曲線を描き、AUCで評価する方法も採用されます。
ネットワーク構造の重要な特性として、$T$ がネットワーク深さを決定するという直接的な関係があります。$T$ を決めれば自動的に必要な隠れ層数 $N$ が定まります($N = \lceil \log_2 T \rceil$、$F=2$ 固定時)。この関係により、「必要な時間的文脈の深さ」から出発してアーキテクチャを設計できます。
DC-VAE と FAE:多変量から基盤モデルへの発展
FAE(Foundation Auto-Encoder)は DC-VAE のアーキテクチャを引き継ぎつつ、多変量→単変量の方向でスケールさせた後継モデルです。
DC-VAEが多変量入力 $\bm{X} \in \mathbb{R}^{J \times T}$($J$:変量数)を処理するのに対して、FAEは1変量 $\bm{X} \in \mathbb{R}^{1 \times T}$ を入力とし、複数の時系列をクラスとして扱いながら共通のモデルを訓練します。
圧縮の軸も異なります。DC-VAEでは変量数と同じ次元 $J$ の潜在空間を使い、時間軸方向($T \to 1$)にのみ圧縮します(エンコーダ最終層の最後のタイムステップだけを取り出す)。FAEでは入力が1次元なのに対して潜在次元 $J=48$ に拡張しつつ、同様に時間軸 $T \to 1$ の圧縮を行います。FAE論文の言葉を借りれば「DC-VAEの次元削減は空間次元で行われ、FAEは時間次元で行われる」という対比です。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.7(FAE vs DC-VAEのTELCO比較)
FAEとDC-VAEの異常検知性能を比べたのがこの図です。左がDC-VAE、右がFAEで、オレンジ実線が実測値、青実線が $\mu_x$、帯が $\sigma_x$ の推定範囲、黄色のハイライトが検知した異常区間を示しています。両者の検知性能は概ね同等ですが、細部を見るとFAEが特定の変量でより精度の高い正常域推定を行っています。
DC-VAEが多変量の空間相関を活用するのに対して、FAEは個々の変量の時間パターンを学習します。どちらが優れているかはデータの性質に依存しますが、FAEはドメイン変化(テストデータの分布が訓練時と異なる場合)に対して頑健な傾向があります。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.8(FAE vs DC-VAEのTELCO2比較)
TELCO2(2024年に取得した新規データ)での比較です。同じ訓練済みモデルを異なる時期のデータに適用しています。左のDC-VAEは一部の変量で正常域推定が不安定になっているのに対して、右のFAEはより安定した推定を維持しています。論文は「TELCO2では変量間の空間的相関パターンが微妙に変化しており、その変化への追従がDC-VAEでは難しい」と分析しています。FAEの単変量設計が、変量間依存の変化に引きずられない頑健性をもたらしていると解釈されます。
潜在空間の解釈可能性
VAEベースの手法の大きな利点は、潜在空間 $\bm{z}$ の可視化によって「モデルが何を学んでいるか」を確認できることです。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.5(a)(潜在空間の時系列別表現)
FAEを全12変量で訓練したときの潜在空間を主成分展開した図です。各点の色が異なる時系列(TS1〜TS12)に対応しています。同じ時系列のサンプルは空間内で凝集し、異なる時系列は別の領域を占めていることがわかります。モデルが各変量の固有のパターンを区別して学習していることの証拠です。
特に注目したいのは、TS1とTS4のような「静穏な変量」は中央の狭い領域に集まっているのに対して、TS8やTS12のような「週末/平日で挙動が異なる変量」は広がった分布を持つ点です。ゆらぎの大きい変量ほど潜在空間でも広く分布するという関係が自然に現れています。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.5(b,c)(平日vs週末の潜在空間分布)
同じ潜在空間を「平日(紫)vs 週末(黄色)」で色分けした図です。TS1では2つのクラスタが明確に分離しており、モデルが「平日パターン」と「週末パターン」を区別して学習していることが視覚的に確認できます。一方、TS4ではこの区別がほとんど見られません——実際にTS4は平日・週末で行動パターンが変わらない変量です。
このような潜在空間の解釈可能性は、異常検知の運用において重要な価値を持ちます。「このタイムステップが異常と判定されたが、潜在空間での位置を見ると週末パターンの領域に入っており、訓練時にこのパターンが過少表現されていた」といった診断が可能になります。
ゼロショット汎化能力:見ていない時系列への適応
FAEが基盤モデル化の方向で拡張した先には、「未見データへのゼロショット適用」という目標があります。

出典: García González et al., MiLeTS@KDD 2024, arXiv:2507.01875, Fig.9(ゼロショット予測実験)
この実験では、TS12を訓練データから除外してFAEを訓練し、テスト時にTS12の予測を行っています。(a)全12変量での訓練、(b)TS12を除く11変量での訓練、(c)TS11とTS12を除く10変量での訓練の3条件を比較しています。(a)と(b)はほぼ同等の精度——TS12を1度も見ていなくても、TS11など類似した変量から学んだパターンでTS12の正常域を推定できています。(c)はTS11もない状況でパターン学習が劣化します。
このゼロショット能力は、DC-VAEの段階では実現されていませんでした。DC-VAEが多変量の空間相関をモデル化することに特化しているのに対して、FAEは「時系列パターンの普遍的な表現」を学習する設計になっているため、転移可能な表現が生まれるのです。
ESA-ADB:ベンチマークとしての位置づけ
DC-VAEはESA(欧州宇宙機関)が整備した異常検知ベンチマークデータセット(ESA-ADB)のベースライン手法として採用されています。ESA-ADBは軌道上の機器から取得された多変量時系列データを含むベンチマークで、複数のデータセットと一貫した評価プロトコルを提供しています。
ESA-ADBでの評価設定でDC-VAEが選ばれた理由は、次の特性にあります。
- 因果設計:未来の情報を使わず、リアルタイム検知の現実的な条件に合う
- 分散の明示的推定:データ収録期間や機器の動作モードが変わっても、分散が追従できる
- 長期依存の捕捉:指数的に拡大する受容野が、周回ごとの周期性など長期パターンに対応
- 訓練の安定性:RNNと比べて並列計算可能でバッチ訓練が安定
実際の評価では、閾値 $\alpha$ を変えながらROC曲線を描き、AUC-ROCやAUC-PRで比較する手法が採られます。関連する評価指標の詳細はVUS:時系列異常検知の評価指標で詳しく解説しています。
command-and-relation-anomaly-detectionで解説している「コマンドと計測値の関係に基づく異常検知」と組み合わせると、DC-VAEの再構成誤差を「現在のコマンド状態(運転条件)を考慮した残差」として解釈する拡張が自然に考えられます。状態ごとに独立したDC-VAEモデルを訓練し、現在の状態に対応するモデルで判定する方式です。
telemanom との関係:宇宙機テレメトリ異常検知の系譜
DC-VAEの前身として参照される手法の一つが、NASAのMSL・SMAPデータに基づくTelemanomです。
TelemanomはLSTMベースの予測モデルで、1ステップ先の予測値と実測値の誤差を異常スコアとします。DC-VAEとの主要な違いは3点です。
- 単一ステップ予測 vs ウィンドウ再構成:telemanomaが次の1点を予測するのに対して、DC-VAEはウィンドウ全体を再構成します
- 予測モデル vs 生成モデル:telemanomaは確定的な予測を返しますが、DC-VAEは確率分布を推定します——$\sigma_x$ の出力が本質的な違いです
- 固定分散 vs 学習分散:telemanom はスムージングされた誤差の統計的閾値を使いますが、DC-VAEはモデル自身が各タイムステップの不確かさを推定します
いずれの手法も「正常パターンを学習し、外れた点を異常とみなす」という教師なし検知の枠組みを共有していますが、不確かさの扱い方が根本的に異なります。
まとめ
本記事では、DC-VAEのアーキテクチャと動作原理を解説しました。
- 因果拡張畳み込み:層 $n$ の拡張率 $d_n=F^n$($F=2$ なら $1,2,4,\ldots$)。最小層数は $T \leq 2 \cdot F^{N-1}$($F=2$ のとき $N=\lceil\log_2 T\rceil$)で決まり、最後のタイムステップが入力全体を参照できることを保証。並列計算可能で訓練が安定
- エンコーダ:因果拡張畳み込みで $T$ 長の入力を処理し、最終タイムステップからウィンドウ全体の圧縮表現 $\bm{\mu}_z, \bm{\sigma}_z$ を取り出す
- 再パラメータ化トリック:$\bm{z} = \bm{\mu}_z + \bm{\epsilon} \odot \bm{\sigma}_z$ でサンプリングを微分可能にし、エンドツーエンド訓練を実現
- heteroscedasticなデコーダ:各タイムステップ・各変量ごとに $\mu_{x,j,t}$ と $\sigma_{x,j,t}$ を出力し、データのゆらぎに合わせた正常域を学習
- ELBO損失:$\sigma_x^2$ で正規化した再構成誤差と $\log \sigma_x^2$ のバランスが、分散の適切な学習を保証
- $N\sigma$ 閾値:異常スコア $s = |x – \mu_x| / \sigma_x$ を $\alpha$ 標準偏差で閾値判定。過渡的なゆらぎは $\sigma_x$ が大きくなることで自動的に許容
この設計が解決する核心的な問題は「分散の適応的学習」です。正常なゆらぎが大きい区間では $\sigma_x$ が自然と大きく推定され、同じ偏差でもスコアが抑制されます。真の異常だけがスコアのスパイクとして現れます。
後継のFAEでは同じアーキテクチャを単変量に展開し、複数の時系列で共通のモデルを訓練することで、未見の時系列にも適用できるゼロショット能力を持つ基盤モデルへと発展しています。
次のステップとして、以下の記事も参考にしてください。
関連記事



