information science 2022
文章目录
摘要
随着物联网的普及,工业系统每天都会产生大量的多变量时间序列(MTS)数据,在许多情况下,这些数据与生命攸关的任务相对应。目前的异常检测研究主要集中在利用深度学习方法构建MTS的正常模式,但由于缺乏适当的约束,这些方法无法捕捉到MTS的依赖关系和动态,无法对正常模式进行建模,导致检测效果不理想。本文通过引入多粒度对比方法提取正常数据模式,提出了一种用于MTS异常检测的新型对比自编码器CAE-AD。首先,为了捕获序列的时间依赖性,采用了投影层,并采用了一种新的上下文对比方法来学习鲁棒时间表示。其次,通过时域和频域数据增强,将投影序列变换为两种不同的视图。最后,提出了一种基于实例对比的局部不变特征学习方法。实验结果表明,CAE-AD在三个公共数据集上的f1得分范围为0.9119 ~ 0.9376,优于基线方法。
提示:以下是本篇文章正文内容,下面案例可供参考
一、介绍
随着物联网(IoT)的普及,工业系统不断产生大量的MTS数据[18,15]。由于这些数据通常与关键任务有关,因此监测它们以发现异常情况至关重要。简单来说,MTS中的异常检测旨在检测观测值与正常值偏差较大或出现异常时间模式的序列的时间戳。
异常检测是一个成熟的研究课题,在过去的几十年里引起了很多研究的关注。在早期阶段,研究人员专注于检测单变量时间序列数据中的异常的方法[19,4,17,41,28]。在现代工业系统中,一个设备通常由许多传感器监控,每个传感器测量一个不同的变量。通过多种监测指标对MTS数据进行诊断,对于保证工业系统的正常运行至关重要。此外,通常很难从大量传感器数据中标注异常读数,使得MTS中很少甚至没有标签。在这种情况下,监督方法[33,23,31]是不可行的。因此,我们专注于使用无监督方法识别MTS中的异常。
MTS中的无监督异常检测方法具有时间依赖性和动态变异性。在无监督设置中,模型旨在通过大量正常时间序列数据构建正常轮廓。那些与正常模式非常不同的行为被检测为异常。经典的无监督时间序列异常检测方法,如基于分类的模型(如一类支持向量机[12,36])、基于距离的模型(如KNN[5])和基于聚类的模型(如k-means[20]),在MTS中忽略了时间依赖性,导致性能较差。
近年来,基于自编码器的方法因其学习信息表示的能力而受到广泛关注。最先进的异常检测方法通常采用设计良好的自编码器来捕获MTS数据的正常模式,例如基于lstm的编码器-解码器模型[26],基于对抗训练的自编码器[3,27]和变分自编码器[30,9]等。在这里,通常使用点对点重建或预测标准来检测异常。然而,由于MTS中时间依赖性的复杂性,单点上下文信息不能全面表征MTS数据的时间模式。此外,正常模式可能会随着时间的推移而动态变化。如果没有适当的正则化应用,基于自编码器的模型将遭受过拟合问题。因此,这些方法无法为正常数据构建准确的轮廓,也无法学习稳健表示,导致在实践中表现不理想。
本文提出了一种用于MTS异常检测的对比自编码器,即CAE-AD。对比学习已经被证明可以成功地学习数据在不同领域的变换不变表示,如图像分类[6]、音频[29]和语言理解[13]。将自编码器与窗口分割MTS的对比损失相结合,发现自编码器能够从动态变化的时间序列中捕获不变信息,提高了自编码器表示的鲁棒性。然而,窗口方法不足以获得细粒度的时间表示。因此,我们使用多重对比来扩展该方法,以探索点方向和窗口方向的时间信息,这有助于在MTS中构建正常轮廓。
超越以往基于自编码器的方法,所提出的CAE-AD能够对时间序列的时间和动态特征进行建模。更准确地说,我们首先利用注意机制来捕捉时间依赖性。与常用的位置编码方法不同,我们采用上下文对比的方法来学习位置信息。随后,我们探索了时域和频域的数据增强,这有助于获得同一段的不同视图。在此基础上,提出了一种共享权重编码器对增广数据进行编码,并提出了一种实例对比方法来捕捉潜在变量的局部不变特征。通过本文提出的多粒度对比(上下文对比和实例对比),CAE-AD可以学习MTS的鲁棒表示。最后,设计了LSTM解码器,并利用重构误差进一步检测异常。大量的实验验证了所提方法的有效性。
本文的主要贡献总结如下:
1.我们提出了一种检测MTS异常的新方法,即CAE-AD。利用对比学习方法增强自编码器对正常数据构建鲁棒轮廓的能力,使异常数据更容易被识别和检测。
2.在CAE-AD框架下为MTS设计了简单有效的数据增强方法。我们在时域和频域探索MTS的增广。这有助于选择正对进行对比,并鼓励学习MTS数据的动态行为。
3.本文提出了多粒度对比方法来学习MTS的鲁棒性表征,首先,我们提出了上下文对比来提取MTS的时间依赖性,其次,我们提出了实例对比来进一步捕获MTS的局部不变特征。CAE-AD能够全面学习多尺度的语境信息。
4.我们进行了大量的实验来评估CAE-AD在三个公共数据集上的性能。实验结果表明,CAE-AD的性能优于最先进的基线。
本文的其余部分组织如下:在第2节中,我们提供了相关工作的概述。在第三节中,我们详细介绍了CAE-AD框架和异常检测。第四节给出实验结果和分析,最后一节总结本文。
二、相关工作
2.1 异常检测
MTS异常检测近年来已成为一个热门的研究课题。关于MTS异常检测的文献非常丰富。传统的MTS异常检测方法多采用统计方法。2010年,Chaovalitwongse等人提出了一种基于KNN的基于距离的MTS异常数据分类模型。在[21]中,提出了一种改进的基于距离的模型,并考虑了数据点之间的角度关系。在[24]中使用了隔离森林,其中作者通过划分数据集来隔离异常值。虽然这些方法效率很高,但它们没有考虑MTS数据的长期时间依赖性。
近年来,基于深度学习的方法在MTS数据异常检测方面取得了显著的性能提升。LSTM- ndt[18]应用LSTM建模时间依赖性,根据预测误差检测异常。基于变压器的方法也获得了很多关注。异常变压器[39]探讨了异常的自关注权,提出了极大极小训练策略来放大正常和异常数据的差异。GTA[7]使用基于变压器的结构来学习图结构,这有助于捕获MTS中的时间依赖性,TranAD[35]提出了基于变压器的异常检测模型,并使用对抗性训练和自调节技术来提高性能。
基于自编码器的MTS模型是近年来比较流行的一种模型,该模型采用编码器对MTS数据进行降维处理,而解码器对MTS数据进行重构,通过最小化重构误差来捕获数据的正常模式。并进一步利用重构误差检测异常。例如,EncDec-AD[26]使用LSTM作为编码器和解码器的基本单元。LSTM-VAE[30]结合了LSTM和VAE,但忽略了随机变量的依赖性。在b[34]中提出了一种被称为OmniAnomaly的方法,该方法基于随机递归神经网络,该神经网络通过建模MTS数据的鲁棒表示来学习正常数据模式。MAD-GAN[22]采用GAN框架捕获数据的时间和空间信息。
2.2 对比学习
在具有噪声干扰的域间或域内任务中,不变性信息起着至关重要的作用。例如,[2]提出了CMCH来学习多模态数据哈希码的一致性表示,利用多模态数据中的不变性信息构建信息潜在空间。MIAN[42]提出了模态不变非对称网络来保持语义相似性,并提出了条件变分信息瓶颈网络来学习模态不变信息。
与这些监督学习方法不同,对比学习方法在自监督设置中学习数据的变换不变表示。对比学习的主要思想是减少特征空间中相似样本之间的距离,最大化相同空间中不同样本之间的距离。CPC[29]使用自回归模型来预测潜在空间中的未来值,并提出了InfoNCE损失来训练网络以获得稳健的数据表示。MoCo[16]进一步考虑了获取负样本的局限性,建立了一个动态字典来查找样本对进行对比。SimCLR[6]讨论了数据增强在对比学习中的重要作用,提出了一种可学习的非线性变换模块来提高对比表示向量的质量。
TS-TCC[11]将对比学习应用于时间序列数据,提出了一个包含多种对比方法的自监督框架来学习信息时间序列表示。TS2Vec[40]提出了一种分层对比学习时间序列多粒度上下文信息的方法。在这项工作中,我们开发了一种MTS的对比自编码器表示学习和异常检测。
三、提出的模型
本文首先提出了MTS数据异常检测的问题描述。然后,对CAE-AD框架进行了概述,并对其主要模块进行了说明。最后,我们详细描述了所提出的模型和异常检测。
3.1 问题描述
本文主要研究MTS数据的异常检测问题。令 x t ∈ R m x_t\in\mathbb{R}^m xt∈Rm表示时间步长为t时维数为m的向量,其中 x t , i ∈ R x_{t,i}\in\mathbb{R} xt,i∈R表示第i个变量在时间步长为t时的值。多元时间序列可表示为 X = { x 1 , x 2 , … , x N } , X ∈ R N × m \mathcal{X}=\{x_1,x_2,\ldots,x_N\},\mathcal{X}\in\mathbb{R}^{N\times m} X={x1,x2,…,xN},X∈RN×m,其中N为观测序列的长度。在时间步长t处计算异常评分 St \text{St} St,当异常评分大于设定的阈值时,认为该点为异常点。
3.2 框架描述
CAE-AD框架如图1所示,由数据预处理、学习表示和异常检测三部分组成。
首先,在数据预处理过程中对数据进行归一化,并通过窗口进行分割。其次,我们提出了一个对比自编码器模型来学习MTS的表示,如图1底部所示,我们实现了一个投影层来学习嵌入,然后我们分别在时域和频域设计了两种数据增强方法。这有助于生成序列数据的不同视图。提出了一种多粒度对比方法来捕捉数据的时间依赖性和局部不变性特征。最后,根据重构误差计算各时间步的异常分数。
图1。CAE-AD的总体框架。我们首先进行数据归一化,并使用滑动窗口分割MTS。然后采用对比自编码器对学习到的时间序列数据进行鲁棒表示。最后,利用重构误差检测异常。
3.3 预处理
对于输入MTS数据 X = { x 1 , x 2 , … , x N } \mathcal{X}=\{x_{1},x_{2},\ldots,x_{N}\} X={x1,x2,…,xN},首先应用归一化来缩放数据。当前时间步长的观测值依赖于数据的历史观测值。为了捕获时间依赖性,我们在CAE-AD框架中引入了一个滑动窗口。如图2所示,我们使用间隔为1的滑动窗口获得连续的数据段作为CAE-AD的输入。例如,观测窗口可以表示为 x 1 : w = [ x 1 , x 2 , … , x w ] , x 1 : w ∈ R w × m x_{1:w}=[x_1,x_2,\ldots,\quad x_w],x_{1:w}\in\mathbb{R}^{w\times m} x1:w=[x1,x2,…,xw],x1:w∈Rw×m,其中w是窗口大小,m是数据的维数。
3.4 表示模型
在CAE-AD中,我们首先使用投影层并提出上下文对比来学习MTS数据的时间嵌入。然后,我们探索了时间序列的数据增强方法,并提出了实例对比来提高表征的鲁棒性。最后,采用LSTM解码器对MTS数据进行重构。
3.4.1投影层
对比学习的目的是使不同观点的相同样本之间的相似性最大化,同时使不同样本之间的相似性最小化,以学习不变的特征。为了选择正对进行对比,我们探索了不同的数据增强方法,以获得不同的数据视图,这在对比学习[6]中被认为是至关重要的。
简单的变换通常用于时间序列增强,如裁剪、翻转和抖动等。然而,直接对原始时间序列数据进行变换并不总是合适的。例如,原始数据可能有上升趋势。如果裁剪操作去除了这种趋势,增广的时间序列可能代表不同的模式,而之前的对比学习策略会认为原始和增广的时间序列是相似的。为了克服这个问题,我们使用了一个投影层。我们首先对MTS数据进行投影,投影层后的嵌入可用于数据增强,以补充领域特定知识[10]。
为了捕捉数据的时间依赖性,我们采用注意机制[38]作为投影层。为了防止未来的数据信息泄露,使用掩码,对未来数据的所有关注分数赋值为零。对于一个窗口的数据 x 1 : w = [ x 1 , x 2 … , x w ] , x_{1:w}=[x_1,x_2\ldots,x_w], x1:w=[x1,x2…,xw],,其中w为窗口大小,利用线性变换分别得到查询矩阵Q、键矩阵K和值矩阵V,其中 Q = [ x 1 , … , x w ] T W Q \mathbb{Q}=[x_1,\ldots,x_w]^TW^Q Q=[x1,…,xw]TWQ和WQ是一个可学习的矩阵。注意后嵌入机制可以用下式表示。
图2。数据预处理。采用滑动窗口对序列进行切片。
a 1 : w = s o f t m a x ( Q K T m ⊙ M a s k ) V , ( 1 ) a_{1:w}=\mathrm{softmax}\left(\frac{QK^T}{\sqrt{m}}\odot Mask\right)V, (1) a1:w=softmax(mQKT⊙Mask)V,(1)
式中
a
1
:
w
=
[
a
1
,
a
2
,
…
,
a
w
]
,
a
1
:
w
∈
R
w
×
m
a_{1:w}=[a_1,a_2,\ldots,a_w],a_{1:w}\in\mathbb{R}^{w\times m}
a1:w=[a1,a2,…,aw],a1:w∈Rw×m表示
a
t
∈
R
m
a_t\in\mathbb{R}^m
at∈Rm处的嵌入序列。符号表示元素操作,KT是k的转置,掩码是一个下三角矩阵,这意味着时间步长t的数据只关注当前和历史信息。例如,嵌入序列
a
t
a_{t}
at只关注
x
l
:
t
\boldsymbol{x}_{\boldsymbol{l}:\boldsymbol{t}}
xl:t的信息。
3.4.2上下文对比
注意机制忽略了位置信息。为了包含位置信息,我们提出上下文对比来学习MTS数据的相对位置。
在
a
t
a_{t}
at处的嵌入与相邻时间步长的表示具有较高的相似性;然而,它与表示遥远时间步长的相似度较低。上下文对比的目的是减少嵌入空间中相邻时间步之间的距离,同时增加嵌入空间中不同时间步之间的距离,可以表示为:
其中,
l
c
o
n
t
(
i
,
t
)
l_{cont}^{(i,t)}
lcont(i,t)为第i个窗口时间步长为t时的损失函数。Nw是窗口的总数。
I
[
k
≠
t
]
∈
{
0
,
1
}
I_{[k\neq t]}\in\{0,1\}
I[k=t]∈{0,1}是一个指标函数,如果
k
≠
t
.
k\neq t.
k=t.等于1,否则等于0。S是温度参数。利用余弦函数度量嵌入之间的相似度。
3.4.3数据增强
为了充分利用MTS的特性,我们分别在时域和频域探索了投影层嵌入的数据增强方法。
在时域中,我们加入高斯噪声 N ( 0 , Σ 1 ) N(\mathbf{0},\Sigma_{1}) N(0,Σ1)为嵌入生成相似的样本,其中 Σ 1 = d i a g ( σ 1 ) \Sigma_1=diag(\sigma_1) Σ1=diag(σ1)和 σ 1 \sigma_{1} σ1是偏差。在频域,我们对嵌入信号 a 1 : w = [ a 1 , a 2 , … , a w ] a_{1:w}=[a_1,a_2,\ldots,a_w] a1:w=[a1,a2,…,aw]进行二维离散傅里叶变换得到spectrum F ( u , ν ) F(u,\nu) F(u,ν)。
F ( u , ν ) = 1 w m ∑ t = 0 w − 1 ∑ k = 0 m − 1 a t , k exp ( − j 2 π ( u t / w + v k / m ) ) = A ( u , v ) exp ( j θ ( u , v ) ) , \begin{aligned} F(u,\nu)& =\frac1{wm}\sum_{t=0}^{w-1}\sum_{k=0}^{m-1}a_{t,k}\exp(-j2\pi(ut/w+vk/m)) \\ &=A(u,v)\exp(j\theta(u,v)), \end{aligned} F(u,ν)=wm1t=0∑w−1k=0∑m−1at,kexp(−j2π(ut/w+vk/m))=A(u,v)exp(jθ(u,v)),
其中 u = 0 , 1 … , w − 1 u=0,1\ldots,w-1 u=0,1…,w−1和 ν = 0 , 1 , … , m − 1 \nu=0,1,\ldots,m-1 ν=0,1,…,m−1为频率指标,w和m分别为嵌入 a t a_{t} at的窗口大小和维数。此外, F ( u , ν ) F(u,\nu) F(u,ν)也可以表示为振幅谱amplitude spectrum A ( u , v ) A(u,v) A(u,v)的组合和相谱phase spectrum θ ( u , v ) . \theta(u,v). θ(u,v).。
我们加入高斯噪声
N
(
0
,
Σ
2
)
N(\mathbf{0},\boldsymbol{\Sigma}_{2})
N(0,Σ2);振幅谱为
A
(
u
,
v
)
A(u,v)
A(u,v)和相谱
θ
(
u
,
v
)
.
\theta(u,v).
θ(u,v).,其中
Σ
2
=
d
i
a
g
(
σ
2
)
\Sigma_2=diag(\sigma_2)
Σ2=diag(σ2)和
σ
2
\sigma_{2}
σ2控制噪声偏差。然后进行离散傅里叶反变换(IDFT),将频域数据转换为时域数据。最后,取实部作为增广数据,如下式所示:
其中
t
=
0
,
1
,
…
,
w
−
1
,
t=0,1,\ldots,w-1,
t=0,1,…,w−1,,
k
=
0
,
1
,
…
,
w
−
1
,
k=0,1,\ldots,w-1,
k=0,1,…,w−1,表示增广数据
f
(
t
,
k
)
f(t,k)
f(t,k)的时间步长和维数。
所提出的数据增强方法有助于生成观测序列的不同视图,并获得用于实例约束的正对。
3.4.4 实例对比
我们得到了时域和频域数据增强后的两种数据视图。然后将增强后的数据发送到LSTM连体编码器中获取低维潜变量,其中LSTM连体编码器由两个共享权LSTM神经网络组成。最后,采用实例对比的方法学习潜在变量的局部不变信息。
同一窗口中MTS数据的两个视图为正对,不同窗口中的MTS数据为负对。直观上,实例对比鼓励最大化来自同一窗口的不同增强数据的相似度,同时最小化来自不同窗口的数据的相似度,目的是学习两类增强数据的不变信息。如图3所示,正隐变量对可表示为:
(
z
t
,
z
t
+
)
(z_t,z_t^+)
(zt,zt+),实例对比损失如下式所示:
其中B是小批量的大小,Nb是小批量的数量。给定正对
(
z
t
(
i
)
,
z
i
,
t
(
i
)
+
)
(z_t^{(i)},z_{i,t}^{(i)+})
(zt(i),zi,t(i)+)在第i个minibatch的第t个窗口的ZðiÞþ i;tÞ中,我们首先使用余弦相似度计算对比损失
l
i
n
s
t
(
i
,
t
)
l_{inst}^{(i,t)}
linst(i,t)。
T
\mathcal{T}
T是温度参数。
实例对比在窗口级别起作用,上下文对比在时间步长级别起作用。多粒度对比方法可以学习时间序列的细粒度和粗粒度信息。通过结合两种类型的对比损失,CAE-AD框架能够从多个尺度学习表征。此外,上下文对比和实例对比使框架能够学习互补信息,从而更好地重构正常的MTS。
3.4.5 LSTM Decoder
解码器的主要目标是重构数据。我们进行了如图3所示的循环解码方法。具体来说,我们首先连接潜在变量 [ z , z + ] [z,z^+] [z,z+]作为初始信息,并应用LSTM单元在第一个时间步重构数据,即 x ^ 1 \hat{x}_{1} x^1。然后,将重构数据 x ^ 1 \hat{x}_{1} x^1与下一个时间步长的重构解码器的隐藏状态(即 x ^ 2 \hat{x}_{2} x^2)连接起来。重构方法可表示为:
x t ^ = { W r g ( c o n c a t [ z , z + ] ) , i f t = 0 W r g ( W z c o n c a t [ h t , x t − 1 ^ ] ) , i f t = 1 , 2 , … w − 1 , . \left.\hat{x_t}=\left\{\begin{array}{cc}W^r\mathbf{g}(\mathbf{concat}[\mathbf{z},\mathbf{z}^+]),&\mathrm{if~}t=\mathbf{0}\\W^r\mathbf{g}(W^z\mathbf{concat}[\mathbf{h}_t,\widehat{x_{t-1}}]),&\mathrm{if~}t=1,2,\ldots\boldsymbol{w}-1,\end{array}\right.\right.. xt^={Wrg(concat[z,z+]),Wrg(Wzconcat[ht,xt−1 ]),if t=0if t=1,2,…w−1,.
其中Wz;Wr为可学习权矩阵。 h t h_{t} ht和 x ^ t \hat{x}_{t} x^t分别表示解码器的第t个隐藏状态和解码器的第t个输出。我们使用LSTM网络分别作为解码器的第t个隐藏状态和解码器的第t个输出。我们使用LSTM网络作为解码器 g ( . ) \mathbf{g}(.) g(.),如图3所示。
图3。CAE-AD的详细神经网络。在详细框架中,q;k;V分别表示关注机制的查询向量、键向量和值向量。绿色块表示原始数据 { x 1 , x 2 , … , x w } \{x_{1},x_{2},\ldots,x_{w}\} {x1,x2,…,xw},嵌入向量 { a 1 , a 2 , … , a w } \{a_1,a_2,\ldots,a_w\} {a1,a2,…,aw}和重构数据 { x 1 ^ , x 2 ^ , … , x w ^ } . \{\hat{x_{1}},\hat{x_{2}},\ldots,\hat{x_{w}}\}. {x1^,x2^,…,xw^}.,分别。潜变量 ( z 1 , z 1 + ) (z_{1},z_{1}^{+}) (z1,z1+)是同一窗口内的正对,而 { ( z 1 , z 2 ) , … , ( z 1 , z B ) , ( z 1 , z 2 + ) , … , ( z 1 , z B + ) } \{(z_{1},z_{2}),\ldots,(z_{1},z_{B}),(z_{1},z_{2}^{+}),\ldots,(z_{1},z_{B}^{+})\} {(z1,z2),…,(z1,zB),(z1,z2+),…,(z1,zB+)}在小批量的不同窗口为负对。 { h 1 , h 2 , … , h w } \{h_1,h_2,\ldots,h_w\} {h1,h2,…,hw}是LSTM解码器的隐藏状态。
重构损失可表示为:
L
r
e
c
o
n
=
1
w
N
w
∑
i
=
1
N
w
∑
t
=
1
w
(
x
^
t
(
i
)
−
x
t
(
i
)
)
2
,
\mathcal{L}_{recon}=\frac1{wN_w}\sum_{i=1}^{N_w}\sum_{t=1}^w(\hat{x}_t^{(i)}-x_t^{(i)})^2,
Lrecon=wNw1i=1∑Nwt=1∑w(x^t(i)−xt(i))2,
其中w;Nw分别为窗口大小和窗口数量。 x ^ t ( i ) , x t ( i ) \hat{x}_t^{(i)},x_t^{(i)} x^t(i),xt(i)分别为第i个窗口在时间步长t处的重建和原始数据。
整体损失函数可以表示为重建损失、上下文对比损失和实例对比损失的总和,如式(8)所示。我们的目标是使整体损失最小化,从而学习数据的正常模式。
L = L r e c o n + λ 1 L c o n t + λ 2 L i n s t , \mathcal{L}=\mathcal{L}_{recon}+\lambda_{1}\mathcal{L}_{cont}+\lambda_{2}\mathcal{L}_{inst}, L=Lrecon+λ1Lcont+λ2Linst,
那里的 L r e c o n , L c o n t , L i n s t \mathcal{L}_{recon},\mathcal{L}_{cont},\mathcal{L}_{inst} Lrecon,Lcont,Linst列表分别代表重构损失、上下文对比损失和实例对比损失。 λ 1 \lambda_{1} λ1和 λ 2 \lambda_{2} λ2是超参数。训练过程在Algorithm1中进行了总结。
3.5 异常检测
历史信息对于MTS数据是必不可少的,所以我们利用之前的重构误差计算
x
t
x_{t}
xt在当前时间步长t的异常分数
S
t
S_{t}
St,即:
S
t
=
1
w
∑
i
=
t
−
w
+
1
t
(
x
^
i
−
x
i
)
2
,
S_t=\frac1w\sum_{i=t-w+1}^t\left(\hat{x}_i-x_i\right)^2,
St=w1i=t−w+1∑t(x^i−xi)2,
其中 χ ^ i \hat{\chi}_i χ^i为重建的MTS数据,窗口大小为w。
我们假设异常出现在低密度区域。CAE-AD使用无异常的干净数据集进行优化,以学习正常模式。在测试过程中,测试数据会被映射到正态潜空间,由于多粒度对比的影响,潜向量z会彼此接近。如果一个异常点x0不符合正常模式,那么它进行重构的概率很低pðx0jzÞ,从而导致重构误差很大。因此,较高的异常分数意味着时间步长t的数据更有可能是异常值。否则视为正常数据。阈值的选择取决于应用场景,许多研究[18,34]根据异常评分动态配置阈值。在本文中,我们专注于设计框架来学习鲁棒表示并进行更好的重构。我们枚举所有阈值,并选择F1得分最高的一个作为前面的作品[3,9]。
四、实验
在本节中,我们进行了大量的实验来评估CAE-AD的性能。首先,我们将CAE-AD与最先进的模型进行比较。随后,构建了CAE-AD框架的三个变体,以验证两种提出的对比损耗的有效性。此外,还进行了参数灵敏度和烧蚀研究实验,了解CAE-AD在不同环境下的响应。最后,进行了可视化实验,验证了潜在变量的表示。
4.1 数据集
我们的实验采用了三个公开的数据集。表1总结了数据集的属性。
服务器机器数据集(SMD)SMD是[34]收集并公开发布的来自某大型互联网公司的5周新数据集。SMD数据集分为28个子集,每个子集来自一台服务器机器,有38个监控指标。
土壤湿度主被动(SMAP)2卫星数据集和火星科学实验室(MSL)2漫游者数据集。SMAP和MSL数据集是来自NASA[18]的真实世界和专家标记的遥测数据。SMAP/MSL数据集包含55/27个子集,每个子集有25/55个通道。
4.2 评估指标
使用Precision (Pre), Recall (Rec)和F1分数来评估CAE-AD和基线的性能。在我们的实验中,我们枚举所有阈值,使用最佳f1分数来评估性能,也称为F1-best[26,34,9]。
异常观测通常出现在连续的片段中。因此,我们利用点调整方法来检测异常。具体来说,如果正确检测到地面真值异常段中的任何一个观测值,则认为该段中的所有观测值都被正确检测到。否则,不识别异常段中的所有观测值
4.3 基线模型
加粗样式我们将我们的模型与MTS数据异常检测的九种无监督方法进行了比较,如下所示。注意,只有我们提出的框架CAE-AD考虑了MTS数据的局部不变特征。
iForest通过随机选择一个特征并随机分割观测值来分离异常的集成模型。但是,在ifforest中不考虑时间信息。
EncDec-AD多变量时间序列数据异常检测的Seq2seq模型。利用LSTM网络进行编码器和解码器,可以捕获时间序列数据的时间依赖性。
LSTM-NDT基于预测的模型,利用LSTM网络对遥测数据进行预测,预测误差是异常分数的度量。
OmniAnomaly一个随机模型来学习MTS数据的鲁棒表示。利用重构概率计算异常分数。
Transformer-AD一个基于预测的模型,使用变压器编码器来检测异常。首先,我们根据文献构建了一个具有多头注意机制和位置编码的变压器编码器。然后使用掩码来防止未来的信息泄露。最后,构建全连通层对MTS数据进行预测,并利用预测误差计算异常分数。
USAD一种基于两个自编码器的异常检测方法,这两个自编码器以对抗的方式训练来重建数据。利用两个自编码器的重构误差计算异常分数。
DROCC一种基于单类的异常检测方法,利用对抗性训练学习数据的鲁棒表示。
RANSynCoders一种基于自引导自编码器的异常检测方法,该方法学习数据的同步表示。
**GANF **基于密度的异常检测方法。GANF使用基于图的编码器对不同维度的关系进行建模,并利用条件规范化流来估计密度。密度越低,异常的可能性越大。
4.4 表现评估
在我们的实验中,我们基于PyTorch实现了CAE-AD。经验表明,LSTM编码器的隐大小为64,潜变量z的维数为18。高斯噪声的偏差r1;在我们的实验中,经验将R2和温度参数s分别设置为0.5、0.5和0.25。通过全连接神经网络将解码器的隐藏状态与重构数据进行串接和变换,作为LSTM解码器的输入。窗口大小w和滑动窗口间隔l分别为36和10。
结果与分析。表2报告了CAE-AD和其他基线模型的准确率、召回率和F1-best分数。我们使用粗体为最好的F1得分和下划线字体为第二好的F1得分。如表2所示,CAE-AD的性能优于所有基线模型。其中,CAE-AD在SMD数据集上的F1-best得分为0.9376,略高于OmniAnomaly,远优于其他方法。对于SMAP和MSL数据集,CAE-AD分别达到了0.9302和0.9119的f1最佳得分。CAE-AD的案例研究如图4a和图4b所示,表明CAE-AD可以正确检测异常点。SMD machine-1-1数据集异常时间步长相对集中,SMD machine-2-3数据集异常时间步长相对分散。CAE-AD在两个子集中都取得了稳定的性能,进一步验证了CAE-AD学习MTS数据正常模式的能力。
ifforest[24]随机选取特征并拆分值分离异常点,但未考虑MTS数据的时间依赖性。与SMAP和MSL数据集相比,SMD数据集包含更多具有突然峰或突然谷的极端异常值,这些异常值更容易被ifforest分离。因此,ifforest在SMAP和MSL数据集上表现出较低的性能,其F1-best得分分别为0.5738和0.4762。
EncDec-AD[26]是基于seq2seq的LSTM编解码器结构模型。该方法模拟正常的时间序列行为,并利用重建误差来检测异常。采用LSTM编码器和解码器捕获时间序列的时间特征,因此EncDec-AD的性能优于ifforest。但该方法不能表征时间序列的动态特性。
LSTM- ndt[18]是一种考虑时间信息的基于预测的单层LSTM模型。对于SMAP和MSL数据集,LSTM-NDT使用第一个通道的历史遥测数据和其他通道的单热编码信息来预测下一个时间步长的遥测数据。结果表明,LSTM-NDT在SMAP数据集上获得了较高的F1-best分数0.9147。然而,由于SMD数据集上的网络状态复杂且数据维度高,LSTM-NDT无法捕获正常模式,性能较差。
OmniAnomaly[34]通过随机递归神经网络学习MTS数据的鲁棒表示,并在SMD数据集上获得了第二好的f1成绩。然而,OmniAnomaly忽略了局部不变量信息,并且噪声数据可能被给予很高的异常分数,而这些异常分数可能被误认为是异常点。CAE-AD引入实例对比,有助于潜变量学习mts的局部不变性,并在时域和频域采用数据增强方法增强了CAE-AD的抗噪能力。因此,OmniAnomaly方法的召回率比我们的CAE-AD方法低。
图4。SMD machine-1-1和SMD machine-2-3数据集异常评分的实例研究。红色区域突出了真值异常区间。
Transformer-AD[38]利用多头注意力学习不同时间步间的相关信息。如表2所示,Transformer-AD在SMD和MSL数据集上分别获得了0.7745和0.8787的F1-best分数,优于ifforest和LSTM-NDT。原因是注意机制计算输入序列的注意分数,可以捕获输入数据在每个时间戳的历史信息,而基于lstm的方法选择性地保留历史信息,可能会遗漏某些有用的信息。因此,Transformer-AD比基于ltsm的方法(如LSTM-NDT)具有更好的综合性能。但是,Transformer-AD没有考虑MTS的固有性质,如局部时不变性,其性能不如CAE-AD。
USAD[3]有两个自动编码器,一个编码器和两个解码器。在训练阶段,USAD反向训练两个自编码器,目的是放大异常重构误差。通过适当的正则化,USAD能够利用自动编码器框架的优势,并在MSL数据集上取得f1第二好的成绩。然而,USAD框架也可能放大推理阶段的噪声。因此,相对于CAE-AD, USAD的整体性能较差。
DROCC[14]采用梯度上升方法生成异常实例,缓解了表示崩溃问题。然而,现实世界的数据分布是复杂的,生成的异常可能与地真异常不匹配。CAE-AD只关注正常数据模式的建模,因此证明了在所有三个数据集上,DROCC的性能都不如CAE-AD。
RANSynCoders[1]学习MTS数据中的同步表示,并使用自引导自编码器学习重构的下界和上界。通过比较输入和解码边界来识别异常。对于SMAP和MSL数据集,第一个维度是遥测数据,其他维度是0/1开关数据。这些开关数据包含大量的零元素,对于基于自引导聚合的自编码器来说,重构这些数据是很困难的。因此,RANSynCoders在SMAP和MSL数据集上表现不佳。
gannf[8]使用基于图的依赖编码器来学习序列维度上的相关信息,并应用条件归一化流来模拟MST的密度。然而,GANF忽略了固有的不变性,并且不约束节点的邻接矩阵。如表2所示,GANF的性能低于CAE-AD。
总之,CAE-AD在三个公共数据集上优于基线方法。CAEAD的自编码器结构有助于获得时间序列的重构,这是异常检测任务中易于适应不同数据集的关键设计。此外,多粒度对比方法有助于CAE-AD模型学习多粒度时间相关信息,使模型能够准确地构建正常轮廓,使异常数据更具辨别性。
4.5 多粒度对比分析
为了验证上下文对比和实例对比的有效性,我们对CAE-AD及其三个变体(CAE-Inst-AD、cae - con - ad和AE-AD)的性能进行了评估。其中,CAE-Inst-AD保留了实例对比损失,而去除了上下文对比损失。cae - con - ad在消除实例对比损失的同时保留了上下文对比损失。AE-AD是使用LSTM自编码器构建的,没有任何对比度损失。通过对比实验,我们了解了CAE-AD对语境对比损失和实例对比损失的响应。
如图5所示,CAE-AD在三个数据集上的性能最好,AE-AD的综合性能最低。AE-AD模拟正常的时间序列行为,并利用重建误差来检测异常。然而,由于没有采用多粒度对比方法,AE-AD无法全面描述数据的多尺度时间信息,无法学习稳定的正常数据模式,这进一步表明,需要对基于自编码器的模型进行适当的正则化,以提高重建能力。
cae - con - ad在SMD、SMAP和MSL数据集上分别获得了0.8942、0.9206和0.8656的f1最佳得分。与cae - control - ad相比,CAEInst-AD的性能较低。原因可能是上下文对比损失的目的是最大化相邻时间步上的观测值的相似性,并最小化远时间步上的相似性。通过考虑时间步长级观测,上下文对比可以学习MTS数据的细粒度上下文信息。然而,实例对比损失最大化了同一窗口中观测值的不同视图的相似性,而最小化了minibatch中不同窗口中观测值的相似性。考虑到窗口级观测,实例对比可以学习到粗粒度的上下文信息,也称为mts数据的局部不变特征。如果没有上下文对比缺失,CAE-Inst-AD可能在重建中表现不佳。因此,对于SMD、SMAP和MSL数据集,cae - con - ad比CAE-Inst-AD获得更高的F1-best分数。
同时,由于没有实例对比损失,cae - con - ad无法捕捉到MTS数据的局部不变特征,因此性能不如CAE-AD。与三种变体相比,CAE-AD进行了多粒度对比,因此潜在变量可以同时捕获时间依赖性和局部不变性特征,从而验证了上下文对比和实例对比是互补的。因此,CAE-AD可以提取正常的数据模式,并表现出优越的性能。
综上所述,由多个精心设计的对比损失训练的自编码器模型优于典型的自编码器,这证明了我们的多粒度对比方法是CAE-AD的关键设计。
4.6. 参数灵敏度
在本节中,我们研究了不同参数对CAE-AD性能的影响。该方法的主要参数包括窗口大小w、滑动窗口间隔l、隐变量维数z和隐状态维数h。本节所有实验均在SMD数据集的machine-1-6上进行。
我们研究的第一个案例是窗口大小w如何影响CAE-AD的性能。窗口尺寸越大,模型可以获得的信息越多。我们使用不同的窗口大小,比如¼½10;20;30;40;100。如图6(a)所示,当窗口尺寸为¼30时,效果最好。可以观察到,较小的窗口大小往往会产生较低的F1-best分数,因为当输入序列包含较少的信息时,CAE-AD无法描述不同时间步长的相关性。历史重建误差用于计算窗口中最后一个时间步数据的异常分数。如果窗口太大,可能包含较长的异常段,则窗口中最后一个时间步长的正常数据将获得较高的异常评分,从而可能被误判为异常点。因此,较大的窗口大小表明较低的F1-best分数。对于服务器机器数据集,适当的范围从20到40可以获得更好的性能。
图6。SMD的machine-1-6数据集上不同参数的灵敏度。F1-best、Precision和recall被用来评价CAE-AD对(a)不同窗口大小w、(b)不同滑动窗口间隔l、©不同潜在变量z的维度、(d)编码器中不同隐藏状态h的响应。
我们学习的第二个因素是CAE-AD如何响应不同的滑动窗口间隔1 .在数据预处理过程中,使用滑动窗口来获得一系列观测值,滑动窗口间隔影响重复观测值的大小。图6(b)总结了不同间隔1¼½5的所得结果;10;15;20;30。我们观察到,当区间达到10时,CAEAD的F1-best得分最高,区间越大,性能越差。原因可能是较大的间隔包含较少的重复观测,因此CAE-AD可能无法捕获连续观测的时间依赖性。
接下来,我们探讨了潜在变量z维度的影响。图6©显示了潜在变量z¼½5的不同维度的f1最佳得分;10;20;30;50。我们可以观察到,潜变量的维数越低,性能越好。原因可能是编码器能够降低潜在变量的维数。高维的潜在变量可能包含更多的噪声,因此高维特征中的正态模式难以学习,这表明我们可以选择低于原始观测维数的潜在变量维数。
最后,我们分析了编码器中隐藏状态维数的影响。我们探索了隐藏状态的不同维度h¼½10;20;40;60;我们的实验中有100个。如图6(d)所示,CAE-AD在隐藏维数达到40时性能稳定。当共享权重编码器中的隐藏维数大于40时,隐藏维数对CAE-AD的性能有轻微的敏感性。原因是多粒度对比在捕获正常数据模式方面起着重要作用,编码器的参数或网络可以有更大的选择范围。
4.7. 消融研究
在本节中,我们将研究模型中每个部分的效果。具体来说,我们在有/没有关键模块的情况下重复实验。如表3所示,我们提出的模型CAE-AD在SMD数据集上实现了最佳性能。直接去除注意力模块,不使用上下文对比损失(CAE-AD_WO_ATTENTION_CONT), F1分数比基线下降22.77%。此外,我们使用全连接神经网络取代注意机制,保留上下文对比损失(CAE-AD_WO_ATTENTION),与直接去除相比,性能有很大提高。这证明了注意机制和上下文对比方法共同作用来学习数据的时间表征。
此外,我们还分别去除了标记为CAE-AD_WO_FREQAUG的时域数据增强和标记为CAE-AD_WO_TIMEAUG的频域数据增强,只使用单个数据增强方法生成不同的MTS视图,结果表明,在这种情况下,模型的性能并不好。最后,我们用一个简单的全连接网络(CAE-AD_WO_DECODER)取代了设计良好的LSTM解码器。结果表明,与基线相比,性能急剧下降。这是因为潜在向量z并不直接包含所有时间步长的信息,因此对于解码器探索MTS的依赖特性来说,顺序解码方法是必要的。这些消融研究验证了我们模型中的每个模块都是有用的和必要的。
4.8. 潜在变量的可视化
为了进一步证明CAE-AD学习正常数据模式的有效性,我们进行了潜在变量可视化的附加实验。
CAE-AD是一种基于重构的模型。对于MTS数据窗口,siamese编码器将原始数据压缩为潜在变量,然后解码器重建数据。对比自编码器在正常数据上学习正常数据模式训练。如果对比自编码器的输入中出现异常观测值,我们的模型将该观测值编码为正态潜变量z,此时重建结果与实际存在较大偏差,此时异常观测值被正确检测。
具体而言,我们选择smd数据集的machine-1-1子集来获取潜在变量,并使用t-Distributed tSNE(随机邻居嵌入)[37]来可视化潜在变量。如图7(a)所示,每个点代表一个潜在变量,对应的颜色代表观测的时间步长。潜在变量在语境数据中彼此接近,而在远距离数据中彼此远离,这表明语境对比和实例对比对于多尺度语境信息的学习具有重要意义。我们用红色突出显示异常观测的潜在变量,如图7(b)所示。异常潜变量的分布与正态潜变量相似,说明CAE-AD可以显式学习正常数据模式的表示。
图7。SMD机器1 -1上潜在变量的可视化。每个点表示一个潜在变量,对应的颜色表示时间步长。其中,红色点为异常点的潜变量。
五、讨论
在本文中,我们将对比损失和均方误差(MSE)损失结合起来,共同训练了一个设计良好的对比反编码器框架,用于异常检测任务。典型的反编码器仅利用MSE损失对模型进行训练,提取重构数据的详细信息,但MSE损失对异常非常敏感,可能导致异常检测任务性能较差。例如,如果训练数据包含很少的异常点,那么MSE损失将惩罚模型来拟合这些异常,这使得自编码器模型无法构建正常轮廓。对比学习方法能够学习数据中的不变性信息,因此对比损失对噪声数据不敏感。然而,仅仅使用对比损失来学习正常的数据模式是否可行?
为了讨论这个问题,我们将Eq.(5)中的对比损失简化为:
L i n s t = − E χ [ log x j ∈ X f e n ( x j , z t ) ] , \mathcal{L}_{inst}=-\underset{\chi}{\operatorname*{\mathbb{E}}}[\log_{x_j\in\mathcal{X}}f_{en}(x_j,z_t)], Linst=−χE[logxj∈Xfen(xj,zt)],
分子是正样本,分母是一个正样本和所有负样本之和。在我们的例子中, f e n ( x t , z t ) = exp ( cos ( z t , z t + ) / τ ) f_{en}(x_{t},z_{t})=\exp(\cos(z_{t},z_{t}^{+})/\tau) fen(xt,zt)=exp(cos(zt,zt+)/τ)。对比损失可以认为是概率为p / d¼tjX的分类交叉熵损失; p ( d = t ∣ X , z t ) ∝ f e n ( x t , z t ) / ∑ x j ∈ X f e n ( x j , z t ) p(d=t|\mathcal{X},z_{t})\propto f_{en}(x_{t},z_{t})/\sum_{x_{j}\in\mathcal{X}}f_{en}(x_{j},z_{t}) p(d=t∣X,zt)∝fen(xt,zt)/∑xj∈Xfen(xj,zt)正确分类阳性样本,其中指标 d = t m e a n s x t d=t\mathrm{~means~}x_t d=t means xt是阳性样本。
正如之前的文献b[29]所证明的, f e n ( x t , z t ) ∝ p ( x t ∣ z t ) / p ( x t ) . f_{en}(x_t,z_t)\propto p(x_t|z_t)/p(x_t). fen(xt,zt)∝p(xt∣zt)/p(xt).,表示该函数描述了xt和zt之间的相互信息。但在实际应用中,相邻或周期时间序列片段 x j ( j ≠ t ) x_j(j\neq t) xj(j=t)也可能与zt具有较强的相关性,它们之间的互信息较大,导致 p ( d = j ∣ X , z t ) p(d=j|\mathcal{X},z_{t}) p(d=j∣X,zt)的概率较高。因此,xj将被错误地分类为阳性样本。这个问题可以通过使用MSE损失来鼓励模型学习重建信息的细节来避免。因此,只有对比损失不足以学习最优正态模式。
我们仔细地结合对比损耗和MSE损耗的优点,提出了一个设计良好的对比自编码器框架。在我们提出的框架中,自编码器能够捕获详细信息来重建输入时间序列,并且对比损失可以鼓励模型学习不变信息,从而提高模型处理噪声数据的能力。实验结果表明,这种组合对于提高异常检测性能是有效和必要的。
六、结论
本文提出了一种用于MTS数据异常检测的新型对比自编码器,即CAE-AD。CAE-AD框架首先通过在时域和频域应用数据增强,为每个段生成两种不同的视图。在此基础上,提出了多粒度对比方法来学习多尺度MTS的鲁棒表征,其中上下文对比利用注意机制学习时间特征,实例对比学习同一样本的两个增强视图内的不变特征。多粒度对比方法能够捕捉到MTS数据的时变特征和局部不变特征。实验结果表明,CAE-AD的性能优于基线模型,并且CAE-AD中的各个模块都是有效的。此外,学习表征的可视化显示了CAE-AD对正常数据模式建模的能力。
在未来的工作中,将探索动态阈值选择方法,并使用更多的真实数据进行实验,以提高CAE-AD的鲁棒性。我们将把CAE-AD模型扩展到多模态数据集,并考虑在各种数据集中改进长尾问题的方法。