Learning Graph Structures with Transformer for Multivariate Time Series Anomaly Detection in IoT

系列文章目录

基于transformer的多变量时间序列异常检测学习图结构 IEEE



摘要

许多现实世界的物联网系统,包括各种互联网连接的传感设备,产生大量的多元时间序列数据。同时,智能电网和配水网络等重要的物联网基础设施经常成为网络攻击的目标,因此异常检测成为重要的研究课题。然而,考虑到传感器之间最初未知的复杂拓扑和非线性连接,对于任何高效和有效的异常检测系统来说,建模这种相关性是不可避免的。此外,多变量时间序列的时间依赖性和随机性使得异常检测变得困难。本文提出了一种用于多变量时间序列异常检测的新框架GTA,该框架包括自动学习图结构、图卷积和使用基于transformer的体系结构建模时间依赖性。连接学习策略是学习图结构的核心,它基于Gumbel-softmax采样方法直接学习传感器之间的双向连接。为了描述网络节点间的异常信息流,我们引入了一种新的图卷积,称为影响传播卷积。此外,为了解决二次复杂度障碍,我们提出了一种多分支注意机制来取代原来的多头自注意方法。在四个公开可用的异常检测基准上进行的大量实验进一步证明了我们的方法优于其他最先进的方法。代码可在https://github.com/ZEKAICHEN/GTA上获得

Multivariate time series, anomaly detection,graph learning, self-attention


提示:以下是本篇文章正文内容

一、介绍

由于互联网连接的传感设备数量迅速增加,物联网(IoT)基础设施产生了大量的传感数据。物联网数据通常以其地理和时间依赖性[1],[2]的速度为特征,并且经常受到相应上升的异常和网络攻击[3],[4]。许多建立在网络物理系统(CPS)[5]之上的关键基础设施,如智能电网、水处理和配电网络、交通运输和自动驾驶汽车,尤其需要[6]、[7]、[4]的安全监控。因此,一个高效、准确的异常检测系统可以帮助对基本控制或指标进行持续监测,并对可能发生的异常及时发出通知,具有很大的研究价值。

在这项工作中,我们专注于多变量时间序列[8]的异常检测,因为在许多现实场景中,大量的物联网传感器连续生成大量的时间序列数据。例如,在WADI (Secure Water Distribution)系统[9]中,在每个时间戳同时记录多个传感测量,如流量计、传输液位、阀门状态、水压液位等,形成多变量时间序列。在这种情况下,中央水处理试验台也被称为一个实体。从实体级别而不是传感器级别检测异常通常被接受,因为整体状态检测通常更值得关注且成本更低。主要是,来自这些传感器的数据以复杂的拓扑和非线性方式高度相关:例如,打开阀门会导致压力和流量变化,导致同一实体内其他传感器根据内部机制进一步连锁反应。然而,传感器之间的依赖关系最初是隐藏的,并且在大多数现实生活场景中难以获取,这导致了一个直观的问题:如何在不知道先验信息的情况下对传感器之间如此复杂的关系进行建模?

最近,由于序列建模优于高维数据集,基于深度学习的技术在异常检测方面表现出了一些有希望的改进。一般来说,现有的方法大致可以分为两类:基于重建的模型(R-model)[10]、[11]、[12]、[6]、[13]和基于预测的模型(F-model)[14]、[15]、[8]、[16]、[17]、[4]。例如,Auto-Encoders (AE)[10]是一种流行的异常检测方法,它使用重建误差作为异常值评分。最近,基于重建[20],[6]和基于rnn的预测方法[8],[17]的生成式对抗网络(GANs)[18],[19]也被报道在多元异常检测方面有很好的表现。然而,这些方法并没有明确地学习传感器之间的拓扑结构,因此在具有相当大的潜在相互关系的高维传感器数据建模方面留下了改进的空间。

图卷积网络(GCNs)[21],[22],[23],[24]由于其排列不变性,局部连通性和组合性[21],[25],最近显示出在学习图表示方面的判别能力。图神经网络允许每个图节点通过结构传播信息来识别其邻近环境。最近的研究[17],[26],[4]将时间建模方法与GCNs相结合,对传感器之间的拓扑关系进行建模。具体而言,大多数现有的基于图的方法[25],[4]旨在通过测量传感器嵌入之间的余弦相似度(或其他距离度量)并定义最接近的k个节点作为源节点的连接来学习图结构,然后通过图注意卷积来捕获信息传播过程。然而,我们认为(1)传感器嵌入之间的点积不可避免地导致传感器数量的二次时间和空间复杂性;(2)空间距离的紧密性不能完全表明拓扑结构中存在强联系。

为了解决上述问题,我们在本文中提出了一种名为基于变压器的异常检测图学习(GTA)的创新框架。我们设计了一种基于Gumbel-Softmax采样技巧的连接学习策略,从学习涉及实体内所有传感器的全局双向图结构的角度来克服二次复杂度挑战和top-K最近策略的局限性。策略逻辑可以在训练过程中自动发现隐藏的关联,通过判断某个特定节点的信息是否应该流向其他目标,以达到最佳的预测精度,同时尽可能限制每个节点的邻域范围。然后将发现的隐藏关联输入到图卷积层中进行信息传播建模。然后,我们将这些图卷积层与不同级别的扩展卷积层集成,以构建专门用于时间数据的分层上下文编码块。虽然循环机制可以自然地应用于时间依赖性建模,但在许多需要高计算效率的移动环境(例如物联网)中很难并行化。由于并行效率和远程上下文信息的捕获能力,我们采用基于Transformer[27]的结构进行序列建模和预测。我们还提出了一种新的多分支注意策略,以降低原自多头注意的二次复杂度。

我们的主要工作贡献总结如下:

•我们提出了一种新颖的可微连接学习策略来自动学习传感器之间依赖关系的图结构。同时,通过积分一个新的损失项来限制每个节点的邻域,进一步提高推理效率。
•我们引入了一种名为信息传播(IP)卷积的新型图卷积来模拟异常影响流动过程。然后将多尺度扩展卷积与图卷积相结合,形成有效的分层时间上下文编码块。
•我们提出了一种新的多分支注意机制,以解决原有多头注意机制的二次复杂度挑战。
•我们在广泛的多元时间序列异常检测基准上进行了广泛的实验,以证明我们提出的方法优于最先进的方法。

二、相关工作

现有的关于时间序列异常检测的文献通常可以分为两大类。第一类通常对每个时间序列变量独立建模,而第二类则考虑多变量时间序列之间的相关性,以提高性能。

A.单变量时间序列的异常检测

近年来,单变量时间序列的异常检测受到了许多研究者的关注。传统的异常检测框架包括两个主要阶段:估计阶段和检测阶段。在估计阶段,可以通过特定的算法预测或估计一个时间戳或时间间隔内的变量值。然后根据动态调整的阈值将估计值与实际值进行比较,在检测阶段检测异常。例如,Zhang等[29]应用ARIMA捕获未来值与过去值之间的线性依赖关系,从而对时间序列行为进行建模,用于异常检测。Lu等人利用小波分析构建了估计模型。随着深度学习的发展,各种神经网络架构也被应用到异常检测中。DeepAnt[31]是一种使用卷积神经网络(CNN)预测未来时间序列值的无监督方法,采用欧几里得距离测量差异进行异常检测。LSTM神经网络也被广泛应用于时间序列行为[32],[33],[6]的建模。基于lstm的编解码器[32]对变量值进行重构,并测量重构误差进行检测。

B.多元时间序列的异常检测

在实际场景中,时间序列数据采集源可能是多个bb0。因此,许多工作开始关注利用多变量之间的相关性来提高异常检测的准确性。Jones等[35]提取时间序列的统计和平滑轨迹(SST)特征,利用一组非线性函数对相关变量进行建模,检测异常。MAD-GAN[6]以LSTM网络为基础模型捕捉时间序列数据的时间相关性,考虑不同时间序列变量之间的复杂依赖关系,提出了一种结合生成对抗网络(GAN)的无监督异常检测方法。Sakurada et al.[36]基于自编码器进行了降维异常检测。ODCA框架[37]包括数据预处理、离群分析和离群排序三个部分,利用相互关系将高维数据集转化为一维相互关系函数。OmniAnomaly[13]是一种避免不确定实例潜在误导的随机模型,利用随机变量连接和归一化流来获得重建概率,采用DSPOT (streaming POT with drift)算法[38]进行自动阈值选择。Senin等人[39]提出了两种算法,通过符号时间序列离散化和语法约简对输入序列进行压缩,并用语法规则对其进行紧凑编码。语法规则中很少使用的子字符串被视为异常。外源输入自回归(ARX)和人工神经网络(ANN)[40]提取时间序列特征,并通过残差极值进行假设检验来检测异常数据点。

在这里插入图片描述
图1:我们提出的GTA架构的可视化,包括l级展开卷积和图卷积,3个编码器层和1个解码器层。通常将多变量时间序列输入分为训练序列和标签序列,其中训练序列送入编码器,标签序列送入解码器。

为了弥补cnn的卷积算子和池化算子是为规则网格定义的不足,最近的GNN[41]将cnn推广到能够编码不规则和非欧几里得结构的图。GNN采用局域化光谱滤波器,并使用图粗化算法对相似顶点进行聚类,提高速度。这样,GNN有效地提取了局部平稳特性,并捕获了节点间的相关性。在现实的物联网环境中,传感器之间相关性的图结构建模通常不是预先定义的。图偏差网络(GDN)[4]通过余弦相似度来学习两两关系,并将其精细化成一个图。然后通过基于图注意力的预测预测未来值,并计算绝对误差值来评估图偏差得分。MTAD-GAN[17]将面向特征和面向时间的图注意层连接起来学习图结构,采用基于预测的模型和基于重构的模型计算综合损失。然后采用自动阈值算法进行异常检测。

三、问题陈述

在这项工作中,我们主要研究多元时间序列异常检测的任务。设 X ( t ) ∈ R M \mathcal{X}^{(t)}\in\mathbb{R}^M X(t)RM表示任意时间点t的原始多元时间序列数据,其中M为同一实体内传感器或任意数据测量节点的总数。在一些文献[6],[13],[4]中,M也被报道为特征或变量的个数。考虑到正常数据与异常之间的高度不平衡,我们只在正常数据(无异常)上构建序列建模过程,在测试数据(有异常)上进行预测,进行异常检测。具体来说,我们让X和 X ^ \hat{\mathcal{X}} X^分别表示整个正常数据和异常数据。对于正常数据的序列建模,我们继承了一种基于预测的策略来预测下一个时间步t 数据 x ( t ) ∈ R M \mathbf{x}^{(t)}\in\mathbb{R}^M x(t)RM(即。单步时间序列预测)基于历史数据 x = { x ( t − n ) , ⋯   , x ( t − 1 ) } \mathbf{x}=\{\mathbf{x}^{(t-n)},\cdots,\mathbf{x}^{(t-1)}\} x={x(tn),,x(t1)},特定窗口大小为n。因此,给定多变量连续观测的历史n个时间步序列 x ^ ∈ R M × n \hat{\mathbf{x}}\in\mathbb{R}^{M\times n} x^RM×n,异常检测的目标是预测输出向量 y ^ ∈ R n \hat{\mathbf{y}}\in\mathbb{R}^n y^Rn,其中 y ^ ( t ) ∈ { 0 , 1 } \hat{\mathbf{y}}^{(t)}\in\{0,1\} y^(t){0,1}表示在时间点t是否存在异常的二进制标签。准确地说,我们提出的方法为每个测试时间戳返回一个异常分数,然后通过选择不同的阈值获得异常结果。

我们还提供了一些与图相关的基本概念,以便更好地理解,具体表述如下:

定义III.1(图)。有向图表达式为 G = ( V , E ) \mathcal{G}=(\mathcal{V},\mathcal{E}) G=(V,E),其中 V = { 1 , ⋯   , M } \mathcal{V}=\{1,\cdots,M\} V={1,,M}为节点集, E   ⊆   V × V \mathcal{E}~\subseteq~\mathcal{V}\times\mathcal{V} E  V×V为边集,其中 e i , j \mathbf{e}_{i,j} ei,j为从节点i流向节点j的单向边。

定义III.2(节点邻居)。设 i ∈ V i\in\mathcal{V} iV表示一个节点, e i , j ∈ E \mathbf{e}_{i,j}\in\mathcal{E} ei,jE表示从节点i指向节点j的边。任意节点i的邻域定义为 N ( i ) = { j ∈ V ∣ e i , j ∈ E } \mathcal{N}(i)=\{j\in\mathcal{V}|\mathbf{e}_{i,j}\in\mathcal{E}\} N(i)={jVei,jE}

在这里插入图片描述

图2:假设我们有3个传感器(N1,N2,N3),它们的依赖关系尚未隐藏。我们的连接学习策略的主要思想是使用Gumbel-Softmax采样策略对一个随机的分类向量进行采样,以确定两个节点之间是否可以建立任何有向连接。对于N1和N2,如果 P 1 , 2 \mathcal{P}_{1,2} P1,2的值比较大,则表示N1极有可能指向N2,反之亦然。

四、方法论

在物联网的大多数现实场景中,传感器之间通常存在复杂的拓扑关系,整个实体可以被视为一个图结构。每个传感器也被视为图中的一个特定节点。以前的方法[25]、[4]主要是通过选择最接近的前k个节点作为它们的邻居依赖项来应用各种距离度量来度量节点之间的关系。与现有方法不同,我们设计了一种有向图结构学习策略(见图1),自动学习节点之间的邻接矩阵,使网络获得最大的效益。该学习策略的核心被命名为Gumbel-Softmax采样策略[42],[43],灵感来自于许多强化学习方法中的策略学习网络[44],[45]。然后将这些发现的隐藏关联馈送到图卷积层中进行信息传播建模。然后,我们将这些具有不同级别扩展卷积层的图卷积层集成在一起,以构建专门用于时间数据的分层上下文编码块。然后将上下文编码块的输出应用位置编码作为Transformer[27]的输入,用于单步时间序列预测。我们还提出了一种全局注意策略,以克服多头注意机制的二次计算复杂度挑战。图1进一步详细说明了整个体系结构。

A. Gumbel-Softmax采样

从分类分布中获取离散数据的采样过程最初是不可微的,这使得深度神经网络无法进行典型的反向传播。[42],[43]通过引入Gumbel-Softmax分布,提出了随机计算中离散随机变量的可微替换。Gumbel-Softmax分布是一种单纯形上的连续分布,可以近似于分类分布的样本。在有M个候选节点的图学习策略中,设 z i , j \mathbf{z}^{i,j} zi,j为任意一对节点i和j的二元连接控制变量,从节点i到节点j的单向概率为 { π 0 i , j , π 1 i , j } , \{\pi_0^{i,j},\pi_1^{i,j}\}, {π0i,j,π1i,j},其中 π 0 i , j + π 1 i , j = 1 \pi_{0}^{i,j}+\pi_{1}^{i,j}=1 π0i,j+π1i,j=1 π 1 i , j \pi_1^{i,j} π1i,j表示图中存在从节点i到节点j的信息流的概率(见图2)。同样,通过Gumbel-Max技巧,我们可以对任意一对节点的连接策略 z i , j ∈ { 0 , 1 } 2 z^{i,j}\in\{0,1\}^{2} zi,j{0,1}2进行采样:

z i , j = arg ⁡ max ⁡ c ∈ { 0 , 1 } ( log ⁡ π c i , j + g c i , j ) ( 1 ) \begin{aligned}z^{i,j}=\arg\max_{c\in\{0,1\}}(\log\pi_c^{i,j}+g_c^{i,j})\quad\quad\quad(1)\end{aligned} zi,j=argc{0,1}max(logπci,j+gci,j)(1)

其中 g 0 , g 1 g_{0},g_{1} g0,g1是从标准Gumbel分布中抽取的i.i.d个样本,通过绘制u ~ Uniform(0,1)并计算 g = − log ⁡ ( − log ⁡ u ) . g=-\operatorname{log}(-\operatorname{log}u). g=log(logu).,可以很容易地使用逆变换采样进行采样。我们进一步用Softmax重新参数化技巧(也称为Gumbel-Softmax技巧)代替这个arg max操作,因为它不可微。作为:

z c i , j = exp ⁡ ( ( log ⁡ π c i , j + g c i , j ) / τ ) ∑ v ∈ { 0 , 1 } exp ⁡ ( ( log ⁡ π v i , j + g v i , j ) / τ ) ( 2 ) z_c^{i,j}=\frac{\exp((\log\pi_c^{i,j}+g_c^{i,j})/\tau)}{\sum_{v\in\{0,1\}}\exp((\log\pi_v^{i,j}+g_v^{i,j})/\tau)}\quad(2) zci,j=v{0,1}exp((logπvi,j+gvi,j)/τ)exp((logπci,j+gci,j)/τ)(2)

其中 c ∈ { 0 , 1 } c\in\{0,1\} c{0,1},τ为控制Gumbel-Softmax分布平滑度的温度参数,当温度τ趋近于0时,Gumbel-Softmax分布与单热分类分布相同。由于g的随机性与π无关,我们现在可以使用标准梯度下降算法直接优化我们的门控策略。

与以往的图结构学习方法相比,由于不需要高维节点嵌入之间的点积,我们提出的方法将计算复杂度从 O ( M 2 ) \mathcal{O}(M^2) O(M2)显著降低到 O ( 1 ) \mathcal{O}(1) O(1)。此外,图结构学习策略能够自动学习所有节点之间的全局拓扑连接,从而避免了只选择top-K最近的节点作为邻居的限制。

B.通过图卷积影响传播

在学习到的拓扑结构之上,图卷积块旨在进一步建模影响传播过程,并通过结合其邻居的信息来更新每个特定节点的表示。考虑到异常检测等任务的特点,异常的发生通常是由于一个或多个节点受到攻击而引起的一系列连锁影响。因此,我们可以直观地通过捕捉时间和空间差异来模拟上下游节点之间的关系。因此,我们通过在与每个节点发出的所有边相关的节点之间的差异上应用节点明智的对称聚合操作(例如,add, mean或max)来定义涉及每个特定节点及其邻域的影响传播(IP)卷积过程。IPConv在第i个节点上更新后的输出为: x i ′ = ∑ j ∈ N ( i ) h Θ ( x i ∣ ∣ x j − x j ∣ ∣ x j + x i ) ( 3 ) \mathbf{x}_i^{\prime}=\sum_{j\in\mathcal{N}(i)}h_{\boldsymbol{\Theta}}(\mathbf{x}_i||\mathbf{x}_j-\mathbf{x}_j||\mathbf{x}_j+\mathbf{x}_i)\quad(3) xi=jN(i)hΘ(xi∣∣xjxj∣∣xj+xi)(3)

其中,在我们的方法中选择了求和,hΘ表示神经网络,即MLPs (Multi-layer Perceptrons), x i ∈ R T \mathbf{x}_i\in\mathbb{R}^T xiRT表示节点i的时间序列嵌入,||表示连接操作。我们将 x j − x i \mathbf{x}_j-\mathbf{x}_i xjxi表示为节点之间的差异,以显式地模拟从节点j到i的影响传播延迟,该延迟由时间序列嵌入的每个时间戳的值差捕获。我们还将术语 x j + x i \mathbf{x}_j+\mathbf{x}_i xj+xi与差异结合起来作为尺度基准,这样模型就可以学习异常对其他节点带来的真正广义影响,而不是极值。直观地说,对于任何一个特定的节点i,如果它的邻居节点j受到攻击,由于拓扑关系的限制,节点i迟早会受到严重的影响。
在这里插入图片描述图3:分层展开卷积与图卷积结合的可视化。

训练策略和正则化。基于学习到的传感器间依赖关系的图卷积只对节点相邻节点的信息进行聚合,没有考虑效率。在所有节点相互连接的极端情况下,聚合邻域信息会给每个节点带来相当大的噪声。但是,我们更倾向于为每一个节点形成一个紧凑的子图结构,在不影响预测精度的前提下,尽可能省略冗余连接。为此,我们提出了一个稀疏性正则化 L s \mathcal{L}_{s} Ls,通过最小化连接建立概率的对数似然来增强每个节点的紧凑性
L s = ∑ 1 ≤ i , j ≤ M , i ≠ j log ⁡ π 1 i , j ( 4 ) \mathcal{L}_s=\sum_{1\leq i,j\leq M,i\neq j}\log\pi_1^{i,j}\quad\quad\quad(4) Ls=1i,jM,i=jlogπ1i,j(4)
此外,为了促进更好的学习收敛,连接学习策略初始化为所有节点连接。我们通过使用这个完整的图结构训练几个epoch来预热网络权值,为策略学习提供一个良好的起点。

C.分层扩张卷积

扩展卷积[46]通过标准一维卷积滤波器捕获时间序列数据的顺序模式,从而提取高级时间上下文特征,因此被广泛应用于序列建模。设置不同的膨胀大小级别可以发现不同范围的时间模式,并处理非常长的序列。然而,对于卷积运算来说,选择正确的核大小通常是一个具有挑战性的问题。先前的一些方法采用了计算机视觉中广泛使用的初始学习策略[47],该策略将不同核大小的卷积滤波器的输出与加权矩阵连接起来。与之不同的是,我们提出了一种结合图卷积的分层扩展卷积学习策略,通过设置多尺度扩展大小来充分探索不同序列长度和接受野的时间上下文建模过程。具体而言,如图3所示,底层表示多元时间序列输入(对于某个时间t,对其施加不断增加的扩张卷积;在观察到的模型中,过滤器宽度再次设置为等于2)。第一级块应用扩展卷积,扩展率等于1,这意味着该层对输入序列的两个相邻元素 x ( t ) \mathbf{x}^{(t)} x(t) x ( t + 1 ) \mathbf{x}^{(t+1)} x(t+1)应用滤波器。将第一级扩展卷积的输出输入到上面提出的图卷积模块中。然后第二层应用扩展卷积,速率现在设置为等于2,这意味着过滤器应用于元素 x ( t ) \mathbf{x}^{(t)} x(t) x ( t + 2 ) \mathbf{x}^{(t+2)} x(t+2)(注意这里参数的数量保持不变,但过滤器的宽度被“拓宽”了)。通过分层学习方式设置多尺度扩张大小,可以有效地学习到丰富的不同时间位置和序列长度的时间表征。

分层展开卷积和图卷积共同构成时间上下文嵌入级数,其中展开卷积捕获长期时间依赖性,而图卷积描述传感器(或节点)之间的拓扑连接关系。因此,最终输出已被很好地表示为使用Transformer体系结构的下一个预测过程的输入。

D.更高效的多分支Transformer

变压器[27]由于其多头注意机制在远距离依赖捕获方面的优越能力,在序列建模中得到了广泛的应用。然而,自注意的一个主要效率瓶颈是成对令牌交互点产生相对于序列长度的复杂度为O(n2)。为了应对这一挑战,在本节中,我们首先简要回顾了多头注意机制的一些最新发展背景,然后提出了一种基于创新的多分支注意机制的更高效的Transformer架构,该架构具有更高的计算效率。

Self-attention in Transformers. 普通的多头自注意力机制最初由[27]提出。对于标记表示序列 X ∈ R n × d \mathbf{X}\in\mathcal{R}^{n\times d} XRn×d(序列长度为 n,维度为 d),自注意力函数首先将它们投影到查询 Q ∈ R n × d k \mathbf{Q}\in\mathcal{R}^{n\times d_{k}} QRn×dk 、键 K ∈ R n × d k \mathbf{K}\in\mathcal{R}^{n\times d_{k}} KRn×dk和值 V ∈ R n × d v \mathbf{V}\in\mathcal{R}^{n\times d_{v}} VRn×dv中,h 次,分别使用不同的学习线性投影到 dk、dk 和 dv 维度。然后计算特定的缩放点积注意力以获得值的权重,如下所示:

Attention ( Q , K , V ) = Softmax ( Q K T d k ) V (5) \text{Attention}(\mathbf{Q},\mathbf{K},\mathbf{V})=\text{Softmax}(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}})\mathbf{V}\quad\text{(5)} Attention(Q,K,V)=Softmax(dk QKT)V(5)

多头注意力允许模型共同关注来自不同位置的不同表示子空间的信息。通过级联计算方式,多头注意力的最终输出如下:
在这里插入图片描述
图 4:高效多分支注意力机制的不同变体。右图:通过将嵌入拆分为多个通道,将普通多头注意力替换为全局固定注意力和普通多头注意力以及邻域卷积的组合。

MultiHead ⁡ ( Q , K , V ) = Concat ⁡ ( h e a d 1 , ⋯   , h e a d h ) W O ( 6 ) \begin{aligned}\operatorname{MultiHead}(\mathbf{Q},\mathbf{K},\mathbf{V})=\operatorname{Concat}(head_1,\cdots,head_h)W^O\\(6)\end{aligned} MultiHead(Q,K,V)=Concat(head1,,headh)WO(6)

其中,h为总头数。每个头定义为:

h e a d i = Attention ( Q W i Q , K W i K , V W i V ) ( 7 ) head_i=\text{Attention}(\mathbf{Q}W_i^Q,\mathbf{K}W_i^K,\mathbf{V}W_i^V)\quad(7) headi=Attention(QWiQ,KWiK,VWiV)(7)

其中投影是参数矩阵 W i Q ∈ R d × d k W_{i}^{Q}\in\mathcal{R}^{d\times d_{k}} WiQRd×dk, W i K ∈ R d × d k W_{i}^{K}\in\mathcal{R}^{d\times d_{k}} WiKRd×dk, W i V ∈ R d × d v W_{i}^{V}\in\mathcal{R}^{d\times d_{v}} WiVRd×dv, W O ∈ R h d v × d . W^{O}\in\mathcal{R}^{hd_{v}\times d}. WORhdv×d.

Global-learned Attention 最近的研究 [48]、[49] 声称 Transformers 中的自注意力可以通过训练时的琐碎注意力模式得到极大简化:只需要保留相邻和之前的标记。相邻位置信息(例如“当前令牌”、“前一个令牌”和“下一个令牌”)是编码器自注意力在所有层中学习的关键特征。传统的成对标记交互注意力可以被计算效率更高的全局注意力模式取代,而不是使用具有大量计算资源的海量语料库来学习琐碎模式。在实践中,手动预定义所有全局固定模式很容易实现,但很难覆盖所有可能的情况。为了概括[50]中提出的全局固定注意力模式,我们应用参数矩阵 S   ∈ R m × m ( m > n ) \textbf{S }\in\mathcal{R}^{m\times m}(m>n) Rm×m(m>n)作为合成器[51]之后所有训练样本的可学习全局兼容性函数。因此,每个头增加 m 2 m^{2} m2 参数,同时减少两个投影矩阵 WQ 和 WK。目前关注的情况如下:

A t t e n t i o n ( S , V ) = S o f t m a x ( S ) V \mathrm{Attention}(\mathbf{S},\mathbf{V})=\mathrm{Softmax}(\mathbf{S})\mathbf{V} Attention(S,V)=Softmax(S)V

其中S是可以随机初始化的可学习矩阵。

Transformer 的多分支架构 [52]证明了多分支注意力在捕获全局和局部上下文模式方面的有效性,特别是在移动计算限制下。如图 4 所示,这种双分支架构将原始输入序列沿着嵌入通道分成两部分,然后是两个注意分支:一个用于在受限邻域中提取信息的卷积分支和一个用于捕获长信息的多头注意分支-距离依赖性。作为普通自注意力的替代品,我们应用了一个特定于任务的对齐矩阵,该矩阵在所有训练样本中进行全局学习,其中注意力权重不再以我们架构中的任何输入标记为条件。如图 4 所示,通过简单地用全局学习对齐替换点生成,输入序列将仅被投影到值矩阵中。然后使用这种全局学习注意力来计算值的加权总和。为了探索计算效率和模型性能之间更好的权衡,我们建议将成对令牌交互和全局学习注意力结合到分支混合策略中。

分支混合 对于分支混合,输入序列沿着嵌入维度分成多个分支,如图 4 清楚地描述的那样。与原来的两分支架构不同,我们为全局学习注意力多构建了一个分支。因此, Attention = C o n c a t ( A ( 1 ) , A ( 2 ) ) A ( 1 ) = M u l t i H e a d ( X ( 1 ) ) (9) A ( 2 ) = G l o b a l ( X ( 2 ) ) \begin{aligned} \text{Attention}& =\mathrm{Concat}(\mathbf{A}^{(1)},\mathbf{A}^{(2)}) \\ \mathbf{A}^{(1)}& =\mathrm{MultiHead}(\mathbf{X}^{(1)}) & \text{(9)} \\ \mathbf{A}^{(2)}& =\mathrm{Global}(\mathbf{X}^{(2)}) \end{aligned} AttentionA(1)A(2)=Concat(A(1),A(2))=MultiHead(X(1))=Global(X(2))(9)

w h e r e   X ( 1 ) ∈ R n × d 1 , X ( 2 ) ∈ R n × d 2   a n d   d = d 1 + d 2 . \mathrm{where~}\mathbf{X}^{(1)}\in\mathcal{R}^{n\times d_1},\mathbf{X}^{(2)}\in\mathcal{R}^{n\times d_2}\mathrm{~and~}d=d_1+d_2. where X(1)Rn×d1,X(2)Rn×d2 and d=d1+d2.

在我们的模型中,我们仅更改捕获全局上下文的分支,同时使用 lightConv 或dynamicConv 保留本地模式提取器。

计算分析 表一列出了我们提出的框架中探索的不同模型变体。 |θ| 列指一个自注意力模块中不包括前馈层的参数总数。显然,与原始的缩放点生产相比,全局学习注意力的计算量在Mult-Adds方面直接减少了一半。我们提出的多分支混合策略由于与缩放点生产的混合而不同程度地增加了计算量。然而,这是计算复杂性和模型大小之间的权衡。更准确地说,当 m ≤ 2 / h d , m\leq\sqrt{2/h}d, m2/h d,时,全局注意力模块比其他变体的计算效率更高。

E. Anomaly Scoring

受[54]的启发,原始的多元时间序列输入被分为两部分:编码器的训练序列和解码器的标签序列。解码器接收长序列输入,将目标元素填充为零,测量特征图的加权注意力组成,并立即以生成方式预测输出元素。令单步预测表示为 Y ^ ∈ R M × n \hat{\mathcal{Y}}\in\mathbb{R}^{M\times n} Y^RM×n。我们应用预测输出 Y ^ \hat{\mathbf{Y}} Y^和观测值 Y 之间的均方误差 (MSE) 作为损失函数来最小化:

L m s e = 1 M ∑ t = 1 n ∣ ∣ Y ( t ) − Y ^ ( t ) ∣ ∣ 2 2 ( 10 ) \mathcal{L}_{mse}=\frac1M\sum_{t=1}^n||\mathcal{Y}^{(t)}-\hat{\mathcal{Y}}^{(t)}||_2^2\quad\quad(10) Lmse=M1t=1n∣∣Y(t)Y^(t)22(10)

与损失目标类似,异常分数将时间 t 的预期值与观测值进行比较,通过偏差水平计算异常分数: y ^ ( t ) = ∑ i = 1 M ∣ ∣ Y i ( t ) − Y ^ i ( t ) ∣ ∣ 2 2 ( 11 ) \hat{\mathbf{y}}^{(t)}=\sum_{i=1}^M||\mathcal{Y}_i^{(t)}-\hat{\mathcal{Y}}_i^{(t)}||_2^2\quad\quad\quad(11) y^(t)=i=1M∣∣Yi(t)Y^i(t)22(11)

最后,如果 y ^ ( t ) \hat{\mathbf{y}}(t) y^(t)超过固定阈值,我们将时间戳 t 标记为异常。由于可以采用不同的方法来设置阈值,例如极值理论[38],因此相同的异常检测模型可能会因不同的异常阈值而导致不同的预测性能。因此,我们对所有可能的异常阈值应用网格搜索,以搜索理论上最好的 F1 分数(带有符号 **)和召回率(带有符号 *)并报告它们。

五、 实验

A. 数据集

我们在广泛的现实世界异常检测数据集上评估我们的方法。 SWaT [55] 安全水处理数据集是从 2015 年 5 月启动的用于网络攻击调查的水处理试验台收集的。SWaT 数据集收集过程持续了 11 天,系统每天 24 小时运行,使得网络流量并记录从所有 51 个传感器和执行器获得的所有值。由于系统工作流程特点,所有传感节点之间存在天然的拓扑结构关系。此后,在 2016 年 SWaT 数据收集过程的最后 4 天内,通过考虑 CPS 意图空间的攻击模型,总共发起了 41 次攻击。因此,整体顺序数据根据每个时间戳的正常和异常行为进行标记。 WADI [9] 供水数据集是从供水测试台收集的,作为 SwaT 测试台的扩展。总共16天的连续运行,其中14天为常规运行,2天为攻击场景。整个测试台包含123个传感器和执行器。此外,SMAP(土壤湿度主动被动卫星)和MSL(火星科学实验室漫游器)是NASA发布的两个公共数据集[56]。每个数据集都有一个训练子集和一个测试子集,两个测试子集中的异常都已被标记[8]。

表一:不同注意力类型的记忆和计算分析。
在这里插入图片描述
表 II:数据集 SWaT 和 WADI 的统计摘要。
在这里插入图片描述

表 III:数据集 SMAP 和 MSL 的统计摘要。
在这里插入图片描述

表二和表三总结了四个数据集的统计数据。为了与其他方法进行公平比较,SWaT 和 WADI 的原始数据样本通过采用以下中值进行下采样至每 10 秒一次测量[4]。

B. 实验设置

1)数据预处理:我们在训练之前进行数据标准化,以提高模型的稳健性。数据预处理应用于训练集和测试集:

x ~ = x − min ⁡ X t r a i n max ⁡ X t r a i n − min ⁡ X t r a i n ( 12 ) \tilde{x}=\frac{x-\min X_{train}}{\max X_{train}-\min X_{train}}\quad\quad(12) x~=maxXtrainminXtrainxminXtrain(12)

其中max(Xtrain)和min(Xtrain)分别是训练集的最大值和最小值。

2)评估指标:我们采用异常检测任务中的标准评估指标,即Precision、Recall和F1分数来评估我们方法的性能,其中:

在这里插入图片描述

其中TP代表真正检测到的异常(又名真阳性),FP代表错误检测到的异常(又名假阳性),TN代表正确分类的正常样本(又名真阴性),FN是错误分类的正常样本(又名假阴性)。鉴于在许多现实世界的异常检测场景中,系统通过容忍一些误报来检测所有真实的攻击或异常更为重要。因此,我们通常更关注 Recall 和总体 F1 分数,而不是 Precision。考虑到不同的异常分数阈值可能会导致不同的指标分数,因此我们报告了所有数据集上的最佳召回率和 F1 结果(分别带有符号 * 和 **),以进行彻底的比较。

此外,我们采用点调整方式来计算性能指标,如下[13]。在实践中,异常观察通常连续发生以形成连续的异常片段。可以在实际异常窗口的任何子集中触发异常警报。因此,对于地面真实异常片段中的任何观察,如果它被检测为异常或攻击,我们会认为整个异常窗口被正确检测到,并且该片段中的每个观察点都被分类为异常。地面实况异常部分之外的观察结果按平常处理。总之,我们首先在训练集上训练我们的模型,以学习一般序列模式,并对测试集进行预测以进行异常检测。

表 IV:SwaT 和 WADI 的实验结果。
在这里插入图片描述
表V:SMAP和MSL的实验结果。
在这里插入图片描述
3)基线:我们将我们的 GTA 与多元时间序列异常检测中的各种最先进的模型进行比较,包括:(1)基于重建的模型:PCA、AE [10]、KitNet [57]、DAGMM [12]、GAN-Li [20]、OmniAnomaly [13]、LSTM-VAE [11]、MAD-GAN [6],以及(2)基于预测的模型:KNN [14]、FB [15]、MTAD- GAT [17] 和 GDN [4]。

4)训练设置:我们使用 Pytorch1 1.7.0 版和 CUDA 10.1 以及 Pytorch Geometric Library [58] 1.6.3 版来实现我们的方法及其所有变体。我们在四个 NVIDIA Tesla P100 GPU 上进行所有实验。对于时间序列预测,我们将历史窗口大小设置为 60 帧,标签序列长度设置为 30,以预测下一个时间戳的值。用于时间上下文建模的扩张卷积层数设置为3。此外,一般模型输入嵌入维度设置为128。对于传统的多头注意力机制,头的数量设置为8。总共,我们有3个编码器层和2个解码器层,全连接网络的维度设置为128,等于模型维度。此外,我们应用 dropout 策略来防止过度拟合,dropout 率始终等于 0.05。模型使用 Adam 优化器进行训练,学习率初始化为 1e−4,β1、β2 分别初始化为 0.9、0.99。还应用了学习率调整策略。我们对模型进行最多 50 个 epoch 的训练,并以 10 次耐心应用提前停止策略。我们对每个实验进行 5 次试验并报告平均值。

C. 实验结果

在表 IV 中,我们展示了我们提出的 GTA 方法和数据集 SWaT 和 WADI 上其他最新技术的异常检测精度(在精度、召回率和 F1 分数方面)。每个基线都提供了特定的阈值选择方法,并相应地计算报告的 F1 分数。我们提出的 GTA 在两个数据集上的表现均显着优于所有其他方法,获得了最佳 F1 分数(SWaT 为 0.91,WADI 为 0.84)。令人惊讶的是,与第二好的模型 GDN 相比,GTA 在这两个数据集上的最佳 F1 分数分别实现了 12.35% 的整体提升和 47.47% 的令人印象深刻的提升。此外,我们有以下观察结果:(1)与传统的无监督方法(如PCA、KNN、FB)相比,基于深度学习的技术(AE、LSTM-VAE、MAD-GAN等)通常具有更好的检测性能在两个数据集上。通过采用循环机制(RNN、GRU、LSTM)对长序列进行建模并捕获时间上下文依赖性,基于深度学习的方法表现出优于传统方法的优越性。 (2)DAGMM [12]旨在处理没有时间信息的多变量数据,表明输入数据仅包含一个观测值而不是历史时间序列窗口。因此,这种方法不适合时间依赖性建模,而时间依赖性建模对于多元时间序列异常检测至关重要。 (3)大多数现有方法都是基于循环神经网络来捕获时间依赖性,包括基于重建的模型(LSTM-VAE、OmniAnomaly、MAD-GAN)和基于预测的模型(LSTM-NDT、MTAD-GAT)。其中,LSTMNDT[8]是一种确定性模型,没有利用随机信息来建模时间序列的固有随机性。 LSTM-VAE[11]将LSTM与VAE结合进行序列建模;然而,它忽略了潜在变量之间的时间依赖性。 O 用于对时间序列的固有随机性进行建模的信息。 LSTM-VAE[11]将LSTM与VAE结合进行序列建模;然而,它忽略了潜在变量之间的时间依赖性。随后提出了 OmniAnomaly [13] 来解决这个问题。此外,MAD-GAN [6] 旨在采用通用的对抗性训练方式来重建原始时间序列,其中也使用了循环神经网络。然而,循环学习机制的核心属性限制了建模过程的顺序性。过去的信息必须通过过去的隐藏状态来保留,限制了模型的长期序列建模能力。 Transformer 采用非序列学习方式,强大的自注意力机制使时间序列的任何 token 之间的上下文距离缩小到 1,这对于序列建模非常重要,因为更多的历史数据可以提供更多的模式信息。 (4)虽然GDN[4]也是一种基于图学习的异常检测方法,但它采用top-K最近连接策略来建模传感器之间的拓扑图结构,这具有一定的局限性,正如我们在第一节中讨论的那样。 GAT [17]通过假设所有传感器相互连接来直接利用初始图结构信息,使其成为不适合许多现实生活情况的完整图。

表 VI:GTA 及其变体的精度 (%)、召回率 (%) 和 F1 分数方面的异常检测准确度。
在这里插入图片描述
从表 V 可以看出,在数据集 SMAP 和 MSL 上最佳 F1 分数方面的总体改进并不像表 IV 所示的那样令人印象深刻。我们认为 NASA 异常数据集和网络攻击数据集结果的主要区别在于特征的依赖性。 SMAP 通过测量各种独立的属性(例如辐射、温度、计算活动等)来提供地表土壤湿度的测量。虽然这些属性并非完全相互独立,但它们之间的内部关系比 SWaT 或 WADI 中的内部关系弱得多其中一个传感器上出现的任何细微变化都可以传播到整个网络。因此,我们提出的图结构学习策略可能对具有强拓扑结构的数据集更有效。

D. Ablation Studies

为了研究我们方法有效性的每个组成部分,我们逐渐排除这些元素,以观察模型性能在数据集 SWaT 和 WADI 上如何下降。首先,我们研究使用图学习对传感器之间的依赖关系进行建模的重要性。我们直接应用原始时间序列作为 Transformer 的输入,并在没有图学习阶段的情况下进行预测。其次,我们通过用静态完整图代替它来研究我们提出的结构学习策略(LP)的重要性,其中每个节点都相互双向链接。最后,为了研究基于 Transformer 的架构进行序列建模的必要性,我们用基于 GRU 的循环神经网络代替 Transformer 进行预测。结果总结在表六中,并提供以下观察结果:(1)我们提出的学习策略通过仅捕获适当的信息流并滤除噪声来帮助图卷积运算。 (2)GTA与没有图学习的变体之间存在相当大的差距,这再次证明了拓扑结构建模在处理多元时间序列异常检测中的重要性。 (3)基于Transformer的架构在序列建模中表现出优越性,其中自注意力机制发挥着关键作用。此外,这些结果再次证实我们方法的每个组成部分都是不可或缺的,并使该框架在多元时间序列异常检测中发挥强大作用。

E. 图学习和案例研究

通过介绍来自网络攻击数据集 WADI 的实际攻击案例研究,我们评估了图学习策略将学习什么图结构,以及这如何帮助我们定位和理解本节中的异常情况。 WADI 数据收集日志中记录了一次持续 25.16 分钟的攻击,该攻击欺诈性地打开电动阀 1 MV 001 STATUS 并导致主水箱溢流。由于该阀门仍在正常范围内,操作工程师很难手动找出该阀门的状态。因此,发现这种奇怪现象并不容易。

以配水处理为例,由供水系统、配水管网、回水系统的三态过程组成,分别记为P1、P2、P3。每个传感器和执行器在任何情况下都是密不可分的。例如,调节 SUTD 进入的原水入口阀由 1 MV 001 STATUS 表示。由于 1 FIT 001 PV 是配水下游流量指示变送器,因此如果 1 MV 001 阀门突然打开,1 FIT 001 PV 的值会迅速上升。由于第一阶段的结果将原水输送泵的影响传播到第二阶段,2 FIT 001 PV 也容易受到同样的恶意攻击。此外,由于在此过程中LEAK DIFF PRESSURE变得不规则,漏水压力无疑会增加。我们的图学习策略学习了图 5a 中的部分图,它几乎正确地描述了传感器之间的拓扑交互。当恶意信息从上游传感器传递到下游传感器时,引导差压几乎与所有其他显示的节点相关。更重要的是,图 5b 显示了我们的模型在攻击持续时间内相对于传感器 1 FIT 001 PV、2 FIT 001 PV 和 2 PIT 001 PV 的地面实况(红线)的预测传感器曲线(蓝线)。这些传感器的预测始终高于地面实况,其中异常分数相应增加。主要是因为输入时间序列通过影响传播卷积运算嵌入了图结构信息。如果与自己关系密切的传感器受到攻击,那些没有直接受到攻击的传感器仍然会受到严重影响。因此,我们的模型可以捕获这种依赖性并产生异常预测,这对于后续的异常检测至关重要。

在这里插入图片描述

六、结论

在这项工作中,我们提出了 GTA,一种基于 Transformer 的异常检测框架,它使用引入的连接学习策略来自动学习传感器依赖性。为了模拟图中传感器之间的信息流,我们设计了一种独特的影响传播(IP)图卷积。我们提出的多分支注意力技术的推理速度在不牺牲模型性能的情况下得到了极大的提高。对四个现实世界数据集的广泛实验表明,我们的策略在预测准确性方面优于其他最先进的方法。我们还提供了一个案例研究来演示我们的方法如何利用我们提出的技术来识别异常。我们的目标是进一步探索如何将这种方法与在线学习策略相结合,以将其应用于未来工作的移动物联网场景。


在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值