分享自:

DCDetector:用于时间序列异常检测的双注意力对比表征学习

期刊:Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '23)DOI:10.1145/3580305.3599295

DCDetector:用于时间序列异常检测的双注意力对比表征学习

一、 作者、机构与发表信息

本研究由来自英国牛津大学(University of Oxford)的Yiyuan Yang以及来自中国阿里巴巴集团达摩院的Chaoli Zhang、Tian Zhou、Qingsong Wen和Liang Sun共同完成。其中,Yiyuan Yang在达摩院实习期间完成了此项工作。该研究成果以题为“DCDetector: Dual Attention Contrastive Representation Learning for Time Series Anomaly Detection”的论文形式,发表于2023年8月在美国长滩举行的第29届ACM SIGKDD知识发现与数据挖掘会议(Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, KDD ‘23)上。论文代码已公开在GitHub平台。

二、 研究背景与目标

本研究属于机器学习与数据挖掘领域,具体聚焦于时间序列异常检测这一关键任务。时间序列异常检测在工业设备状态监控、金融欺诈检测、故障诊断等众多现实应用中至关重要,其核心目标是识别出偏离正常样本分布的数据点。

当前,基于重构的方法(如自编码器、变分自编码器)在该领域仍占主导地位。这类方法通过学习一个能有效重构正常数据的模型,将重构误差大的样本判为异常。然而,这类方法面临一个根本性挑战:训练数据中不可避免地混入的异常点,因其重构损失较大,可能会干扰模型学习到纯净的正常数据模式,从而损害检测性能。

近年来,对比学习在计算机视觉领域取得了显著成功,其核心思想是学习一个表征空间,使得相似样本的表征彼此靠近,而不相似样本的表征相互远离。这种学习范式为时间序列异常检测提供了一个更自然、更有前景的方向:如果能学习到一个表征映射,使得正常点与异常点的表征具有显著差异,那么无需一个完美的重构模型也能有效区分它们。

基于此背景,本研究旨在解决基于重构方法的核心痛点,探索对比学习在时间序列异常检测中的应用潜力。具体研究目标是提出一种新颖的、基于纯对比学习的模型,该模型能够学习到对正常点具有排列不变性(即在不同视图下表征一致)、而对异常点敏感的表征,从而扩大正常点与异常点之间的表征差异,实现更精准的检测。

三、 研究方法与工作流程

本研究提出了一种名为DCDetector(Dual Attention Contrastive Detector)的多尺度双注意力对比表征学习模型。其核心思想在于一个关键的归纳偏置:正常时间序列点共享潜在的时序模式,因此它们与其他点之间具有很强的相关性;而异常点则不具备这种明确的模式,与其他点的相关性较弱。因此,对于正常点,从不同视角(视图)学习到的表征应该是一致的;而对于异常点,则很难在不同视角下获得一致的表征。DCDetector通过设计一个非对称的双分支对比结构来捕捉和放大这种差异。

整个模型的工作流程包含四个主要组件:前向处理模块、双注意力对比结构模块、表征差异模块和异常判定模块。

1. 前向处理模块: * 研究对象与处理:输入为多元时间序列 ( X \in \mathbb{R}^{T \times d} ),其中 ( T ) 为序列长度,( d ) 为维度(如传感器数量)。 * 处理方法:首先对输入进行实例归一化,以稳定训练过程。随后,采用通道独立的设定,即将多元时间序列的每个维度视为独立的一元时间序列进行处理。这种设计可以减少参数量,缓解过拟合问题。 * 分块操作:对每个通道的一元序列进行分块,将序列划分为重叠或非重叠的块(Patches),从而将输入转换为 ( X \in \mathbb{R}^{P \times N \times d} ),其中 ( P ) 为块大小,( N ) 为块数量。分块有助于捕获局部语义信息。

2. 双注意力对比结构模块(核心创新): 此模块是DCDetector的核心,旨在为同一输入生成两种不同视角下的表征。 * 结构设计:模型包含两个结构相同、权重共享的分支网络。两个分支的输入是经过分块处理的同一时间序列,但通过不同的注意力机制学习表征,从而构成“对比对”。 * 双注意力机制(关键创新点): * 块间注意力:将一个完整的块作为一个单元,使用多头自注意力机制(Multi-head Self-Attention)来建模不同块之间的依赖关系。它关注的是块级别的全局模式。 * 块内注意力:关注同一个块内部各个时间点之间的依赖关系,同样使用多头自注意力机制进行计算。 * 权重共享:两个注意力网络共享查询(Query)和键(Key)的投影权重矩阵,这使得两个分支的学习过程紧密关联但又非对称。 * 上采样与多尺度设计: * 由于块间注意力丢失了块内点的细节,而块内注意力丢失了块间的全局信息,为了比较两个分支的输出,需要进行上采样将其恢复为原始时间点级别的表征。 * 块间上采样:将每个块的表征重复分配给该块内的所有时间点。 * 块内上采样:将单个块内学习到的点间关系模式,复制到所有块上。 * 多尺度设计:单一的分块大小会导致信息损失。为此,DCDetector引入了多尺度分块,即并行使用多个不同大小的分块策略,分别计算双注意力表征,最后将不同尺度的上采样结果相加,得到最终的表征 ( \mathbf{n} )(块间分支输出)和 ( \mathbf{p} )(块内分支输出)。这有助于捕获不同粒度的时间模式。

3. 表征差异模块: * 损失函数设计:模型通过最大化正常点在两个分支(视图)下表征的一致性来学习。损失函数基于Kullback–Leibler散度来衡量两个表征 ( \mathbf{p} ) 和 ( \mathbf{n} ) 的差异。具体损失函数定义为: ( \mathcal{L} = \frac{ \sum [KL(\mathbf{p}, stopgrad(\mathbf{n})) + KL(stopgrad(\mathbf{n}), \mathbf{p}) ] - \sum [KL(\mathbf{n}, stopgrad(\mathbf{p})) + KL(stopgrad(\mathbf{p}), \mathbf{n}) ] }{len(\mathbf{n})} ) * 其中,( stopgrad ) 操作符表示停止梯度回传,用于异步训练两个分支,防止模型坍缩。 * 值得注意的是,这是一个纯对比损失,不包含任何重构误差项,避免了异常点对重构目标的干扰。

4. 异常判定模块: * 异常得分计算:在推理阶段,对于一个测试时间序列样本,计算其通过DCDetector得到的两个表征 ( \mathbf{p} ) 和 ( \mathbf{n} ) 之间的对称KL散度之和,作为每个时间点的异常得分。得分越高,表明该点是异常的可能性越大。 * 判定:设置一个阈值 ( \delta ),若某点的异常得分超过该阈值,则判定为异常。

关于模型坍缩的讨论:与SimSiam等仅使用正样本对的对比学习方法依赖“停止梯度”操作来避免模型坍缩不同,DCDetector发现即使不使用“停止梯度”,模型也不会坍缩。作者分析认为,这归功于其非对称的双分支设计。两个分支(块间和块内)处理数据的视角本质不同,导致其输出表征的均值向量(中心)不同,即使残差向量因输入相同而相似,其总距离也不易坍缩至零,从而自然地避免了平凡解。

四、 实验结果与分析

研究在8个广泛使用的时间序列异常检测基准数据集上进行了全面实验,包括5个多元数据集(MSL, SMAP, PSM, SMD, SWAT)、2个更具挑战性的多元数据集(NIPS-TS-SWAN, NIPS-TS-Gecco)和1个单变量数据集(UCR)。这些数据集涵盖了航天器监测、服务器指标、水处理、太阳活动、水质监测等多种应用场景。

1. 主要对比结果: * 多元数据集:在MSL、SMAP、SWAT、PSM等数据集上,DCDetector在F1分数这一核心指标上达到了最先进的性能,显著优于包括Anomaly Transformer在内的26种基线方法。论文提供了详尽的精度、召回率、F1分数对比表格(如表1所示)。 * 多指标评估:为了全面评估,研究还采用了关联精度/召回率、基于ROC曲线和PR曲线的范围AUC、体积下表面等多种新兴评估指标。在与当前强基线Anomaly Transformer的对比中(如表2所示),DCDetector在大多数指标上表现更优或相当。 * 挑战性数据集:在异常类型更多样、异常率极端(NIPS-TS-SWAN高达32.6%, NIPS-TS-Gecco低至1.1%)的NIPS-TS数据集上,DCDetector依然取得了最优的F1分数(如表3所示)。 * 单变量数据集:在包含250个子数据集的UCR单变量序列数据集上,DCDetector的平均检测准确率和F1分数也优于对比方法(如表4所示)。

2. 模型分析实验: * 消融实验: * 停止梯度:实验证实了“停止梯度”操作能提升性能,但即使完全移除它,模型依然有效且性能仍优于大多数基线,这支持了其非对称设计抗坍缩的论点(表6)。 * 前向处理:实验比较了双边滤波(去噪)和实例归一化的效果,发现单独使用实例归一化效果最佳(表7)。 * 可视化分析:通过在包含全局点异常、上下文点异常、季节性异常、群组异常、趋势异常等多种类型的合成数据上进行测试,可视化结果显示DCDetector能为异常点分配显著高于正常点的异常得分,展示了其检测多种异常模式的鲁棒性(图5)。 * 参数敏感性分析:研究系统测试了窗口大小、多尺度分块组合、编码器层数、注意力头数、隐藏层维度等关键超参数的影响(图6)。结果表明DCDetector对窗口大小具有较好的鲁棒性;多尺度设计能有效提升性能;较小的注意力头数和隐藏维度(如 ( d_{model}=256 ))即可取得良好效果,且在内存和计算时间上效率较高(图7)。

五、 研究结论与价值

本研究成功提出并验证了DCDetector,一种基于纯对比学习的时间序列异常检测新框架。其核心结论是:通过精心设计的双注意力非对称对比结构,可以有效地学习到时间序列的排列不变表征,这种表征能够显著放大正常点与异常点之间的差异,从而在无需复杂重构模型的情况下实现高精度的异常检测。

科学价值: 1. 范式创新:将对比学习范式系统性地引入时间序列异常检测,并提供了一种不依赖于负样本对和复杂“停止梯度”技巧的稳定对比学习方案,丰富了该领域的方法论。 2. 理论洞察:通过模型分析,揭示了非对称分支设计在避免对比学习模型坍缩方面的作用,为理解对比学习机制提供了新的视角。 3. 方法创新:提出了“通道独立分块”、“多尺度双注意力”、“纯对比损失”等一系列具体技术,构成了一个完整且高效的解决方案。

应用价值: 1. 高性能:在多个公开基准测试中达到最先进水平,证明了其在实际场景中部署的潜力。 2. 通用性:能够有效处理多元和单变量时间序列,并对点异常和模式异常均有良好的检测能力。 3. 实用性:模型结构相对简洁,参数效率较高,代码已开源,便于研究和工业界复现与应用。

六、 研究亮点

  1. 新颖的对比学习架构:首创性地将双注意力机制与对比学习结合,通过构建块间和块内两个非对称的“视图”,巧妙地利用了时间序列数据的内在结构来生成对比对,无需额外数据增强。
  2. 纯对比损失函数:完全摒弃了传统异常检测中常用的重构损失,仅依靠对比损失进行优化,从根本上避免了异常样本对模型学习正常模式的干扰。
  3. 有效的抗坍缩设计:通过理论分析和实验验证,阐明了其非对称双分支结构自身具备避免表征坍缩的能力,降低了模型训练的复杂性。
  4. 多尺度与通道独立设计:多尺度分块缓解了信息损失问题,通道独立处理则降低了模型复杂度并有助于捕捉跨通道的独立异常模式。
  5. 全面的实验验证:在数量多、类型广的基准数据集上进行了充分实验,不仅对比了主流指标,还进行了深入的消融研究、可视化分析和参数敏感性测试,论证扎实。

七、 其他有价值的内容

论文还对相关工作进行了清晰的梳理,将现有时间序列异常检测方法分为统计方法、经典机器学习方法和深度学习方法,并在深度学习方法中进一步区分了监督/半监督和无监督方法,特别是重点讨论了基于重构和基于关联(如Anomaly Transformer)的方法。通过与这些方法的直观对比(图1),突出了DCDetector在架构上的简洁性和有效性。此外,论文附录部分(文中提及)包含了数据集的详细统计信息(表8)以及更多关于超参数选择与权衡的实验细节,为读者提供了完整的技术参考。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com