【综述】时间序列异常检测的深度学习:一项调查

您所在的位置:网站首页 几阶差分可较好消除时间序列的线性趋势 【综述】时间序列异常检测的深度学习:一项调查

【综述】时间序列异常检测的深度学习:一项调查

2023-03-08 18:46| 来源: 网络整理| 查看: 265

1 引言

异常检测,也称为异常值检测和新颖性检测,自 60 年代以来一直是众多研究领域中的一个蓬勃发展的研究领域 [74]。随着计算过程的发展,大数据和人工智能 (AI) 受到积极影响,有助于时间序列分析,包括异常检测。随着可用数据越来越多,算法变得越来越高效,计算能力越来越强,时间序列分析越来越多地被用于通过预测、分类和异常检测 [59]、[26] 来解决业务问题。在城市管理、入侵检测、医疗风险和自然灾害等各个领域,对时间序列异常检测的需求不断增长,从而提高了其重要性。 随着深度学习在过去几年取得了显着进步,它越来越有能力学习复杂时间序列的表达表示,例如具有空间(度量间)和时间特征的多维数据。在深度异常检测中,神经网络用于学习特征表示或异常分数以检测异常。已经开发了许多深度异常检测模型,在不同的实际应用程序中提供比传统异常检测更高的时间序列检测任务性能。 虽然 Chandola 等人 [29] 对深度学习异常检测模型进行了广泛的审查,但这项工作的目的是提供对深度异常检测模型的全面审查,重点是时间序列数据。 考虑到多变量时间序列分析比单变量时间序列分析更具挑战性,最近提出的大多数模型主要用于处理多变量时间序列。 尽管在一些文献调查 [140]、[27]、[20]、[23] 中探索了异常检测领域,并且存在一些评估综述论文 [154]、[102],但只有一项关于深度异常的调查时间序列数据的检测方法[41]。然而,这项调查并未涵盖近年来出现的大量时间序列异常检测方法,例如 DAEMON [37]、TranAD [171]、DCT-GAN [116] 和 Interfusion [119]。因此,需要一项涵盖该领域当前技术水平的调查,以帮助研究人员确定:1) 时间序列异常检测研究的未来重要方向是什么,以及 2) 哪些方法是合适的要应用给一个特定的应用程序设置。具体而言,本文做出以下贡献: • 提出了时间序列深度异常检测模型的新分类法。通常,深度异常检测模型分为三类:基于预测的、基于重建的和混合方法。每个类别又分为子类别,这些子类别根据模型中使用的深度神经网络架构进行定义。模型的特征在于各种不同的结构特征,这些结构特征有助于它们的检测能力。 • 本研究提供了对当前技术水平的全面回顾。该领域的方向和趋势可以一目了然。 • 描述了该领域当前使用的主要基准和数据集,并提供了超链接。 • 讨论可能成为时间序列中不同异常现象发生基础的基本原则。 本文的其余部分组织如下。在第 2 节中,我们从时间序列的初步定义开始。然后概述分类法以对时间序列数据中的异常进行分类。第 3 节讨论了如何将深度异常检测模型应用于时间序列数据。然后根据主要方法(基于预测、基于重建、混合)和深度神经网络的主要架构,介绍了不同的深度模型及其功能。 在第 4 节中可以找到所考虑的异常检测模型的公开可用和常用数据集的概述。此外,第 5 节探讨了时间序列深度异常检测模型在不同领域的应用领域。最后,第 6 节提供了该领域的几个挑战,这些挑战可以作为未来的机遇。

2 背景

时间序列是随时间顺序索引的一系列数据点。最常见的时间序列形式是随时间记录的一系列观察结果 [77]。时间序列通常分为单变量(一维)和多变量(多维)。这两种类型在以下小节中定义。此后,概述了时间序列的可分解成分。之后,我们根据时间序列的组成部分和特征提供异常类型的分类。

2.1 单变量时间序列

顾名思义,单变量时间序列(UTS)是基于随时间变化的单个变量的一系列数据,如图1所示。记录每小时的湿度水平这一天就是一个例子。 带有 i 时间戳的 x i x_i xi​可以表示为数据点的有序序列,如下所示: 在这里插入图片描述

2.2 多元时间序列

此外,多元时间序列 (MTS) 表示依赖于时间的多个变量,每个变量都受到过去值(称为“时间”依赖性)和其他变量(维度)的影响,基于它们的相关性。不同变量之间的相关性在文献中称为空间或度量间依赖性,它们可以互换使用。在同一示例中,除了湿度水平外,还将每小时记录一次气压和温度。

图 2 展示了一个具有 2 维的 MTS 的示例。考虑一个多变量时间序列,表示为具有 d 维数的向量时间序列 X t X_t Xt​: 在这里插入图片描述

2.3 时间序列分解

可以将时间序列 分解为四个部分,每个部分表示其运动的特定方面 [1]。

组成部分如下: • 长期趋势:数据趋势出现在长期向上或向下运动时。事实上,长期趋势代表了数据随时间变化的一般模式,不一定是线性的。一个特定地区的人口在几年内稳定增长就是一个例子。

• 季节性变化:根据月份、工作日或持续时间,时间序列可能呈现季节性模式。季节性总是以固定的频率发生。例如,对天然气/电力消耗的研究表明,全年的消耗曲线并不遵循类似的模式。根据季节和地区的不同,图案也不同。

• 周期性波动:周期定义为没有固定频率的数据上升和下降。此外,它被称为时间序列的形状。由于自然事件,例如每日温度变化,时间序列可能会出现周期性波动。

• 不规则变化:指随机的、不规则的事件。它是去除所有其他成分后的残差。诸如地震或洪水之类的灾难会导致不规则的变化。

一个时间序列是通过分别估计它的四个组成部分来进行数学描述的,每个组成部分都可能偏离正常行为。

2.4 时间序列中的异常

根据[79],术语异常是指偏离数据的一般分布,例如单个观察值(点)或一系列观察值(子序列)大大偏离一般分布。数据集的一小部分存在异常,这意味着数据集呈正态分布。现实世界的数据中可能嵌入了大量噪声,而这些噪声可能与研究人员无关 [7]。最有意义的偏差通常是那些与常态显着不同的偏差。在存在噪声的情况下,数据的主要特征是相同的。在时间序列等数据中,趋势分析与异常检测密切相关,但并不等同[7]。由于概念漂移,可以看到时间序列数据集的变化,概念漂移发生在值和趋势随时间逐渐或突然变化时 [130],[6]。

2.4.1 异常类型

UTS 和 MTS 中​​的异常可分为时间异常、度量间异常或时间间异常 [119]。在时间序列中,时间异常可以与它们的邻居(局部)或整个时间序列(全局)进行比较,并且它们根据它们的行为呈现不同的形式 [108]。单变量时间序列中通常会出现几种类型的时间异常,所有这些都显示在图 1 中。时间异常也可能发生在 MTS 中​​,并影响多个维度或所有维度。当随着时间的推移出现不寻常的行为模式时,可能会出现后续异常;但是,每个观察值本身可能不会被视为异常值。由于点异常,在某个时间点发生了意外事件,假设是一个短序列。不同类型的时间异常如下: 在这里插入图片描述

图1. 从NeurIPS-TS数据集[108]中绘制的不同时间异常的概述。全球和背景异常发生在一个点上(蓝色),而其他类型,包括季节性、趋势和小形状,可以发生在一个子序列上(红色)。

全局:它们是系列中的尖峰,与系列的其他部分相比,它们是具有极端值的一点(几个)。

例如,全局异常是指在一个典型的日子里,一个客户的付款额异常的大。考虑到一个阈值,它可以被描述为公式(3)。 在这里插入图片描述 其中 x ^ t \hat{x}_{t} x^t​ 是模型的输出。如果输出点值与实际点值之间的差异大于阈值,则将其识别为异常。图 1 左侧显示了全局异常的示例,其中 -6 与时间序列有很大偏差。

上下文:与给定上下文的偏差将被定义为与相邻时间点的偏差,此处定义为位于一定接近范围内的时间点。这些类型的离群值是序列数据中的小故障,它们是偏离其邻居的值。一个点在一种情况下可能是正常的,而在另一种情况下可能是异常的。例如,大型互动(例如节礼日的互动)被认为是正常的,但在其他日子则不然。公式与全局异常相同,但发现异常的阈值不同。阈值是通过考虑邻居的上下文来确定的:

在这里插入图片描述 其中 X t − w : t + w X_{t-w}:_{t+w} Xt−w​:t+w​ 指窗口大小 w 的数据点 x t x_t xt​ ​​的上下文, var是数据点上下文的方差, λ \lambda λ 控制阈值的系数。图 1 中的第二个蓝色突出显示是在特定上下文中局部发生的上下文异常。

季节性:尽管时间序列的形状和趋势相似,但与整体季节性相比,它们的季节性是不寻常的。一个例子是一周内一家餐馆的顾客数量。这样的系列具有明显的每周季

节性,这对于寻找这种季节性的偏差并单独处理异常时期是有意义的。 在这里插入图片描述 其中 d i s s s diss_s disss​ 是衡量两个子序列之间差异性的函数, s ^ \hat{s} s^ 表示预期子序列的季节性。如图 1 的第一个红色突出显示所示,季节性异常会改变特定部分中数据上升和下降的频率。

• 趋势:导致数据永久偏移到均值并在时间序列趋势中产生转变的事件。虽然这种异常保留了它的周期和常态的季节性,但它极大地改变了它的斜率。

趋势偶尔会改变方向,这意味着它们可能会从增加变为减少,反之亦然。例如,当一首新歌出现时,它流行了一段时间,然后从图表中消失,如图 1 中趋势发生变化的部分,并被认为是趋势异常。这种趋势很可能会在未来重新开始。 在这里插入图片描述 其中 T ^ \hat{T} T^是正态趋势。

形状子(Shapelt)。有一个子序列,其小形状或周期与该序列的正常小形状成分不同。经济条件的变化,如生产力或商品的总需求和供应的变化,Shapelt。有一个子序列,其小形状或周期与序列的正常小形状部分不同。经济条件的变化,如生产力或商品和服务的总需求和供应,往往是这些波动的原因。在短期内,这些变化导致了扩张和衰退期。

在这里插入图片描述 其中 C ^ \hat{C} C^指定预期子序列的周期或形状。例如,1中的最后一个亮点,其中段的形状由于一些波动而改变。

在这种情况下,两个时间序列的最佳排列被用于动态时间扭曲(DTW)[135],以确定它们之间的不相似性,因此,DTW已被应用于异常检测[18],[161]。此外,MTS由多个维度(又称度量)组成,每个维度描述一个复杂实体的不同方面。一个实体内的度量之间的空间依赖性(相关性)也被称为度量间依赖性,可以是线性或非线性的。如果这些相关关系被打破,MTS将表现出广泛的异常行为。一个例子显示在图2的左边部分,功耗(指标1)和CPU使用(指标2)使用之间的相关性是正的,但是它在开始后的100分之一秒内被打破。在本研究中,这样的异常现象被命名为计量间异常现象。 在这里插入图片描述 其中,X^j 和x^k是相互关联的两个不同指标,corr衡量两个指标之间的相关性。当这种相关性在窗口t : t + w中恶化时,这意味着该系数偏离正常系数的程度大于thershold。

从时间或度量的角度来看,度量-时间异常更容易检测,因为它们违反了度量和时间依赖性,如图2的右侧所示。

在这里插入图片描述

图二。多元时间序列中的中间异常和时间中间异常。在该图中,指标1是功耗,指标2是CPU使用率。

3 深度异常检测方法

在结构复杂的数据中,深度神经网络是建立依赖关系的强大方法。一些学者对它在异常检测方面的应用非常着迷,它使用了一些深度学习的架构,如图3所示。 在这里插入图片描述

图 3. 用于时间序列异常检测的深度学习架构

在实践中,训练数据往往有非常少的异常情况被标记。因此,大多数模型试图学习正常数据的表示或特征。然后根据异常的定义来检测异常,这意味着他们找到了偏离正常数据的数据。

最近用于异常检测的深度模型有四种学习方案:无监督、有监督、半监督和自监督。这些都是基于标记的数据点的可用性(或缺乏)。监督方法采用了一种独特的方法来学习异常和正常数据之间的界限,这种方法是基于在训练集中发现的所有标签。它可以确定一个适当的阈值,如果分配给这些时间戳的异常分数(第3.1节)超过阈值,将用于把所有时间戳分类为异常。

这种方法的问题是,它不适用于现实世界中的应用,因为异常现象往往是未知的或不恰当的标记。相反,在无监督的异常检测方法中,训练集和测试集之间没有区别。这些技术是最灵活的,因为它们完全依赖于数据的内在特征。它们在流媒体应用中很有用,因为它们不需要训练和测试的标签。

尽管有这些优势,研究人员可能会遇到使用无监督方法评估异常检测模型的困难。由于历史数据固有的无标签性和异常现象的不可预测性,异常检测问题通常被视为无监督学习问题。在数据集只由正常点组成,没有异常的情况下,可以利用半监督的方法。之后,训练一个模型以适应时间序列分布,并检测任何偏离该分布的点作为异常。自监督方法是通过训练,从观察到的部分预测输入的任何未观察到的部分(或属性),充分利用未标记的数据本身(例如,通过设计预文本任务)。在自我监督学习中,只需要少量的标签,这些标签是由无监督问题自动生成的,所以无监督问题被转化为有监督问题。

3.1 时间序列异常检测

根据模型处理的输入维度,即单变量和多变量时间序列,表1和表2对这些模型进行了总结。这些表格概述了模型的许多方面,如其学习方案。以单变量时间序列作为输入,一个模型可以捕获时间信息(即模式),而以多变量时间序列作为输入,它可以通过时间和空间的依赖性学习常态。

一个模型可以把一个单独的点(即一个时间步骤)或一个窗口(即一个包含历史信息的时间步骤序列)作为输入。窗口可以按顺序使用,也称为滑动窗口,或者不考虑顺序进行洗牌。为了克服比较子序列而不是点的挑战,许多模型使用子序列(窗口)的表示,而不是原始数据,并采用包含以前时间步骤的历史的滑动窗口,这些滑动窗口依赖于时间序列数据中子序列的顺序。滑动窗口的提取是在预处理阶段进行的,然后再进行其他操作,如缺失值的置换、数据的下采样或上采样以及数据的标准化。

此外,深度模型以逐步或端到端的方式处理输入。在第一类中,有一个学习模块,接着是一个异常评分模块,这两个模块都与学习有关。有可能将第二类中的两个模块结合起来,使用神经网络作为一个端到端的过程来学习异常得分。这些模型的一个输出可能是异常得分或输入的标签。与目标是改善表征的算法相反,DevNet[141]引入了偏差网络来检测异常,通过利用少数标记的异常来实现端到端学习以优化异常分数。端到端模型的输出确定了异常的子序列/点,如点的标签,而分步模型的输出确定了异常得分: 在这里插入图片描述 这些论文中用于评估的指标是机器学习中现有的指标,例如 AUC、精度、召回率或 F1 分数。近年来,出现了一种称为点调整 (PA) 或基于分段的评估 [182] 的评估技术,大多数当前时间序列异常检测模型都使用这种技术来衡量 F1 分数。如果该段内的单个点已被识别为异常,则该评估技术认为整个段异常。 Schlegel 等人 [153] 证明现有方法被 PA 大大高估了,并且在没有 PA 的情况下几乎没有改进。

他们提出了一种用于严格评估时间序列异常检测的 PA%K 协议,该协议可以与当前的评估指标一起使用,只有当该段每单位长度至少有 K 个正确检测到的异常时才使用 PA。为了改进用于检测时间序列异常的经典度量,提出了一种从属度量,它可以应用于点异常和后续异常[93]。根本区别在于它是非参数的,适用于任何数据集,而且它是局部的,这意味着每个地面实况事件都是单独分析的。因此,局部性使得最终得分易于解释和显示为单独的片段。 在这里插入图片描述

表 1. 时间序列中的单变量深度异常检测模型

在这里插入图片描述

表 2. 时间序列中的多元深度异常检测模型

根据表 1 和表 2,我们研究了基于随机性的模型。确定性模型可以在不依赖随机性的情况下准确预测未来事件。预测确定性的事物很容易,因为您手头有所有必要的数据。在这种情况下,对于一组给定的输入,模型将产生完全相同的结果。随机模型可以处理输入中的不确定性。通过使用随机成分作为输入,您可以考虑一定程度的不可预测性或随机性。在解释中,给出了为什么观察异常的解释。当异常检测用作诊断工具时,可解释性至关重要,因为它有助于故障排除和分析异常。多变量时间序列很难解释,而随机深度学习使这个过程更加复杂。对实体异常进行故障排除的典型过程涉及搜索与先前观察到的行为差异最大的最高指标。 因此,有鉴于此,可以通过分析具有最高异常分数的几个指标来解释检测到的实体异常。在缺乏评估异常可解释性的标准化指标的情况下,研究中使用了不同的指标。因此,基于推荐系统的 HitRate@K 概念 [184],在 [163] 中定义了一个名为 HitRate@P% 的修订指标。在这方面,概述了改编自 HitRate@K 的解释分数 (IPS),以评估段级别的异常解释准确性 [119]。

在我们的研究中,时间序列异常检测的深度模型根据其主要方法和主要架构进行分类。有两种方法:基于预测和基于重建。可以应用基于预测的模型来建立特征工程策略来预测下一个时间戳,而可以部署基于重建的模型来捕获时间序列数据的分布。研究模型使用的主要架构如 3 所示。

3.2 基于预测的模型

基于预测的方法使用学习模型来预测基于点或最近窗口的子序列。为了确定输入值的异常程度,将预测值与其实际值进行比较。

大多数预测方法使用滑动窗口一次预测一个点。像 [126] 这样的时间异常检测方法可以预测时间序列并使用预测误差来检测新颖性。为了识别异常行为,他们使用预测器来模拟正常行为。这在正常行为很多但异常行为很少见的现实世界异常检测情况下特别有用。

3.2.1 循环神经网络(RNN)

由于 RNN 具有内部存储器,因此它们可以处理可变长度的输入序列并表现出时间动态 [167]、[5]。图 5a 中可以看到一个简单的 RNN 示例。循环单元采用输入窗口 X t − w : t − 1 X_{t-w:t-1} Xt−w:t−1​ 的点并预测下一个时间戳作为输出 x t ′ {x_{t}^{\prime}} xt′​ 。周期性地,输入序列通过时间戳被馈送到网络时间戳。使用输入 x t − 1 x_{t-1} xt−1​、循环输入 o t − 2 o_{t-2} ot−2​和类似 tanhℎ 的激活函数,输出向量如下: 在这里插入图片描述 其中 W、U 和 b 是网络的参数。当网络使用以前的输出作为输入来记住它从以前的步骤中学到的东西时,就会发生重复。学习长期和短期依赖关系的能力取决于此。长短期记忆或 LSTM 是该架构的目标,它承诺为 RNN 提供持续数千步的记忆 [84]。由于具有 LSTM 单元的 RNN 架构(如图 5 所示),深度神经网络可以在各种预测问题中实现出色的预测。图 5b 中显示了 LSTM 单元的四个主要组件:单元、输入门、输出门和遗忘门。在可变时间段内,细胞记住值,而其他门控制信息流。内部 LSTM 中时间戳的处理可以用以下等式解释。首先,遗忘门 f 计算为具有两个输入 x t − 1 x_{t-1} xt−1​ 和 o t − 2 o_{t-2} ot−2​ 的 sigmoid 函数的输出: 在这里插入图片描述 接下来,除了隐藏状态 o t o_t ot​ 之外,LSTM 还有一个名为 c t − 1 c_{t-1} ct−1​的记忆单元。为了从数据中学习并更新 c t − 1 c_{t-1} ct−1​,包含新候选值的 c t − 1 ′ c_{t-1}^{\prime} ct−1′​ 应该被计算为 tanh 函数的输出。之后, c t ′ c_{t}^{\prime} ct′​ 将其添加到 c t − 1 c_{t-1} ct−1​ 以更新存储单元状态。 在这里插入图片描述

具体来说, f t − 1 f_{t-1} ft−1​∈ (0, 1) 因为它是一个 sigmoid 输出。对于 f t − 1 f_{t-1} ft−1​, c t − 2 c_{t-2} ct−2​在接近于零时完全消除,而在接近于一时完全保留。因此, f t − 1 f_{t-1} ft−1​ 被称为遗忘门。最后,隐藏状态 o t − 1 o_{t-1} ot−1​ 或输出通过以下方式获得: 在这里插入图片描述 其中 Ws 和 Us 是 LSTM 单元的参数。

随着 LSTM 学习如何测量时间间隔,它们还可以处理具有挑战性的非线性任务。已经表明,在网络中堆叠 S 形激活单元的循环隐藏层更自然地捕获时间序列的结构,并允许在不同的时间尺度上处理时间序列 [82]。

LSTM 具有长期记忆能力,并且首次将分层循环处理层与其结合以预测单变量时间序列并检测 LSTM-AD 中没有标签的异常 [128]。堆叠循环隐藏层也有助于学习高阶时间模式,而无需事先了解其持续时间。网络预测几个未来的时间步长,以确保它捕获序列的时间结构。因此,序列中的每个点都有来自过去不同点的多个对应预测值,从而导致多个错误值。为了评估异常行为的可能性,预测误差被建模为多元高斯分布。 LSTM-AD 通过对长期和短期时间关系进行建模来提供有希望的结果。 LSTM-AD 的结果表明,当无法知道正常行为是否涉及长期依赖性时,基于 LSTM 的预测模型比基于 RNN 的模型更有效。与 [128] 中使用的堆叠 LSTM 相反,Bontemps 等人[22] 使用简单的 LSTM RNN 提出基于 LSTM RNN 预测能力的集体异常检测模型 [84]。第一步,在进行实时预测之前,使用正常的单变量时间序列对 LSTM RNN 进行训练。当前事件的预测取决于它们的当前状态和历史。通过引入圆形阵列,模型将被配置为检测集体异常,其中包含子序列的错误。集体异常将通过圆形阵列中高于阈值的预测误差来识别。

在将 LSTM 应用于 UTS 异常检测时发现有希望的结果,大多数方法都试图检测 MTS 中​​的异常。在 DeepLSTM [31] 训练中,堆叠式 LSTM 递归网络仅用于预测正常训练数据。

之后,使用最大似然估计,将预测误差向量拟合到多元高斯分布。然后应用该模型来预测异常和非异常验证数据的混合,并记录相关错误的 PDF 值。这种方法的优点是不需要预处理,并且它直接适用于原始时间序列。 LSTM-PRED [68] 基于三个 LSTM 堆栈,每个堆栈有 100 个隐藏单元,100 秒的数据输入序列被用作学习时间依赖性的预测模型。 Cumulative Sum 方法用于检测异常,而不是计算每个传感器的阈值。此外,它可以定位表现出异常行为的传感器。

在所有三个模型中,LSTM 都是堆叠的;然而,LSTM-NDT [94] 结合了来自不同领域的技术,LSTM 和 RNN,通过从 MTS 中​​提取历史信息来实现高预测性能。文章中介绍了一种非参数、动态和无监督的阈值查找技术,可用于评估残差。通过应用这种方法,可以为不断变化的数据自动设置阈值,以解决多样性、不稳定性和噪声问题。传统的 LSTM 无法在广泛的数据集上始终如一地获得准确的结果。 [53] 在 LTSM 的基础上提出了 LSTM-BP,并改进了 LSTM 的内部结构,用于处理数据时间序列异常。本文提出了一种结合 LSTM 和 GMM 的复杂系统实时异常检测算法 LGMAD。第一步是使用 LSTM 检测单变量时间序列数据中的异常,然后采用高斯混合模型以提供潜在异常的多维联合检测。除此之外,为了提高模型的性能,引入了健康因子 a 概念来描述系统的健康状态。本文描述的是低维应用场景,而不是高维或超高维的异常检测应用场景。对于高维和超高维异常检测的情况,所提出的方法也可以通过主成分分析(PCA)等降维来检测异常[90],[142]。

Ergen 和 Kozat [58] 在无监督框架以及半监督和完全监督框架中提出了基于 LSTM 的异常检测算法。为了检测异常,它使用由 OC-SVM 和 SVDD 算法实现的评分函数。在此框架中,LSTM 和 OC-SVM(或 SVDD)架构参数使用两种联合优化方法,通过明确定义的目标函数进行联合训练。基于梯度的联合优化方法使用修改后的 OC-SVM 和 SVDD 公式,说明它们与原始公式的收敛性。由于基于 LSTM 的结构,方法能够处理可变长度的数据序列。

除此之外,该模型无需预处理即可有效检测时间序列数据中的异常。此外,由于该方法是通用的,它也适用于 GRU(门控递归神经网络)架构 [43]。 GRU(门控循环单元)由 Cho 等人 [40] 于 2014 年提出,类似于 LSTM,但包含更直接的结构,从而减少计算时间(见图 5c)。他们都使用门控架构来控制信息流。

在这里插入图片描述

图 5. (a) 循环神经网络 (RNN)、(b) 长短期记忆单元 (LSTM) 和 © 门控循环单元 (GRU) 的概述。这些模型可以通过捕获时间序列中 x t ′ x_t{\prime} xt​′ 之前的 w 样本窗口的时间信息来预测 x t x_t xt​。使用错误 ∣ x t − x t ′ ∣ |x_{t}-x_{t}^{\prime}| ∣xt​−xt′​∣,可以计算异常分数

然而,与 LSTM [51] 不同,GRU 具有门控单元,可以在没有任何单独内存的情况下扩大单元内的信息流。没有输出门,只有更新门和重置门。图 5c 显示了使用其重置门将新输入与先前记忆集成的 GRU 单元。更新门定义要保留多少最后的内存 [75]。问题在于 LSTM 和 GRU 在学习多季节时间序列中的复杂季节模式方面受到限制。随着更多隐藏层的堆叠和反向传播距离(通过时间)的增加,可以提高准确性。然而,培训可能是昂贵的。在这方面,建议使用 AD-LTI [181]。它是一个预测模型,它使用 Prophet 将 GRU 网络与时间序列分解相结合,以在没有标签的情况下对季节性时间序列数据进行稳健学习。通过在运行预测模型之前进行时间序列分解,输入数据的季节性特征被明确地输入到神经网络中。推理模块用于实现堆叠 GRU 网络,这些网络由原始帧和季节性特征(每周和每日术语)输入。为了估计异常的可能性,提出了一种称为局部趋势不一致(LTI)的新指标。

时间序列异常检测是深度一类分类器的一个悬而未决的问题,因为它们使用固定维度的输入。同样,滑动窗口方法无法适当地捕获潜在的时间依赖性。最近审查的模型使用循环网络来解决这个问题。 THOC [156] 代表了一个自我监督的时间分层一类网络,它由一个多层扩张的 RNN 和一个分层支持向量数据描述(SVDD)[165] 组成。使用带跳跃连接的扩张 RNN [30] 捕获多尺度时间特征。应用层次聚类机制来合并扩张 RNN 的所有中间层,而不是仅使用顶部的最低分辨率特征。几个超球体在每个分辨率下都表现出正常行为,这比深度 SVDD 更能捕捉真实世界的时间序列复杂性。这有助于对模型进行端到端训练,并使用分数检测异常,该分数衡量当前值与正常行为的超球面表示有何不同。尽管 RNN 取得了成就,但由于它们的顺序性质,它们在处理长序列时效率低下。

3.2.2 卷积神经网络(CNN)

卷积神经网络 (CNN) 是多层感知的修改版本,以不同的方式进行正则化。数据中的分层模式允许他们使用更小和更简单的模式来构建越来越复杂的模式。因此,CNN 在连接性和复杂性方面排名较低。 CNN 包含多个层,包括图 6 中描绘的卷积层、池化层和完全连接层。卷积层由一组可学习的内核组成,这些内核扩展到整个输入量。过滤器在输入数据集上进行卷积,通过计算它们的条目与输入之间的点积来生成 2D 激活图。池化操作统计总结了卷积输出。与 LSTM 相比,基于 CNN 的 DeepAnt [136] 模型不需要像 LSTM 那样多的数据,因此效率更高。该模型甚至可以检测时间序列时间模式中的微小偏差,并且可以在无人监督的情况下处理低水平的数据污染(小于 5%)。异常检测模型可以应用于单变量和多变量时间序列,它可以识别异常,包括点异常、上下文异常和不一致。 在这里插入图片描述

图 6. 基于输入数据窗口预测输入时间序列的下一个值的卷积神经网络 (CNN) 结构。由于时间序列本质上是时间相关的,它只能使用之前观察到的输入来预测某个时间步长的输出 x t ′ x_{t}^{\prime} xt′​

在结构数据分析中,卷积网络已被证明对于提取特征很有价值。由于传统CNN无法处理时间序列等时序数据的特点,通常不用于此类数据,因此通过开发时间卷积网络(TCN)[14],利用扩张卷积这样他们就可以适应顺序数据。大多数基于 CNN 的模型使用 TCN 进行时间序列异常检测。本质上,TCN 包含两个原则:它产生与输入长度相同的输出,并且不可能将未来的信息泄露到过去。对于第一点,TCN 采用一维全卷积网络,其隐藏层与输入层的大小相同。第二点也可以使用扩张卷积来实现,其中时间 t 的输出仅与时间 t 和之前的点进行卷积。扩张卷积的输出基于以下等式: 在这里插入图片描述 其中f是大小为k的滤波器,∗表示卷积,d是扩张因子,t-d.i提供对过去的解释。

[80]使用TCN作为多变量时间序列的预测器。TCN是在正常序列上训练出来的,能够预测一段时间的趋势。使用拟合于预测误差的多变量高斯分布计算各点的异常得分。采用跳过连接来实现对不同尺度模式的多尺度特征混合预测。

Ren等人[147]将光谱残差(SR)模型与CNN(SR-CNN)结合起来,实现了卓越的准确性,因为SR模型来自于视觉显著性检测[85]。超过200个微软团队使用了单变量时间序列异常检测服务,包括微软Bing、Office和Azure。生产每分钟从400万个时间序列中检测出异常情况。TCN-AE[169]使用了一个卷积架构,加上一个自动编码器框架。与标准的自动编码器相比,它用更强大的CNN架构取代了密集层架构。因此,它在输入规模方面也更加灵活。TCN自动编码器使用两个时间卷积神经网络(TCN)[14]进行编码和解码。此外,编码器中的下采样层和解码器中的上采样层也被使用。

在现实世界中,经常会遇到准周期性时间序列(QTS)。例如,一些生理信号如心电图(ECG)就是QTS。[120]中提出了一个自动QTS异常检测框架(AQADF)。它包括一个基于聚类的两级QTS分割算法(TCQSA)和一个注意力混合LSTM-CNN模型(HALCM)。具体来说,TCQSA旨在准确和自动地将QTS划分为连续的准周期。在TCQSA中包括一个两级聚类过程。首先,TCQSA使用分层聚类技术,在没有人工干预的情况下,自动对QTS的候选点进行聚类,使其成为通用的聚类方法。这第二种聚类方法消除了QTS中由异常值引起的聚类,使TCQSA具有抗噪性。

HALCM应用堆叠的双向LSTM(SB-LSTM)与CNN(TD-CNN)混合,分别提取QTS的整体变化趋势和局部特征。因此,QTS的波动模式可以被更准确地描述出来。此外,HALCM还通过三种关注机制得到进一步加强。更详细地说,TAGs被嵌入到LSTM中,以便对从QTS的不同部分提取的变化进行微调。一个特征关注机制(FAM)和一个位置关注机制(LAM)被嵌入到一个CNN中,以增强从QTS中提取的关键特征的效果。因此,HALCM可以获得QTS波动模式的更精确的特征表示。

3.2.3 图形神经网络(GNN)

在这里插入图片描述

图7. 图形神经网络(GNN)的基本结构,用于多变量时间序列异常检测,可以学习指标之间的关系(相关性)并预测时间序列的预期行为。

虽然CNN是为规则的网格而定义的,但GNN将其推广到具有不规则和非欧几里得结构的图上,并且已经变得越来越流行。该网络的结构如图7所示。在GNN中,成对的信息传递是关键,因此图中的节点通过相互交换信息来迭代更新它们的表示。在MTS异常检测的模型中,每个维度(度量)在图中被表示为一个节点,所以节点集为 V = 1 , … , d . E V=1,\ldots,d.E V=1,…,d.E代表图中的边,它们表示从MTS中学习到的相关关系。对于节点u/inV,消息传递层在迭代k+1时输出以下内容。 在这里插入图片描述 其中 h u k h^k_u huk​是对应于每个节点的嵌入, N u N_u Nu​是节点u的邻域。学习多变量时间序列的空间结构的能力增强了对含有相关关系的多维数据的建模。

一般来说,GNN假定每个节点的状态都受到其邻居的状态影响[152]。已经提出了各种各样的GNN架构,实现了不同类型的消息传递。图卷积网络(GCN)[105]通过聚合一个节点的单步邻居来模拟该节点的特征表示。图注意网络(GATs)[173]基于这种方法,但它们不是对每个邻居使用一个简单的权重函数,而是使用一个注意函数来计算每个邻居的不同权重。 如前所述,将特征之间的关系纳入模型将是非常有益的。

Deng和Hooi[49]介绍了GDN,这是一个基于图形神经网络的注意力,它嵌入向量来捕捉单个传感器的特征作为节点,并捕捉传感器的相关性(空间信息)作为图中的边,它根据对其相邻传感器的注意力函数来学习预测传感器行为。它能够根据子图、注意力权重以及在没有监督的情况下对预测和实际行为的比较来检测和解释与它们的偏差。一个被称为GANF(图形增强归一化流)的异常检测框架[45]用图形结构学习增强了归一化流。它被表示为贝叶斯网络,它对时间序列的条件依赖性进行建模。通过对属性、时间和度量的多个时间序列密度进行因子化,它用基于图的依赖性编码器对因子化产生的条件密度进行建模。为了确保相应的图是无环的,作者对图的邻接矩阵施加了一个可微调的约束[194],[185]。图邻接矩阵和流量参数都可以使用联合训练算法进行优化。

之后,基于图的依赖性解码器被用来总结计算序列密度所需的条件信息。通过识别具有低密度的实例来检测异常情况。由于图结构作为分布漂移的指标的有用性,该模型提供了关于分布如何在时间上漂移以及图如何演变的见解。

3.2.4 层次时空记忆(HTM)

使用分层时间处理进行异常检测的一个值得注意的例子是分层时间记忆(HTM)系统,该系统试图模仿新皮层中的神经元细胞、区域和水平的层次[67]。 在这里插入图片描述

图8. (a) 基于层次时间记忆(HTM)的异常检测系统的组成部分。基于HTM系统的输出,它计算出预测误差和异常可能性措施。(b) 一个HTM细胞的内部结构。在HTM细胞中,树突被模拟为重叠的检测器,它们之间有突触。上下文树突接受来自该层其他神经元的侧向输入。如果一个上下文树突上的侧向活动是充分的,细胞就会进入预测的状态

如图8a所示,典型的HTM算法组件,输入푥푡,被送入一个编码器,然后是一个稀疏的空间池化过程[44]。因此,a(xt)表示当前输入为稀疏二进制矢量。序列记忆构成了系统的核心,它在a(xt)中模拟时间模式,并以稀疏向量 π ( x t ) \pi(xt) π(xt)的形式返回预测结果。因此,预测误差可以定义如下。 在这里插入图片描述

其中| a ( x t ) a(x_{t}) a(xt​)|是 a ( x t ) a(x_{t}) a(xt​)( a ( x t ) a(x_{t}) a(xt​)的总数1)。基于模型的预测历史和误差分布,异常可能性是指示当前状态是否异常的概率度量,如图8a所示。在HTM序列记忆中,一列HTM神经元排列成一层(图8b)。在层级的单个级别中可能有几个区域。在更高的层次级别,涉及的区域更少,在更低级别学习的模式被组合起来以回忆更复杂的模式。HTM地区都服务于同一目的。感觉数据在学习阶段进入较低水平的区域,较低水平的区域以生成模式输出特定概念的结果模式。在顶层,最通用和持久的概念存储在一个区域中。在推理模式中,区域将来自其子区域的信息解释为概率。除了对噪声具有鲁棒性,HTM还具有很高的容量,可以同时学习多种模式。通过识别和记忆输入比特的频繁集合来学习HTM区域中的空间模式。在接下来的阶段,它确定了可能会随着时间的推移连续出现的空间模式序列。 Numenta HTM[8]使用HTM检测可预测和嘈杂领域中的单变量时间序列的时间异常情况。因此,该系统是高效的,可以处理极度嘈杂的数据,不断适应数据统计的变化,并且检测小的异常而不产生假阳性。Multi-HTM[180]是一个基于记忆的学习模型。独特的模型结构使它能够随着时间的推移学习上下文,所以它能容忍噪音。数据模式被连续学习,并实时进行预测,所以它可以用于自适应模型。有了它,可以解决广泛的异常检测问题,而不仅仅是某些类型。特别是,它可用于单变量问题,并有效地应用于多变量时间序列。RADM[52]的目的是提出一个在多变量时间序列中进行实时无监督异常检测的框架,该框架将HTM与天真的贝叶斯网络(BN)相结合。

最初,HTM算法被用来检测UTS中的异常情况,在检测和响应时间方面有很好的效果。第二步是将HTM算法与BN相结合,在不降低维度的情况下尽可能有效地检测MTS的异常情况。因此,一些被遗漏在UTS中的异常现象可以被检测出来,检测精度也得到了提高。利用BNs来完善新的观察结果,因为它们在指定后验概率方面很容易使用,而且是自适应的。此外,本文定义了健康因子a,以描述系统的健康状况并提高检测效率。

3.2.5 transformer

在这里插入图片描述

图9. 变换器网络的结构。Transformer通过使用编码器-解码器结构来模拟神经序列模型。编码器和解码器中都有多个相同的块。每个编码器块由一个多头自我注意模块和一个位置导向的前馈网络组成。在解码过程中,交叉注意模型被穿插在多头自注意模块和位置前馈网络之间。与递归神经网络不同,变形器不包含任何递归或卷积。它不是直接对序列信息进行建模,而是采用添加到输入的嵌入中的位置编码。

变形金刚[172]是深度学习模型,根据不同部分的重要性对输入数据进行不同的加权。与RNN不同,变压器同时处理整个数据。由于其架构仅基于注意力机制,如图9所示,它可以捕获长期依赖性,同时计算效率高。最近的研究利用它们来检测时间序列异常,因为它们处理用于翻译的顺序数据,例如自然语言。

最初的Transformer架构是基于编码器-解码器的。Transformer功能的一个重要部分是其多头自我关注机制,如下式所示: 在这里插入图片描述 其中Q,K和V被定义为矩阵。在一个长序列中检测出语义相关,并从无关的元素中过滤出重要的元素。由于变换器没有递归或卷积,因此有必要指定序列中标记的相对或绝对位置,这被称为位置编码。

GTA[38]极大地受益于转化器的序列建模能力,并采用了双向图结构来学习多个物联网传感器之间的关系。提出了一种新颖的影响传播(IP)图卷积作为传感器之间依赖关系的图结构的自动半监督学习策略。作为发现隐藏关系的训练过程的一部分,每个节点的邻域被约束以进一步提高推理效率。在此之后,它们被送入图卷积层,用于模拟信息传播。作为下一步,多尺度扩张卷积和图卷积被融合,以提供一个分层的时间背景编码。他们使用基于变换器的架构来模拟和预测序列,因为它们具有并行性和捕捉上下文信息的能力。作者还提出了另一种方法,即使用多分支注意来降低多头注意的二次复杂性。最近的工作使用Transformer与完全由注意力机制组成的堆叠式编码器-解码器结构。SAnD(Simply Attend and Diagnose)[160]使用注意力模型对临床时间序列进行建模,消除了重复出现的需要。该结构利用了自我注意模块,邻域内的依赖关系被捕捉到,并设计了多个头。此外,位置编码技术和密集插值嵌入技术被用来表示时间顺序。

这也被扩展到通过创建一个多任务变体来处理多个诊断。

3.3 基于重构的模型

大多数复杂的时间序列异常检测方法都是基于对时间序列的建模来预测未来的数值和预测误差。即便如此,也没有一个稳健的基于预测的模型能够对快速和连续变化的时间序列产生准确的模型(见图10)[70]。基于预测的模型随着时间点数量的增加,预测误差急剧增加,正如在[128]中看到的。由于这个原因,现有的模型为了达到可接受的准确性而进行非常短期的预测,因为它们没有能力检测到子序列的异常情况。例如,大多数金融时间序列预测只能预测下一步,如果有可能发生金融危机,这是不可取的。为了克服基于预测的模型的这种缺陷,基于重建的模型可能更有效。

正常行为的模型是通过在潜空间(低维度)中对正常训练数据的子序列进行编码而构建的。模型的输入是滑动窗口(见第3节),提供重建过程的时间背景。在测试阶段,模型不可能重建异常的子序列,因为它只在正常数据上进行训练(半监督)。因此,通过从测试数据中重建一个点/滑动窗口,并将其与实际值进行比较来检测异常情况,称为重建误差。在一些模型中,由于异常点/子序列的重建概率很低,所以当重建概率低于指定的阈值时,就会触发对异常的检测。

3.3.1 自动编码器(AE)

自动编码器(AE),被称为自动关联神经网络[107],在MTS异常检测中以具有非线性降维能力的神经网络形式被广泛研究[151], [198]。最近的深度学习发展强调使用AE学习低维表征(编码)[83], [19]。自动编码器由两个部分组成(见图11a):一个是将输入转化为编码的编码器,另一个是将输入从编码中重建的解码器。如果一个自动编码器能进行准确的重建并使重建误差最小化,那将是最理想的。这种方法可以总结为以下几点。 在这里插入图片描述 其中 X t − w X_{t-\mathbf{w}} Xt−w​是一个滑动窗口,如图11a所示,其中每个点如 x t ∈ R d x_{t}\in R^{d} xt​∈Rd。퐸是参数为 ϕ \phi ϕ的编码器网络,所以Z是AE的瓶颈中的表示,这被称为潜空间。之后,这个编码窗口被送入参数为 θ \theta θ的解码器网络,并给出 X t − w ^ \hat{X_{t-w}} Xt−w​^​作为X的重建。

在训练阶段,编码器和解码器的参数按以下方法更新。 在这里插入图片描述 为了捕捉更多的信息并对主导信息进行更好的表述,提供了各种技术,如稀疏自动编码器(SAE)[137],去噪自动编码器(DAE)[174],以及卷积自动编码器(CAE)[139]。在基于AE的模型中,一个窗口的异常得分可以根据重建误差来定义,基本函数如下。 在这里插入图片描述 在我们的研究中,这个类别中有几个候选。 Sakurada 和 Yairi [151] 展示了自动编码器在 MTS 降维中的应用,以及使用自动编码器进行异常检测的机制。

该方法通过将每个时间索引处的每个数据样本视为独立的来忽略时间顺序。尽管自动编码器在没有时间信息的情况下已经表现良好,但它们可以通过提供当前和过去的样本来进一步提升。为了阐明自动编码器的属性,他们比较了线性 PCA、去噪自动编码器 (DAE) 和内核 PCA。结果,作者发现自动编码器可以检测到线性 PCA 无法检测到的异常分量,并且可以通过包含去噪自动编码器来增强自动编码器。此外,自动编码器在不影响质量的情况下避免了内核 PCA 所需的复杂计算。检测质量。 DAGMM(深度自动编码高斯混合模型)[198] 在端到端框架的潜在空间中使用高斯混合先验估计 MTS 输入样本概率。 该模型由两个主要部分组成:压缩网络和估计网络。压缩网络使用随机深度自动编码器对输入样本进行降维,根据缩减空间和重建误差特征生成低维表示。估计网络通过低维表示中的高斯混合建模计算样本能量。样本能量用于确定重构误差;高样本能量意味着高度异常。尽管如此,只考虑空间依赖性,不包括时间信息。通过端到端训练,估计网络引入的正则化有助于压缩网络避免局部最优并产生低重建误差。

与许多现有的异常检测模型相比,EncDec-AD [127] 模型甚至可以从不可预测的单变量时间序列中检测异常。在这种方法中,通过仅考虑第一个主成分,将多变量时间序列简化为单变量。它可以检测长度高达 500 的时间序列中的异常,这表明 LSTM 编码器-解码器正在学习正常行为的稳健模型,并将重建错误用作异常。尽管如此,当它必须解码长数据序列时,它仍会遇到错误累积问题。 [99] 提出了两个基于稀疏连接递归神经网络的自动编码器集成框架。

在一个框架中,多个自动编码器是独立训练的 (IF),而另一个框架则使用共享特征空间 (SF) 促进多个自动编码器的同时训练。这两个框架都使用多个自动编码器的重建误差的中值来衡量时间序列中异常值的可能性。 Audibert 等人 [13] 提出了使用自动编码器的多变量时间序列无监督异常检测 (USAD),其中使用经过对抗训练的自动编码器来放大重建误差。训练或测试的输入是一系列具有时间顺序的观察以保留此信息。此外,对抗性训练及其架构使系统能够在促进快速学习的同时区分异常。古奇等人[72] 通过检查各种对抗性攻击的结果来确定自动编码器是否容易受到异常检测中的对抗性攻击。近似投影自动编码器(APAE)被提出来提高模型在对抗性攻击下的性能和鲁棒性。通过对潜在表示使用梯度下降,该方法可以产生更准确的重建并提高对对抗性威胁的鲁棒性。作为此过程的一部分,特征加权归一化步骤考虑了不同特征之间重建误差的自然可变性。

在 MSCRED [187] 中,基于注意力的 ConvLSTM 网络旨在捕获时间趋势,并使用卷积自动编码器来编码和重建签名矩阵(其中包含传感器间相关性),而不是明确依赖于时间序列。矩阵的长度为16,步长为5。签名矩阵的重构误差可以用于计算异常分数。除了检测异常之外,它还强调了如何识别根本原因和解释异常持续时间。在 CAE-Ensemble [25] 中,提出了一种卷积序列到序列自动编码器,它可以捕获具有高训练并行性的时间依赖性。除了与卷积层结合的门控线性单元 (GLU) 之外,注意力还用于通过识别输入中重复出现的相似子序列(例如周期性)来捕获局部模式。由于可以通过集成 [32] 组合单独基本模型的输出以提高准确性,因此提出了基于 CAE 的多样性驱动集成以及基于参数传输的训练策略,而不是分别训练每个基本模型。为了保证多样性,目标函数还考虑了基本模型之间的差异,而不是简单地评估它们的准确性。使用集成和参数传输技术可以大大减少训练时间和错误。 RANSysCoders [4] 概述了 eBay 使用的实时异常检测方法。作者提出了一种架构,该架构采用具有随机特征选择的多个编码器和解码器,通过多数投票来推断和定位异常,解码器确定重建的边界。此外,潜在空间表示的频谱分析被建议作为一种方法来提取多变量时间序列的先验以同步原始序列表示。提高的准确性可归因于特征同步、自举、分位数损失和异常推理的多数投票。作者评估了现有广泛使用的评估方法(例如点调整方法)的局限性,并提出了一种替代方法来更好地评估异常检测模型在实践中的有效性。该方法克服了与先前工作相关的局限性,包括后验阈值识别、时间窗口选择、用于降噪的下采样以及更大特征维度的不一致性能。

提出了一种具有自监督学习 (AMSL) 的新型自适应记忆网络 AMSL [192],以提高无监督异常检测的泛化能力。使用卷积的自动编码器框架可以实现端到端训练。 AMSL 集成了自监督学习和记忆网络,以克服有限正常数据的挑战。作为第一步,编码器将原始时间序列及其六个转换映射到潜在特征空间。为了学习广义特征表示,必须构建多类分类器来对这些特征类型进行分类。在此过程中,这些特征也被输入到全局和局部记忆网络中,可以学习共同和特定的特征以提高表示能力。最后,自适应融合模块通过融合这些特征得到一个新的重建表示。

3.3.2 变分自动编码器(V AE)

在这里插入图片描述

图 11. 这是 (a) 自动编码器的基本结构,它将输入窗口压缩为低维表示 (ℎ),然后从该表示重构输出 ^X。 (b) 变分自动编码器,接收大小为 w 的输入窗口。通过压缩它,编码器创建潜在分布。使用来自参数化分布的采样数据作为输入,解码器输出 ^X尽可能接近 X。

图 11b 显示了变分自动编码器 (VAE) 的典型配置,这是一种将神经网络自动编码器与平均场变分贝叶斯 [104] 相结合的方向概率图模型。 V AE 的工作方式类似于自动编码器,但它不是将输入编码为单点,而是使用推理网络 q ϕ ( Z t − w + 1 : t ∣ X t − w + 1 : t ) q_{\phi}(Z_{t-w+1:t}|X_{t-w+1:t}) qϕ​(Zt−w+1:t​∣Xt−w+1:t​) 将它们编码为分布,其中 휙 p h i phi phi是其参数。它表示一个 d 维输入 X t − w + 1 : t X_{t-w+1:t} Xt−w+1:t​ 到一个较小维度 k 的潜在表示 Z t − w + 1 : t Z_{t-w+1:t} Zt−w+1:t​。采样层从潜在分布中获取样本并将其馈送到生成网络 p θ ( X t − w + 1 : t ∣ Z t − w + 1 : t ) p_{\theta}(X_{t-w+1:t}|Z_{t-w+1:t}) pθ​(Xt−w+1:t​∣Zt−w+1:t​),参数为 θ \theta θ,其输出为 g ( Z t − w + 1 : t ) g(Z_{t-w+1:t}) g(Zt−w+1:t​), 重建输入。如等式 (23) 所述,损失函数有两个分量在 V AE 中最小化:旨在改进编码和解码过程的重构误差和旨在正则化潜在空间的正则化因子通过使编码器的分布尽可能接近首选分布。 在这里插入图片描述 通过使用正则化训练,它可以避免过度拟合并确保潜在空间适合生成过程。

LSTM-V AE [143] 代表了一种基于 LSTM 的变分自动编码器,它采用变分推理进行重建。在原始的 V AE 中,FFN 被替换为 LSTM,后者使用去噪自动编码方法进行训练以提高表示能力。当给定数据点的对数似然低于阈值时,该模型会检测到异常。阈值是动态的且基于状态,因此可以减少误报。 Xu 等人 [182] 发现,对正常和异常数据进行训练对于 V AE 异常检测是必要的。所提出的名为 Donut 的模型是一种无监督的异常检测方法,基于从打乱的训练数据中训练的 V AE(一种代表性的深度生成模型)。Dout、改进的 ELBO 和用于训练的缺失数据注入以及用于检测的 MCMC 插补 [149] 三种技术,使其在检测季节性 KPI 异常方面远远优于其他技术。由于 V AE 的非顺序性质和不考虑它们之间关系的 Feeding 滑动窗口,Donut 无法处理时间异常,因此 Bagel [117] 被提议作为一种无监督的鲁棒算法。 Bagel 没有在 Donut 中使用 V AE,而是使用条件变分自动编码器 (CV AE) [110]、[111] 并考虑时间信息。

VAE 对两个随机变量 x 和 z 之间的关系进行建模。 CVAE 以 y 为条件对 x 和 z 之间的关系进行建模,即它对 p(x, z|y) 进行建模。

STORN [159] 或随机循环网络用于使用变分推理 (VI) 学习高维机器人时间序列数据的概率生成模型。该算法灵活且通用,在应用于时空结构化时间序列异常检测时不需要任何领域知识。

事实上,OmniAnomaly [163] 是一种 V AE,它采用随机递归神经网络来学习多元数据的稳健表示,平面归一化流 [148] 用于描述潜在空间的非高斯分布。该方法基于重建概率计算异常检测,并根据其重建概率量化每个特征的可解释性。它实现了 POT 方法来寻找阈值。 InterFusion [119] 建议使用具有两个随机潜在变量的分层变分自动编码器(HV AE)来分别学习度量间和时间表示;以及依赖于在度量和时间方面压缩 MTS 的辅助“重构输入”的双视图嵌入。为了防止训练数据中的过度拟合异常,InterFusion 采用预过滤策略,通过重建过程消除时间异常,以学习准确的度量间表示。本文提出了用于异常解释的 MCMC 插补多元时间序列,并介绍了 IPS,一种用于评估异常解释结果的分段度量。

然而,关于噪声时间序列数据异常检测的研究很少。为了捕捉具有非高斯噪声和复杂数据分布的单变量 KPI 中的复杂模式,Buzz [36] 引入了一种基于分区分析的对抗训练方法。该模型提出了一种基于 Wasserstein 距离的训练目标的主要形式,并描述了它如何转化为贝叶斯目标。这是一种将贝叶斯网络与最优传输理论联系起来的新颖方法。对抗训练计算每个分区上的分布距离,全局距离是对所有分区上分布距离的期望。 SISV AE(平滑度诱导顺序 V AE)[114] 检测点级异常,这些异常是在使用贝叶斯方法训练深度生成模型之前通过诱导平滑实现的。因此,它受益于经典优化模型的效率以及使用深度生成模型对不确定性进行建模的能力。在模型中,每个时间戳的均值和方差被独立地参数化,这提供了根据噪声估计动态调整的阈值。

考虑到时间序列方差可能随时间变化,这个特性至关重要。许多研究已经使用 VAE 进行异常检测,假设单峰高斯分布作为生成过程中的先验。由于时间序列数据固有的多模态性,现有研究无法学习数据的复杂分布,因此无法实现精确检测。 [76] 中提出的无监督的基于 GRU 的高斯混合 V AE 解决了这一挑战。使用 GRU 单元,可以发现时间序列相关性。之后,多模态数据的潜在空间由高斯混合表示。通过优化变分下界,V AE 推断潜在嵌入和重建概率。 在 [186] 中,开发了具有重新编码器和潜在约束网络(VELC)的 V AE。将重新编码器添加到 V AE 架构中以获得新的潜在向量。通过采用这种更复杂的架构,可以在原始空间和潜在空间中最大化异常分数(重构误差),从而可以准确地对正常样本进行建模。此外,约束网络应用于潜在空间,因此该模型不会重建一些未经训练的异常观察。因此,它会生成类似于训练数据的新潜在变量,这有助于它区分正常数据和异常数据。 V AE 和 LSTM 作为单个组件集成在 PAD [34] 中,分别支持无监督异常检测和稳健预测。 V AE 显着降低了异常和噪声对预测单元的影响。至于 LSTM,它们协助 V AE 在其窗口之外维护长期序列。此外,光谱残差(SR)[85]被送入管道以提高性能。在每个子序列中,SR 为状态分配一个权重以显示正常程度。

TopoMAD(拓扑感知多元时间序列异常检测器)[81] 结合了 GNN、LSTM 和 VAE,通过时空学习检测云系统中的无监督异常。 TopoMAD 是一种随机 seq2seq 模型,它将来自云系统的拓扑信息与度量相结合,以生成基于图形的异常表示。因此,两个代表性的图神经网络(GCN 和 GAT)被替换为 LSTM 单元的基本层,以捕获拓扑的空间依赖性。随着现代数据集在维度上变得越来越复杂,为了检测异常,检查部分标记的信息变得更加必要 [103]。在半监督 V AE-GAN [138] 模型中,LSTM 作为层被合并到 V AE 中以捕获长期模式。编码器、生成器和鉴别器都是同时训练的,从而利用了编码器的映射和鉴别器的能力。此外,通过将 VAE 重建差异与判别器结果相结合,可以更好地区分正常数据中的异常。 现实世界的时间序列数据充斥着异常,这需要有效和及时的检测,尤其是在无监督的环境中,以降低标记成本。稳健的深度状态空间模型 (RDSSM) [115] 的目的是开发一种无监督的密度重建模型,用于检测多变量时间序列中的异常。该模型不同于大多数当前的异常检测方法,因为它使用被噪声污染的原始数据,而不是假设没有异常。有两个转换模块来解释时间依赖性和不确定性。为了处理异常引起的变化,排放模型采用了重尾分布错误缓冲组件,它提供了对受污染和未标记数据的稳健训练。通过使用上述生成模型,我们设计了一种检测方法来处理随时间波动的噪声。与现有方法相比,我们的模型可以为概率检测分配自适应异常分数。

在 [177] 中,提出了一种变分变换器作为一种在多变量时间序列数据(例如遥测)中进行无监督异常检测的技术。该模型不是构建特征关系图来捕获相关信息,而是通过自注意力来提取相关性。由于多变量时间序列的维数减少和序列之间的稀疏相关性,模型的性能得到改善。转换器的位置编码,在此模型中也称为全局时间编码,结合了时间序列和周期数据以捕获长期依赖性。多尺度特征融合使模型能够通过整合多个时间尺度的特征信息来获得更鲁棒的特征表达。凭借其残差自动编码器模块,该模型使用稳健的局部特征对隐藏空间进行规律性编码。由于模块的残差结构,减轻了KL散度,提高了模型生成的下限。

3.3.3 生成对抗网络(GAN)

在这里插入图片描述

图 12. 生成对抗网络 (GAN) 的概述,它由两个主要组件组成:生成器和鉴别器。生成器构建直接连接到鉴别器输入的时间序列的假输入窗口。鉴别器通过使用生成的实例作为负训练示例来学习区分真实时间序列和假窗口。可以通过结合经过训练的鉴别器和生成器来计算综合异常分数。

生成对抗网络 (GAN) 是一种人工智能算法,专为基于博弈论的生成建模而设计 [71]、[71]。在生成模型中,探索训练示例,并学习生成它们的概率分布。这样,生成对抗网络可以根据估计的分布生成更多示例,如图 12 所示。假设我们将生成器命名为 G,将鉴别器命名为 D。为了训练生成器和鉴别器,使用了以下 minimax 游戏: 在这里插入图片描述 其中 X t − w + 1 : t X_{t-w+1:t} Xt−w+1:t​ 是来自训练集的滑动窗口,在图 12 中称为真实输入,而 Z t − w + 1 : t Z_{t-w+1:t} Zt−w+1:t​ 是从具有相同窗口大小的随机空间中获取的生成输入窗口。

尽管 GAN 已被广泛应用于各种目的(主要是研究),但由于依赖于与大多数生成建模方法不同的博弈论,它们继续面临着独特的挑战和研究空缺。通常,基于 GAN 的模型考虑到这样一个事实,即对抗性学习使鉴别器对当前数据集之外的数据更加敏感,从而使此类数据的重建更具挑战性。 BeatGAN [195] 能够稳健地规范其重建,因为它在标签不可用的情况下结合使用自动编码器和 GAN [71]。此外,时间序列扭曲通过增加数据来提高检测精度。研究表明,BeatGAN 可以准确检测心电图和传感器数据中的异常。 然而,GAN 的训练通常很困难,需要在判别器和生成器之间仔细平衡 [106]。基于对抗训练的系统由于不稳定和难以收敛,不适合在线使用。使用对抗性自动编码器异常检测解释(DAEMON)[37],基于对抗性生成的时间序列检测异常。 DAEMON 自动编码器的训练包括三个部分:首先通过一维 CNN 对多变量时间序列进行编码。将先验分布应用于潜在向量而不是直接解码隐藏变量,并使用对抗策略将隐藏变量的后验分布拟合到先验分布。这是因为如果模型之前没有观察到相同的模式,那么直接解码潜在向量并使用重建误差将无法准确地重建时间序列。之后,重构的时间序列由解码器生成。同时,使用另一个对抗性训练程序来减少原始值和重建值之间的差异。它通过计算每个指标的重构误差并选择具有最高重构误差的前 k 个指标来确定根本原因,并定义了一个称为重构折扣累积增益 (RDCG@P%) 的新指标,这是一个基于归一化折扣累积的新指标增益(NDCG)。

MAD-GAN(Multivariate Anomaly Detection with GAN)[113] 是一种基于通用对抗网络(GAN)的模型。它通过 LSTM-RNN 捕获时间序列分布之间的时间关系,LSTM-RNN 在 GAN 中用作生成器和鉴别器,并同时考虑整个数据以捕获它们之间的潜在交互。为了检测异常,重建误差和辨别损失都被使用。 FGANomaly [56] (Filter GAN) 通过在训练前使用伪标签筛选可能的异常样本,减少了传统的基于 AE 和基于 GAN 的异常检测模型的过拟合问题,使模型能够更准确地捕获正态分布。生成器还有一个称为自适应减重的目标,它根据训练期间的重建误差动态地将权重分配给不同的点。通过使用这个训练目标,模型可以更多地关注似是而非的正常数据,从而减轻过度拟合。

3.3.4 变压器

提出了具有异常注意机制的异常变换器[183]​​,通过同时对每个时间戳的先验关联和系列关联进行建模来捕获关联差异,从而使罕见的异常更加可区分。从这个角度来看,异常更难与整个系列联系起来,而常态更容易与相邻的时间戳联系起来。先验关联使用高斯核估计相邻浓度归纳偏差,而系列关联使用从原始数据中学习的自注意力权重。除了重建损失之外,还设计了一种 MINIMAX 方法来增加关联差异的正常-异常歧视程度。 TranAD [171] 是一种基于变压器的异常检测模型,具有自我调节和对抗训练。由于其架构,它可以高效地进行训练和测试,同时在处理大量输入时保持稳定性。当偏差太小时,即如果数据接近正常,基于 transformer 的编码器-解码器网络可能无法检测异常。这个问题可以通过放大 TranAD 中的重建错误的对抗训练策略来解决。此外,鲁棒多模态特征检索的自我调节可以实现训练稳定性并促进泛化。利用与模型无关的元学习,即使数据有限 [66] 也能保证准确性,如文章中所示。

Li 等人 [116] 提出了一种称为 Dilated Convolutional Transformer GAN (DCT-GAN) 的无监督方法。在这项研究中,他们使用 Transformer 处理时间序列数据,使用基于 GAN 的模型来重建样本和检测异常,并使用扩张的 CNN 结构从潜在空间中提取时间信息。它结合了多个不同规模的变压器生成器,以在基于 GAN 的框架内获取粗粒度和细粒度信息,以提高其泛化能力。使用基于权重的机制来集成生成器,使该模型与不同类型的异常兼容。此外,MT-RV AE [177] 显着受益于 Transformer 的序列建模和 V AE 功能,这些功能都属于这两种架构。

3.4 混合模型

这些模型将基于预测的模型与基于重建的模型相结合以获得更好的时间序列表示。根据第 3.2 节和第 3.3 节,基于预测的模型使用下一个时间戳预测,而基于重建的模型使用整个时间序列的潜在表示。可以通过使用联合目标函数同时优化两个模型。

3.4.1 自动编码器(AE)

通过捕获多传感器时间序列中的时空相关性,CAE-M(深度卷积自动编码记忆网络)[191] 可以通过同时进行重建和预测来对基于归一化数据的广义模式进行建模。我们首先构建一个具有最大均值差异 (MMD) 惩罚的深度卷积自编码器,以近似低维中的某些目标分布,并减少由训练数据中的噪声和异常引起的过度拟合的可能性。为了更好地表示时间依赖性,使用了具有注意力的非线性双向 LSTM 和线性自回归模型。神经系统识别和贝叶斯过滤 (NSIBF) [62] 是一种新型的基于密度的 CPS 时间序列异常检测框架。具有专用架构的端到端训练神经网络是使用状态空间模型来实现的,以捕获 CPS 动态。作为检测阶段的一部分,贝叶斯过滤会自动应用于“已识别”状态空间模型之上,以筛选出隐藏状态并估计观测值的可能性。由于神经网络的表达能力与贝叶斯过滤器跟踪不确定性的能力相结合,NSIBF 可以高精度地检测来自复杂 CPS 的噪声传感器数据中的异常。

3.4.2 循环神经网络(RNN)

借助 TAnoGan [16],他们开发了一种方法,可以在提供有限数量示例的情况下检测时间序列中的异常。需要使用大量实例训练基于神经网络的模型,因为它们必须指定大量参数。 TAnoGan 已使用涵盖一系列主题的 46 个 NAB 时间序列数据集进行了评估。实验证明,当通过对抗训练对时间序列数据提出挑战时,基于 LSTM 的 GAN 可以胜过基于 LSTM 的 GAN。

3.4.3 图神经网络(GNN)

在[193]中,提出了两个并行图注意力(GAT)层用于自监督多元时间序列异常检测,它将提取不同时间序列之间的相关性(度量间依赖性)并学习时间戳之间的关系(时间依赖性)。该模型通过定义综合目标结合了基于预测和重建的模型。预测模型只预测一个点,而重建模型学习整个时间序列的潜在表示。该模型可以诊断异常时间序列(可解释性)。 Fused Sparse Autoencoder and Graph Net (FuSAGNet) [78] 是一个融合了 SAE 重建和 GNN 预测的框架,用于发现多变量数据中具有小异常的复杂关系。

FuSAGNet 结合了 GDN [49],但在每个过程中嵌入了传感器,然后是循环单元以捕获时间依赖性。通过学习递归传感器嵌入和输入的稀疏潜在表示,GNN 可以预测预期行为。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3