系列文章目录
基于时空关联差异的串并联变压器时间序列异常检测方法 Information Sciences2024
摘要
多元时间序列异常检测方法可以通过检测监测数据中的异常来发现复杂系统中的故障。多元时间序列具有复杂的时空相关性。现有的显式建模这两种相关性的方法只能按单一时空或时空顺序提取语义信息。然而,不同的顺序对方法的性能有显著的影响。此外,在正常数据上训练的静态图结构难以捕捉异常发生时特征之间相关性的变化,从而限制了方法的性能。本文提出了时空异常转换器(STAT),将时空顺序和时空顺序相结合,综合提取语义信息。STAT使用时间异常变压器和空间异常变压器(SAT)来显式计算时空关联差异,以进行异常检测。由于拓扑结构通常是未知的,SAT采用可训练的超球来学习正常数据上特征之间的先验关联,并计算注意权值与超球中心之间的距离作为空间关联差异。使用AUC和最近提出的两个评估指标将STAT与公共数据集上的各种典型方法进行比较,证明我们的方法可以达到最先进的性能。
提示:以下是本篇文章正文内容
一、介绍
异常检测的目的是在数据中发现不符合预期行为的模式。由于在实际应用中取得了巨大成功,如网络入侵检测[2]、信用卡欺诈检测[3]、流量异常检测等[4-6],异常检测成为近年来的研究热点[7,8]。随着传感器和物联网(IoT)的快速发展,获取服务器[9]或水处理站[10]等复杂系统的实时监控数据变得越来越容易。通过检测隐藏在监控数据中的异常,可以及时发现许多潜在的故障,有效提高系统的安全性,降低发生大规模故障的风险[11]。由于监测数据是由传感器以固定频率实时采集的,因此具有较强的时间依赖性。此外,它们是多维的,因为通常需要大量的传感器来监视复杂的系统[12]。因此,多元时间序列异常检测(Multivariate Time Series Anomaly Detection, MTSAD)逐渐成为异常检测中最热门的研究领域之一[11-23]。
由于异常通常很少见,因此准确标记所有历史数据既困难又耗时。异常的罕见也使得几乎不可能收集到包括所有可能故障的数据。因此,本文提出的方法是一种无监督的MTSAD方法,类似于许多已有的研究[11-18]。
经典的异常检测方法,如局部离群因子(LOF)[24]、隔离森林(IF)[25]、一类支持向量机(OCSVM)[26]等,在多维数据异常检测中取得了优异的效果。然而,经典的异常检测方法通常假设数据是相互独立的,无法对时间序列[11]中的时间依赖性进行建模。基于自回归的方法,如自回归移动平均模型(ARMA)或自回归综合移动平均模型(ARIMA),可以根据预测值与实际值之间的偏差来检测异常。尽管基于自回归的方法可以捕获时间点之间的相关性,但它们仍然难以建模具有复杂非线性的多元时间序列[17]。与经典的异常检测方法和基于自回归的方法相比,神经网络可以更好地模拟复杂的时空相关性。因此,基于深度学习(Deep Learning-based, DLbased)的mt萨德方法逐渐成为主流。
现有的基于dl的MTSAD方法可分为基于预测的方法和基于重建的方法[12,28]。基于预测的方法在正常数据上训练预测模型,计算预测值与实际值的偏差作为异常评分[29]。一些最先进的方法,如GDN[17]和GTA[12],可以分为基于预测的MTSAD方法。如果系统具有很强的不可预测性,基于预测的方法的性能可能会受到限制。
基于重建的方法训练模型将正常数据编码为低维表示,并将其解码回原始输入。在这个过程中,模型学会从正常数据中提取最关键的信息。由于信息瓶颈[31],模型只能重建正常数据,重建与原始输入的偏差计算为异常评分[30]。许多典型的方法,如OmniAnomaly[9]、BeatGAN[14]、USAD[15]和最近提出的TranAD[18],都可以归为基于重建的方法。与最先进的异常变压器(AT)[11]类似,本文提出的方法也是以重建任务为骨干。因此,它们都可以看作是基于重构的方法。
基于dl的MTSAD方法需要提取和利用时空语义信息来区分正常时间点和异常时间点[28]。递归神经网络(rnn)及其变体是提取时间语义信息最常用的模型之一。OmniAnomaly[9]采用门控循环单元(GRU)作为编码器和解码器的主干,提取时序语义信息。由于rnn及其变体需要对每个时间点进行迭代处理,因此它们不能并行运行,并遭受梯度爆炸和梯度消失[32]。为了缓解这些问题,BeatGAN[14]和GTA[12]使用卷积神经网络(cnn)来提取时间语义信息。近年来,在自然语言处理(Natural Language Processing, NLP)[33]取得成功后,Transformers[34]逐渐被应用到多个研究领域,如多元时间序列预测[35]和计算机视觉[36]。transformer使用多头自注意机制来捕获时间点之间的相关性,使它们能够建模长期依赖[37]。TranAD[18]的编码器和解码器采用transformer提取时态语义信息。在GTA[12]中提出了一种改进的Transformer来预测未来的时间点。除了使用transformer提取时间语义信息外,AT[11]还提出使用transformer显式计算时间点之间的关联差异以进行异常检测。
显式建模特征之间的相关性在mt萨德中也起着重要作用[12,13,16,17]。MSCRED[13]提出通过计算两两内积来建模特征之间的相关性。InterFusion[16]首先使用多个一维卷积(Conv1D)层提取时间语义信息,然后采用类似随机递归神经网络(SRNNs-like)的架构提取空间语义信息。GDN[17]使用图结构来明确表示特征之间的相关性。将每个特征视为图结构中的一个节点,并提出使用可训练的嵌入向量来学习系统的拓扑结构。采用图注意网络(GATs)从学习到的图结构中提取空间语义信息。GTA[12]也将每个特征视为图结构中的一个节点,并提出了一种基于Gumbel-Softmax的学习策略来学习特征之间的相关性。GTA结合扩展卷积和图卷积网络(GCNs)分别提取时间和空间语义信息。
尽管上述方法通过显式建模特征之间的相关性取得了优异的性能,但它们仍有改进的空间:
(1)现有方法一般采用时序叠加的方式提取时空语义信息。然而,正如[38]所指出的,当使用不同的模块按顺序提取语义信息时,提取时空语义信息的顺序会影响性能,两种顺序的结合可能会获得更好的效果。
(2)与利用时间点间的关联差异检测异常[11]的思路类似,在系统正常运行时,多变量时间序列通常具有稳定的空间相关性,而在异常发生[16]时,这种稳定相关性可能被打破。因此,明确地捕捉特征之间相关性的变化也有助于检测多变量时间序列中的异常。然而,现有方法中使用的GCNs和类似srnns的架构不能显式地计算特征之间的关联值。此外,在训练集中的正常数据上训练的静态图结构不能明确地捕捉异常发生时特征之间关联的变化。
(3) AT[11]采用高斯分布作为先验分布计算时间点之间的关联差异。然而,由于系统的实际拓扑结构通常是未知的,因此不可能手动设置特征之间关联的先验分布[12,17]。因此,在计算空间关联差异(SAD)之前,该方法必须学习正常数据上特征之间的先验关联。
在本文中,我们提出了时空异常转换器(STAT)来更好地检测多元时间序列中的异常。为了缓解这个问题(1),受[38]的启发,STAT将四个不同的基于transformer的模块以串并联结构组合在一起,使其能够以时空和时空顺序提取语义信息。为了解决问题(2)和(3),受[39]的启发,STAT采用空间变形(ST)来提取空间语义信息,并提出了一种新的空间异常变形(SAT)来计算特征之间的关联差异。SAT通过不受静态图结构限制的关注权来建模特征之间的相关性。此外,SAT采用可训练的超球来学习训练集中正常数据上特征之间的先验关联,并计算注意权值到超球中心的距离作为SAD。
我们的贡献如下:
(1)提出了一种名为STAT的无监督MTSAD方法。STAT在串并联结构中结合了不同的基于变压器的模块,以更好地模拟时间和空间相关性。
(2)提出了一种新的基于变压器的模块SAT。SAT在训练过程中学习特征之间的稳定相关性,明确捕捉空间关联的变化,进行MTSAD。
(3)通过精心设计的实验,验证了STAT的有效性。在6个公开数据集上,用3种不同的评价指标对STAT和其他14种典型异常检测方法进行了评价,实验结果证明我们的STAT可以达到最先进的性能.
在第2节中,我们将回顾与本文相关的几种mt萨德方法。在第3节中,将简要介绍STAT中涉及的现有方法。在第4节中,我们将详细介绍STAT。在Section 5中,我们将进行实验来证明我们的STAT的有效性,并在Section 6中得出一些结论。
二、相关工作
本节将几种典型的基于dl的MTSAD方法分为专注于提取时间语义信息的方法和明确提取空间语义信息的方法两大类,并进行简要介绍。
2.1. 方法侧重于时间语义信息的提取
许多MTSAD方法采用rnn或其变体来建模时间依赖性,因为它们在序列数据分析中取得了优异的性能,例如NLP[40]和时间序列预测[41]。[9]认为,服务器或航天器等物理实体的监测数据由于与环境、操作员和其他系统的复杂交互,具有较强的时间依赖性和随机性。[9]提出了OmniAnomaly,它结合了变分自编码器(VAE)、GRU和平面归一化流来检测时间序列中的异常。与自编码器(AE)相比,VAE可以通过对正态数据的概率分布建模来捕捉时间序列中的随机性。平面规范化流可以扩展潜在表示的分布,使OmniAnomaly能够捕获更复杂的模式。使用GRU作为编码器和解码器的主干来建模时间依赖性。此外,OmniAnomaly提出将潜在表征连接起来,使它们也具有时间依赖性。
[14]认为,虽然AE可以通过非线性函数捕获时间序列中的复杂语义信息,但缺乏适当的正则化可能会导致过拟合。因此,正常时间点和异常时间点都可以很好地重建,使其难以区分。[14]通过将生成对抗网络(GANs)的判别器作为约束添加到AE中,提出了BeatGAN。BeatGAN中的AE通过最小化重构损失和成对特征匹配损失来欺骗鉴别器。相比之下,鉴别器被训练来区分原始输入和重建。与OmniAnomaly不同,BeatGAN采用cnn提取时间语义信息,因为cnn具有鲁棒性。
在NLP[33]取得重大成功后,Transformers[34]迅速应用于多个领域,如时间序列预测[35]和计算机视觉[36]。变形金刚通过计算成对时间点之间的注意力权重来提取时间语义信息,使它们能够模拟长期依赖[37]。[18]认为现有的方法只能提取局部时态语义信息,因为它们通常使用小滑动窗口作为输入,这限制了它们的性能。利用对长期依赖关系建模的能力,在TranAD[18]中使用变压器作为编码器和解码器来检测时间序列中的异常。TranAD提出了一个完整序列编码器和一个窗口编码器,分别从整个时间序列和滑动窗口中提取时间语义信息。通过结合两个编码器的输出,在TranAD中提取的时态语义信息不再受滑动窗口的限制。为了检测小偏差的异常,TranAD提出了焦点评分,并以对抗的方式训练了两个解码器。虽然TranAD在多个公共数据集上取得了优异的成绩,但在实际应用中,时间序列可以认为是无限的,几乎不可能存储整个时间序列。此外,变压器相对于输入长度具有二次复杂度,使得从整个时间序列中提取语义信息的计算成本过高。
现有方法将每个时间点的预测或重建误差作为异常分数计算,忽略了时间依赖性[11]。由于正常时间点在时间序列中占主导地位,因此可以训练模型来建立正常时间点与其他非相邻时间点之间的关联。然而,模型只能找到异常和其他相邻时间点之间的关联,因为异常在时间序列中通常是罕见的和连续的。利用变形金刚中的多头自注意机制,在b[11]中提出了AT,以显式地模拟时间点之间的关联。对每个时间点拟合高斯分布,计算其先验关联。通过计算注意权重与先验关联之间的Kullback-Leibler (KL)散度,AT可以显式捕获时间点之间的关联差异。结合每个时间点的关联差异及其重构误差进行异常检测。
2.2. 方法显式提取空间语义信息
上述方法主要是建立时间点之间的关联模型来检测异常。然而,多元时间序列也具有特征之间的相关性。例如,在大型物联网系统中,不同传感器之间存在复杂的拓扑相关性,每个传感器收集的数据通常会受到来自其他传感器的数据[12]的影响。明确地提取和利用多元时间序列中不同特征之间的相关性对于提高异常检测性能非常重要[12,13,16,17]。
MSCRED[13]计算特征间的两两内积,并将每个滑动窗口转换成二维特征矩阵,以显式提取多元时间序列中的空间语义信息。多个不同大小窗口的签名矩阵组成多通道“图像”,将多元时间序列转换成“视频”。MSCRED首先采用由卷积(Conv)层组成的四个编码器,从每个“想象”中提取语义信息。然后,MSCRED通过四个基于注意的卷积长短期记忆(ConvLSTM)网络对时间依赖性进行建模。最后,将卷积stm的输出进行串联,并采用反卷积(DeConv)层重建最后一个时间点的“图像”。MSCRED通过直接计算原始时间序列的两两内积提取空间语义信息,无法捕获复杂的非线性依赖关系[42]。
InterFusion[16]采用分层VAE作为主干网络,提取复杂的时空语义信息。InterFusion首先采用Conv1D层从输入窗口提取时间语义信息,然后采用一维反卷积(One-Dimensional Deconvolutional, DeConv1D)层重建原始输入。在使用类srnns架构提取空间语义信息之前,重构输入窗口可以对齐学习到的嵌入,过滤掉训练集中可能存在的异常,避免过拟合。重建概率作为异常评分。
图神经网络应用于mt萨德是因为图结构可以直接表示系统的拓扑结构[12,17]。基于图的方法将每个特征视为图结构中的一个节点,由于系统的拓扑结构通常是未知的,因此需要以数据驱动的方式学习邻接矩阵[12,17]。GDN[17]认为多元时间序列中不同的特征可能具有不同的特征。因此,GDN为每个特征随机初始化一个可训练的嵌入向量,灵活地表示其特征。GDN计算嵌入向量之间的相似度,并通过选择top-𝑘节点建立邻接矩阵。将各特征及其嵌入向量拼接后,利用GATs提取空间语义信息,预测未来时间点。预测值与实际值之间的偏差作为异常评分。虽然GDN可以通过gat显式地提取空间语义信息,但它没有显式地建模时间依赖性。
与使用可训练的嵌入向量建立邻接矩阵不同,GTA[12]提出了一种基于Gumbel-Softmax的学习策略来学习图的结构,避免了嵌入向量之间点积的计算成本和在选择top-𝑘节点时选择𝑘的问题。为了从多变量时间序列中提取时空语义信息,GTA提出了一个由扩展卷积和GCNs组成的上下文编码块。在每个块中,先用扩展卷积提取时间语义信息,再用GCNs提取空间语义信息。编码器提取的语义信息最后由改进的Transformer解码器进行单步预测。GTA还使用预测误差作为异常评分。
现有的方法一般是通过叠加时间和空间模块来顺序提取两类语义信息。然而,提取时空语义信息的顺序对性能有显著影响。此外,受[11]的启发,我们认为明确捕获特征之间相关性的变化可能有助于检测多变量时间序列中的异常。然而,现有的基于图的方法一般是在训练集的正常数据上学习静态的图结构,并且在测试过程中保持图结构的固定,无法显式地捕捉异常发生时特征之间相关性的变化。
三、准备工作
在本节中,我们将简要介绍STAT中涉及的几种现有方法。在3.1节中,我们将详细说明MTSAD问题。时间变压器(TT)和时间异常变压器(TAT)将分别在3.2节和3.3节中介绍。ST将在第3.4节介绍。本文中使用的缩略语和符号汇总如表A.9、附录A和表B.10、附录B所示。
3.1. 问题陈述
在本文中,训练集表示为 χ t r a i n ∈ R T t r a i n × N \chi_{train}{\in}\mathbb{R}^{T_{train}\times N} χtrain∈RTtrain×N ,其中 T t r a i n T_{train} Ttrain 是时间点的数量,𝑁 是特征的数量。 我们假设 χ t r a i n \chi_{train} χtrain 只包含正常数据,就像其他无监督 MTSAD 方法 [11-18]。 为了进行异常检测,我们需要计算测试集中每个时间点的异常分数 χ t e s t ∈ R T t e s t × N \chi_{test}{\in}\mathbb{R}^{T_{test}\times N} χtest∈RTtest×N,并通过阈值将其转换为二进制标签。 令 x t ∈ R N x_{t}{\in}\mathbb{R}^{N} xt∈RN为时间点𝑡的𝑁维数据。 为了考虑𝑥𝑡的上下文,我们方法的输入是一个滑动窗口 X t = { x t − L + 1 , x t − L + 2 , . . . , x t } ∈ R L × N X_{t}=\left\{x_{t-L+1},x_{t-L+2},...,x_{t}\right\}\in\mathbb{R}^{L\times N} Xt={xt−L+1,xt−L+2,...,xt}∈RL×N,其中包括𝑥𝑡及其历史数据。 𝐿 是滑动窗口的大小。
3.2. Temporal transformer
建模时间依赖性对于准确的 MTSAD 很重要[28]。 近年来,Transformers[34]因其能够建模长期依赖关系[37]而在NLP[33]方面取得了巨大成功,并逐渐应用于MTSAD[11,18]。 在我们的 STAT 中,我们采用普通 Transformer 编码器 [34] 来提取时间语义信息。 在本文中,我们将其称为TT,以区别于其他模块。 TT 的核心组件是多头时间自注意力(MTSA)机制,它计算注意力权重来建模时间点之间的关联。 本节我们将简单介绍一下MTSA机制。 读者可以参考[34]获得更详细的介绍。
图1是MTSA机制的概述。 我们将第 TT 层的输入表示为 X T T m ∈ R L × N . X_{TT}^{m}{\in}\mathbb{R}^{L\times N}. XTTm∈RL×N. 。 𝑀 是层数,𝐻 是头数,𝑑𝑇𝑇 = ⌊𝑁∕𝐻⌋ 是每个头中 Query、Key 和 Value 的维度。 第 ℎ 个时间
其中
W
Q
m
,
h
,
W
K
m
,
h
,
W
V
m
,
h
∈
R
N
×
d
T
T
W_{Q}^{m,h},W_{K}^{m,h},W_{V}^{m,h}\in\mathbb{R}^{N\times d_{TT}}
WQm,h,WKm,h,WVm,h∈RN×dTT代表图 1 中的三个线性投影仪,
Q
m
,
h
,
K
m
,
h
,
V
m
,
h
∈
R
L
×
d
T
T
Q^{m,h},K^{m,h},V^{m,h}\in\mathbb{R}^{L\times d_{TT}}
Qm,h,Km,h,Vm,h∈RL×dTT代表 Query, Key, 和值,分别。
S
m
,
h
∈
R
L
×
L
S^{m,h}{\in}\mathbb{R}^{L\times L}
Sm,h∈RL×L表示输入窗口中时间点之间的注意力权重,
Z
m
,
h
∈
R
L
×
d
T
T
Z^{m,h}{\in}\mathbb{R}^{L\times d_{TT}}
Zm,h∈RL×dTT是第𝑚 TT层中第ℎ个时间自注意力头的输出。
如方程(2)所示,𝐻时间自注意力头的输出通过线性投影仪 W Z m ∈ R H d T T × N W_Z^m{\in}\mathbb{R}^{Hd_{TT}\times N} WZm∈RHdTT×N连接和投影,以获得第𝑚TT层 Z m ∈ R L × N Z^{m}{\in}\mathbb{R}^{L\times N} Zm∈RL×N中MTSA的输出。 然后,对𝑍𝑚进行层归一化和前馈网络处理,得到第𝑚 TT层的输出 X T T m + 1 ∈ R L × N X_{TT}^{m+1}\in\mathbb{R}^{L\times N} XTTm+1∈RL×N。 Concat (⋅) 表示级联,LayerNorm(⋅) 表示层归一化,FFN (⋅) 表示前馈网络[34]。
3.3. Temporal anomaly transformer
[11]认为可以训练模型来建立正常时间点和其他非相邻时间点之间的关联,因为正常时间点通常主导时间序列。 相反,模型只能在异常和其他相邻时间点之间建立关联,因为异常通常很少见且连续。 根据这一假设,[11]提出了AT,本文称为TAT,它可以通过显式计算时间点之间的关联差异来检测异常。 TAT 的核心组件是多头时间异常自注意力(MTASA)机制,该机制将注意力权重与先验关联之间的 KL 散度计算为时间关联差异(TAD)。 本节将简要介绍对于训练 TAT 至关重要的 MTASA 机制和极小极大策略。 读者可以参考[11]获得更详细的介绍。
图2是MTASA机制的概述。 与图 1 所示的 MTSA 相比,MTASA 具有两个附加组件来计算先验关联和 KL 散度。 第 𝑚 TAT 层中的第 ℎ 时间异常自注意力头基于高斯分布计算时间点之间的先验关联:
其中
X
T
A
T
m
∈
R
L
×
N
X_{TAT}^{m}\in\mathbb{R}^{L\times N}
XTATm∈RL×N 是第 𝑚 TAT 层的输入,
W
σ
m
,
h
∈
R
N
×
1
W_{\sigma}^{m,h}\in\mathbb{R}^{N\times1}
Wσm,h∈RN×1 是第 𝑚 TAT 层中第 ℎ 头方差的线性投影仪,
σ
m
,
h
∈
R
L
×
1
\sigma^{m,h}\in\mathbb{R}^{L\times1}
σm,h∈RL×1表示高斯分布的方差,
σ
i
m
,
h
∈
R
1
\sigma_i^{m,h}{\in}\mathbb{R}^1
σim,h∈R1表示时间点𝑖的方差。
P
m
,
h
∈
R
L
×
L
P^{m,h}{\in}\mathbb{R}^{L\times L}
Pm,h∈RL×L表示时间点之间的先验关联。 𝑖 和 𝑗 代表
X
T
A
T
m
.
X_{T_{AT}}^{m}.
XTATm. 中的时间点。 Rescale (·) 用于通过除以行和将高斯分布转换为先验关联。 第 𝑚 TAT 层的输出为
X
T
A
T
m
+
1
∈
R
L
×
N
X_{TAT}^{m+1}\in\mathbb{R}^{L\times N}
XTATm+1∈RL×N 。
MTASA 计算每个时间点的注意力权重与先验关联之间的 KL 散度作为其关联差异:
其中
TAD
(
X
t
)
∈
R
L
×
1
\textit{TAD}\left(X_{t}\right)\in\mathbb{R}^{L\times1}
TAD(Xt)∈RL×1 表示由 TAT 计算出的 TAD,其中 𝑀 层和 𝐻 头用于输入窗口 𝑋𝑡。
S
i
m
,
h
∈
R
L
×
1
S_i^{m,h}\in\mathbb{R}^{L\times1}
Sim,h∈RL×1 表示注意力权重,由第 𝑚 TAT 层中的第 ℎ 个时间异常自注意力头计算,在时间点𝑖和𝑋𝑡中的其他时间点之间。
P
i
m
,
h
∈
R
L
×
1
P_i^{m,{h}}\in\mathbb{R}^{L\times1}
Pim,h∈RL×1 是相应的先验关联。
如式(3)所示,由于高斯分布中的方差𝜎是由线性投影仪计算的,如果我们直接最大化TAD,网络可能会极大地减少𝜎,而不是尝试与整个序列建立时间关联,从而使TAD毫无用处 。 因此,[11]提出了极小极大策略来训练TAT。 在最大化阶段,更新 TAT 中参与计算注意力权重的参数以最大化 TAD。 因此,MTASA 学会在当前时间点和由 𝜎 确定的相邻区域之外的时间点之间建立关联。 由于等式(3)中的𝑊𝜎在最大化阶段没有更新,因此TAT不能通过减少𝜎来增加TAD。 在最小化阶段,更新参与计算TAT中时间点之间的先验关联的参数以最小化TAD。 因此,𝜎 尝试包含与相邻区域具有强关联的时间点,迫使 MTASA 寻找与整个系列的关联。 借助极小极大策略,可以训练 TAT 进行 MTSAD。
3.4. Spatial transformer
在 MTSAD 中,对特征之间的相关性进行显式建模也非常重要[12,13,16,17]。 我们采用[39]中提出的ST来显式提取STAT中的空间语义信息。 ST的核心组件是多头空间自注意力(MSSA)机制,它计算特征之间的注意力权重来建模空间相关性。图 4.我们的 STAT 的架构。 STAT由四个基于Transformer的模块采用串并联结构组成。 它可以显式地提取时空和时空顺序的时间和空间语义信息。
图3说明了MSSA机制的概述。 如图1和图3所示,MSSA的基本结构与MTSA类似,它们都分别使用式(1)和式(2)计算注意力权重和输出。 它们之间的主要区别在于,第𝑚 TT 层的输入和输出是 𝑋𝑚 𝑇𝑇εℝ𝐿×𝑁 和 𝑋𝑚+1 𝑇𝑇 εℝ𝐿×𝑁 ,而第𝑚 ST 层的输入和输出是 X T T m ∈ R L × N a n d X T T m + 1 ∈ R L × N X_{TT}^{m}{\in}\mathbb{R}^{L\times N}\mathrm{and}X_{TT}^{m+1}{\in}\mathbb{R}^{L\times N} XTTm∈RL×NandXTTm+1∈RL×N。 因此,MTSA 对时间点之间的相关性进行建模,而 MSSA 对特征之间的相关性进行建模。 另外,每个空间自注意力头中的Query、Key、Value的维度为𝑑𝑆𝑇 = ⌊𝐿∕𝐻⌋,这也与MTSA不同。
四、spatial-temporal anomaly transformer
在本节中,我们将详细介绍我们的 STAT。 在 4.1 节中,我们将概述我们的方法。 SAT 是本文提出的一个新的基于 Transformer 的模块,将在 4.2 节中介绍。 我们将在4.3节中介绍训练STAT的损失函数和异常分数的计算。
4.1. 整体架构
图 4 说明了我们的 STAT 的架构。 为了提取时空和时空顺序的语义信息,STAT 包含四个模块:TT、TAT、ST 和 SAT。 我们的 STAT 的左半部分 ST-TAT 串联组合了𝑀 ST 和𝑀 TAT 层。 ST-TAT首先通过ST从输入窗口中提取空间语义信息。 然后,提取时间语义信息并通过TAT计算时间点之间的关联差异。 我们的 STAT 的右半部分,TT-SAT,串联组合了𝑀 TT 和𝑀 SAT 层。 TT-SAT首先通过TT从输入窗口中提取时间语义信息。 然后,提取空间语义信息并通过SAT计算特征之间的关联差异。 ST-TAT 和 TT-SAT 并行运行。 它们的输出被连接起来,然后通过线性投影仪进行投影,以 Sigmoid 作为激活函数来重建输入窗口。 每个时间点的异常分数是重建误差、TAD 和 SAD 的逐元素乘积。 TT、TAT 和 ST 已分别在 3.2、3.3 和 3.4 节中介绍。
许多现有方法顺序堆叠提取时间语义信息的网络和提取空间语义信息的网络以明确考虑时间和空间相关性。 然而,首先提取时间或空间语义信息可能会导致在不同特征的数据集上产生不同的性能[38]。 由于无监督 MTSAD 训练期间只能获得正常数据,因此很难采用交叉验证等技术来为不同数据集选择最合适的顺序。 因此,具有固定的单一时空或时空顺序的方法很难避免不合适的情况,从而降低其提取语义信息的能力。 与无监督异常检测中常用的集成学习类似[43],STAT结合了时空顺序和时空顺序,以更好地确保网络的至少一部分适用于具有不同特征的数据集。 我们将进一步证明在第 5.4 节介绍的消融实验中,与使用固定单阶相比,组合两种阶的优势。
应该注意的是,与普通 Transformer 不同,我们在 STAT 中不采用嵌入和位置编码。 每次嵌入项目都指向更高的维度[11]。 然而,在 STAT 中,我们希望显式计算每个特征的关联差异,并将其与相应的重建误差相结合。 嵌入后,嵌入向量的特征将与原始输入的特征不同,使得每个特征的关联差异不再与其重建误差一致。 Transformer 使用表示输入窗口中每个时间点的位置的位置编码向量将位置信息添加到嵌入输入中[34]。 然而,由于我们不能采用嵌入,因此将位置编码向量直接添加到原始输入可能会阻碍我们的方法提取语义信息。 因此,我们在 STAT 中不采用位置编码。 我们将在 5.4 节中通过实验进一步证明位置编码的效果。
我们给出算法 1 中 STAT 的伪代码:
4.2. Spatial anomaly transformer
受[11]的启发,我们认为显式计算特征之间的关联差异也应该有助于检测异常,因为我们假设系统正常运行时特征之间的相关性应该是稳定的,而当异常发生时,这种稳定的相关性可能会发生变化。 基于这个假设,我们在本文中提出了一个新的基于 Transformer 的模块,名为 SAT。 与第 3 节中介绍的其他基于 Transformer 的模块类似,SAT 的核心组件是多头空间异常自注意力(MASA)机制,它可以显式计算特征之间的关联差异以检测异常。 与 MTASA 类似,系统正常运行时特征之间的稳定相关性(称为特征之间关联的先验分布)和特征之间的当前相关性都是计算 SAD 所必需的。 通过多头自注意力机制可以轻松获得特征之间当前的相关性。 然而,与MTASA采用高斯分布来计算时间点之间的先验关联不同,我们无法为特征之间的关联设置先验分布,因为系统的实际拓扑结构通常是未知的。
图 5 是我们的 MASA 机制的概述。 与图 3 所示的 MSSA 相比,MSASA 有一个额外的组件来计算超球体中心 𝐶 与注意力权重之间的距离。 如上所述,我们需要在不知道正常数据上空间相关性的真实分布的情况下计算特征之间的关联差异。 我们将此任务视为另一个异常检测问题,因为特征之间相关性的变化可以看作是不符合预期行为的模式,并判断当前输入窗口的注意力权重是否偏离正常数据上的空间相关性。 这个新任务计算的异常分数可以被视为当前输入窗口的特征之间的关联差异。
由于当系统正常运行时,特征之间的相关性通常是稳定的,因此它们在不同的正常数据上应该是相似的。 受 DeepSVDD [44] 的启发,我们认为正常数据上特征之间的相关性分布可以被视为围绕其中心𝐶εℝ𝑀×𝐻×𝑁×𝑁 的小超球面。 𝐶可以被认为是特征之间的先验关联,因为不同正态数据上的特征之间的相关性都与𝐶类似。 因此,MSASA 在正常数据上计算的注意力权重与 𝐶 之间的距离应该很小。 相反,异常的注意力权重与𝐶之间的距离应该很大,因为异常特征之间的相关性偏离了正常数据上的稳定相关性。 因此,注意力权重与𝐶之间的距离可以视为特征之间的关联差异,并在训练过程中减小,以确保MSASA在正常数据上计算的注意力权重与𝐶相似。 SAT 计算每个特征的 SAD:
其中
S
A
D
(
X
t
)
∈
R
1
×
N
SAD\left(X_{t}\right)\in\mathbb{R}^{1\times N}
SAD(Xt)∈R1×N 表示由 SAT 计算的 SAD,其中 𝑀 层和 𝐻 头用于输入窗口 𝑋𝑡。
S
i
,
j
m
,
h
∈
R
1
S_{i,j}^{m,h}\in\mathbb{R}^{1}
Si,jm,h∈R1 表示注意力权重,由第 𝑚 SAT 层中的第 ℎ 个空间异常自注意力头计算,位于特征 𝑖 和特征 𝑗 之间。
C
i
,
j
m
,
h
∈
R
1
C_{i,j}^{m,h}\in\mathbb{R}^1
Ci,jm,h∈R1 是特征𝑖和特征𝑗之间的先验关联。 我们将第𝑚 SAT层的输入和输出分别表示为
X
S
A
T
m
∈
R
N
×
L
a
n
d
X
S
A
T
m
+
1
∈
R
N
×
L
,
X_{SAT}^{m}{\in}\mathbb{R}^{N\times L}\mathrm{~and~}X_{SAT}^{m+1}{\in}\mathbb{R}^{N\times L},
XSATm∈RN×L and XSATm+1∈RN×L,。
与 DeepSVDD 类似,我们的 MSASA 中的𝐶只能随机初始化,因为系统的实际拓扑结构通常是未知的。 然而,DeepSVDD 中的超球体中心在训练和测试过程中都保持固定,因为 DeepSVDD 只需要将正常数据压缩成一个小的超球体,而超球体的位置对其异常检测任务影响很小。 与 DeepSVDD 不同,我们的 STAT 仍然需要根据时间和空间语义信息重建输入窗口。 MSASA 很难计算类似于随机 𝐶 的注意力权重并基于相同的注意力权重提取有用的空间语义信息。 因此,我们建议在训练过程中通过梯度以及STAT中的其他参数来更新中心𝐶,以确保𝐶能够学习在正常数据上呈现特征之间的稳定相关性。 在测试过程中,我们保持𝐶固定,以允许 SAT 提取有用的空间语义信息并同时计算特征之间的关联差异。
算法 2 给出了 SAT 的伪代码:
4.3. Model training and anomaly scoring
如等式(6)所示,训练STAT的损失函数包括重建误差、TAD和SAD。 我们采用 3.3 节中介绍的极小极大策略来训练我们的 STAT,因为它对于训练 TAT 至关重要。 等式(6)中的𝐿𝑚𝑎𝑥和𝐿𝑚𝑖𝑛分别在最大化阶段和最小化阶段使用。 应该指出的是,极小极大策略对 STAT 的其余部分(包括我们提出的 SAT)几乎没有贡献。
和损失函数相似的是,STAT 通过结合重建误差、TAD 和 SAD 来计算输入窗口中每个时间点的异常分数:
其中
A
S
(
X
t
)
∈
R
L
×
1
AS\left(X_t\right)\in\mathbb{R}^{L\times1}
AS(Xt)∈RL×1表示 𝑋𝑡 中每个时间点的异常得分。 𝜆1 和 𝜆2 是比例因子。 ⊙ 是元素级乘法,Sum(⋅) 用于计算沿特征维度的总和。 为了进行逐元素乘法,形状为
∥
X
t
−
X
^
t
∥
2
2
∈
R
L
×
N
,
T
A
D
(
X
t
)
∈
R
L
×
1
,
a
n
d
S
A
D
(
X
t
)
∈
R
1
×
N
\|X_t-\hat{X}_t\|_2^2{\in}\mathbb{R}^{L\times N},TAD\left(X_t\right){\in}\mathbb{R}^{L\times1},\mathrm{~and~}SAD\left(X_t\right){\in}\mathbb{R}^{1\times N}
∥Xt−X^t∥22∈RL×N,TAD(Xt)∈RL×1, and SAD(Xt)∈R1×N 必须相同。 因此,Repeat𝑁 (⋅) 沿特征维度重复
T
A
D
(
X
t
)
N
TAD\left(X_{t}\right)N
TAD(Xt)N 次,
R
e
p
e
a
t
N
(
T
A
D
(
X
t
)
)
\mathrm{Repeat}_{N}\left(TAD\left(X_{t}\right)\right)
RepeatN(TAD(Xt))的形状为 𝐿×𝑁。 类似地,Repeat𝐿 (⋅) 沿时间维度重复
S
A
D
(
X
t
)
L
SAD\left(X_{t}\right)L
SAD(Xt)L 次,并且
R
e
p
e
a
t
L
(
S
A
D
(
X
t
)
)
\mathrm{Repeat}_{L}\left(SAD\left(X_{t}\right)\right)
RepeatL(SAD(Xt)) 的形状也是𝐿×𝑁。
高重建误差表明在训练期间很少看到输入数据。 高 SAD 表明特征之间的相关性与正常情况相比可能发生了变化。 较低的 TAD 表明很难在当前时间点和非相邻时间点之间建立关联。 因此,这三项中任何一项的变化都可以被视为异常的标志,我们将这三项结合起来确定异常分数。 在 STAT 中,我们将异常分数高的时间点视为异常。
应该注意的是,我们没有像[11]那样采用Softmax对每个输入窗口的TAD进行归一化。 归一化的 𝑇𝐴𝐷 ( 𝑋𝑡 ) 检测相对于同一滑动窗口中其他时间点的异常。 然而,我们对 MTSAD 中相对于整个时间序列的异常更感兴趣。 因此,我们不会在 STAT 中对 TAD 进行标准化。
STAT 通过逐元素乘法组合重建误差、TAD 和 SAD。 TAD可以看作是每个时间点的重建误差的尺度因子,SAD可以看作是每个特征的重建误差的尺度因子。
五、实验
在本节中,我们将在公共数据集上进行实验,以证明我们的 STAT 的有效性。 实验中使用的数据集将在5.1节中简要介绍。 实验设置,包括评估指标、竞争对手和其他设置,将在 5.2 节中介绍。 实验结果将在 5.3 节中介绍和分析。 我们将进行消融研究,并分别在第 5.4 节和第 5.5 节中展示超参数的影响。
5.1. 数据集
在本文中,我们在六个流行的公共数据集上进行了实验,包括SMD1 [9]、MSL2 [29]、SMAP2 [29]、SWaT3 [10]、WADI3 [45]和PSM4 [46]。 它们的详细信息如表 1 所示。SMD、MSL 和 SMAP 包含从不同实体收集的数据。 表1中的实体数量代表每个数据集包含多少个不同的实体。 在我们的实验中,我们直接使用公共数据集提供的原始标签作为基本事实。
SMD[9]是互联网公司多台服务器的监控数据,SMD中的特征包括CPU负载、网络使用情况、内存使用情况等。MSL和SMAP是NASA收集的公共数据集[29]。 MSL 是从火星科学实验室漫游车收集的,SMAP 是从土壤湿度主动和被动卫星收集的。 MSL和SMAP由遥测数据和one-hot编码命令信息组成。 对于具有 SMD、MSL 和 SMAP 等多个实体的数据集,我们为每个实体训练一个单独的模型,并按照 [9] 和 [27] 的建议平均其性能。 我们不使用 MSL 中的实体“T-9”和 SMAP 中的实体“D-12”,因为它们的训练集太小。 我们还放弃了 SMAP 中的实体“P-2”,因为它的真实标签存在冲突。
SWaT [10]是从水处理试验台收集的。 它包括来自不同传感器和执行器的监控数据。 WADI [45]是从水分配试验台收集的,该试验台是水处理试验台的延伸。 与 SwaT 类似,WADI 还包括来自传感器和执行器的监控数据。 我们删除了 WADI 数据集中的四个特征,因为它们只包含缺失值。 我们通过复制其他分散的缺失值之前的时间点来替换它们。 与SMD类似,PSM[46]是eBay中多个服务器节点的监控数据,PSM中的特征还包括CPU使用率、内存使用率等。
所有数据集均通过最小-最大归一化进行预处理:
其 χ ~ \tilde{\chi} χ~表示标准化后的数据集。 Min ( 𝜒𝑡𝑟𝑎𝑖𝑛 ) 和 Max ( 𝜒𝑡𝑟𝑎𝑖𝑛 ) 分别表示训练集中每个特征的最小值和最大值。
5.2. 实验装置
5.2.1. 评估指标
点调整F1[47]是目前MTSAD中最流行的评估指标。 点调整策略认为该方法不需要对异常段内的每个时间点发出警报。 只要该方法检测到该段内有任何异常时间点,专家就可以手动找到故障的初始时间点并进行干预。 基于这一假设,点调整策略认为,如果在异常段内至少发出一个真实警报,则该异常段内的所有时间点都被正确检测到。 最近的研究从理论上和实验上证明,点调整F1过度奖励了方法提出的真实警报,而仅轻微惩罚了错误警报,显着高估了方法的性能[27,48]。 因此,随机异常得分甚至可以在点调整 F1 上优于最先进的方法。 为了更好地评估每种方法的性能,我们选择使用曲线下面积(AUC)、综合F得分(Fc1)[27]和F1PA%K[48]来评估每种方法的性能而不是点 调整F1。 AUC 是意外异常检测中最常用的评估指标之一。 Fc1和F1PA%K是最近提出的专门针对MTSAD的评估指标。 AUC、Fc1 和 F1PA%K 根据表 2 中所示的混淆矩阵评估方法。
AUC 是受试者工作特征 (ROC) 曲线下的面积。 ROC的横轴和纵轴分别为𝐹𝑃𝑅和𝑇𝑃𝑅,如式(9)所示。 与Fc1和F1PA%K相比,AUC的优点是不受阈值设置的影响。 然而,AUC仅反映了该方法正确检测到的异常时间点的数量。 高 AUC 值并不意味着该方法可以准确检测所有异常片段。
如式(10)所示,Fc1[27]是在异常段上计算的𝑅𝑒𝑐𝑎𝑙𝑙𝑠和在时间点上计算的𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛的调和平均值。 与点调整策略类似,Fc1只要在该段内发出真正的警报,就认为检测到异常段。 Fc1反映了方法正确检测到的异常片段的数量,与AUC不同。 然而,Fc1 忽略每个异常段内发出的警报数量。
其中𝑇𝑃𝑠和𝐹𝑁𝑠分别表示该方法检测到和遗漏的异常片段的数量。
如式(11)所示,F1PA%K[48]仅在该方法正确检测到该异常段内超过𝐾%的时间点时才对该异常段进行点调整。 当 𝐾 =0 时,F1PA%K 等于点调整 F1;当 𝐾 = 100 时,F1PA%K 等于普通 F1。将 𝐾 从 0 增加到 100 得到的 F1PA%K 曲线下面积作为评估指标,以避免影响 𝐾。 在本文中,我们以 10 为间隔将 𝐾 从 0 增加到 100,如[48]中所示。 F1PA%K 平衡点调整 F1 和普通 F1。 综合考虑该方法正确检测到的异常段的数量以及每个段内发出警报的数量。
其中 ̂𝑦𝑡 是 F1PA%K 针对时间点 𝑡 调整的标签。 𝐴𝑆 (𝑡) 是时间点 𝑡 的异常分数。 𝛿代表阈值,𝐸𝑜代表第𝑜异常段。 | ⋅ | 表示输入的大小。
为了证明我们的 STAT 的有效性,我们将 STAT 与许多典型的异常检测方法进行了比较。 RAND 为测试集中的每个时间点随机生成一个 0 到 1 之间的值作为其异常分数。 RAND相当于随机猜测一个时间点是否异常。 LOF [24]、IF [25] 和 OCSVM [26] 是最常用的经典异常检测方法。 DAGMM [49]是一种基于AE和高斯混合模型(GMM)的无监督异常检测方法。 UAE [27] 分别在每个特征上训练 AE 模型,并将所有模型的重建误差组合起来作为最终的异常得分。 根据[27],UAE可以获得较高的Fc1值。 USAD [15] 在普通 AE 中添加了另一个解码器。 与TranAD类似,USAD可以通过以对抗的方式训练两个解码器来检测偏差较小的异常。 其余竞争对手,包括 OmniAnomaly [9]、MSCRED [13]、BeatGAN [14]、InterFusion [16]、GDN [17]、GTA [12]、TranAD [18] 和 AT [11],已经 已在第 2 节中介绍。
5.2.3. 设置
STAT 在带有 CUDA 11.0 的 PyTorch [50] 版本 1.7.1 中实现,并在配备 Intel® Core ™ I9-10900x 10 核 3.70 GHz CPU 和 NVIDIA GeForce RTX 3090 GPU 的服务器上进行训练。 STAT 使用 Adam 优化器进行训练,初始学习率为 1e-4,批量大小为 32。我们将除 MSL 和 SMAP 之外的所有数据集的窗口和步长设置为 100。 我们将这两个数据集的步长设置为1,以更好地训练网络,因为它们的训练集相对较小。 与[11]类似,我们分割原始训练集并使用前80%的数据来训练网络,同时保留其余数据作为验证集。 我们训练 STAT 最多 500 个 epoch。 在训练过程中,每当验证集上的损失在 3 个 epoch 内没有减少时,学习率就会下降一半,如果验证集上的损失在 10 个 epoch 内没有减少,则会触发提前停止。
我们将等式(6)中的𝑘1、𝑘2 和𝑘3 设置为 10、10 和 0.1 以权衡损失项。 在实验中,我们发现SMD、MSL和SMAP即使训练停止后,SAD仍然相对较大,因为它们的训练集相对较小。 为了防止 Exp (⋅) 的输出变得非常大,我们将这三个数据集的比例因子 𝜆1 设置为 0.01,将其他数据集设置为 100。 我们将所有数据集的 𝜆2 设置为 0.01。 STAT中每个模块的层数为3,每个多头自注意力机制的头数为8。
与不需要预定义阈值的 AUC 不同,Fc1 和 F1PA%K 在评估之前必须将异常分数转换为二进制标签。 与[11]类似,我们通过将验证数据的𝑟%标记为异常来确定阈值。 [11]中使用了固定的𝑟,但某些竞争对手的性能可能会因与其他人共享相同的𝑟而受到限制。 为了找到公平性和实用性之间的平衡,我们对每种方法以 0.1 的间隔将 𝑟 从 0 增加到 10,并报告最佳结果。 所有结果都是五次独立运行的平均值,以减少随机初始化的影响。
5.3. 结果与分析
表3-5展示了所有方法在6个公共数据集上的实验结果。 最好的结果以粗体标记,排名显示在括号中。 我们在每个表中提供平均值和平均排名。 具有最佳平均值和平均排名的方法是性能最好的方法。 如果一种方法取得了较高的平均值,但在平均排名上失败,则它可能在特定数据集上表现得非常好,但其性能可能不稳定。 如果一种方法实现了最佳平均排名,但在平均值上失败,则它可能在所有数据集上具有良好且稳定的性能。 然而,它在每个单一数据集上的表现可能并不是非常出色。
如表3-5所示,在最近提出的两个评估指标上,所有方法都优于RAND,证明Fc1和F1PA%K可以区分随机猜测与其他方法,这与点调整F1不同。 与基于深度学习的方法相比,经典的异常检测方法在某些数据集上并非没有竞争力。 IF甚至在SwaT和WADI上取得了最佳结果。 然而,由于其在其他数据集上的表现不佳,其在所有数据集上的平均排名并不突出。
可以看到,GDN和GTA都在公共数据集上获得了很好的结果,证明显式建模特征之间的相关性有助于MTSAD。 正如第 2 节所述,虽然 GDN 采用 GAT 来提取空间语义信息,但它没有明确地对时间依赖关系进行建模。 与 GDN 不同,GTA 分别通过扩张卷积和 GCN 显式提取时间和空间语义信息。 如表 3 - 5 所示,除平均 F1PA%K 值外,GTA 在所有指标上平均优于 GDN,这表明显式建模时间和空间相关性也有助于 MTSAD。
如表 3 所示,我们的 STAT 在 AUC 上取得了比所有竞争对手更好的平均性能。 STAT 与第二好的方法之间的平均 AUC 值提高了 2.4%,平均 AUC 排名提高了 19.3%。 除了平均性能之外,我们的 STAT 在三个数据集上实现了最佳 AUC 值,在一个数据集上实现了第三好的 AUC 值。 如表 5 所示,我们的 STAT 在 F1PA%K 上也取得了比所有竞争对手更好的平均性能。 STAT 与第二佳方法之间的平均 F1PA%K 值提高了 20.8%,平均 F1PA%K 排名提高了 46.6%。 STAT 在两个数据集上获得最佳 F1PA%K 值,在一个数据集上获得第二佳 F1PA%K 值。 如表4所示,尽管STAT没有获得最高的平均Fc1值,但它在平均Fc1排名上仍然优于所有竞争对手,并且STAT与第二好的方法之间的改进为20.4%。 STAT 在一个数据集上获得了第二好的 Fc1 值,在两个数据集上获得了第三好的 Fc1 值。 尽管STAT在任何数据集上都没有获得最高的Fc1值,但是最好的平均Fc1排名表明STAT在不同数据集上的性能更加稳定。 UAE 在四个数据集上获得了最佳 Fc1 值,但在 SwaT 和 WADI 上失败。 同样,IF 在 SWaT 和 WADI 上获得最佳 Fc1 值,但在其他四个数据集上失败。 相反,尽管与其他数据集上的性能相比,STAT 在 SMD 上的 Fc1 排名表现最差,但它仍然在 SMD 上实现了第五好的 Fc1 值,这证明了 STAT 在 Fc1 上的稳定性能。 如表 3 - 5 所示,大多数方法在不同的数据集上表现不同。 然而,由于在训练过程中无法获得异常,因此在无监督 MTSAD 中很难进行模型选择。 因此,平均性能和稳定性对于无监督 MTSAD 方法非常重要。 在六个公共数据集上的实验结果证明,本文提出的STAT可以在MTSAD上实现state-of-the-art的性能。
与所有竞争对手相比,STAT在平均AUC值和平均AUC排名上都取得了最好的表现,这表明STAT可以比其他时间点更准确地确定每个时间点是否为异常,而不受阈值设置的影响。 平均F1PA%K值和平均F1PA%K排序上的最优性能表明STAT比其他方法能够检测到更多的异常段并在每个异常段内提出更多的真实警报,这有利于专家发现系统中的故障。
我们认为,SAT 的特性可能是 STAT 在 AUC 和 F1PA%K 上比 Fc1 表现更好的原因之一。 正如4.2节中介绍的,SAT中的MSASA机制计算每个特征而不是每个时间点的关联差异,这意味着同一输入窗口中的所有时间点共享相同的SAD。 如式(7)所示,虽然由于重建误差和TAD不同,同一窗口内时间点的异常得分并不完全相同,但共享相同的SAD仍然使得它们比不同窗口内时间点的异常得分更接近。 因此,STAT倾向于将同一滑动窗口内的时间点标记为同一类别。 对于包含短异常段的滑动窗口,STAT可能会错过异常段或对其他时间点发出误报,这严重影响其在Fc1上的性能。
正如5.1节中介绍的,我们实验中使用的数据集涵盖了不同的应用领域,包括服务器维护、航空航天和物联网系统。 如表3-5所示,我们的STAT可以取得良好的平均结果,表明STAT在不同的应用领域具有稳定且良好的性能。 STAT在MSL和SMAP上的优异表现表明STAT在航空航天领域具有巨大的潜在应用价值。 此外,STAT在SWaT和PSM上的良好表现表明STAT在服务器维护和物联网系统中也具有一定的潜在应用价值。
为了证明我们的 SAT 可以有效地捕获特征之间相关性的变化,我们在图 6 中可视化了部分 PSM 数据集和 SAT 计算的 SAD。图 6 的底部是特征之间的关联差异的可视化 时间戳 31,050、32,550、33,350 和 35,650。 如图6所示,当系统正常运行时,PSM中的特征9和特征16具有高度相关性。 可以看出,时间戳31,050和33,350上的SAD非常小,因为它们都是正常时间点,并且特征9和特征16之间的相关性保持不变。 当时间戳32550附近出现异常时,特征16的值波动较大,而特征9则保持正常趋势,导致特征9与特征16之间的相关性发生变化。如图6底部所示 ,特征 9 和特征 16 之间的关联差异在时间戳 32,550 上显着增加。 当时间戳 35,650 附近出现另一个异常时,特征 16 的值突然增加,而特征 9 仍保持正常趋势。 如图 6 底部所示,特征 9 和特征 16 之间的关联差异也在时间戳 35,650 上增加。 时间戳35,650上的关联差异小于时间戳32,550上的关联差异,因为时间戳35,650附近的特征16的波动幅度远小于时间戳32,550附近的特征16的波动幅度。 从图6可以得出结论,当异常发生时,我们的SAT可以通过SAD反映特征之间相关性的变化。
图 6. 部分 PSM 数据集和 SAT 计算的 SAD 的可视化。 可以看出,我们的 SAT 计算的 SAD 可以反映当异常发生在时间戳 32,550 和 35,650 时特征 9 和特征 16 之间相关性的变化。
5.4. 消融研究
为了证明 STAT 中每个组件的必要性,我们对 STAT 及其 11 个变体进行了实验,包括 TAT、TT-TAT、ST-TAT、ST-SAT、TT-SAT、TAT|SAT、TAT-SAT、SAT- TAT、TT-TAT|TT-SAT、ST-TAT|TT-ST 和带位置编码的 STAT (STAT-PE)。 除 STAT-PE 之外的所有变体的架构如图 C.9、附录 C 所示。值得注意的是,我们的 TAT 不等于普通 AT [11],因为 Softmax 不再用于标准化 TAT 中的 TAD。
表6-8显示了STAT及其11个变体的实验结果。 最好的结果也用粗体标记,排名显示在括号中。 比较TAT和AT的实验结果,可以得出去除Softmax提高了TAT性能的结论。 包含 TAT 和 SAT 的变体(包括 TAT|SAT、TAT-SAT 和 SAT-TAT)在所有评估指标上都优于 TAT,证明所提出的 SAT 有助于检测多变量时间序列中的异常。 虽然SAT在Fc1和F1PA%K上都提高了性能,但F1PA%K的改进大于Fc1的改进,证明SAT是STAT可以在每个异常段发出更多警报的原因之一。 此外,STAT 的性能优于 ST-TAT|TT-ST,这使得
如表 6 - 8 所示,STAT 的性能优于 ST-TAT(STAT 的左半部分)和 TT-SAT(STAT 的右半部分)。 ST-TAT、TT-SAT 和 STAT 的实验证明,STAT 受益于在并行结构中组合 ST-TAT 和 TT-SAT。
TAT 可能不会从 ST 中受益,因为 TT-TAT 的平均性能优于 ST-TAT。 然而,TT-SAT 的平均性能优于 ST-SAT,这证明时间和空间信息对于我们提出的 SAT 都很重要。 通过比较 TAT|SAT 和 STAT 的性能可以得出结论,ST 和 TT 对于 STAT 很重要,并且 STAT 受益于顺序提取时间和空间语义信息。 TT-TAT|TT-SAT 略胜一筹
如表6-8所示,TAT-SAT和SAT-TAT在不同的数据集上表现不同,证明提取时间和空间语义信息的顺序影响性能。 STAT 可以优于 TAT-SAT 和 SAT-TAT,这证明我们的方法受益于组合以不同顺序提取的语义信息。
比较 STAT-PE 和 STAT 的性能,可以得出结论,我们的方法仅受益于特定数据集上的位置编码,并且 STAT 在平均值和平均排名上优于 STAT-PE。 正如4.1节中所讨论的,由于我们不能在STAT中采用嵌入,因此将位置编码向量直接添加到原始输入可能会阻碍我们的方法提取某些数据集上的语义信息,从而影响STAT的性能。
5.5. 超参数的影响
5.5.1. 头数和层数
自注意力机制的头数和每个模块的层数是基于 Transformer 的方法的两个重要超参数。 更多的头可以使多头自注意力机制能够提取不同的语义信息,更多的层可以使每个模块能够提取更深层次的语义信息。 然而,盲目增加头和层的数量可能会导致过度拟合,这使得该方法能够重建正常数据和异常数据[14]。 图7显示了不同头数和层数的STAT的实验结果。 如图7所示,STAT的性能在开始时随着头数和层数的增加而增加,但当头数和层数变得太大时,性能下降。 当头数和层数太小时,STAT 提取时空语义信息的能力有限。 因此,它无法准确检测异常。 当头数和层数过多时,STAT提取时空语义信息的能力就会变得过强。 结果,一些异常可能会被更好地重建,并且它们的异常分数变得更接近正常数据的异常分数,使得STAT更难以检测异常。 这样的问题在 MTSAD 中通常被称为过拟合[14]。 可以看出,STAT具有8个头和3层,可以平衡欠拟合和过拟合以达到最佳性能。
5.5.2. 窗户尺寸
MTSAD方法通常通过滑动窗口来分割时间序列来建模时间依赖性,这使得滑动窗口的大小成为另一个重要的超参数。 图8显示了不同窗口大小的STAT的实验结果。
如图8所示,平均Fc1值一般随着窗口尺寸变大而减小,而平均F1PA%K值一般先增大后减小。 正如 4.3 节中所讨论的,同一输入窗口中的所有时间点共享相同的 SAD,导致 STAT 为它们给出相似的异常分数。 这一特性使得 STAT 能够在每个异常段发出更多警报。 然而,对于包含短异常段的滑动窗口,STAT可能会错过异常段或对其他时间点发出误报。 较大的滑动窗口可能会加剧该问题的影响。 如第 5.2.1 节中所述,Fc1 忽略每个异常段内引发的警报数量。 因此,Fc1 几乎无法从较大的滑动窗口中受益。 F1PA%K综合考虑了该方法正确检测到的异常段的数量以及每个异常段内发出警报的数量。 因此,当窗口尺寸相对较小时,F1PA%K 受益于较大的滑动窗口。 然而,当窗口大小变得太大时,平均 F1PA%K 值开始下降,因为丢失一些短异常段或引发误报的负面影响,如上所述。 我们将 STAT 的窗口大小设置为 100,以平衡其在 Fc1 和 F1PA%K 上的性能。
六,结论
在本文中,我们提出了 STAT,一种 MTSAD 方法,通过将四个基于 Transformer 的模块组合成串并联结构,可以显式提取时空和时空顺序的时空语义信息。 此外,STAT采用TAT和新提出的SAT来分别明确捕获时间和空间关联的变化,以更好地检测多元时间序列中的异常。 由于系统的拓扑结构通常是未知的,SAT 使用可训练的超球面来学习正常数据上特征之间的先验关联,并计算注意力权重与超球面中心之间的距离作为 SAD。 为了避免点调整F1可能高估方法性能的缺陷,本文使用AUC和两个最近提出的MTSAD评估指标在6个公共数据集上将STAT与14种典型异常检测方法进行比较。 实验结果证明STAT可以实现state-of-the-art的性能。 从实验结果可以看出,对于包含短异常段的滑动窗口,STAT 可能会错过异常段或对其他时间点发出误报,从而影响我们方法的性能。 未来,我们会尝试修改我们的SAT来缓解这个问题。 此外,由于注意力权重与超球面中心之间的距离会受到“维数灾难”的影响,当特征数量极大时,该距离可能无法有效反映特征之间相关性的变化。 未来,我们将探索更稳健的方法来计算超高维时间序列的 SAD。