Towards Multimodal Time Series Anomaly Detection with Semantic Alignment and Condensed Interaction¶
会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=fNFbGqu6Rg
代码: https://github.com/decisionintelligence/MindTS
领域: 时间序列 / 多模态 / 异常检测
关键词: 时间序列异常检测, 多模态对齐, 对比学习, 信息瓶颈, 内生/外生文本
一句话总结¶
MindTS 把时间序列异常检测从单模态数值数据推进到「时序 + 文本」多模态:先用跨视角融合把内生文本(从序列本身生成的统计描述)和外生文本(外部背景知识)对齐到时序表示,再用基于信息瓶颈的 content condenser 过滤冗余文本、并用压缩后的文本去重建被掩码的时序,从而在 6 个真实多模态数据集上全面超过 17 个单模态/多模态基线。
研究背景与动机¶
领域现状:时间序列异常检测(healthcare、金融反欺诈、网络入侵等)长期被单模态数值方法主导——重建式(Anomaly Transformer、DADA)、预测式(GDN)、对比式(DCdetector)都只盯着数值序列本身,把异常定义为「重建误差大」或「与其他点相关性弱」。
现有痛点:现实数据往往天然多模态,文本模态尤其廉价且信息丰富(金融专家会结合交易数据 + 政策报告判断市场异常)。但把文本接进时序有两条不通的路:(1) LLM 生成内生文本——直接让 LLM 把序列翻译成自然语言,天然对齐但语义贫瘠,只能描述序列内部的统计模式,引不进外部知识;(2) 检索外生文本——从网络抓背景知识,信息丰富但来源零散,和具体时间片段语义弱相关,硬靠时间步同步「对齐」其实没对上。
核心矛盾:内生文本「对得齐但没料」、外生文本「有料但对不齐」,二者是互补而非互斥;而且无论哪种文本都掺杂大量冗余/无关描述,现有多模态方法(Time-MMD、LLM-Mixer)做直接融合,默认「所有文本都有用」,冗余内容会稀释真正有判别力的信息。NLP 里的随机掩码/改写过滤又不看文本和时序的相关性,可能把高价值文本掩掉、留下低价值文本。
本文目标:分解为两个子问题——(1) 如何在异构多模态间做语义一致的对齐;(2) 如何过滤冗余文本以增强跨模态交互。
切入角度:把文本拆成「外生视图」和「内生视图」两路互补信号,用跨视角注意力让外生背景知识被「锚定」到具体时间片段上,再用信息瓶颈原理压掉冗余、只保留对重建时序有用的文本。
核心 idea:用「内生 query 去取外生 key/value」的跨视角融合实现细粒度时序-文本对齐,再用「最小化互信息 + 跨模态重建」的 content condenser 把对齐后的文本压成精华,去重建被掩码的时序——重建误差即异常分数。
方法详解¶
整体框架¶
MindTS 解决的是「时序 X + 外生文本 C → 逐时刻异常标签」的多模态异常检测。整条管线可以看成两大块串联:前半段把异构的时序和文本对齐到统一表示空间(Fine-grained Time-text Semantic Alignment),后半段把对齐后的文本压缩去冗、再拿压缩文本反过来重建被掩码的时序(Content Condenser Reconstruction)。最终用「原始时序与重建时序的均方误差」作为异常分数——异常点更难被跨模态线索重建出来,误差自然偏大。
具体地,输入时序先经 instance norm 做实例归一化和通道独立处理,再 patching 后用 time encoder 得到 patch 表示 \(H_{time}\in\mathbb{R}^{N\times d}\);同时对每个 patch 用预设模板生成内生文本 \(O\),并对 \(X\) 做 patching & masking 经共享权重 time encoder 得到掩码时序表示 \(\tilde H_{time}\)。内生文本 \(O\) 和外生文本 \(C\) 各自经 text encoder 编码,进入跨视角融合得到融合文本 \(Z_{text}\),再经多模态对齐层与 \(H_{time}\) 做对比对齐。随后 content condenser 把 \(Z_{text}\) 过滤成压缩文本 \(Z_{con}\),最后用 \(Z_{con}\) 和 \(\tilde H_{time}\) 做跨模态重建输出 \(\hat X\)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入时序 X<br/>+ 外生文本 C"] --> B["实例归一化 + patching<br/>time encoder → H_time"]
A --> M["patching & masking<br/>共享编码器 → 掩码时序"]
B --> C["内生文本生成<br/>每个 patch 套统计模板"]
C --> D["跨视角文本融合<br/>内生 query 取外生 key/value → Z_text"]
D --> E["多模态对齐<br/>对比学习拉齐时序-文本对"]
E --> F["Content Condenser<br/>最小化互信息过滤冗余 → Z_con"]
F --> G["跨模态重建<br/>压缩文本重建掩码时序 → X̂"]
M --> G
G --> H["重建误差 = 异常分数"]
关键设计¶
1. 内生文本生成:把单模态序列翻成「时间局部」的统计描述,避免语义漂移
直接让 LLM 把整段时序翻成一句话会有语义漂移和输出不确定性,而且一个全局 prompt 抓不住序列的动态变化。MindTS 改成对每个 patch 套统一模板(均值、极值、趋势等),生成 patch 级的内生文本 \(o_i\),再用开源 LLM 当 text encoder 编码成时间局部的文本表示 \(H^O_{text}\in\mathbb{R}^{N\times d}\)。这样内生文本天然和对应时间片段对齐,既规避了单条全局 prompt 的局限,又匹配了时序的动态性——它的角色是「对得齐」的那一路。
2. 跨视角文本融合 + 对比对齐:让外生背景知识被锚定到具体时间片段
外生文本有料但零散、对不齐时间步,内生文本对得齐但只有内部统计。MindTS 用跨视角注意力把两路捏到一起:以内生文本 \(H^O_{text}\) 作 query、外生文本 \(H^C_{text}\) 作 key/value,让模型从外生背景里选择性地抽取与当前 patch 最相关的信息,融合成 \(Z_{text}\):
外生文本被当成所有 patch 共享的背景(编码为 \(H^C_{text}\in\mathbb{R}^{1\times d}\)),保证不会因单个 patch 视野太窄而丢掉上下文。融合后再用对比学习显式对齐:时序-文本相似度矩阵 \(K_{TT}\in\mathbb{R}^{N\times N}\) 中对角线(同一时间片段的时序与文本)为正样本,其余为负样本,对称 InfoNCE 损失
把正对拉近、负对推远。相比传统的 add/concat 直接拼接,对比对齐才真正建立了连续时序与离散文本之间的语义一致映射。
3. Content Condenser:用信息瓶颈最小化互信息,把文本压成「够重建时序」的精华
文本即使对齐了仍掺冗余,直接融合会稀释判别信号;NLP 的随机掩码又不看文本与时序的相关性。MindTS 借信息瓶颈(IB)思想,目标是在保留重建时序所需信息的前提下,最小化对齐文本 \(Z_{text}\) 与压缩文本 \(Z_{con}\) 的互信息:
实现上用 MLP 对 \(Z_{text}\) 算出概率矩阵 \(\Psi=[\psi_i]\),再按 \(F\sim\mathrm{Bernoulli}(\Psi)\) 采样二值掩码,\(Z_{con}=Z_{text}\odot F\),用 straight-through estimator 让梯度可回传。互信息无法直接算,论文给出可优化上界 \(I(Z_{text};Z_{con})\le \mathbb{E}_{Z_{text}}[\mathrm{KL}(P(Z_{con}|Z_{text})\,\|\,G(Z_{con}))]\),其中先验 \(G(Z_{con})\sim\prod_i\mathrm{Bernoulli}(\mu)\) 由超参 \(\mu\in(0,1)\) 控制压缩强度,落到损失:
为避免相邻 patch 的掩码跳变导致重建不稳定,再加一项平滑损失 \(L_{SM}=\frac{1}{N}\sum_i \phi_i\)(\(\phi_i=\sqrt{(\psi_{i+1}-\psi_i)^2}\)),condenser 总损失 \(L_{CL}=L_{CC}+L_{SM}\)。调 \(\mu\) 即可调节去冗强度,这是和「随机过滤」最本质的区别——它按「对重建时序是否有用」来选文本,而非随机。
4. 跨模态重建:用压缩文本重建被掩码的时序,强迫模型抓深层跨模态依赖
如果直接用完整时序 + 压缩文本去重建,时序自身信息太充足,模型会偷懒、学不到真正的跨模态依赖。MindTS 故意把任务做难:先对 \(X\) 做 patching & masking 得到掩码时序 \(\tilde X\)、经共享权重编码器得 \(\tilde H_{time}\),再让压缩文本 \(Z_{con}\) 去补全被掩盖的部分:
其中 \(Z'_{con}=\mathrm{MSA}(Z_{con},Z_{con},Z_{con})\) 是文本自注意力。重建损失 \(L_{Rec}=\|X-\hat X\|_F^2\)。掩码逼着模型只能依赖压缩文本里的跨模态线索来填空,从而既强化了模态交互,又反过来要求压缩文本保留足够多与时序相关的信息。推理时直接用原始时序与重建输出的 MSE 当异常分数。
损失函数 / 训练策略¶
总损失由三部分组成:多模态对齐损失、condenser 损失、跨模态重建损失,简单相加联合优化:
推理阶段,当前时刻的异常分数 = 该时刻输入 \(X\) 与重建输出 \(\hat X\) 的均方误差。关键超参:patch size \(p\) 通常设 6,时序掩码比例 \(m\) 在 ~50% 附近最佳,压缩强度 \(\mu\in(0.1,0.9)\) 都稳。
实验关键数据¶
主实验¶
6 个真实多模态数据集(Weather、Energy、Environment、KR、EWJ、MDT),每个都含数值时序 + 对应外生文本。评测指标用标签型 Affiliated-F1(Aff-F)和分数型 VUS-PR(V-PR)、VUS-ROC(V-ROC)。对比 17 个基线(LLM 类、预训练类、深度学习类、非学习类)。
| 数据集 | 指标 | MindTS | 次优基线 | 提升 |
|---|---|---|---|---|
| Weather | Aff-F | 82.66 | 81.06 (G4TS) | +1.6 |
| Weather | V-PR | 57.48 | 55.03 (LODA) | +2.45 |
| Energy | V-ROC | 74.44 | 65.05 (Modern) | +9.4 |
| KR | Aff-F | 90.28 | 89.55 (Timer) | +0.7 |
| MDT | V-PR | 65.44 | 52.18 (Modern) | +13.3 |
| MDT | Aff-F | 89.19 | 80.81 (G4TS/Modern) | +8.4 |
MindTS 在全部 6 个数据集、3 个指标上都拿到 SOTA。论文还把 11 个表现好的近期方法用多模态框架 MM-TSFLib(线性插值时序模型输出 + 词袋文本嵌入)扩成多模态版(Table 2,带 ∗),即便基线也吃上了文本,MindTS 仍在所有数据集上最优或最具竞争力,说明优势来自细粒度对齐 + 去冗,而非单纯「多用了文本」。
消融实验¶
在 MDT 和 Energy 上做了 6 组消融(数值来自论文柱状图 Figure 3,为定性区间):
| 配置 | 效果 | 说明 |
|---|---|---|
| Full (Ours) | 最优 | 完整模型 |
| (a) w/o 外生文本 | 明显下降 | 丢掉外部背景知识 |
| (b) w/o 内生文本 | 明显下降 | 丢掉时间局部统计描述 |
| (c) w/o 时序-文本对齐 | 下降 | 模态对齐对可靠检测至关重要 |
| (d) w/o content condenser | 显著下降 | 冗余文本反噬最严重 |
| (e) w/o 跨模态重建 | 下降 | 模态交互/判别特征提取受损 |
| (f) 对齐与压缩顺序对调 | 下降 | 先压后对齐会过早丢掉有用的时序相关信息 |
关键发现¶
- content condenser 去掉掉点最多(配置 d),印证「冗余文本会稀释判别信号」是多模态时序异常检测的核心瓶颈,过滤机制比单纯多加文本更关键。
- 顺序很重要(配置 f):必须先对齐再压缩。先压会在文本还没和时序对齐时就把潜在有用信息掐掉,属于「过早剪枝」。
- 超参鲁棒:压缩强度 \(\mu\) 在 0.1~0.9 全程都保持高性能,说明 condenser 在「保语义」和「去冗余」间能自适应平衡;patch size 先升后降、约 6 最佳(太小内存开销大);掩码比例 ~50% 最佳,太高则重建过难掉点。
亮点与洞察¶
- 「内生 query 取外生 key/value」是点睛之笔:用对得齐的内生文本去主动检索对不齐的外生背景,等于让背景知识被时间片段「锚定」,一举把两类文本「有料 vs 对齐」的矛盾化解掉,比硬靠时间步同步聪明得多。
- 把信息瓶颈落到「Bernoulli 掩码 + KL 到先验」很实用:用可调先验 \(\mu\) 控制压缩度,加一项平滑正则防相邻 patch 跳变,给「按相关性过滤文本」提供了一个可微、可控的范式,可迁移到其他多模态去冗场景。
- 「故意掩码时序、逼文本来填空」是巧妙的自监督代理任务:把跨模态交互从「锦上添花」变成「雪中送炭」,强迫压缩文本携带时序判别信息,同时天然产出重建误差作异常分数,对齐了训练目标和推理目标。
局限与展望¶
- 作者明确把范围限定在时序 + 文本两模态,不处理图像/视频,未声称是通用多模态框架。
- 方法强依赖外生文本的可得性与质量——6 个数据集都自带对应文本,但很多真实场景文本稀缺或噪声大时表现如何未充分验证。
- 消融的关键数值来自柱状图而非精确表格,去各模块的掉点幅度只能定性判断;内生文本依赖 LLM 生成统计描述,prompt 模板设计与 LLM 选择的敏感性讨论较少。
- 推理仍用单一重建 MSE 当异常分数,对「重建得好但其实异常」的对抗性异常可能不敏感,可结合预测/对比多视角分数互补。
相关工作与启发¶
- vs DCdetector / Anomaly Transformer(单模态对比/重建):它们只在数值序列内部找「相关性弱/重建误差大」的点,MindTS 引入文本模态补充语义背景;优势是复杂真实场景更鲁棒,代价是需要配套外生文本。
- vs Time-MMD / LLM-Mixer(直接融合多模态):它们默认所有文本都有用、靠时间步硬对齐或直接拼接,MindTS 用跨视角融合做语义对齐 + IB 去冗,解决了「对不齐」和「冗余稀释」两个它们忽略的问题。
- vs NLP 随机掩码/改写过滤:那类方法不看文本与时序相关性,可能误删高价值文本;MindTS 的 condenser 按「是否有助重建时序」来选,是任务感知的过滤。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次把内生/外生文本拆视图融合 + 信息瓶颈去冗引入多模态时序异常检测,两个矛盾各有针对性解法
- 实验充分度: ⭐⭐⭐⭐ 6 数据集 × 17 基线 × 3 主指标 + 6 组消融 + 超参分析,扎实;但消融数值仅给柱状图、缺精确表
- 写作质量: ⭐⭐⭐⭐ 动机层层递进、图示清晰,公式完整;个别符号(如 \(Z'_{con}\) 自注意力)需对照原文
- 价值: ⭐⭐⭐⭐ 把异常检测推向多模态、且证明「去冗 > 多加文本」,对工业时序监控有实用启发