D3R:一种应对不稳定多元时间序列异常检测的新方法

D3R方法有效检测不稳定时间序列异常,克服漂移影响,性能提升显著。

原文标题:无惧漂移!D3R方法可用于不稳定多元时间序列异常检测,SOTA提升11%

原文作者:数据派THU

冷月清谈:

NeurIPS 2023 的一篇论文提出了一种名为 D3R(动态分解与扩散重建)的新方法,用于检测不稳定多元时间序列中的异常。

现有方法通常侧重于稳定数据,忽略了现实世界数据中存在的漂移,导致误报。D3R 旨在解决这个问题。

D3R 的核心在于两个模块:

1. 动态分解模块:该模块利用时间戳作为输入,结合数据时间混合注意力机制和偏移减法策略来分解时间序列,提取稳定成分和趋势成分,克服了传统分解方法在长周期时间序列上的限制。
2. 扩散重建模块:该模块使用噪声扩散技术创建一个外部信息瓶颈,并用主干网络重建受污染的数据。重建误差作为异常得分。这种方法避免了传统方法在信息瓶颈调节上的高昂成本,允许外部调节信息瓶颈而无需重新训练模型。

实验结果表明,D3R 在多个真实世界数据集上优于现有方法,平均相对提升达到 11%。

怜星夜思:

1、文章提到了D3R方法对长周期时间序列的优势,那么在短周期时间序列中,D3R方法的表现如何?与其他方法相比有什么特点?
2、D3R 使用噪声扩散技术创建外部信息瓶颈。除了噪声扩散,还有哪些技术可以用来创建外部信息瓶颈?它们各自有什么优缺点?
3、文章中提到的“偏移减法策略”具体是如何工作的?它对模型的性能提升有多大?在其他类型的时序数据中,这种策略是否仍然适用?

原文内容

图片
来源:时序人

本文约2000字,建议阅读5分钟

本文介绍一篇 NeurIPS 2023中的工作,作者提出了动态分解与扩散重建(D3R)方法,这是一种针对现实世界中不稳定数据的新型异常检测网络。


近年来,已提出许多无监督方法用于多元时间序列异常检测。然而,现有工作主要关注稳定数据,却往往忽略了由非平稳环境产生的漂移,这可能导致大量误报。本文介绍一篇 NeurIPS 2023 中的工作,作者提出了动态分解与扩散重建(D3R)方法,这是一种针对现实世界中不稳定数据的新型异常检测网络。整个模型可以端到端训练。在多个真实世界数据集上的大量实验表明,D3R 显著优于现有方法,与之前的最优模型(SOTA)相比,平均相对提升达到11%。


【论文标题】
Drift doesn’t Matter: Dynamic Decomposition with Diffusion Reconstruction for Unstable Multivariate Time Series Anomaly Detection
【论文地址】
https://proceedings.neurips.cc/paper_files/paper/2023/file/22f5d8e689d2a011cd8ead552ed59052-Paper-Conference.pdf
【论文源码】
https://github.com/ForestsKing/D3R

研究背景

时间序列异常检测是确保系统持续稳定运作的关键技术。在实际应用中,时间序列的模式会随着外界条件的变化而不断演变。例如,互联网服务中的用户流量会根据服务的受欢迎程度逐渐增加。忽略这种动态特性可能会导致异常检测系统的性能下降。

尽管现有研究取得了重大进步,但大部分工作仍然侧重于相对稳定的场景。下图表明在面对非稳态数据时,传统方法会在标红区域产生较高的异常得分,进而触发不必要的警报。

图1:现有方法在SMD和SWaT数据集上的异常分数

为解决这个问题,作者尝试将时间序列拆分为稳定成分和趋势成分,并在重建过程中重点考虑稳定成分。不过,这种做法仍然面临两个主要的技术挑战:

  • 长周期时间序列分解的技术限制。传统的分解方法通常是静态的,难以满足实时更新的要求;而一些现代的动态解决方案又往往受限于局部滑动窗口的尺寸,无法很好地处理那些周期长度超过窗口大小的情况。

  • 信息瓶颈调节的成本高昂。正确设置信息瓶颈对基于重建的模型非常重要,通常需要通过大量的实验才能找到合适的平衡点。过去的方法多依赖于内部参数,比如潜在表示空间的大小,这意味着每次调整参数后都需要重新训练模型,这极大地浪费了计算资源。

模型方法

为了克服上述挑战,作者开发了一种专门为长周期非平稳多元时间序列设计的异常检测算法 D3R。

针对第一个挑战,作者采用时间戳作为额外输入,以突破局部滑动窗口的限制。具体而言,作者引入了数据时间混合注意力机制以及偏移减法策略,分别用来解决垂直和水平方向上的数据漂移问题。此外,作者还在训练过程中加入了扰动策略,以增强模型的鲁棒性。

针对第二个挑战,作者提出了一种名为噪声扩散的新颖方法,它允许从外部调节信息瓶颈。Diffusion 提供了一种新的信息瓶颈观点,将噪声看作是信息传递的障碍,而未受污染的信息则被视为重建条件。因为瓶颈不再绑定于模型自身,所以可以自由调整而不必重复训练整个模型。

D3R 的整体结构如图2所示,主要包含动态分解模块和扩散重建模块。

图2:D3R整体结构

动态分解模块 

动态分解模块通过数据编码器和时间编码器对原始数据及其时间戳进行深度建模。随后,堆叠的分解模块被用来抽取稳定分量。最终,运用偏移减法技术分离出趋势分量。

  • 数据编码器:由先进的时空 Transformer 模块组成,专门针对多维度时间序列中的时序依赖性和变量相关性进行建模。时空 Transformer 模块的具体构造详见下图左侧,它巧妙地集成了并行运作的时间注意力机制和空间注意力机制。

  • 时间编码器:由单一的时间 Transformer 模块组成,对时间戳的时序依赖性进行建模。

  • 分解模块:引入了一种新颖的数据时间混合注意力机制(详情见图2右侧),通过整合时间戳之间的点积相似性和观测值间的点积相似性,实现多源信息的有效融合,并据此生成稳定分量。

  • 偏移减法:尽管不同周期内同一时刻的往往表现出某种程度上的相似波动模式,但并不总是严格一一对应。为此,作者采用了偏移减法策略,有效解决了潜在的水平位移问题。

扩散重建模块 

扩散重建模块利用噪声扩散技术创建外部信息瓶颈,并借助主干网络直接重建受污染的数据,重建误差即为异常得分。

  • 噪声扩散:不同于传统的 DDPM 方法,在向输入添加噪声的同时,作者特别注意保持原有趋势不变,使得算法能够更加聚焦于那些更加重要的稳定分量上。
  • 主干网络:同样依托于时空 Transformer 模块构建而成。它在关注稳定分量同时也兼顾到趋势分量的变化情况。值得注意的是,与常规 DDPM 流程不同,D3R 的主干网络直接承担起还原受污染数据的任务,而非单纯预测噪声本身。

实验效果

作者将 D3R 在三个真实世界数据集上与15种基准算法进行了详尽对比,如表1所示。D3R 优于对手算法并实现了最佳检测性能,证实了其有效性和优越性。

表1:三个真实世界数据集中的结果

为了更直观地展示动态分解模块的效能,作者提供了一系列在高度非平稳数据集上的分解结果可视化。如图3(a)所示,即使面对现实世界中长周期且模式复杂的多变量数据,该动态分解模块依然能够稳定而精准地提取出核心的平稳成分。

为进一步验证引入外部控制信息瓶颈的优势,作者将扩散重建模块整体替换为变分自编码器模块,并针对两者的性能进行了详尽的敏感性分析。根据图3(b)所呈现的结果,扩散重建模块不仅在有效性方面超越了 VAE,而且展现出更强的稳定性。

图3:有效性分析结果可视化


编辑:王菁



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

还可以考虑使用一些基于信息论的方法,例如最小描述长度(MDL)原则或互信息最小化。这些方法可以帮助我们找到一个合适的瓶颈,使得模型能够有效地提取数据的关键信息,同时避免过拟合。

我觉得在短周期时间序列中,D3R的优势可能不那么明显。毕竟D3R的动态分解模块主要就是为了解决长周期时间序列分解的难题而设计的。在短周期序列中,传统的分解方法可能就足够好用了,D3R的优势体现不出来,甚至可能因为模型复杂度更高而导致性能下降或者过拟合。

关于“偏移减法策略”是如何工作的,文章中提到它是为了解决潜在的水平位移问题,也就是说不同周期内同一时刻的数值可能存在一定的偏差。具体实现方式可能需要参考论文源码。至于性能提升,文章中没有明确的数值,但从实验结果来看,D3R 的整体性能是优于其他基准方法的,说明这个策略应该是有积极作用的。

从“偏移减法”这个名字来看,我理解它是通过计算并减去不同周期之间数据的平均差值来实现的。这样可以消除不同周期之间的系统性偏差,从而更准确地提取稳定成分。至于在其他类型数据中的适用性,我认为如果数据中存在类似的周期性模式和水平位移问题,那么这个策略是值得尝试的。

短周期时间序列数据量小,模型容易过拟合。D3R的复杂度较高,在短周期数据上训练可能会出现这个问题。相比之下,一些轻量级的模型可能更适合短周期时间序列。

瓶颈?让我想到了对抗生成网络(GAN)。GAN 的判别器可以看作是一种信息瓶颈,它迫使生成器学习数据的关键特征,以便能够骗过判别器。这种方法可以用来生成高质量的数据,但训练 GAN 通常比较困难。

“偏移减法策略”听着像是对齐不同周期的数据,有点像图像配准里的平移操作?我猜想它可能是通过计算不同周期之间数据的偏移量,然后将数据进行平移,从而消除水平位移的影响。至于适用性,我觉得可能需要根据具体的数据类型和应用场景来判断。如果其他类型的时序数据也存在类似的水平位移问题,那么这个策略或许可以借鉴。

除了噪声扩散,变分自编码器(VAE)也可以用来创建信息瓶颈。VAE 通过学习数据的潜在表示来压缩信息,并从潜在表示中重建数据。不过,VAE 的训练相对复杂,而且对超参数比较敏感。

很有意思的问题!我猜想D3R在短周期时间序列上的表现可能取决于具体的应用场景和数据特征。如果短周期时间序列也存在明显的漂移现象,那么D3R的动态分解模块仍然可以发挥作用,提升检测精度。反之,如果数据比较稳定,那么D3R的优势可能就不那么明显了,甚至可能不如一些更简单的模型。