网站首页 > 技术文章 正文
来源:时序人
本文约4000字,建议阅读10分钟
本文提出了一种新的无监督时间序列异常检测方法,称为 FCVAE。
时间序列异常检测(AD)在 Web 系统中扮演着至关重要的角色。各种 Web 系统依赖时间序列数据来实时监控和识别异常,并启动诊断和修复程序。近年来,由于具有出色的去噪能力,变分自编码器(VAEs)在异常检测中备受青睐。
在 WWW 2024 中有这样一个工作,研究者认为基于 VAE 的方法在同时捕捉长周期异构模式和详细的短周期趋势方面面临挑战。为解决这些挑战,研究者提出了频率增强的条件变分自编码器(FCVAE),这是一种用于单变量时间序列的新型无监督 AD 方法。为确保准确的 AD,FCVAE 采用了一种创新方法,将全局和局部频率特征同时整合到条件变分自编码器 (CVAE)的条件中,从而显著提高正常数据重构的准确性。结合精心设计的“目标注意力”机制,研究者提出的方法允许模型从频域中选择最有用的信息,以更好地构建短周期趋势。
目前,FCVAE 已在公共数据集和大规模云系统上进行了评估,结果表明其性能优于最先进的方法。这证实了该方法在解决当前基于 VAE 的异常检测模型局限性方面的实际应用价值。
【论文标题】Revisiting VAE for Unsupervised Time Series Anomaly Detection: AFrequency Perspective
【论文地址】https://arxiv.org/abs/2402.02820
【论文源码】https://github.com/cstcloudops/fcvae
论文研究背景
01 时间序列异常检测的重要性
时间序列异常检测在网络系统中扮演着关键角色,尤其是在监控和识别异常方面。这些系统依赖于时间序列数据来进行实时监控。
异常检测对于及时启动诊断和修复程序至关重要,尤其是在在线广告系统等应用中,时间序列数据(如转化率)被广泛用于监控。
02 现有方法的局限性
尽管变分自编码器(VAE)因其去噪能力而受到欢迎,但现有基于VAE的方法在同时捕捉长周期异构模式和短周期详细趋势方面存在挑战。
作者通过图1展示了现有 VAE 方法在重建某些正常点时的不足,尤其是在蓝色矩形和椭圆标记的区域,这些区域的重建结果不尽如意,显著影响了整体性能。
图1:本文中提出的四种关键绩效指标(KPI)重构方法的比较
03 3个关键挑战
- 捕获异构周期模式:时间序列曲线中可以观察到周期性模式,但不同周期的形状可能不同。现有的 VAE 方法无法有效捕捉这些异构模式。
- 捕获详细趋势:重建单调模式可能看起来简单,但仔细观察会发现现有方法无法恢复特定时间窗口内的详细模式。这是因为现有方法主要关注最小化整体重建误差,而没有关注“点对点”的依赖关系。
- 子频率的噪声问题:直接将整个窗口转换到频率域会产生许多子频率,增加噪声并阻碍有效的 VAE 重建。
模型方法
图2:框架总览
研究者提出的 FCVAE 模型在 CVAE 框架的基础上进行了扩展,通过整合频率信息来提高异常检测的准确性。图2展示了所提出的异常检测算法,该算法包括三个主要部分:数据预处理、训练和测试。
01 数据预处理
数据预处理包括标准化、填补缺失值和异常点,以及新引入的数据增强方法。数据标准化和填补缺失值及异常点的有效性已在先前的研究中得到证实。因此,研究者直接将这些技术纳入到论文的方法中。
先前的数据增强方法往往增加正常样本,如时域或频域数据的变化。然而,在该论文的方法中,研究者将数据集中的所有时间序列数据结合在一起进行模型训练,这提供了足够的模式多样性。此外,由于加入了频率信息,FCVAE(全连接变分自编码器)具有提取模式信息的能力,因此能够很好地处理新模式。
尽管如此,即使引入了频率信息,异常值的有效处理仍然是一个挑战。为了使模型学会如何处理异常值,研究者主要关注异常数据增强。在时间序列数据中,异常主要表现为模式突变或值突变(如图3所示),因此论文中的数据增强主要针对这两个方面。模式突变的增强是通过将来自不同曲线的两个窗口组合在一起生成的,其中连接点作为异常点。值突变是指将窗口中的某些点更改为随机分配的异常值。通过增强的异常数据,CVAE 中的 M-ELBO 即使在无监督设置下没有真实标签也能表现出色。
图3:两种最常见异常的示例,其中红色阴影区域表示异常片段
02 模型架构
图4:FCVAE模型图
FCVAE 模型包含三个主要组件:编码器、解码器以及一个条件提取块,该块包括一个全局频率信息提取模块(GFM)和一个局部频率信息提取模块(LFM)。下述方程说明了模型是如何工作的。
- GFM
图5:GFM架构
GFM模块使用快速傅里叶变换(FFT)提取全局频率信息。然而,并非所有频率信息都是有用的。时间序列数据中噪声和异常产生的频率在频域中表现为长尾。因此,研究者在FFT之后使用了一个线性层来过滤出能够代表当前窗口模式的有用频率信息。此外,研究者还借鉴了 Fedformer 的方法,在其后加入了一个 dropout 层,以增强模型学习缺失频率信息的能力。
- LFM
图6:LFM架构
注意力机制由于其能够动态地处理不同时间步之间的依赖关系并关注重要的时间步,在时间序列数据处理中得到了广泛应用。基于注意力机制发展的目标注意力在推荐领域中得到了广泛应用。具体来说,目标注意力可以对目标域的特征进行加权,从而实现更准确的域适应。
LFM 模块利用滑动窗口技术提取小窗口的频率信息,并通过目标注意力机制关注最新的时间点。LFM 通过 softmax 函数计算注意力权重,并通过线性层和 dropout 层提取局部频率信息。
03 训练和测试
FCVAE(全连接变分自编码器)的训练过程融合了三项关键技术:基于 CVAE 的修正证据下界(CM-ELBO)、缺失数据注入以及新提出的最后一个点掩码。
如上述公式所示,CM-ELBO 是通过将 MELBO 应用于 CVAE 获得的。缺失数据注入是VAE中常用的技术,本文直接采用了这一技术。研究者观察到,时间序列数据中的异常点表现为时域中的离群值。然而,当数据转换到频域时,所有频率信息都会发生偏移,从而带来挑战。特别是当最后一个点是异常点时,这个问题的影响会被放大,因为研究者的目标是基于整个窗口来检测最后一个点。虽然使用频率增强方法和频率选择来在一定程度上缓解这个问题,但在提取频率条件时将最后一个点掩码为零,以进一步解决这个问题。
在测试时,FCVAE 采用了基于马尔可夫链蒙特卡洛(MCMC)的缺失值估算算法,以减轻缺失数据的影响。由于研究者的目标是检测窗口的最后一个点,因此将最后一个点设置为缺失,以便 MCMC 能够获得一个正常值。这也使得它能够更好地适应前面提到的最后一个点掩码。FCVAE 进一步利用重构概率作为异常分数,这些分数在下述公式中定义。
实验结果与分析
研究者在四个数据集(Yahoo、KPI、WSD和NAB)上进行了实验。为了与现有方法进行比较,研究者还选择了多种现有的异常检测方法,包括SPOT、SRCNN、TFAD、DONUT、Informer、Anomaly-Transformer、AnoTransfer和VQRAE等。
01 整体性能
表1展示了 FCVAE 在所有四个数据集上的性能,并与基线方法进行了比较。FCVAE 在 best F1 和 delay F1 上均优于其他方法。
表1:测试数据上的性能。P代表精确率,R代表召回率,F1代表最佳F1分数,F1*代表延迟F1分数
02 CVAE中不同类型的条件
研究者评估了在 CVAE 中使用不同类型的条件信息对异常检测性能的影响,包括时间戳、时域信息和频域信息。结果表明,使用频域信息作为条件的性能优于其他类型的条件。
如图7(a)所示,将频域信息作为条件使用的性能优于使用时间戳或时域信息。这是可以理解的,因为时间戳携带的信息有限,并且通常需要进行独热编码,从而导致数据表示的稀疏性。时域信息已经包含在 VAE 中,将其作为条件使用可能会导致冗余信息,而不会显著促进重构过程。相反,频域信息作为一种有价值且互补的先验知识,使得它成为异常检测中更有效的条件。
图7:不同设置的延迟F1分数
03 频率VAE和FACVAE
研究者比较了 FCVAE 与改进的基于频率的 VAE(FVAE)模型。FCVAE 通过将频率信息作为条件整合到 CVAE 中,而不是与输入一起整合到 VAE 中,从而实现了更好的性能。
04 GFM与LFM
研究者提出了 GFM 和 LFM 来分别提取全局和局部的频率信息,并探讨了这两个模块的设计是否达到了预期效果。
结果如图7(c)所示。可以观察到,在四个数据集中,除了 NAB 数据集外,在相同的其他设置条件下,FCVAE 中使用 LFM 或 GFM 均优于 VAE 模型。在 NAB 数据集中,数据的频繁振荡导致从 GFM 中提取的信息与当前时间的数据值之间存在不一致性。对于所有数据集,当同时使用 LFM 和 GFM 模块时,它们能够相互协同作用,从而提升性能。因此,全局和局部的频率信息在异常检测中都起着至关重要的作用。
05 注意力机制
通过比较有无注意力操作的LFM性能差异,展示了注意力机制如何有效地为信息量更大的窗口分配更高的权重。
图7(d)中的结果表明,没有注意力机制的情况下,无法达到 FCVAE 的原始性能,因为无法提前确定每个小窗口的具体权重。然而,注意力机制通过为信息更丰富的窗口分配更高的权重,有效地解决了这个问题。
06 框架中的关键技术
实验中还评估了数据增强、掩码最后一点和 CM-ELBO 等关键技术的有效性。结果表明,CM-ELBO 在大多数数据集中发挥了最关键的作用。
图8:不同设置的延迟F1值
07 参数敏感性
模型对不同参数的稳定性是考虑的一个重要方面,因此研究者在 KPI 和 WSD 两个数据集上测试了模型参数的敏感性。主要考察了四个方面:条件的维度、窗口大小、缺失数据注入的比例和数据增强的比例。如图9所示的结果表明,论文所提模型在不同参数设置下都能实现稳定且优异的结果。
图9:不同设置的延迟F1分数
总结
本文提出了一种新的无监督时间序列异常检测方法,称为 FCVAE。在模型层面,研究者引入了频域信息作为条件与 CVAE 一起工作。为了更准确地捕获频域信息,研究者提出了同时利用 GFM 和 LFM 来从全局和局部频域捕获特征,并采用目标注意力来更有效地提取局部信息。在架构层面,提出了几项新技术,包括 CM-ELBO、数据增强和屏蔽最后一个点。研究者在四个数据集和一个在线云系统上进行了实验,以评估所提方法的准确性,并进行了全面的消融实验以证明每个模块的有效性。
猜你喜欢
- 2024-10-12 动手实现卷积神经网络 卷积神经网络教程
- 2024-10-12 【机器学习】Sigmoid和Softmax的区别
- 2024-10-12 视觉Transformer中ReLU替代softmax,DeepMind新招让成本速降
- 2024-10-12 首个快速知识蒸馏的视觉框架:ResNet50 80.1%精度,训练加速30%
- 2024-10-12 RBF-Softmax:让模型学到更具表达能力的类别表示
- 2024-10-12 深度学习入门指南:25个初学者需要知道的概念
- 2024-10-12 英伟达又赚到了!FlashAttention3来了:H100利用率飙升至75%
- 2024-10-12 5分钟 NLP:Hugging Face 主要类和函数介绍 ??
- 2024-10-12 Softmax简介 简述softmax回归与线性回归相同与不同
- 2024-10-12 商汤最新论文登上ICLR 2022:给注意力机制Softmax找个“平替”
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)