TranAD:用于多变量时间序列数据异常检测的深度变换器网络-程序员宅基地

技术标签: 网络  Powered by 金山文档  异常检测-论文  人工智能  数据挖掘  

摘要 多变量时间序列数据中的高效异常检测和诊断对于现代工业应用非常重要。

然而,建立一个能够快速准确地查明异常观察的系统是一个具有挑战性的问题。这是由于现代应用程序中缺乏异常标签、高数据波动性和超低推理时间的需求。尽管用于异常检测的深度学习方法最近有所发展,但其中只有少数可以解决所有这些挑战。

在本文中,我们提出了 TranAD,这是一种基于深度变换器网络的异常检测和诊断模型,它使用基于注意力的序列编码器根据数据中更广泛的时间趋势知识快速执行推理。 TranAD 使用基于焦点分数的自我调节来启用强大的多模态特征提取和对抗训练以获得稳定性。此外,与模型无关的元学习 (MAML) 允许我们使用有限的数据训练模型。对六个公开可用数据集的广泛实证研究表明,TranAD 可以通过数据和高效训练在检测和诊断性能方面优于最先进的基线方法。具体而言,与基线相比,TranAD 将 F1 分数提高了多达 17%,将训练时间减少了多达 99%。

1 简介

现代 IT 运营产生大量高维传感器数据,用于持续监控和大规模数据集的正常运行。传统上,数据挖掘专家研究并突出显示不遵循通常趋势的数据以报告错误。此类报告对于响应式容错和稳健数据库设计的系统管理模型至关重要 [47]。然而,随着大数据分析和深度学习的出现,这个问题已经成为数据挖掘的兴趣所在研究人员并帮助专家处理越来越多的数据。一个特殊的用例是 Industry4.0 数据库的人工智能,特别关注服务可靠性 [38],它具有现代系统的自动故障检测、恢复和管理。检测数据错误或任何类型的不符合预期趋势的行为是一个活跃的研究学科,在多变量时间序列中被称为异常检测 [11]。

许多数据驱动的行业,包括与分布式计算、物联网 (IoT)、机器人技术和城市资源管理 [4, 46] 相关的行业,现在都采用基于机器学习的无监督方法进行异常检测。

挑战。由于数据模态的增加,异常检测问题在大型数据库中变得越来越具有挑战性 [18,28,54]。特别是,随着数据波动性的增加,当代物联网平台中传感器和设备的数量不断增加,这就需要大量数据来进行准确推理。然而,由于地理上遥远的集群联合学习范式的兴起,跨设备同步数据库的成本很高,导致训练可用的数据有限 [48, 57]。此外,下一代应用程序需要超快的推理速度以实现快速恢复和最佳服务质量 (QoS) [6、50]。时间序列数据库是使用与环境、人类或其他系统交互的多个工程工件(服务器、机器人等)生成的。

因此,数据通常同时显示随机趋势和时间趋势 [45]。因此,由于随机性而区分异常值变得至关重要,并且只能精确定位不符合观察到的时间趋势的观察结果。此外,缺乏标记数据和异常多样性使问题具有挑战性,因为我们不能使用监督学习模型,而监督学习模型已被证明在数据挖掘的其他领域是有效的 [12]。最后,不仅检测异常很重要,而且检测根本原因也很重要,即导致异常行为的特定数据源 [23]。这使问题进一步复杂化,因为我们需要执行多类预测(是否存在异常,如果存在,来自哪个来源)[60]。

现有解决方案。上面讨论的挑战导致开发了无数用于自动异常检测的无监督学习解决方案。研究人员开发了基于重建的方法,主要目的是封装时间趋势并以无监督方式预测时间序列数据,然后使用预测与地面实况数据的偏差作为异常分数。基于各种极值分析方法,这些方法将具有高异常分数的时间戳分类为异常 [4、10、14、20、28、29、45、60、62]。先前作品从给定作品生成预测时间序列的方式因作品而异。传统方法,如 SAND [10],使用聚类和统计分析来

检测异常。 openGauss [30] 和 LSTM-NDT [20] 等现代方法使用基于长短期记忆 (LSTM) 的神经网络来预测具有输入时间序列的数据和用于检测异常的非参数动态阈值方法来自预测误差。然而,众所周知,像 LSTM 这样的循环模型速度慢且计算量大 [4]。最近最先进的方法,如 MTAD-GAT [62] 和 GDN [14],使用具有时间序列窗口的深度神经网络作为输入以进行更准确的预测。然而,随着输入变得更加数据密集,小的恒定大小窗口输入限制了此类模型的检测性能,因为给予模型的局部上下文信息受到限制 [4]。需要一种快速且能够以最少的开销捕获高级趋势的模型。

新见解。如上所述,基于现有方法的循环模型不仅速度慢且计算量大,而且无法有效地模拟长期趋势 [4、14、62]。这是因为,在每个时间戳,循环模型需要先对所有先前的时间戳执行推理,然后再继续进行。 Transformer 模型的最新发展允许使用位置编码 [51] 对完整输入序列进行单次推理。

通过在 GPU 上并行推理 [19],与循环方法相比,使用变换器可以实现更快的检测。然而,transformer 还提供了能够以几乎与序列长度无关的精度和训练/推理时间对大序列进行编码的好处 [51]。因此,我们使用转换器来增加发送到异常检测器的时间上下文信息,而不会显着增加计算开销。

我们的贡献。这项工作使用各种工具作为构建块,包括 Transformer 神经网络和与模型无关的元学习。然而,这些不同的技术中的每一种都不能直接使用,需要进行必要的调整才能创建用于异常检测的通用模型。具体来说,我们提出了一种基于变压器的异常检测模型 (TranAD),该模型使用自我调节和对抗训练过程。它的架构使其可以快速进行训练和测试,同时保持大输入序列的稳定性。如果偏差太小,即相对接近正常数据,简单的基于 transformer 的编码器-解码器网络往往会错过异常。我们的贡献之一是表明可以通过可以放大重建错误的对抗性训练程序来缓解这种情况。此外,使用自我调节进行稳健的多模态特征提取可以帮助获得训练稳定性并允许泛化 [32]。与模型无关的元学习 (MAML) 有助于保持最佳检测性能,即使数据有限 [15],正如我们稍后在验证中显示的那样,与 TranAD 相比,使用简单转换器的方法的性能要低 11% 以上。我们对公开可用的数据集进行了广泛的实证实验,以将 TranAD 与最先进的方法进行比较和分析。我们的实验表明,TranAD 能够将预测分数提高多达 17%,同时将训练时间开销减少多达 99%,从而超越基线。

本文的其余部分安排如下。第 2 节概述了相关工作。第 3 节概述了用于多变量异常检测和诊断的 TranAD 模型的工作原理。第 4 节显示了对所提出方法的性能评估。第 5 节介绍了其他分析。最后,第 6 节总结。

2 相关工作

时间序列异常检测是 VLDB 社区中一个长期研究的问题。先前的文献研究两种类型的时间序列数据:单变量和多变量。对于前者,各种方法使用单个数据源[34]分析和检测时间序列数据中的异常,而对于后者,多个时间序列一起[14、45、62]。

经典方法。这种异常检测方法通常使用各种经典技术对时间序列分布进行建模,例如 k-均值聚类、支持向量机 (SVM) 或回归模型 [10、28、43、52]。其他方法使用小波理论或各种信号变换方法,如希尔伯特变换 [25]。其他类别的方法使用主成分分析 (PCA)、过程回归或隐马尔可夫链来对时间序列数据进行建模 [41]。 GraphAn 技术 [9] 将时间序列输入转换为图形,并使用图形距离度量来检测异常值。另一种技术,即隔离森林,使用多个隔离树的集合,这些隔离树递归地划分特征空间以进行异常值检测 [5, 31]。最后,经典方法使用自回归积分移动平均线 (ARIMA) 的变体来建模和检测异常行为 [56]。然而,基于自回归的方法很少用于高阶多变量时间序列中的异常检测,因为它们无法有效地捕获易变的时间序列 [1]。 SAND [10]、CPOD [47] 和 Elle [28] 等其他方法利用聚类和数据库读写历史来检测异常值。

时间序列不一致发现是最近提出的另一种故障预测方法 [16、37、58、59]。时间序列不一致指的是最不寻常的时间序列子序列,即与同一时间序列中所有其他子序列最大不同的子序列。方法的一个子类使用矩阵分析或其变体通过检测时间序列不一致来发现异常和基序 [16、35、63]。已经提出了许多进步来使矩阵分析技术数据和时间高效 [21]。其他努力旨在使矩阵分析适用于不同的领域 [64]。

然而,矩阵分析的用途远不止异常检测,而且被认为比纯不和谐发现算法慢 [37]。最近的一种方法,MERLIN [37],通过迭代比较不同长度的子序列与其直接邻居来使用时间序列不和谐发现的无参数版本。 MERLIN 被认为是最先进的低开销不和谐发现方法;因此,被视为我们实验中的基线之一。

基于深度学习的方法。大多数当代最先进的技术都采用某种形式的深度神经网络。 LSTM-NDT [20] 方法依赖于基于 LSTM 的深度神经网络模型,该模型使用输入序列作为训练数据,并针对每个输入时间戳预测下一个时间戳的数据。 LSTM 是自回归神经网络,可学习顺序数据中的顺序依赖性,其中每个时间戳的预测使用前一个时间戳输出的反馈。这项工作还提出了一种非参数动态错误阈值 (NDT) 策略,以使用错误序列的移动平均值设置异常标记的阈值。然而,作为循环模型,在许多输入序列较长的情况下,此类模型的训练速度很慢。

此外,LSTM 在建模长期时间模式方面通常效率低下,尤其是当数据嘈杂时 [62]。

DAGMM [65] 方法使用深度自动编码高斯混合模型在特征空间中进行降维,并使用递归网络进行时间建模。这项工作使用高斯混合预测输出,其中每个高斯的参数由深度神经模型给出。自动编码器将输入数据点压缩到潜在空间中,然后由循环估计网络使用它来预测下一个数据点。

两个网络的解耦训练使模型更加健壮;然而,它仍然很慢并且无法明确地利用模态间相关性 [14]。 Omnianomaly [45] 使用随机递归神经网络(类似于 LSTM-变分自动编码器 [39])和平面归一化流来生成重建概率。它还提出了一种用于自动异常阈值选择的调整峰值超过阈值 (POT) 方法,该方法优于以前使用的 NDT 方法。与现有技术相比,这项工作带来了显着的性能飞跃,但代价是训练时间长。

多尺度对流递归编码器-解码器 (MSCRED) [60] 将输入序列窗口转换为归一化的二维图像,然后将其传递给 ConvLSTM 层。该方法能够捕获更复杂的模态间相关性和时间信息,但是无法推广到训练数据不足的设置。 MAD-GAN [29] 使用基于 LSTM 的 GAN 模型来使用生成器对时间序列分布进行建模。这项工作不仅使用预测误差,还使用异常分数中的鉴别器损失。 MTAD-GAT [62] 使用图形注意力网络对特征和时间相关性进行建模,并将其传递给轻量级的 Gated-RecurrentUnit (GRU) 网络,该网络有助于检测而不会产生严重的开销。

传统上,注意操作使用凸组合执行输入压缩,其中使用神经网络确定权重。 GRU 是 LSTM 的简化版本,具有更小的参数集,可以在有限的数据设置下进行训练。 CAEM [61] 使用卷积自动编码记忆网络,类似于 MSCRED。它通过 CNN 传递时间序列,输出由双向 LSTM 处理,以捕获长期时间趋势。这种基于递归神经网络的模型已被证明具有高计算成本和高维数据集的低可扩展性 [4]。

最近的作品,如 USAD [4]、GDN [14] 和 openGauss [30] 不使用资源匮乏的循环模型,而只使用基于注意力的网络架构来提高训练速度。

USAD 方法使用一个带有两个解码器的自动编码器和一个对抗性游戏式训练框架。这是首批通过使用简单的自动编码器专注于低开销的工作之一,与现有技术相比,可以将训练时间减少几倍。图偏差网络 (GDN) 方法学习数据模式之间的关系图,并使用基于注意力的预测和偏差评分来输出异常分数。 openGauss 方法使用基于树的 LSTM,该 LSTM 具有较低的内存和计算占用空间,即使在嘈杂的数据中也能捕获时间趋势。然而,由于作为输入的小窗口以及使用简单或无循环模型,最新模型无法有效捕获长期依赖性。

最近提出的 HitAnomaly [19] 方法使用 vanilla transformers 作为编码器-解码器网络,但仅适用于自然语言日志数据,不适用于作为输入的通用连续时间序列数据。在我们的实验中,我们将 TranAD 与最先进的方法 MERLIN、LSTM-NDT、DAGMM、OmniAnomaly、MSCRED、MAD-GAN、USAD、MTADGAT、CAE-M 和 GDN 进行比较。这些方法在异常检测和诊断方面显示出优势,但在跨不同时间序列数据集的性能方面相互补充。其中,只有 USAD 旨在减少训练时间,但这样做的程度有限。就像基于重建的先前工作 [4、29、45、60、61] 一样,我们开发了一个 TranAD 模型,该模型使用训练数据来学习广泛的趋势以发现测试数据中的异常。我们专门提高了异常检测和诊断性能,同时减少了这个工作中的训练时间

3 方法论

3.1 问题表述

我们考虑一个多变量时间序列,它是大小为 T

其中每个数据点x_t是在特定的时间戳收集的t和x_t ∈ R^m,∀t.这里,单变量设置是m = 1的特殊情况。我们现在定义异常检测和诊断这两个问题,

异常检测:给定一个训练输入时间序列t,对于任何长度为T且模态与训练序列相同的未知测试时间序列t,我们需要预测Y = {y_1...,y ˆT },其中我们使用y_t ∈ {0,1}来表示测试集的t-th时间戳处的数据点是否异常(1表示异常数据点)。

异常诊断:给定上述训练和测试时间序列,我们需要预测Y = {y1,...,y ˆT },其中y_t ∈ {0,1}^m表示在t-th时间戳的数据点的哪些模式是异常的。

3.2数据预处理

为了使我们的模型更加稳健,我们将数据归一化,并将其转换为时间序列窗口,用于训练和测试。我们将时间序列归一化为:

其中min(T)和max(T)是训练时间序列中的模式最小和最大向量。\epsilon’是一个小常数矢量,以防止零分裂。先验地知道范围,我们归一化数据以使其在范围[0,1]内。

为了对时间戳x_t处的数据点t的相关性进行建模,我们考虑长度为K的本地上下文窗口为

系列。这是先前工作[4,45]中的一种常见做法,因为它允许我们给出一个带有局部上下文的数据点,而不是一个独立的向量,因此在我们的模型中使用。我们还考虑了直到序列t的当前时间戳T的时间片,并将其表示为C_t。

现在,代替直接预测每个输入窗口W_t的异常标记y_t,我们将首先预测该窗口的异常分数s_t。使用过去输入窗口的异常分数,我们计算阈值D,在该阈值之上,我们将输入窗口标记为异常,因此y_t = 1(s_t ≥ D).为了计算异常得分s_t,我们将输入窗口重建为O_t,并使用W_t、O_t之间的偏差。为了简单起见并且不失一般性,我们将在接下来的讨论中使用W、C、O和s。

3.3 Transformer模型

Transformers是流行的深度学习模型,已被用于各种自然语言和视觉处理任务[51]。

然而,我们使用transformer架构的有见地的重构来完成时序数据中的异常检测任务。就像其他编码器-解码器模型一样,在转换器中,输入序列会经历几次基于注意力的转换。图1显示了TranAD中使用的神经网络的架构。编码器对完整的序列进行编码,直到当前时间戳C具有焦点分数(稍后有更多细节)。窗口编码器使用它来创建输入窗口W编码表示,然后将其传递给两个解码器以创建其重建。

我们现在提供TranAD的工作细节。像W或C这样的多元序列首先被转换成具有模态푚.的矩阵形式我们定义了Q(查询)、K(键)和V(值)三个矩阵的比例点积注意力[51]:

这里,softmax为V中的值形成凸组合权重,允许我们将矩阵V压缩成更小的代表性嵌入,以简化下游神经网络操作中的推断。与传统的注意力操作不同,缩放点积注意力通过a√m项缩放权重,以减少权重的方差,从而促进稳定的训练[51]。对于输入矩阵Q、K和V,我们应用多头自我关注[51],首先通过ℎ(头数)前馈层,得到Q_i,K_i,V_i ∈ {1,.。。,ℎ},然后应用缩放点产品注意力作为

Multi-Head Attention 允许模型共同关注来自不同位置的不同表示子空间的信息。

此外,我们使用 [51] 中定义的输入矩阵的位置编码。

由于 GAN 模型已被证明在输入是否异常的特征任务中表现良好,因此我们利用了一种省时的 GAN 风格的对抗训练方法。我们的模型由两个变换器编码器和两个解码器组成(图 1)。

我们分两个阶段考虑模型推理。我们首先将 W 和 C 对作为输入和焦点分数 F(最初是 W 维度的零矩阵,下一节中有更多详细信息)。我们广播 F 以匹配 W 的维度,使用适当的 zeropadding 并将两者连接起来。然后我们应用位置编码并获得第一个编码器的输入,比如 I1。第一个编码器执行以下操作

这里,MultiHeadAtt(I1, I1, I1) 表示输入矩阵 I1 的多头自注意力操作,+ 表示矩阵加法。上述操作使用输入时间序列窗口和完整序列生成注意力权重,以捕获输入序列内的时间趋势。这些操作使模型能够并行推断多批时间序列窗口,因为神经网络在每个时间戳不依赖于前一个时间戳的输出,从而显着缩短了所提出方法的训练时间。对于窗口编码器,我们将位置编码应用于输入窗口 W 以获得 I2。我们修改窗口编码器中的自注意力以屏蔽后续位置的数据。这样做是为了防止解码器在训​​练时查看未来时间戳值的数据点,因为所有数据 W 和 C 都是一次性给出的,以允许并行训练。窗口编码器执行以下操作:

完整序列 I^2_1 的编码被窗口编码器用作值和键,用于使用编码输入窗口作为查询矩阵的注意操作。 (5) 中操作背后的动机与 (4) 中的动机相似;然而,在这里我们应用窗口输入的掩码来隐藏同一输入批次中未来时间戳的窗口序列。由于直到第 _th 个时间戳的完整输入序列作为输入提供给模型;与现有技术 [4、45、62] 中的有界、有限上下文相比,它允许模型封装和利用更大的上下文。

最后,我们使用两个相同的解码器来执行操作

其中 i ∈ {1, 2} 分别代表第一个和第二个解码器。 Sigmoid 激活用于生成 [0, 1] 范围内的输出,以匹配规范化输入窗口。因此,TranAD 模型采用输入 C 和 W 生成两个输出 O1 和 O2。

3.4 离线两阶段对抗训练

我们现在描述 TranAD 模型中的对抗训练过程和两阶段推理方法,总结在算法 1 中。

阶段 1 - 输入重建。 Transformer 模型使我们能够预测每个输入时间序列窗口的重建。它通过在每个时间戳充当编码器-解码器网络来实现这一点。然而,传统的编码器-解码器模型通常无法捕捉短期趋势,并且如果偏差太小,往往会错过异常 [29]。为了应对这一挑战,我们开发了一种自回归推理风格,可以分两阶段预测重建窗口。在第一阶段,模型旨在生成输入窗口的近似重建。

与此推断的偏差,称为前面提到的焦点分数,有助于 Transformer Encoder 内部的注意力网络提取时间趋势,重点关注偏差较高的子序列。因此,第二阶段的输出取决于第一阶段产生的偏差。因此,在第一阶段,编码器将

输入窗口 W ∈ R^{K×m}(焦点得分 F = [0]_k×m)到压缩的潜在表示 I^ 3_2,使用基于上下文的注意力,就像在常见的 transformer 模型中一样。然后通过等式将此压缩表示转换为生成输出 O1 和 O2、等式 (6).

第 2 阶段 - 重点输入重建。在第二阶段,我们使用第一个解码器的重建损失作为焦点分数。

有了第二阶段的焦点矩阵 F = L1,我们重新运行模型推理以获得第二个解码器的输出 ^O2。

第一阶段生成的焦点分数表示重构输出与给定输入的偏差。这作为修改第二阶段注意力权重的先验,并为特定输入子序列提供更高的神经网络激活以提取短期时间趋势。在本文的其余部分,我们将这种方法称为“自我调节”。这种两阶段自回归推理方式具有三重好处。首先,它放大了偏差,因为重建错误在图 1 中的编码器的注意力部分充当激活,以生成异常分数,简化故障标记任务(在第 3.5 节中讨论)。

其次,它通过捕获图 1 中窗口编码器中的短期时间趋势来防止误报。第三,众所周知,对抗式训练可以提高泛化能力并使模型对不同的输入序列具有鲁棒性 [4]。

不断发展的培训目标。上述模型必然会遇到与其他对抗性训练框架类似的挑战。关键挑战之一是保持训练稳定性。为了解决这个问题,我们设计了一个对抗训练程序,该程序使用来自两个独立解码器(图 1 中的解码器 1 和 2)的输出。最初,两个解码器都旨在独立重建输入时间序列窗口。与 [45] 和 [39] 中一样,我们使用第一阶段的输出使用 L2 范数定义每个解码器的重建损失:

我们现在介绍使用第二阶段输出的对抗损失。这里,第二个解码器旨在通过最大化差异 || 来区分输入窗口和第一个解码器在阶段 1 中生成的候选重建(使用焦点分数)。 ^O2 − W ||2。另一方面,第一个解码器旨在通过完美重建输入(即 O1 = W )来创建退化的焦点分数(零向量)来愚弄第二个解码器。这会推动解码器 2 在这个阶段生成与 O2 相同的输出,其目的是匹配阶段 1 中的输入。

这意味着训练目标是

因此,第一个解码器的目标是最小化这个自调节输出的重构误差,而第二个解码器的目标是最大化它。我们通过使用损失来实现这一点:

现在我们有了两个阶段的损失函数,我们需要确定每个解码器的累积损失。因此,我们使用结合了重建和两个阶段的对抗性损失函数为

其中 n 是训练时期,\eps 是接近于 1 的训练参数(算法 1 中的第 7-8 行)。最初,赋予重建损失的权重很高。这是为了在解码器的输出是输入窗口的不良重建时确保稳定的训练。如果重建不佳,第二阶段使用的焦点分数将不可靠;因此,不能用作指示远离输入序列的重建的先验。因此,在过程的初始部分,对抗性损失被赋予较低的权重,以避免破坏模型训练的稳定性。随着重建越来越接近输入窗口,并且焦点分数变得更加精确,对抗性损失的权重增加。由于神经网络训练过程中的损失曲线通常遵循指数函数,我们在训练过程中使用 \eps^{−n} 形式的权重,具有较小的正常数 \eps。

元学习。最后,我们的训练循环使用与模型无关的元学习 (MAML),这是一种用于快速适应神经网络的小样本学习模型 [15]。这有助于我们的 TranAD 模型在有限数据的输入训练时间序列中学习时间趋势。在每个训练时期,神经网络权重的梯度更新(不失一般性假设\theta)可以简单地写成

其中,\alpha、f(·)和L(·)分别是学习率、神经网络的抽象表示和损失函数。现在,在每个时代结束时,我们执行元学习步骤

元优化是使用元步长 훽 在模型权重 휃 上执行的,其中使用更新的权重 휃 ′ 评估目标。先前的工作表明,这允许使用有限的数据快速训练模型 [15]。我们将其封装在算法 1(第 11 行)中的一行中。

4.2评估指标

4.2.1异常检测

我们使用精度、召回率、受试者操作特征曲线下面积(ROC/AUC)和F1评分来评估所有模型的检测性能[14,62]。我们还通过用20%的训练数据训练所有模型来测量AUC和F1得分(同样使用验证数据集的80:20分割,其余作为测试集),并分别调用这些AUC*和F1*,以测量数据有限的模型的性能。我们根据五组20%的训练数据进行训练,并报告统计显著性的平均结果。

4.2.2异常诊断

我们使用常用的度量来衡量所有模型的诊断性能[62]。HitRate@P%是模型预测的最高候选中包含了多少地面真相维度的度量[45]。P% 是每个时间戳的地面真值维度的百分比,我们使用它来考虑最高预测候选。例如,如果在时间戳t, 如果2个维度在地面真相中被标记为异常,HitRate@100%将考虑顶部2个维度HitRate@150%将考虑3个维度(100和150是基于先前的工作[62]选择的)。我们还测量了归一化贴现累积收益(NDCG)[24]。NDCG@P%考虑与HitRate@P%.

4.3 结果

异常检测。表2和表3提供了TranAD和基线模型对所有数据集的精度、召回率、AUC、F1、AUC*和F1*得分。平均而言,TranAD模型的F1得分是0.8802,F1*是0.8012。当我们考虑完整的数据集进行模型训练时,TranAD在所有数据集上的表现(就F1得分而言)优于基线模型,MSL除外。除了W ADI数据集的20%用于训练(F1*得分),TranAD在所有数据集上的表现也优于基线。对于MSL,GDN模型的F1得分最高(0.9591),对于W ADI数据集,OmniAnomaly的F1*得分最高(0.1017)。同样,TranAD在所有数据集的AUC分数方面都优于基线,除了MSDS,其中GDN的AUC最高(0.9105)。所有模型在W ADI上的表现都相对较差,这是因为它在序列长度和数据模式方面的大规模。具体来说,与最先进的基线模型相比,TranAD在F1得分方面取得了高达17.06%的改进,F1*得分方面取得了14.64%的改进,AUC方面取得了11.69%的改进,AUC*得分方面取得了11.06%的改进。

MERLIN基线是一种无参数的方法,不需要任何训练数据;因此,我们将F1*和AUC*分别报告为F1和AUC分数。MERLIN只在单变量数据集,即NAB和UCR上表现相对较好,在我们的追踪中无法有效扩展到多变量数据。基准方法LSTM-NDT在MSL和SMD上有很好的表现,但在其他数据集上的表现很差。这是由于它对不同场景的敏感性和NDT阈值方法的效率差[62]。TranAD和OmniAnomaly等其他模型中使用的POT技术,通过同时考虑数据序列中的局部峰值,有助于设置更准确的阈值。DAGMM模型对于像UCR、NAB、MBA和SMAP这样的短数据集表现非常好,但对于其他具有较长序列的数据集,其得分明显下降。这是因为它没有明确地映射时间信息,因为它不使用序列窗口,而只使用单一的GRU模型。TranAD中的窗口编码器,将完整的序列编码为自我条件,使其即使在长的高维序列中也能表现得更好。

OmniAnomaly、CAE-M和MSCRED模型使用序列观测作为输入,使这些方法能够保留时间信息。这类方法在不考虑异常数据的情况下进行重建,这使得它们无法检测到接近正常趋势的异常现象[4]。TranAD通过使用对抗性训练放大错误来解决这个问题。因此,在像SMD这样的数据集中,异常数据与正常数据相差不大,它甚至可以检测到轻微的异常情况。

最近的模型,如USAD、MTAD-GAT和GDN使用注意力机制来关注数据的特定模式。此外,这些模型试图通过调整其神经网络的权重来捕捉长期趋势,并且只使用一个局部窗口作为重建的输入。GDN对MS的得分略高.

在其他模式下(见图5)。TranAD能够利用本地窗口的完整跟踪信息,帮助将异常行为精确到特定模式。该表显示,TranAD能够检测到46.3%-75.3%的异常现象根源。

与基线方法相比,TranAD能够使SMD的诊断得分提高6%,MSDS提高30%。诊断分数的平均改进为4.25%。

表3:在20%的训练数据集中,TranAD与基线方法的性能比较。AUC*: 20%训练数据的AUC,F1*。20%训练数据的F1得分。最好的F1*和AUC*分数用粗体字标出。

5 分析

5.1 消减分析

为了研究模型中每个组成部分的相对重要性,我们排除了每个主要组成部分,并观察它对每个数据集的F1分数的性能有何影响。首先,我们考虑没有基于变换器的编码-解码器的TranAD模型架构,而是用一个前馈网络。第二,我们考虑没有自我调节的模型,也就是说,我们在第二阶段固定焦点分数F=0。第三,我们研究的模型没有的对抗性损失,即单阶段推理,只有重建损失用于模型训练。最后,我们考虑没有元学习的模型。结果总结在表6中,并提供了以下结论。- 替换基于变压器的编码器-解码器在F1得分方面有最高的性能下降,接近11%。这种下降在W ADI数据集上更为明显(56%),证明了大规模数据集需要基于注意力的变换器。

- 当我们去掉自我调节时,F1分数的平均下降是6%,这表明注意力分数有助于预测性能。

- 去除两阶段对抗性训练主要影响到SMD和W ADI数据集,因为这些痕迹有很大比例的轻度异常,对抗性损失有助于放大异常得分。在这种情况下,F1分数的平均下降是5%。

- 模型中没有元学习对F1得分的影响很小(≈1%);但是,它导致F1*下降了近12%。

图4:在所有数据集上使用Wilkoxon配对符号排名检验(\alpha=0.05)的F1和AUC分数的临界差异图。最右边的方法排名靠前。

5.2 开销分析

表5显示了所有模型在每个数据集上的平均训练时间,单位为秒/次。为便于比较,我们将MERLIN的训练时间报告为发现下列不和谐因素所需的时间测试数据。TranAD的训练时间比那些基线的训练时间低75%-99%。这证明了具有位置编码的转化器的优势,它可以将完整的序列作为输入,而不是在序列窗口上进行推断。

图5:使用TranAD模型对MSDS测试集的预测和地面实况标签。

5.3 敏感性分析

对训练集大小的敏感性。图6显示了所有模型的F1和AUC分数在所有数据集上的平均值的变化,以及训练时间与用于模型训练的训练数据的比例的变化,范围从20%到100%。我们没有报告MERLIN的敏感性结果,因为它没有使用训练数据。其他基于深度学习的重建模型被赋予与训练数据相同的20%到100%大小的随机抽样子序列。

我们在图6中报告了90%的置信界限。显然,随着数据集大小的增加,预测性能提高,训练时间增加。我们观察到,对于每一个比率,TranAD模型都有更高的F1分数和更少的训练时间。

对窗口大小的敏感度。我们还在图7中显示了TranAD模型及其变体在不同窗口大小下的性能。窗口大小对异常检测得分和训练时间都有影响。当我们有较小的窗口时,TranAD可以更快地检测到异常情况,因为对于较小的输入,推理时间较短。如果窗口太小,它不能很好地代表本地的上下文信息。然而,如果窗口太大,短的异常点可能隐藏在这样的窗口中的大量数据点中(见一些模型的F1得分下降)。窗口大小为10,在F1得分和训练时间之间有一个合理的平衡,因此在我们的实验中使用。

6 结论

我们提出了一个基于变压器的异常检测模型(TranAD),可以检测和诊断多变量时间序列数据的异常情况。基于变换器的编码器-解码器允许快速的模型训练和高检测性能,适用于本工作中考虑的各种数据集。TranAD利用自我调节和对抗性训练来放大错误并获得训练稳定性。

此外,元学习使其即使在数据有限的情况下也能识别数据趋势。具体来说,TranAD在完整的和有限的训练数据上的F1得分分别实现了17%和11%的提高。它还能够正确识别高达75%的检测到的异常现象的根本原因,比最先进的模型更高。与基线方法相比,它能够以高达99%的低训练时间实现这一目标。这使得TranAD成为现代工业系统的理想选择,在这些系统中需要准确和快速的异常预测。

对于未来,我们建议用其他变压器模型(如双向神经网络)来扩展该方法,以允许模型泛化到数据的不同时间趋势。我们还希望探索基于部署设置的每个模型组件的成本效益分析方向,以避免昂贵的计算。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Ashley_ly/article/details/129155465

智能推荐

什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?_成员内部类和局部内部类的区别-程序员宅基地

文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别

分布式系统_分布式系统运维工具-程序员宅基地

文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具

用Exce分析l数据极简入门_exce l趋势分析数据量-程序员宅基地

文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量

宁盾堡垒机双因素认证方案_horizon宁盾双因素配置-程序员宅基地

文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置

谷歌浏览器安装(Win、Linux、离线安装)_chrome linux debian离线安装依赖-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖

烤仔TVの尚书房 | 逃离北上广?不如押宝越南“北上广”-程序员宅基地

文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...

随便推点

java spark的使用和配置_使用java调用spark注册进去的程序-程序员宅基地

文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序

汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用_uds协议栈 源代码-程序员宅基地

文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码

AUTOSAR基础篇之OS(下)_autosar 定义了 5 种多核支持类型-程序员宅基地

文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型

VS报错无法打开自己写的头文件_vs2013打不开自己定义的头文件-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件

【Redis】Redis基础命令集详解_redis命令-程序员宅基地

文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令

URP渲染管线简介-程序员宅基地

文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线

推荐文章

热门文章

相关标签