PAFormer: Anomaly Detection of Time Series With Parallel-Attention Transformer

系列文章目录

PAFormer:使用并行注意力变压器进行时间序列异常检测 IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS



摘要

摘要:时间序列异常检测是一项具有重大影响的关键任务,因为它在数据挖掘和质量管理领域发挥着关键作用。 当前的异常检测方法通常基于重建或预测算法,因为这些方法能够学习压缩数据表示和模型时间依赖性。 然而,大多数方法依赖于学习正态分布模式,这在现实世界的工程应用中很难实现。 此外,现实世界的时间序列数据高度不平衡,异常数据严重缺乏代表性样本,这可能导致模型学习失败。 在本文中,我们提出了一种新颖的端到端无监督框架,称为并行注意变换器(PAFormer),它通过对时间序列的全局特征和局部模式进行建模来区分异常。 具体来说,我们构建了并行注意力(PA),其中包括两个核心模块:全局增强表示模块(GERM)和局部感知模块(LPM)。 GERM 由两个模式单元和一个归一化模块组成,其注意力权重指示每个数据点与整个系列(全局)的关系。 由于异常点的稀有性,它们与相邻数据点有很强的关联性。 LPM 由可学习的拉普拉斯核函数组成,该函数通过核函数(局部)的分布特性来学习邻域相关性。 我们使用 PA 来学习每个数据点的全局-局部分布差异,这使我们能够区分异常。 最后,我们提出了两阶段对抗性损失来优化模型。 我们对五个公共基准数据集(真实世界数据集)和一个合成数据集进行了实验。 结果表明 PAFormer 的性能优于最先进的基线。


I、引言

时间序列是数据表示的一种重要形式。 工业4.0时代,每天都会产生数以万计的高维时序数据,特别是在航空航天、信息通信、环保、生物医药等领域。 这些复杂、高维的时间序列数据主要由智能设备产生,包括传感器、智能控制系统和通信设施[1]。 时序数据的表现形式直接反映了智能设备的运行状态,这些设备的稳定性至关重要。 即使是轻微的故障也可能导致巨大的、不可估量的损失。 因此,时间序列异常检测已成为智能应用和运维领域的一个重要研究领域。

传统上,识别时间序列数据中的异常值是一个劳动密集型的过程,依赖于数据专家的专业知识和经验以及预先制定的规则。 然而,这种方法变得越来越低效并且容易出错,尤其是随着数据量的不断增长。 因此,研究人员和从业者正在探索更高效、更准确的时间序列异常检测方法。 基于机器学习的时间序列异常检测技术已显示出前景,但它们需要大量带注释的数据进行训练,这可能成本高昂且通常不准确。 为了应对这些挑战,利用深度学习的无监督时间序列异常检测技术已成为一种有前景的替代方案。

然而,时间序列数据经常存在类不平衡[2]、[3],其中大多数数据是正常的,从而很难检测到稀有且有价值的异常数据。 这对无监督异常检测(USAD)提出了重大挑战,因为由于表示不足,学习系统可能无法有效地从罕见的异常类中提取特征。 这个问题在少数类代表有价值数据的应用中尤其严重,例如航空业中的飞机失事数据。 当前主流的基于重构和预测模型的异常检测算法大多依靠学习正态数据的分布来检测异常,这对正态训练数据提出了要求。 然而,在许多实际应用中,获取这种正常的训练数据通常是不切实际的,因此构成了这些方法的重大限制。 为了应对这些挑战,开发不平衡时间序列数据的 USAD 方法是一项极具挑战性的任务。 提取每个数据类的代表性特征,以及制定区分正常数据和异常数据的判别标准,是一个必须解决的关键而紧迫的问题,以便有效地检测复杂时间序列中的罕见异常。
在这里插入图片描述

图 1. 正常数据点和异常数据点之间的全局和局部相关权重图。 每个数据点与其他数据点的归纳权重用灰色表示,颜色越深表示权重值越高。 异常点的全局和局部归纳权重相似,主要沿对角线分布,表明与相邻数据点的归纳权重较大。 相反,正常数据点的全局和局部归纳权重显示出显着差异。

为了解决上述挑战和问题,我们提出了一种新颖的端到端无监督框架,称为并行注意变压器(PAFormer),用于时间序列异常检测。 为了提取不平衡数据的代表性特征,我们构建了并行注意(PA)机制,该机制包括两个核心模块:全局增强表示模块(GERM)和局部感知模块(LPM)。 PA从全局和局部两个角度代表了每个时间点的特征。 具体来说,GERM由两个由线性层构成的全局可学习模式单元(Pk和Pv)组成,它们动态存储时间序列的全局信息并以级联方式运行。 第一个模式单元执行后,我们对输出进行归一化以获得反映每个数据点与整个系列之间的相关程度的注意力图。 GERM可以隐式学习整个时间序列中每个时间点的全局特征。 LPM由拉普拉斯核函数组成,可以从局部角度对每个时间点的特征信息进行建模。 由于时间序列异常一般由点异常和模式异常组成,而模式异常通常发生在较小的局部区域,因此我们设置可学习的缩放参数来更准确地表示每个时间点的本地时间信息。 GERM和LPM从全局和局部两个角度对每个数据点的分布模式进行建模,并通过评估分布模式的差异来判断数据点是否异常,称为全局和局部归纳差异(GLID)。 由于时间序列的连续性,异常通常发生在局部区域,异常数据点与邻近区域有很强的相关性,很难与整个序列建立联系。 如图1所示,异常数据点的GLID相对较小,而正常数据点的GLID则更为明显,表明GLID可以作为正常数据点和异常数据点的判别标准。

总之,我们的贡献总结如下。

1)我们提出了一种新颖的时间序列异常检测框架PAFormer,并构建了一种新的基于分布的判别标准。 此外,我们开发了两阶段对抗性损失来优化模型并提高框架的性能。
2)我们提出PA,它由两个核心模块GERM和LPM组成,从全局和局部角度对数据点的时间信息和特征进行建模。 GERM可以提取每个数据点与整个序列之间的潜在相关性,具有很强的正则化效果。 LPM能够对每个时间点的局部特征信息进行建模。
3)PAFormer的有效性通过六个基准数据集(包括五个真实数据集和一个合成数据集)的实验得到证明。 结果表明,PAFormer 的性能优于最先进的方法,并被证明是一种有前途的时间序列异常检测方法。

在这里插入图片描述
图 2. S-5 数据集的部分样本,异常情况以灰色突出显示。 S-5 数据集由五种类型的异常组成:全局点、上下文点、模式 shapelet、模式季节性和模式趋势。

II. RELATED WORK

时间序列中的异常检测是一项具有挑战性的任务,受到了广泛的关注。 时间序列异常检测的主要目标是识别异常值。 之前的工作将异常定义为三种类型:点异常值、上下文异常值和集体异常值。 然而,考虑到了异常定义的模糊性,并提出了一种行为驱动的时间序列异常分类方法[4],以在明确的上下文中明确定义点异常值和模式异常值。 为了评估我们方法的性能,我们创建了一个全面的合成数据集 (S-5),其中包括五种类型的异常,如图 2 所示,这比现实世界的数据集更具挑战性。 II-A 和 II-B 节介绍了经典的基于深度学习的时间序列异常检测方法。 此外,我们引入了自注意力(SA)机制,以及 Transformer 中的双重和分层注意力。

A. Classic Anomaly Detection

最近,人们开发了许多优秀的算法[5]、[6]、[7]、[8]、[9]、[10]、[11]来解决检测时间序列数据异常的挑战。 基于统计理论的异常检测模型已经存在了一段时间,并广泛应用于工业应用中,用于传感器设备的实时监控。 常见的基于概率的统计模型包括基于参数的方法[12]和基于非参数的方法[13]。 使用统计模型进行异常检测的优点是算法复杂度低、计算速度快,并且在缺乏先验数据的情况下仍然可以应用。 然而,这些方法的缺点是对于复杂的时间序列数据通常精度较低。

除了概率统计模型之外,常见的经典算法还包括基于密度估计和聚类模型的方法。 基于密度的检测方法的代表是局部离群因子(LOF)[14]。 基于连通性的离群因子(COF)[15]扩展了LOF方法,将每个局部区域作为一个对象计算密度,而不是将孤立点视为二元属性。 异常值被定义为密度较低的区域。 但该方法在处理高维数据方面存在局限性,算法复杂度较高,对于复杂的时序异常检测任务效率较低。 支持向量数据描述(DeepSVDD)[16]通过非线性映射将训练数据映射到高维特征空间,并找到包含大部分训练数据的最优超球面。 位于最佳超球面之外的样本被视为异常。 这些经典算法处理复杂、高维时间序列数据的能力有限,且计算成本较高。 此外,这些方法要么无法捕获复杂和非线性的时间特征,要么对噪声高度敏感,导致它们不适合复杂的现实数据集。

B. Deep Learning-Based Anomaly Detection

随着人工智能技术的广泛应用,学者们将深度学习应用于时序异常检测[17],[18],[19],[20],[21],[22],[23],[24] ],[25]。 基于长短期记忆的变分自动编码器(LSTM-VAE)[26]是一种基于 LSTM 的变分自动编码器模型,它通过重建信号并预测其分布来检测异常。 LSTM是一种循环神经网络,可以有效解决长序列训练过程中的长期依赖和梯度消失/爆炸问题,但特别耗时。 基于深度自编码器高斯混合模型的时间序列异常检测模型(DAGMM)[27]使用深度自编码器来降低数据维度,并将低维表示输入到高斯混合模型中进行端到端训练。 该算法联合训练降维和密度估计过程,以避免模型陷入局部最优。 然而,该模型忽略了序列的时间依赖性,导致检测精度较差。 节拍生成对抗网络(BeatGAN)[28]输出可解释的结果,通过将输入节拍与对抗生成的节拍进行比较来识别输入节拍的异常时间节拍。 OmniAnomaly [29] 是一种随机循环神经网络(RNN),结合了 VAE 和门控循环单元(GRU),并使用随机变量连接等技术对随机变量之间的时间依赖性进行建模。 根据重建概率检测异常。 多尺度卷积循环编码器-解码器(MSCRED)[30]构造了多尺度签名矩阵来表示不同时间步长的多级系统状态,其使用卷积编码器对时间序列相关性进行编码。 最后,重构输入特征矩阵,并将残差特征矩阵用于异常检测和诊断。 USAD[31]由编码器和解码器组成,通过对抗训练放大包含异常输入的重建误差,检测数据中的异常,同时获得基于生成对抗网络(GAN)[32]架构的稳定性。 时间序列分层单类网络(THOC)[33]使用具有跳跃连接的扩展 RNN 从时间序列中提取多尺度特征。 正常数据由多个超球体表示,其中包含时间序列的复杂特征。 通过观察偏离超球面的分数来检测异常。 InterFusion [34] 对时间序列中的不同状态和时间依赖性进行建模。 通过使用两个潜在随机变量并结合变分自动编码器来对时间序列的正常模式进行建模,可以检测到异常。 虽然上述方法都是USAD算法,但它们都需要模型输入正常模式数据,这在现实世界中很难满足。

图神经网络也已应用于时间序列异常检测[35]、[36]、[37]、[38]。 图偏差网络(GDN)[39]用有向图表示传感器之间的相关性。 该模型通过使用图神经网络预测传感器的预期行为来检测异常。 但该模型没有考虑时间信息,算法复杂度较高。 近年来,变压器模型[40]在许多领域表现出了优越的性能。 Anomaly Transformer [41]使用Transformer构建基于重建模型的检测方法。 在这项工作中,作者使用关联差异来区分正常模式和异常模式,避免了与循环网络相关的高计算成本。 然而,使用滑动窗口操作会导致模型只能在本地对时间特征进行建模,从而导致在使用非常小的窗口时性能较差。 基于 Transformer 的异常检测模型(TranAD)[42]和异常 Transformer [41]都是围绕 Transformer 架构构建的时间序列异常检测方法。 与 USAD [31] 一样,TranAD [42] 使用对抗性损失来加速模型收敛。 然而,它仍然仅限于对正常模式进行建模来区分异常,导致实际应用中对噪声数据的检测能力不足。 由于使用了 Transformer 结构,这两种方法相比其他深度学习方法表现出了一些优势。 与现有工作不同,我们的方法是逐点检测,并考虑局部时间信息和全局模式特征,消除了对不平衡数据进行预处理的需要。 因此,它可以高效、准确地进行时间序列异常检测。

C. Transformer

1)Self-Attention:SA机制是一个强大的神经网络组件,在序列建模任务中取得了巨大的成功。 其核心思想是捕获输入序列的不同元素之间的依赖关系。 SA机制允许模型根据输入序列的不同部分分配不同的注意力权重,从而实现长距离依赖的建模。 在 SA 机制中,每个输入元素与所有其他元素交互,并计算权重来表示其相对于其他元素的重要性。 这些权重可以被视为注意力分布,用于对输入元素进行加权聚合以生成上下文表示。 Transformer[40]模型是一种充分利用SA机制的神经网络架构。 它由多层编码器和解码器组成,每一层都使用SA机制来处理输入序列。 这种架构的优点之一是它可以并行计算,从而在训练和推理过程中提供高效的性能。 SA机制在自然语言处理、时间序列建模和计算机视觉等领域得到了巨大成功的应用。 相比之下,我们的 PA 不仅能够捕获每个时间点的远程依赖性,还能对局部相关性进行建模。 此外,PA 不采用 SA 中的矩阵乘法,这会带来较高的计算复杂度。 我们使用两个具有线性复杂度的可学习线性单元来捕获全局属性。

2)Transformer 中的双重和分层注意力:在扩展 Transformer 架构方面,一些研究[43]、[44]、[45]、[46]致力于引入双重或分层注意力机制来增强模型性能。 这些扩展旨在优化 Transformer 架构,使其更适合特定任务和数据结构。 双注意力视觉变换器(DaViT)[43]使用双注意力从正交角度执行SA操作。 SA操作是对空间令牌和通道令牌进行的。 空间维度上的空间窗口注意力可以提取局部特征。 通道维度中的通道组注意力学习全局特征。 这两种类型的注意力以串行方式交替进行。 我们的 PAFormer 还使用双重关注来对时间序列的局部和全局特征进行建模。 不同的是PAFormer中的PA是并行结构并且有两个不同的分支。 而DaViT[43]是串行架构并且都使用SA机制。 分层随机变压器(H-STO-TRAN)[44]使变压器能够通过学习分层随机SA机制来进行不确定性估计。 该机制侧重于价值观和一组可学习的质心。 它在文本分类任务的不确定性估计中表现良好。 PA 中的 GERM 与这种分层机制具有类似的效果,它利用两个可学习的模式单元来捕获不同级别的全局异常特征。

III. METHODOLOGY

在本节中,我们详细描述了所提出的方法,包括设计动机、提出的算法框架PAFormer、GERM和LPM的详细介绍、网络模型的优化以及SA和PA的讨论。

A. Motivation

无监督时间序列异常检测是一项具有挑战性的任务,其中主要困难在于为每个数据点建模更多信息表示并建立正常模式和异常模式之间的判别标准。 此外,来自现实世界应用程序的时间序列数据通常表现出严重的类别不平衡,其中罕见的异常实例被正常样本淹没。 因此,提取每个数据点(尤其是稀有样本)的准确表示,并定义区分正常和异常模式的判别标准对于 USAD 至关重要。 如图 1 所示,我们观察到正常数据点和异常数据点的全局和局部分布模式之间存在显着差异。 受此观察的启发,我们提出 PAFormer 来学习每个数据点的全局和局部分布模式的差异,为每个数据点建模更全面的特征信息。

B. Proposed PAFormer

考虑时间序列 χ = { x 1 , x 2 , … , x l } \chi = \{x_{1},x_{2},\ldots,x_{l}\} χ={x1,x2,,xl} 长度为 l,其中每个数据点 x t x_{t} xt表示时间 t 的数据,并且 x t ∈ R x_{t}\in\mathbb{R} xtR。 1 ≤ t ≤ l 表示多元时间序列 χ的维度。 特别地,d = 1 表示单变量时间序列。 对于训练数据 χ 和测试数据 χ ~ \tilde{\chi} χ~ χ ~ \tilde{\chi} χ~ 的长度为 h), χ ∩ χ ~ = ∅ \chi\cap\tilde{\chi}=\emptyset χχ~=,异常检测意味着网络模型预测 Ω = { p 1 , p 2 , … , p h } \Omega = \{p_1, p_2,\ldots, p_h\} Ω={p1,p2,,ph} 对于 χ ~ \tilde{\chi} χ~,其中 p t ∈ { 0 , 1 } p_{t} \in \{0,1\} pt{0,1},1 ≤ t ≤ h 表示测试集 χ 中 t 时刻的数据点是否异常,1 表示异常,0 表示正常。 考虑到时间序列数据的流化特性,我们使用滑动窗口将时间序列χ转换为不重叠的切片。 我们标记其中一个切片为 S ( S ∈ R T × d ) S (S\in\mathbb{R}^{T\times d}) S(SRT×d),其中 T 表示窗口长度。

为了在无监督学习模式下实现类不平衡时间序列异常检测,我们提出了PAFormer,如图3所示。PA用于学习每个数据点的全局和局部归纳强度的差异。 如前所述,正常数据点与整个序列强相关,而异常数据点通常是突发的并且发生在局部,因此它们仅与附近的点强相关。 因此,我们使用拉普拉斯核函数来描述这种邻近关系。 每个时间窗口S被馈送到PAFormer中,并且通过MLP重建原始输入S。 整个过程可以获得每个数据点的全局和局部分布模式。

具体来说,我们堆叠多层 PAFormer,交替利用 PA 块和前馈层,这些结构允许对不同层之间的底层信息表示进行建模。 对于 N 层的 PAFormer,输入时间序列切片 S ∈ R T × d S \in \mathbb{R}^{T\times d} SRT×d,第 n 层的整体方程形式化为
在这里插入图片描述
其中 S n ∈ R T × d m o d e l S^n\in\mathbb{R}^{T\times d_{\mathrm{model}}} SnRT×dmodel表示具有 d m o d e l d_{\mathrm{model}} dmodel通道的第 n 层的输出。 初始输入S通过embedding层得到 S 0 ∈ R T × d m o d e l S^{0}\in\mathbb{R}^{T\times d_{\mathrm{model}}} S0RT×dmodel [ S 0 = E m b e d d i n g ( S ) ] [S^{0}=\mathrm{Embedding}(S)] [S0=Embedding(S)] Z n Z^{n} Zn是第 n 层的隐藏表示。 第 N 层的输出 S N S^{N} SN由多层感知器 (MLP) 聚合信息重构为

在这里插入图片描述

图 3.所提出方法的概述。 该框架由两个模块组成:PAFormer 和 MLP。 时间序列滑动窗口样本被输入 PAFormer,然后通过 MLP 重建为原始序列。 PA 中对全局特征和局部模式进行建模,通过结合重建误差来评估异常得分。
在这里插入图片描述
其中 S ′ ∈ R T × d S^{\prime}\quad\in\quad\mathbb{R}^{T\times d} SRT×d表示输入时间序列切片S的重构。MLP使重构的输出和输入S维度一致。 为了方便,后面只讨论第n层,其他层类似。

C. Parallel-Attention

与SA不同,我们的PA由两个并行分支LPM和GERM组成,如图3所示。PA不仅学习每个数据点的全局特征,而且还对每个数据点的相邻特征进行建模。 LPM 由具有可学习尺度参数的拉普拉斯核函数和归一化层组成。 首先将输入 S n − 1 S^{n-1} Sn1 映射为

在这里插入图片描述
其中 M λ ∈ R T × d m o d e l M_\lambda \in \mathbb{R}^{T\times d_{\mathrm{model}}} MλRT×dmodel表示参数矩阵。 λ ∈ R T × 1 \lambda \in \mathbb{R}^{T\times1} λRT×1表示可学习的尺度参数。 S n − 1 ∈ R T × d m o d e l S^{n-1}\in\mathbb{R}^{T\times d_{\mathrm{model}}} Sn1RT×dmodel 表示第 n 层的输入。 此外,我们构造了拉普拉斯核函数,因此每个数据点的相邻感应强度为
在这里插入图片描述
其中 L ( ⋅ , ⋅ ) ∈ R T × T . L ( j ∣ i , λ i ) L(\cdot,\cdot) \in \mathbb{R}^{T\times T}. L(j | i,\lambda_{i}) L(,)RT×T.L(ji,λi)表示第 i 个数据点对第 j 个数据点的感应强度。$\mid j-i\mid $表示两个数据点之间的绝对距离。 进一步,我们将 L ( ⋅ , ⋅ ) L(\cdot,\cdot) L(,) 归一化为 Norm( L ( ⋅ , ⋅ ) L(\cdot,\cdot) L(,))。 Norm()表示除以矩阵 L ( ⋅ , ⋅ ) L(\cdot,\cdot) L(,)的每个元素的行的总和。 我们将归一化注意力图表示为 Lattention。 每行 Lattention 都是离散分布。 每个数据点的相邻感应强度由拉普拉斯核函数学习。 相距较远的两个数据点之间的感应强度较低,反之较高。 对于不同类型的异常,可以调整可学习尺度参数λ以适应各种异常模式。 换句话说,突变点异常应具有较小的尺度参数λ,而模式异常应具有较大的尺度参数λ。 如图4所示,两种异常模式对应的尺度参数有很大不同。 通过自适应调整尺度参数来对各种类型的异常模式进行建模。

在这里插入图片描述
图 4. LPM 中尺度参数 λ 的可视化。 该模型针对不同的异常情况学习不同的 λ。 对于点异常(左),模型学习较小的 λ,而对于模式异常(右),模型学习较大的 λ。

我们将归一化注意力图表示为 L attention L_{\text{attention}} Lattention。 每行 L attention L_{\text{attention}} Lattention 都是离散分布。 每个数据点的相邻感应强度由拉普拉斯核函数学习。 相距较远的两个数据点之间的感应强度较低,反之较高。 对于不同类型的异常,可以调整可学习尺度参数λ以适应各种异常模式。 换句话说,突变点异常应具有较小的尺度参数λ,而模式异常应具有较大的尺度参数λ。 如图4所示,两种异常模式对应的尺度参数有很大不同。 通过自适应调整尺度参数来对各种类型的异常模式进行建模。

考虑到输入时序切片仅包含切片中的语义信息。 传统的SA只能对切片中的时间信息进行建模,而忽略了不同切片之间的关联性。 也就是说,它缺乏全球特征的代表性。 因此,我们设计 GERM 来增强切片内数据点的全局表示。 具体来说,我们使用两个全局可学习模式单元 P k a n d P v ( P k , P v ∈ R T × d m o d e l ) \mathrm{P}_{k} \mathrm{and} \mathrm{P}_{v} (\mathrm{P}_{k},\mathrm{P}_{v} \in \mathbb{R}^{T\times d_{\mathrm{model}}}) PkandPv(Pk,PvRT×dmodel)来动态学习时间序列的各种模式和全局属性。 GERM 首先将输入映射为

在这里插入图片描述

其中 Q ∈ R T × d m o d e l Q\in\mathbb{R}^{T\times d_{\mathrm{model}}} QRT×dmodel是查询向量。 M Q ∈ R d m o d e l × d m o d e l M_{Q} \in \mathbb{R}^{d_{\mathrm{model}}\times d_{\mathrm{model}}} MQRdmodel×dmodel是参数矩阵。 S n − 1 ∈ R T × d m o d e l S^{n-1}\in\mathbb{R}^{T\times d_{\mathrm{model}}} Sn1RT×dmodel是第 n 层的输入。 不使用键向量和值向量,因为键和值本质上映射到当前输入。 我们基于数据集级别重建 P k   a n d   P v \mathrm{P}_k\mathrm{~and~}\mathrm{P}_v Pk and Pv。 具体流程如下:
在这里插入图片描述
其中 G attention  ∈ R T × T G_\text{attention }\in\mathbb{R}^{T\times T} Gattention RT×T表示全局注意力矩阵。 T ‾ \overline{T} T表示矩阵转置。 O ∈ R T × d m o d e l O \in \mathbb{R}^{T\times d_{\mathrm{model}}} ORT×dmodel是输出。 SL-Norm表示双重归一化操作。 由于注意力图对输入特征的尺度敏感,因此分别使用softmax和L1-归一化对矩阵的列和行进行归一化,

在这里插入图片描述
其中 G ′ , G ′ ′ ∈ R T × T G',G''\in\mathbb{R}^{T\times T} G,G′′RT×T分别表示未经归一化和列归一化获得的注意力矩阵。 G a t t e n t i o n G_{\mathrm{attention}} Gattention表示行和列归一化后的注意力矩阵。 G a t t e n t i o n G_{\mathrm{attention}} Gattention反映了全球层面的注意力图。 每行可以代表一个离散分布,代表每个数据点与整个系列模式之间的关联程度。 最后通过 G a t t e n t i o n G_{\mathrm{attention}} Gattention的相似度来更新 P k   a n d   P v \mathrm{P}_k\mathrm{~and~P}_v Pk and Pv P k   a n d   P v \mathrm{P}_k\mathrm{~and~P}_v Pk and Pv是两个与输入无关的模式单元,它们是全局可学习的,存储整个时间序列的全局模式和特征。 实际上,这两个模式单元都是由线性层实现的,因此可以通过端到端更新梯度来优化它们。 它们在整个数据集中共享,并且具有很强的正则化性。

为了从不同的表示子空间中学习相关信息,我们利用多头机制。 对于 h 个头的可学习尺度参数 λ h ∈ R T × h \lambda_h\in\mathbb{R}^{T\times h} λhRT×h Q i ∈ R T × d m o d e l h Q_{i}\in\mathbb{R}^{T\times\frac{d_{model}}{h}} QiRT×hdmodel 是 h 个头的 Query,多头机制的公式为
在这里插入图片描述

其中 H i H_{i} Hi表示第 i 个头的输出。 h 表示磁头数。

D. Optimization and Anomaly Discrimination

为了更好地区分异常,在PA中得到了局部注意力图 L attention L_{\text{attention}} Lattention和每个数据点的注意力图 G attention G_{\text{attention}} Gattention。 计算 G attention G_{\text{attention}} Gattention L attention L_{\text{attention}} Lattention之间的差异 GLID。 GLID越小,异常概率越大。 为了方便起见,我们将 L attention L_{\text{attention}} Lattention G attention G_{\text{attention}} Gattention分别表示为 L 和 G。 我们利用KL散度来构造GLID,具体公式为
在这里插入图片描述
其中DKL(·∥·)表示L和G的KL散度。L和G的每一行表示离散分布,取N层的平均值表示GLID。

为了更好地重建模型的输入,并增加异常值的可区分性,我们根据[31]和[42]使用两阶段的对抗性损失来稳定模型的训练。 第一阶段的目的是使LPM能够动态学习每个数据点的尺度参数以适应各种异常模式。 第二阶段是最小化重建误差并增加GLID差异,使重建异常变得更加困难。 两阶段的对抗性损失函数公式描述如下:

在这里插入图片描述

其中 α + β = 1 , ∥ ⋅ ∥ F , ∥ ⋅ ∥ 1 \alpha+\beta = 1, \|\cdot\|_{F}, \|\cdot\|_{1} α+β=1,F,1表示 Frobenius 范数和 1-范数。 S ′ ∈ R T × d S^{\prime}\in\mathbb{R}^{T\times d} SRT×d表示 S 的重建。在第一阶段,我们设置了较小的 α (α < 0.5),这使得模型一开始不太关注重建任务,而是关注局部建模。 并自适应学习拉普拉斯核函数的尺度参数,使LPM能够适应各种类型的异常模式。 在phase2中,设置较大的β(β>0.5)。 该模型更关注重建任务,GERM 学习更细粒度的特征和全局模式。 不符合时间序列模式特征的离群值或异常模式更难以重建,这放大了正常和异常的GLID,使可区分性变得明显。 实验中我们将α设为0.3,β设为0.7。

TABLE I

性能[F1 (%)] 变压器中SA 和PA 的比较。 W/ REC 和 W/ REC+GLID 分别表明判别标准仅为重建误差以及重建误差和 GLID 的组合
在这里插入图片描述
为了在推理阶段区分异常,需要在训练阶段推断异常判别标准。 我们设置的异常分数由重建误差和GLID组成,具体公式如下:在这里插入图片描述
其中 ∥ ⋅ ∥ 2 \|\cdot\|_2 2是L2范数,⊙表示元素乘法, s ∈ R T × 1 s\in\mathbb{R}^{T\times1} sRT×1是每个数据点的异常得分。 在推理过程中,通过选择阈值来识别异常
在这里插入图片描述
其中 y i y_{i} yi表示预测结果,1表示异常,0表示正常。 具体的阈值选择将在第四节中解释。

E. Discussion of Self-Attention and Parallel-Attention

在SA中,矩阵乘法用于计算元素之间的相关性。 矩阵乘法带来平方计算复杂度。 我们 PA 中的 GERM 不是矩阵乘法,而是利用具有线性复杂度的可学习线性单元。 这种低复杂度的模型更适合现实世界的工程应用,可以减少计算开销和时间成本。 此外,SA 只能对窗口内数据点之间的相似性进行建模。 相比之下,我们的 PA 不仅对窗口内元素之间的相关性进行建模,而且还增强了窗口之间的依赖性。 我们在表一中比较了 SA 和 PA 在五个真实世界数据集上的性能。我们可以观察到,当异常判别标准仅与重建误差一起使用时,PA 和 SA 的性能相当。 这是因为重构错误允许 PA 仅对全局依赖关系进行建模。 当将重建误差和 GLID 结合起来时,我们的 PA 大大优于 SA,这归因于 PA 能够表征全局和局部的时间序列分布模式。

TABLE II

我们实验中用于时间序列异常检测的五个真实世界基准数据集和一个合成数据集 (S-5) 的详细信息

在这里插入图片描述

IV. EXPERIMENT

在本节中,我们介绍使用的数据集和比较的基线、实验设置和评估指标、消融实验和可视化分析,以及敏感性分析和计算复杂性分析。

A. Baselines and Datasets

我们将我们的方法与 14 个最先进的基线进行了比较,包括 DAGMM [27]、Deep-SVDD [16]、LSTM-VAE [26]、OmniAnomaly [29]、THOC [33]、USAD [31]、 GDN [39]、InterFusion [34]、TranAD [42]、Anomaly-Transformer [41]、基于张量的综合异常检测(ITAD)[11]、BeatGAN [28]、MSCRED [30] 和基于条件评分的 插补扩散模型(CSDI)[47]。 这些方法的细节在第二节中描述。 请注意,CSDI [47] 主要是为数据插补而不是异常检测而设计的。 在这里,我们使用其插补误差将其适应时间序列异常检测。

我们使用了六个基准数据集,包括五个真实数据集和一个合成数据集。 数据集的详细信息如表二所示。 土壤湿度主动被动卫星(SMAP)[48]是美国的地球观测卫星之一,主要用于观测土壤湿度。 它有55个实体通道,每个实体通道有25个维度。 火星科学实验室(MSL)[48]与SMAP数据集类似,有27个实体通道,每个实体通道有55个维度。 服务器机器数据集(SMD)[29]是从一家大型互联网公司收集的为期五周的数据集。 SMD由来自28台不同机器的28个数据实体组成,每个实体有38个维度的数据。 池化服务器指标 (PSM) [49] 是从 eBay 内的多个应用程序服务器节点收集的数据集,包含 25 个特征,每个特征描述服务器机器指标。 安全水处理(SWaT)[50]是一个用于网络安全领域研究的水处理实验台,由51个传感器组成。 其目标是保护网络物理系统(CPS),例如水处理、发电和配电以及石油和天然气精炼。 赖等人。 [4]提出了一种行为驱动的时间序列异常分类方法,我们使用该标准合成了S-5数据集,其中80 000个数据用于训练,80 000个数据用于测试。 S-5包括五种类型的异常,如图2所示,包括点全局、点上下文、模式shapelet、模式季节性和模式趋势。 为了确保公平比较,我们报告所有方法五次运行的平均结果。

TABLE III

PAFORMER 在五个真实世界数据集中的数据集定量结果。 对于这三个指标 (%),值越高表示性能越好
在这里插入图片描述

B. Experimental Setup

我们对所有数据集使用窗口大小为 100 的非重叠滑动窗口。 隐藏单元的数量设置为 512,头的数量设置为 8,PAFormer 中的层数设置为 N = 3。优化器设置为具有初始学习率的自适应矩估计 (ADAM) 0.0001。 我们迭代了 10 个 epoch,并使用了 Early Stopping 技术。 我们使用点调整策略[29]、[33]、[41],其中如果在连续的异常片段中检测到单个点为异常,则整个片段被认为是异常的。 这种策略在现实世界的应用中是合理的,因为检测到异常会发出警报并提示关注包含异常点的整个系列片段。 我们对比较方法使用相同的策略,所有其他实验细节与原始论文一致。 所有实验均使用 Pytorch 1.11.0 在 NVIDIA RTX 3090 24 GB GPU 上进行。

在推理阶段,阈值设置如下:SMAP为0.001,MSL为0.004,SMD为0.02,PSM为0.0003,SwaT为0.005,S-5为0.04。 具体的阈值选择过程如下:在训练阶段,留出20%的训练数据用于阈值选择,该数据不附加任何标签。 对于 20% 的训练数据,计算每个数据点的异常分数 s。 使用K均值聚类将异常得分聚类为两组,并计算异常比率r。 在测试阶段,获得所有测试数据的异常分数,并使用比率r作为固定阈值计算临界点。

本研究使用的评价指标为查准率(P)、查全率(R)和F1分数(F1),计算公式如下:

在这里插入图片描述
其中TP(True Positive)是正确检测到的异常数量,FP(False Positive)是错误检测到的异常数量,FN(False Negative)是遗漏的异常数量。 这些指标通常用于异常检测任务来评估模型的性能。

C. Quantitative Results Analysis

我们比较了最近 14 篇时间序列异常检测方面的优秀作品。 五个真实世界时间序列数据集的平均 F1 分数最高为 94.52%,PAFormer 在表 III 中实现了最先进的性能。 尽管 PAFormer 在 SMAP 数据集上没有获得最好的 F1 分数,但它与最佳方法仅相差 0.003,可以忽略不计。 由于SMD中正常数据和异常数据差异较小,TranAD和USAD利用对抗性训练取得了有竞争力的表现,表明对抗性训练有助于模型训练。 在相互作用中,模型可以稳定地训练并且可以区分细微的异常。 使用关联学习的 Anomaly-Transformer 排名第二,仅次于我们的模型。 然而,由于SA仅限于窗口,因此证明了全局学习的有效性和重要性。 其他深度生成模型要求训练数据全部正常。 在上述五个数据集中,训练集包含异常和噪声,但PAFormer仍然可以稳定训练并取得良好的检测精度,表明该模型在抗噪声方面具有一定的优势。

此外,我们还在 S-5 上评估了我们的模型(异常率 1.7%)。 S-5包含全局点、上下文点、模式shapelet、模式季节性、模式趋势五种异常类型,异常率极低,对现实场景中的异常检测模型提出了重大挑战。 如图 5 所示,所有 14 种基线方法都取得了较低的 F1 分数,而我们的方法仍然取得了最好的 F1 分数。 AUC对正负样本的平衡不敏感,可以在高度不平衡的数据集中合理评估模型性能。 与其他方法相比,PAFormer 取得了最好的 AUC,表明其具有卓越的适应极度不平衡数据集以及区分多种类型复杂异常的能力。 这表明我们的模型能够检测多种类型的异常并能够区分它们。

在这里插入图片描述
图 5. PAFormer 与 S-5 数据集中 14 个最先进基线的 F1 和 AUC 比较结果。

D. Visualization Analysis

为了直观地分析我们的模型,如图6所示,我们可视化了S-5中五种异常类型的时间序列和相应的异常分数。 我们的模型准确地识别了异常点(全局点[见图6(a)]和上下文点[见图6(b)]),并显着降低了误报率。 我们分析原因是点异常是突发的并且与相邻时间点没有相关性。 尽管异常点很少见,但我们的模型通过捕获全局和局部时间特征准确地识别了它们。 对于模式异常(模式 shapelet [见图 6©]、模式季节性 [见图 6(d)] 和模式趋势 [见图 6(e)]),我们的模型能够及早检测到异常 在。 及早发现异常可以减少机器损坏和经济损失。 虽然该模型无法在整个异常期间检测到异常,但早期预警在实践中是有意义的。

对于复杂的多类型异常模式,我们的模型具有一定的优势。 同样,我们在图 7 中可视化了我们的模型在五个真实世界数据集上的检测性能。可以看出,我们的模型可以准确地检测真实世界数据中的异常。 对于SMAP,我们的方法可以有效区分正常模式和异常模式。 对于SWaT中的模式异常,该模型可以在异常发生之初就检测到异常,这对于实际工程尤其有意义。 在模型优化过程中,LPM针对不同类型的异常自适应调整λ。 如图8所示,我们发现异常数据点的λ小于正常数据点。

E. Ablation Experiment

我们在表 IV 中分析了 PAFormer 每个组件的有效性。 每个窗口内的数据不包含全局序列特征,SA仅对窗口内数据点的相关性进行建模。 因此,我们用SA代替GERM来展示GERM在建模全局特征方面的优势。 对于区分标准,我们比较了仅使用重建以及重建和 GLID 组合的异常分数。 从表IV中我们发现,仅使用GERM虽然提取了时间序列的全局信息,但检测性能较差,几乎与SA相同。 将 LPM 添加到模型中,仅进行重建,因为异常分数显示 GERM 和 SA 都有显着改善,表明 LPM 对整个模型的重要性。

除了全球信息之外,这种本地特征也是必不可少的。 使用重建和 GLID 的组合替换异常分数令人惊讶地显示出显着的准确性改进,即使仅使用原始 SA 和 LPM 时也是如此,超越了许多基线的性能。 使用GERM代替SA,性能得到显着提升,说明GERM全局建模能力在时间序列异常检测中的必要性和优越性。 在 GERM 中,我们利用双重归一化(SL-Norm)来计算注意力图。 我们将 SL-Norm 与传统标准化 (Norm) 进行比较,如图 9 所示,发现 SL-Norm 增强了所有数据集的模型性能。 注意力图对输入特征尺度敏感。 SLNorm 减少了尺度之间的差异,避免了极端值。

此外,我们分析了将两阶段损失与对抗性训练相结合对模型优化的影响。 如图 10 所示,仅使用第一阶段损失作为监督会导致所有五个数据集的性能最差。 我们认为这是因为模型只学习了时间序列的局部特征而忽略了重建任务,其中每个数据点的表示都需要重建作为监督信号。 虽然仅使用phase2损失不能很好地训练LPM模型,但它的优势在于LPM本身具有局部特征。 此外,该模型更加强调时间序列重建,从而比仅使用第一阶段损失更好地表示每个数据点。 对抗性训练的两阶段损失的性能明显优于一阶段损失,表明两阶段损失使模型不仅能够学习全局特征,而且能够更好地适应各种异常模式,从而有利于稳定的训练 模型的。 对于α和β的选择,我们进行了如图11所示的实验。当α<0.5时,模型的性能没有显着差异。 然而,当α=0.5时,模型在多个数据集上的性能下降严重,这与我们之前的分析一致。

在这里插入图片描述
图 6. S-5 和异常分数上不同异常类别的可视化。 第一(第三)行是时间序列,第二(第四)行是每个时间点对应的异常分数。 (a) 全局点。 (b) 点上下文。 © 图案形状。 (d) 模式季节性。 (e) 模式趋势。

在这里插入图片描述
图 7. 真实数据集中模型学习标准的可视化(SMAP、MSL、SMD、PSM 和 SWaT)。 第一行是时间序列,第二行是每个时间点对应的异常分数。

在这里插入图片描述
图 8. 不同类型异常的学习尺度参数 λ。 第一行是时间序列,第二行是每个时间点对应的尺度参数λ。 (a) 全局点。 (b) 点上下文。 © 图案形状。 (d) 模式季节性。 (e) 模式趋势。

F. Sensitivity Analysis

我们分析了模型对超参数的敏感性,包括头数、PAFormer 中的层数、窗口大小和训练集大小。

1)头数的敏感性:与SA类似,我们的模型支持多头版本,这允许模型执行并行计算并增强其表达能力。 如表五所示,我们进行了五组实验,发现多头方法在 SMAP、SMD 和 SWaT 上比单头方法表现更好,特别是当头数为 8 时。 是16,性能比单头方法差。 此外,单头方法在 MSL 上优于多头方法。 可以看出,使用多头方法可以提高大多数数据集上的性能,我们最终将头数设置为8。

TABLE IV

PAFORMER 和异常标准中组件的消融结果 (F1 %)。 SA 表示 SA。 REC 表示重建
在这里插入图片描述
在这里插入图片描述
图 9. PAFormer 中 GERM 标准化操作 [SL-Norm(双重标准化)和 Norm(标准化)] 的消融实验。

在这里插入图片描述

图 10. PAFormer 的两阶段对抗性损失(phase1 + Phase2)和单阶段损失(phase1、phase2)的性能影响。

在这里插入图片描述
图 11. 参数 α 和 β 的不同选择对 PAFormer 性能的影响。

TABLE V
性能 [F1 (%)] 不同数量的胚芽对 PAFORMER 的影响
在这里插入图片描述
TABLE VI
不同层数选择下的模型性能[F1(%)]
在这里插入图片描述
2)层数的敏感性:我们在表六中分析了层数对模型性能的影响。 我们发现,在五个真实数据集上,当层数为 3 或 4 时,性能饱和,这表明过多的层数并不一定会改善模型优化。 更深的模型并不总是能带来更好的结果。 相反,即使只使用一层也能产生有竞争力的结果。 最后我们妥协,将层数设置为3。

3)窗口大小的敏感性:我们对PAFormer对窗口大小的敏感性进行了分析,如图12所示。窗口大小对异常检测的性能有影响。 在我们的实验中,考虑到时间信息、内存使用和计算效率等因素,我们将窗口大小设置为100。 此外,图 12 表明 PAFormer 在具有不同窗口大小的各种数据集中都是稳定的。 值得注意的是,对于非常小的窗口(例如,窗口= 20),除了对SMAP数据集有一定影响外,该模型对于其他数据集保持相对稳定。 因此,即使窗口非常小,我们的模型也能够学习时间序列的全局特征。 这些发现证实了我们模型的稳定性,这对于实际应用至关重要。

此外,我们还对 PAFormer 对窗口大小的敏感度进行了极限测试。 如图 13 所示,在窗口极小的情况下(窗口 = 10),PAFormer 在多个数据集上的性能较差。 这是因为极小的窗口导致模型学习相似的全局和局部时间依赖性特征,从而无法区分全局和局部分布模式差异。 在未来的工作中,我们将分析和调整极小窗口的时间序列异常检测。

TABLE VII

PAFORMER 对训练集大小的敏感性。 我们将训练集分别减少了 30%、50% 和 70%

在这里插入图片描述
TABLE VIII

计算复杂性根据训练时间(每个周期秒)、推理时间(秒)、和模型复杂性(失败次数)

在这里插入图片描述
在这里插入图片描述

图 12. PAFormer 对不同窗口大小的敏感度。 我们对五个真实数据集进行实验并报告 F1 和 AUC。

在这里插入图片描述
图 13. PAFormer 对极小窗口尺寸的灵敏度分析。 我们发现窗口越小,对 PAFormer 的影响就越大。

  1. 训练集大小的敏感性:PAFormer 具有在时间序列异常检测任务上实现卓越性能的潜力。 然而,为了充分发挥其性能,模型训练需要足够的训练数据。 这是因为 PAFormer 基于 Transformer 架构,而 Transformer 通常需要大量数据来学习模型的参数和特征表示。 我们在表 VII 中测试了训练集大小对 PAFormer 的敏感性。 随着训练集的减少,模型性能略有下降。 将训练集减少一半会使 PAFormer 在五个真实数据集上的平均 F1 降低 3.14%。 这对于现实世界的工程应用来说是可以接受的。 此外,我们的PAFormer是一种USAD方法,因此可以充分利用现实世界中大量未标记的时间序列数据。

G. 计算复杂度分析

我们从三个方面分析了表八中PA和两阶段对抗性损失的计算复杂度; 训练时间、推理时间和模型复杂度 (FLOP)。 使用相同的重建损失,与 SA 相比,我们的 PA 具有更低的训练和推理时间,以及更低的模型复杂性。 这是因为 SA 中利用矩阵乘法来计算元素之间的相似度,这具有输入复杂度的平方。 我们的 PA 有两个可学习的模式单元,在实现中用线性层替换,具有线性复杂度。 此外,我们还研究了由于对抗性损失的两个阶段而导致的计算复杂性。 我们观察到,对抗性损失在训练阶段确实需要额外的计算,但这种成本通常是可以接受的。 值得注意的是,对抗性损失仅在训练期间使用。 因此,我们的方法虽然采用了对抗性优化,但在实际应用中并没有显着增加计算负担,而且带来的性能提升也更加实用。

V. CONCLUSION AND FUTURE WORK

在这项工作中,我们提出了一种新颖的无监督时间序列异常检测框架PAFormer,它通过GERM和LPM提取每个数据点的全局特征和局部模式,并评估异常检测的分布差异。 此外,我们构建了一个两阶段对抗性损失来优化模型,以实现更好的序列重建和异常放大。 与基线相比,我们的模型在五个基准数据集(真实数据集)和一个合成数据集 (S-5) 上实现了最先进的性能。 消融实验证明了每个组件的有效性以及超参数对模型性能的影响。 还分析了模型的敏感性。 我们的组件可以轻松整合到各种重建模型中。

对于未来的工作,我们的目标是应对两个挑战。 首先,我们的模型只能检测多元时间序列中的异常,但无法精确定位异常通道。 因此,我们计划考虑不同变量之间的相关性并准确找出异常区域。 其次,自然语言处理和计算机视觉中的预训练模型已成功应用于下游任务。 因此,我们计划建立一个时间序列的预训练模型,并将其转移到下游任务,例如异常检测、预测和分类。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值