零已知标记的多变量时间序列异常检测
目录
摘要
简介
相关工作
时间序列异常检测
图结构学习
异常检测的归一化流程
准备
标准化流程
方法
数据准备
整体结构
基于自我注意的图结构学习
时空条件
实体感知规范化流程
联合优化
异常检测和解释
异常检测
异常解释
实验设置
数据集
实现细节
评估指标:
对比方法:
性能评估方面
消融研究
超参数鲁棒性
异常率分析
结果分析
动态图结构
实体特定密度估计
不同的稀疏特性
总结
多变量时间序列异常检测在一类分类环境下得到了广泛的研究,其中要求训练数据集具有所有正常实例。然而,准备这样的数据集是非常费力的,因为每个单个数据实例应该完全保证是正常的。因此,希望探索基于数据集的多变量时间序列异常检测方法,而无需任何标签知识。在本文中,我们提出了MTGFlow,一种无监督的异常检测方法,通过动态图和实体感知的归一化流的多变量时间序列异常检测,依赖于一个广泛接受的假设,即异常实例表现出稀疏的密度比正常。然而,实体之间复杂的相互依赖性和每个实体的不同固有特征提出了显着的挑战密度估计,更不用说检测异常的基础上估计的可能性分布。为了解决这些问题,我们提出学习实体之间的相互和动态关系,通过一个图结构学习模型,这有助于建模的准确分布的多元时间序列。此外,考虑到个体实体的不同特性,实体感知的归一化流程被开发以描述成参数化的正态分布的每个实体,从而产生细粒度的密度估计。结合这两种策略,MTGFlow实现了上级的异常检测性能。在具有七个基线的五个公共数据集上进行了实验,MTGFlow优于SOTA方法高达5.0 AUROC%。
多变量时间序列(MTS)广泛存在于许多重要场景中,例如智能工厂中多个设备产生的生产数据和智能电网中各种传感器产生的监测数据。MTS中的异常在特定时间步长或时间段内表现出异常的数据行为。为了识别这些异常,以前的方法主要集中于仅从正常数据训练一类分类(OCC)模型(Wu和Keogh 2021; Schöolkopf等人1999; Su等人2019; Chen et al. 2021; Deng和Hooi 2021; Xu et al. 2021; Zhang等人2019年)。它们严重依赖于具有所有正常样本的训练数据集的假设(Ruff et al. 2021年)。
然而,这种假设在现实世界的场景中可能并不总是成立(Googe et al. 2021; Zhang,Zhao,and Li 2019; Zong等人2018; Qiu et al. 2022),导致具有正常和异常数据实例的混合的噪声训练数据集。同时,已经证实模型训练过程易于过拟合噪声标签(Zhang et al. 2021),使得那些基于OCC的方法的性能可能严重降级(Wang et al. 2019; Huyan et al. 2021年)。因此,开发基于绝对零已知标签数据集的无监督MTS异常检测方法是有益的。
一种有效的无监督策略是将数据集建模为分布,仅依赖于广泛接受的假设,即异常实例表现出比正常实例稀疏的密度,即低密度区域由异常样品组成,而高密度区域由正常样品形成(Gupta等人,2013; Pang,Cao,and Aggarwal 2021; Wang等人2020年)。已经探索了沿着这一策略的方法,关键的挑战在于分布的准确密度估计。时间序列密度被建模为参数化的概率分布(Salinas et al. 2020; Rasul et al. 2021; Feng等人2022),而对更复杂的数据分布建模仍然具有挑战性。为了提高密度估计的模型容量,Rasul et al.(Rasul et al. 2020)进一步利用归一化流来建模高维MTS的复杂分布(Rasul等人,2020)。2020年)。然而,他们忽略了组成序列之间的相互依赖性,这也发挥了重要作用的准确密度估计。
最相关的工作是GANF(Dai and Chen 2021),它处理了相同的MTS异常检测任务。在他们的设计中,静态有向无环图(DAG)被用来建模多个实体之间的棘手依赖性,并归一化流(Dinh,Sohl-Dickstein和Bengio 2016; Papamakarios,Pavlakou,and Murray 2017)用于估计所有实体的总体分布。尽管GANF之前已经实现了最先进的(SOTA)结果,但它仍然存在两个缺点。首先,在现实世界的应用程序中,实体之间的相互依赖关系不仅复杂,而且不断演变。这种动态特性不能简单地通过DAG结构来表征。第二,实体通常具有不同的工作机制,导致发生异常时具有不同的稀疏特征。GANF将所有实体投影到相同的分布中,从而导致对每个单独时间序列的密度估计的折衷。因此,最终的异常检测性能也可能降低。
在本文中,我们提出了MTGFlow,一个无监督异常检测方法MTS异常检测,以解决上述问题。首先,考虑到实体之间的演化关系,我们引入了一个图结构学习模块来建模这些可变的相互依赖关系。为了学习动态结构,自我注意模块(Vaswani et al. 2017)插入到我们的模型中,因为其在量化成对交互方面的上级性能。其次,针对个体实体之间存在的不同固有特征,我们设计了一个实体感知的归一化流程来建模实体特定的密度估计。由此,每个实体可以被分配给唯一的目标分布,并且可以独立地估计不同的实体密度。此外,我们还建议通过共享实体特定的模型参数来控制模型大小,这有助于MTGFlow实现细粒度密度估计,而无需消耗太多内存。
我们将我们的贡献总结如下:
·我们提出了MTGFlow,一种新的SOTA方法,用于无监督MTS异常检测。它基本上能够实现异常定位和解释。
·我们将实体之间复杂的相互依赖关系建模到动态图中,捕捉到实体之间复杂的和不断发展的相互依赖关系。此外,实体感知的归一化流程被引入产生实体特定的密度估计。
·在具有七种基线方法的五个数据集上进行实验,超过SOTA方法高达5.0AUROC %。
时间序列异常检测在OCC环境下进行了广泛的调查(Chalapathy和Chawla 2019;Hundman等人。2018年)。以前有影响的方法,如DeepSVDD(Ruff等人2018),EncDecAD(Malhotra等人2016),OmniAnomaly(Su等人2019年),USAD(Audibert et al.2020)和Daemon(Chen等人2021)首先用绝对正常的实例训练一个模型,以便在测试过程中将异常实例反馈到模型中时表现出不同的表现。在这条线上,异常变压器(Xu et al.2021)和TranAD(Tuli,Casale和Jennings 2022)通过自我注意等技术进一步研究了细粒度表示学习过程(Vaswani等人。2017),取得了良好的检测性能。
然而,所有这些工作都是基于这样的假设,即可以获得具有所有正常实例的足够的训练数据集,这对于现实世界的应用来说是非常困难的,因为每个实例都应该手动仔细检查。此外,一旦在训练数据中存在异常实例,这些基于OCC的检测方法的性能可能会严重降低(Wang et al. 2019; Huyan et al. 2021年)。因此,Dai和Chen提出了GANF(Dai and Chen 2021)来以无监督的方式检测MTS异常,而不是拟合正常训练数据集的分布。受其启发,我们提出MTGFlow,以促进学习能力和提高检测性能。
图卷积网络(GCN)(Kipf and Welling 2016)在建模内在结构模式方面取得了巨大成功。然而,这种图结构在现实世界中通常是未知的,因此需要图结构学习方法(Veliˇckovi´c et al. 2017年)。在MTS异常检测领域,最近的一些工作试图探索这一领域。GDN(Deng和Hooi 2021)通过节点嵌入向量学习有向图。根据嵌入向量的余弦相似性,每个节点的前K个候选被认为是相互依赖的。GANF(Dai和Chen 2021)使用DAG对多个传感器之间的关系进行建模,并通过具有简化约束的连续优化学习DAG的结构,以促进向后传播。我们的工作MTGFlow模型的相互复杂的依赖作为一个完全连接的图,通过自我注意机制,使一个更灵活的实体之间的关系可以表示。
归一化流是关于密度估计的重要技术,并且已经成功地用于图像生成任务(Dinh,Sohl-Dickstein和Bengio 2016; Papamakarios,Pavlakou,and Murray 2017)。最近,还基于异常处于低密度区域的假设来探索异常检测,如DifferNet(Rudolph,Wandt和Rosenhahn 2021)和CFLOWAD(Gudovskiy,Ishizaka和Kozuka 2022),其利用归一化流来估计正常嵌入的可能性,并在嵌入远离密集区域时声明图像缺陷。GANF是一个伟大的工作,采用归一化流进行无监督MTS异常检测。我们遵循这一研究路线,并通过实体感知的规范化流程设计促进模型的能力。
在本节中,我们简要介绍归一化流,以更好地理解MTGFlow。
归一化流是一种无监督的密度估计方法,通过可逆仿射变换的堆栈将原始分布映射到任意目标分布。当原始数据分布X上的密度估计是难以处理的时,替代选项是估计目标分布Z上的z密度。具体地,假设源样本x ∈ RD X,目标分布样本z ∈ RD Z。双射可逆变换Fθ的目的是实现从X到Z的一对一映射z = fθ(x)。根据变量的变化公式,我们可以得到PX(x)= PZ(z)det fθ xT。得益于映射函数的可逆性和易处理的雅可比行列式det fθ xT。流动模型的目标是实现z = z,其中z = fθ(x)。当输入附加条件C时,流动模型能够实现更上级的密度估计性能(Ardizzone等人,2009)。2019年)。这种流模型称为条件归一化流,其对应的映射为z = fθ(x| C)的范围内。fθ的参数θ通过最大似然估计(MLE)更新:θ = arg max θ(log(PZ(fθ(x| C))+log(det fθ xT))
标准化流(Normalizing Flow)是一种无监督密度估计方法,通过可逆的仿射变换堆叠,将原始分布映射到任意目标分布。当在原始数据分布X上进行密度估计是不可行的时候,一个替代选项是在目标分布Z上进行密度估计。具体而言,假设有一个来自X分布的源样本x ∈ RD,以及一个来自Z分布的目标样本z ∈ RD。双射可逆变换Fθ的目标是实现从X到Z的一对一映射,即z = fθ(x)。根据变量变换公式,我们可以得到PX(x) = PZ(z) × det(∂fθ/∂x)^T。受益于映射函数的可逆性和易处理的雅可比行列式(jacobian determinants)det(∂fθ/∂x)^T,流模型的目标是实现zˆ = z,其中ˆz = fθ(x)。当输入了额外条件C时,流模型能够在密度估计性能上表现更出色。这样的流模型称为条件标准化流(conditional normalizing flow),其相应的映射被定义为z = fθ(x|C)。通过最大似然估计(MLE)来更新fθ的参数θ∗ = arg max( log(PZ(fθ(x|C))) + log(det(∂fθ/∂x)^T) )。在这个公式中,log(PZ(fθ(x|C)))表示目标分布Z上样本的对数似然,log(det(∂fθ/∂x)^T)表示映射的雅可比行列式的对数。
MTS定义为x =(x1,x2,…xK)和xi ∈ RL,其中K表示实体的总数,L表示每个实体的观察总数。我们使用z分数来归一化来自不同实体的时间序列。¯xi = xi−mean(xi)std(xi),其中mean(xi)和std(xi)分别表示第i个实体沿着时间维度的均值和标准差。为了保持原始序列的时间相关性,我们使用具有大小T和步幅大小S的滑动窗口来采样归一化MTS。可以调整T和S以获得训练样本xc,其中c是采样计数。xc是xcS:cS+T的缩写。
MTGFlow背后的核心思想是动态地建模相互依赖,以便可以获得多元时间序列的细粒度密度估计。这样的精确估计使得捕获低密度区域的优势,并且进一步提高了异常检测性能,即使在训练数据集中存在高异常污染。图1示出了MTGFlow的概述。特别是,我们模型的时间变化的每个实体,使用RNN模型。同时,利用图结构学习模块对动态相互依赖进行建模。然后,所导出的时间编码(RNN的输出)与上述对应的学习图结构执行图卷积操作。我们将上述输出视为时空条件,因为它们包含时间和结构信息。接下来,时空条件被输入以帮助实体感知的归一化流程实现精确的细粒度密度估计。z和z的偏差通过对数似然来测量。最后,通过MLE对MTGFlow的各个模块进行联合优化。
由于实体之间的依赖是相互的,并随着时间的推移而演变,我们利用自我注意力来学习动态的图结构。将多元时间序列中的实体视为图节点。给定窗口序列xc,节点i的查询权值和密钥权值由向量xc iWQ和xc iWK表示,其中WQ ∈ RT×T和WK ∈ RT×T是查询权值和密钥权值。节点i和节点j之间的第c个采样计数处的成对关系ec ij被描述为ec ij =(xc jWQ)(xc jWK)T √ T。注意力得分ac ij用于量化从节点i到节点j的成对关系,通过ac ij = exp(ec ij)PK j=1 exp(ec ij)计算。注意力矩阵由每个节点的注意力得分组成,从而包括实体之间的相互依赖性。自然地,我们将注意力矩阵视为学习图的邻接矩阵Ac。由于输入时间序列随着时间的推移而演变,Ac也会发生变化以捕获动态的相互依赖性。
为了更好地估计多个时间序列的密度,鲁棒的时空条件信息是重要的。如上所述,底层结构信息被建模为动态图。除了空间信息外,时间相关性也是时间序列特征的重要组成部分。在这里,我们遵循最流行的想法,其中RNN用于捕获时间相关性。对于实体k的窗口序列,xc,在时间t ∈ [cS:cS + T)通过Ht k = RNN(xt k,Ht-1 k)导出,其中RNN可以是任何序列模型,诸如LSTM(Hochreiter和Schmidhuber 1997)和GRU(Cho et al. 2014),并且Ht k是RNN的隐藏状态。为了导出t处所有实体的空间和时间信息Ct,通过学习的图Ac执行图卷积操作。正如GANF中提到的,我们还发现节点本身的历史信息有助于增强时间序列的时间关系。因此,t处的时空条件:
其中W1和W2分别是图卷积和历史信息权重。W3用于提高条件表示的表达能力。窗口c的时空条件Cc是Ct沿着时间轴的级联。
个体实体的分布由于其不同的工作机制而具有差异,并且因此其各自的异常将产生不同的稀疏特征。如果我们将所有实体的时间序列映射到相同的分布N(0,I),就像在GANF中那样,那么模型的描述能力将受到很大的限制,并且每个实体的独特固有属性将被忽略。因此,我们设计了实体感知的归一化流程zk = fk θ(x| C)进行更详细的密度估计,其中x、C、k分别是输入序列、条件和第k个实体。从技术上讲,对于一个实体,我们指定多元高斯分布作为目标分布。上述目标分布的协方差矩阵是单位矩阵I,以便更好地收敛。此外,为了生成不同的目标分布Zk,我们从N(0,I)独立地绘制平均向量μk ∈ RT(Izmailov et al.然而,我们发现这样的设置导致性能下降。因此,在我们的实验中,µk的每个元素都保持不变。具体地,对于实体k的时间序列,密度估计由下式给出:
基于假设,异常往往是稀疏的数据分布,低对数似然性表明,观察更有可能是异常的。
在这个实验中,使用了几个常用的公开数据集进行离群检测:MSL(Mars Science Laboratory rover),SMD(Server Machine Dataset),PSM(Pooled Server Metrics),SWaT(Secure Water Treatment)和WADI(Water Distribution)。
- MSL(Mars Science Laboratory rover):这个数据集包含了来自火星探测车的55个特征。
- SMD(Server Machine Dataset):这个数据集来自服务器节点,包含38个特征。
- PSM(Pooled Server Metrics):这个数据集也来自服务器节点(eBay服务器),包含25个特征。
- SWaT(Secure Water Treatment):这个数据集来自水处理系统,包含51个实体。
- WADI(Water Distribution):这个数据集也来自水处理系统,包含123个实体。
在这些数据集中,只提供了正常时间序列用于在One-Class Classification(OCC)场景下的训练。为了划分数据集,按照60%的比例用于训练,20%用于验证,20%用于测试。其中,在SWaT数据集中,测试数据集占20%。
在实现中,采用了以下具体细节:
1. 窗口大小和步幅: 对于所有数据集,窗口大小设置为60,步幅为10。这意味着在每个窗口内,模型将考虑60个时间步的数据,并且窗口之间相隔10个时间步。
2. 优化器和学习率: 使用Adam优化器,学习率为0.002,用于更新所有参数。
3. 时间表示提取: 在实验中,我们发现单层LSTM足以提取时间表示。
4. 图结构学习: 使用一个带有0.2的dropout比率的自注意力层来学习图结构。
5. 标准化流模型: 使用MAF(Masked Autoregressive Flow)作为标准化流模型。
6. 实体感知标准化流参数设置: 对于SWaT数据集,使用一个标准化流块(flow block)和批量大小(batch size)为512。对于其他数据集,使用两个标准化流块,批量大小为256。
7. 阈值设置: 对于每个实体的阈值 \( \lambda \) 设置为0.8。
8. 训练时期和硬件环境: 所有实验的训练时期为40。实验是在PyTorch-1.7.1环境下进行的,使用单个NVIDIA RTX 3090 24GB GPU进行加速。
这些实现细节确保了在给定的硬件环境下,模型能够在合理的时间内学习并优化,从而在各个数据集上进行有效的异常检测。
与先前的研究一样,MTGFlow的目标是检测窗口级别的异常,当存在任何异常时间点时,标签被注释为异常。性能通过接收者操作特征曲线下面积(AUROC)进行评估。
与SOTA(State-of-the-Art)方法进行比较,这些方法包括半监督方法DeepSAD、OCC方法DeepSVDD、ALOCC、DROCC和USAD,以及无监督方法DAGMM和GANF。
作者在表格中列出了AUROC指标的结果。需要注意的是,SMD的标准差较大,因为它包含28个子数据集,我们对每个子数据集进行了性能测试,并对所有结果进行了平均。MTGFlow在所有其他七个基线方法上表现出色。相较于MTGFlow,DeepSVDD和DROCC将所有训练样本投影到超球体中,无法学习准确的决策边界以区分正常和异常样本。ALOCC和USAD使用对抗性学习,DeepSAD使用半监督学习策略,采用更具信息性的训练过程以减轻高异常污染的影响。至于DAGMM,它受限于GMM对多实体分布估计能力的限制。虽然GANF获得了更好的结果,但其检测性能仍然受到依赖性建模不足和非鉴别性密度估计的限制。由于更加灵活的建模结构,MTGFlow胜过了上述基线方法。
此外,在图表中,作者研究了从2016年1月2日11:07:00到11:37:00范围内的异常的对数似然。可以清楚地看到,对于正常序列,对数似然较高,而对于标记为异常的序列,对数似然较低(用红色突出显示)。对数似然的这种变化验证了MTGFlow能够根据建模分布的低密度区域检测异常。同时,为了研究MTGFlow的异常区分能力,作者在图表中展示了MTGFlow和GANF的标准化异常分数 \(S_c\)。如图所示,对于正常序列,MTGFlow的异常分数更集中在0附近,而GANF的异常分数则更分散。在MTGFlow中,正常和异常分数的重叠区域也更小,从而减少了假阳性率。这种较大的分数差异性证实了MTGFlow具有更优越的检测性能。
模块消融研究为了验证所设计的各个模块的有效性,我们给予了多次消融实验。我们将没有图和实体感知的归一化流的MTGFlow表示为MTGFlow/(G,E),将仅没有图的MTGFlow表示为MTGFlow/G,并且将仅没有实体感知的归一化流的MTGFlow表示为MTGFlow/E。
结果如表2所示,其中MTGFlow/(G,E)获得最差性能。这是由于缺乏实体之间的关系建模和不可区分的密度估计。应用图结构学习来建模成对关系,MTGFlow/E实现了更好的性能。此外,考虑到更细粒度的密度估计,MTGFlow/G实现了对MTGFlow/(G,E)的改进。整合这两个模块,MTGFlow实现了最佳结果。
我们对超参数的选择进行了全面的研究,结果如表3所示。具体地,我们利用表3中的滑动窗口的各种大小和归一化流程块的数量进行实验。当窗口大小小(诸如40、60和80)时,块数的增加不一定提高异常检测性能。更大的模型可能导致对整个分布的过拟合,其中异常序列不期望地位于该分布的高密度区域中。当窗口尺寸较大时,待估计的分布是高维的,使得模型需要更大的容量。因此,由于更准确的分布建模,检测性能随着块的增加而导出平均增益。
为了进一步研究异常污染率的影响,我们改变训练分割以调整异常污染率。对于所有上述数据集,训练分割以5%步幅从60%增加到80%。我们在图中给出了五次运行的平均结果。4.虽然训练数据集的异常污染率上升,但MTGFlow的异常检测性能仍然保持在稳定的高水平。
为了进一步研究MTGFlow的有效性,我们基于SWaT数据集给予了详细的分析.
实体之间的相互依赖性不能保证是不可变的。事实上,成对关系随着时间而演变。受益于自我注意,MTGFlow可以将此特性建模为动态图结构。我们将注意力矩阵视为图的邻接矩阵。为邻接矩阵设置0.15的经验阈值,以显示测试分割中直观的学习图结构。
在图5中,节点大小表示其节点度,箭头方向表示学习的有向依赖性,并且箭头宽度指示对应的相互依赖性的权重。
2016/1/1 14:00:00处的图形结构以传感器P201为中心,而图形中的边缘已完全改变,中心已从P201转移到2016/1/2 7:00:00处的AIT 503。这种图形结构的变化可能是由于水处理厂的工作条件发生变化而引起的。
在2016/1/2 13:00:00和2016/1/2 14:00:00可以找到两个类似的图形结构。这表明,如果相互依赖性在一段时间内保持不变,则图形结构将是一致的,这可能是由于实体的重复工作模式。
2016/1/1 14:00:00的主要成对关系(粗箭头)与2016/1/2 14:00:00的主要成对关系相似,都以P201为中心。这表明多个传感器的相互依赖性是周期性的。我们还从学习的图结构中发现了相互依赖性,例如P201和AIT 201在2016/1/2 13:00:00之间的边。
我们总结研究结果:(1)多个实体之间的动态相互依赖性。(2)多个实体之间一致的相互依赖关系。(3)多个实体之间的周期性相互依赖。(4)多个实体之间的相互依赖性。因此,有必要使用动态图来建模这种可变的相互依赖关系。
我们进一步探讨是否所有实体的分布被转换成不同的目标分布,以验证我们的实体感知设计。由于窗口大小为60,因此相应的变换分布也是60维分布。多变量高斯分布的每个单维都是高斯分布。为了更好的可视化,我们在图中展示了转换后分布的第0维。6.将显示不同图元的四个分布。可以看出,这些分布已被投影为唯一分布。此外,这些分布被成功地转换为预设的高斯分布与不同的平均向量。一对一映射对实体特定的分布进行建模,并捕获它们各自的异常稀疏特征。
为了证明稀疏特性随不同的实体而变化,我们研究了SWaT上Sck沿着时间的变化。如图7、AIT 502、P102、FIT 502和LIT 301的Sck。突出显示的区域表示明显异常。为了更好地说明,我们沿着时间轴将异常区域划分为A1,A2,A3,A4和A5。我们可以观察到,不同的实体对不同的异常做出反应,因为它们的工作机制不同。具体来说,AIT 502在A4处有明显的波动,而P102对A2起反应。此外,FIT 502对A4和A5敏感,而LIT 301对A2、A3、A4和A5敏感。尽管如此,MTGFlow仍然能够准确地区分和检测这些异常。
在这项工作中,我们提出了MTGFlow,MTS的无监督异常检测方法的基础上的数据集与绝对零已知标签。在真实世界数据集上的大量实验表明,即使存在高异常污染,它的优越性。MTGFlow上级的异常检测性能归因于动态图结构学习和实体感知密度估计。此外,我们探讨了各种相互依赖性,存在于个体实体之间的学习动态图结构。并且可以经由实体异常分数来理解和定位检测到的异常。在未来,我们计划从更现实的场景(Wu和Keogh 2021)探索我们的方法的性能,并进一步提高其实用性。