Multivariate Time-Series Anomaly Detection based on Enhancing Graph Attention Networks with Topologi

系列文章目录

基于拓扑分析增强图注意力网络的多元时间序列异常检测 CIKM ’24



摘要

时间序列中的无监督异常检测在工业应用中至关重要,因为它显着减少了手动干预的需要。 多元时间序列由于其特征和时间维度而提出了复杂的挑战。 传统方法使用图神经网络 (GNN) 或 Transformer 来分析空间,而使用 RNN 来建模时间依赖性。 这些方法狭隘地关注一维或进行粗粒度的特征提取,这对于以复杂关系和动态变化为特征的大型数据集来说可能是不够的。 本文介绍了一种基于增强图注意力网络 (GAT) 的新颖时间模型,用于多元时间序列异常检测,称为 TopoGDN。 我们的模型从细粒度的角度分析时间和特征维度。 首先,我们引入多尺度时间卷积模块来提取详细的时间特征。 此外,我们还提出了一种增强的 GAT 来管理复杂的特征间依赖关系,它将图拓扑合并到多个尺度的节点特征中,这是一种多功能、即插即用的增强功能,可显着提高 GAT 的性能。 我们的实验结果证实,我们的方法超越了四个数据集上的基线模型,证明了其在需要强大异常检测的领域中广泛应用的潜力。 代码可在 https://github.com/ljj-cyber/TopoGDN 获取。


一、引言

时间序列数据的特征是在离散时间间隔采样的观测值,表现出很强的时间相关性,并且通常显示周期性模式。 这些数据普遍存在于各个领域,包括工业 [2, 25]、医疗、交通 [1] 和网络环境 [31]。 在这些应用中,时间序列数据可能显示为工业传感器读数、网络流量、流量或医疗记录。 分析这些时间序列数据包括回归和分类,通常分别侧重于预测未来值 [35] 和检测异常 [29]。 后者尤其重要,因为及时的异常检测可以实现及时干预,这在网络安全漏洞或因事故或特殊事件导致的流量中断等情况下至关重要。 例如,图 1 显示了工业场景中的异常数据模式。

随着计算能力的进步,大型语言模型变得越来越重要,为众多任务设定了新标准[27]。 然而,这些模型通常难以有效处理分布不平衡数据的稀疏特征,例如具有时间异常的长尾分布特征的数据。 由于工业物联网平台的激增,时间序列数据的复杂性不断增加,通过引入多元时间序列中的特征之间的依赖关系,增加了复杂性[12, 40]。 此外,对标记异常数据的需求使得以无监督方式检测各种异常模式变得复杂。 时间异常可以分为两类:全局异常,显着偏离整体统计特性;上下文异常[23],尽管在正常范围内,但与预期模式显着偏差,从而破坏周期性。 因此,在较长时间内有效管理局部和全局异常之间的关系[44]对时间任务提出了重大挑战。

在这里插入图片描述
图 1:工业传感器时间序列数据中的异常行为:图表中显示的前三个异常发生在特定的时间间隔内,其特征是相对于周围环境的值突然变化。 最后一个异常表明水位上升和下降速度的波动。 这种异常表现出特定的模式,但往往会随着时间的推移而减弱。

无监督时间序列异常检测的初始方法主要利用聚类[30]、基于密度的[5]和基于形状的[14]方法来识别简单模式,例如全局异常值。 尽管对于基本检测有效,但随着时间维度的扩展,这些方法会遇到可扩展性和准确性问题。 最近的研究工作已转向完善异常模式的定义并将检测方法分类为预测方法和重建方法[15]。 这两种方法都依赖于将模型输出与真实情况进行比较来得出异常分数,然后使用统计方法对分数进行阈值化以识别异常。 高分通常表明异常事件,需要进一步调查。 基于预测的方法擅长利用时间依赖性和适应时间序列动态,但它们容易受到新模式的影响并且严重依赖历史数据。 另一方面,基于重建的方法提供了更全面的数据表示和强大的非线性建模功能[15]。 然而,更高的计算要求对它们提出了挑战,并且潜在空间中的表示可能与实际数据的真实含义有很大差异。 与单变量时间序列异常检测相比,多变量检测的主要挑战是有效地建模多个序列之间的复杂依赖关系。 在某些情况下尝试对这些依赖关系进行建模可能会对预测准确性产生不利影响,特别是当不同特征的统计特征存在显着差异时。 合并这些特征可能会无意中引入噪声[8]。 然而,未能充分管理这些特征间的依赖关系可能会导致模型陷入次优解决方案。 为了解决上述问题,GAT [34]非常适合解决依赖关系提取挑战,它可以利用构造图的结构特征,使用邻域信息而不是全局数据来更有效地过滤掉不相关的依赖关系。

受 GDN [11] 的启发,我们提出了一种基于拓扑分析的增强型 GAT,称为 TopoGDN,它可以在多个尺度上同时对跨时间和特征的依赖关系进行建模。 我们基于预测的方法利用 GAT,由四个主要部分组成。 第一个是多尺度时间序列卷积模块,在将其输入到 GNN 之前提取各种尺度的时间特征。 第二个是图结构学习模块,它利用序列之间的相似性构建图结构,并随着时间窗口的进展不断更新这些结构。 第三个是拓扑特征注意模块,它从图结构中提取高阶拓扑特征并将其与时间特征相结合。 最后,异常评分模块通过将当前时间步长与正常基线进行比较来计算偏差分数,并使用预定义的统计阈值来识别异常。 我们的研究贡献总结如下:

• 我们提出了TopoGDN,一种异常检测框架,可以跨多个尺度分别提取时间和特征间的依赖关系。
• 我们设计了一个多尺度时间序列卷积模块来解决扩展时间窗口内局部和全局时间特征之间的冲突。
• 我们提出了一种增强的GAT,将高阶拓扑特征建模为经过不同程度的图过滤后的持久同源群。 该方法有效提高了特征间依赖关系建模的准确性。
• 实验验证表明,我们的方法在四个基准数据集上优于基线模型,展示了其广泛的应用潜力。

2 RELATEDWORK

本节简要回顾了早期的多元时间序列数据异常检测方法。 然后,我们在我们的方法中引入两种技术:图神经网络和拓扑分析。

2.1 Multivariate Time Series Anomaly Detection

多元时间序列异常检测涉及跨特征和时间维度对异常进行分类。 根据模型中数据的处理方式,现有的异常检测方法分为两类:基于预测和基于重建。 基于预测的方法通过学习历史数据并比较生成的数据和实际数据来确定异常情况来生成未来数据。 GDN [11] 首先利用相似性来建模图结构,采用基于图的技术来映射特征之间的依赖关系。 然而,这种方法存在对时间依赖性利用不足的问题。 Anomaly Transformer [37] 利用 Transformer 对特征之间的依赖关系进行建模,并采用可变高斯核对时间依赖关系进行建模。 然而,Transformer 很难应对异常稀疏的场景。 我们的方法还采用基于预测的方法,分别对这两种依赖关系进行建模。

另一方面,基于重构的方法使用变分自动编码器(VAE)[4]和生成对抗网络(GAN)[13]等生成模型来对数据表示进行建模。 林等人。 [22]利用 VAE 在短窗口中创建强大的局部特征,并利用 LSTM 来估计长期值相关性。 MAD-GAN [21] 使用 GAN 的生成器来学习时间序列的隐式特征,而鉴别器则识别真假序列并检测异常。 这些生成模型的局限性包括 GAN 训练的不稳定性、对超参数的敏感性提高、训练不收敛的风险增加以及由于 VAE 的平滑潜在空间而导致生成数据模糊。

2.2 Graph Neural Network

在之前的研究中,图神经网络(GNN)经常被用来解决图结构相关的任务,例如节点分类[36]和边缘预测[41]。 其中,利用谱域变换的图卷积网络(GCN)[10]处于最前沿。 GCN 将传统卷积神经网络 (CNN) 的卷积运算与促进消息扩散的拉普拉斯图矩阵集成在一起。 随后,随着对图结构的理解已经超越了单纯的预定义知识,图结构学习出现了,以对变量之间的相似性进行建模。 这导致了图神经网络应用领域的扩展,例如多元时间序列分析。 GAT [34]引入了一种注意力机制来定义节点之间的关系,为每条边分配可学习的系数。 与 GCN 不同,GAT 可以动态调整这些注意力系数以适应图结构的变化。 研究探索了 GAT 和 Transformer 之间的联系 [38],证明 GAT 计算的注意力系数矩阵往往比传统注意力图中的注意力系数矩阵更稀疏,这一属性有助于解释异常数据中观察到的稀疏性。

2.3 Topological Analysis

拓扑数据分析包括封装有关拓扑特征的结构信息的方法,包括连接组件、环、空腔等[6]。 使用持久图,可以将上述拓扑特征的统计特性映射到二维平面上并最终矢量化。 持久同构(PH)是一种拓扑分析方法,证明图过滤函数在图同构下保持不变,可以将有关边和节点的信息同化为近单纯形复合体[19]。 拓扑特征作为高阶结构元素来解决 GNN 中的过度平滑问题[43]。 Pho-GAD [39] 通过使用持久同源性优化边缘属性来增强正常和异常节点行为之间的区别。 陈等人。 [7]利用节点直接邻域的持久同源性来重新连接原始图,将所得的拓扑摘要作为辅助数据合并到本地算法中。 与此同时,周等人。 [42]利用图的邻接矩阵,采用拓扑分析来完善对复杂人体关节动力学的理解。

3 METHODOLOGY

在本节中,我们将详细概述拟议的 TopoGDN 框架。 我们首先概述多元时间序列异常检测的问题公式,然后描述我们的数据预处理方法。 接下来,我们介绍并讨论集成到我们的方法中的模块。 具体来说,我们的方法包括以下四个模块:
(1)多尺度时间卷积模块:该模块提取多个尺度的时间特征并结合残差连接以增强对时间窗口内数据的学习。 (2)图结构学习模块:它根据变量之间的分布相似性构建动态图结构,并随着窗口的进展不断适应。
(3)拓扑特征注意模块:该模块聚合来自各个节点、其相邻节点和高阶拓扑特征的嵌入,融合多个尺度的特征间依赖关系。
(4) 异常分数计算器:该模块计算预测时间步长的异常分数,有助于识别潜在的异常值。

3.1 Problem Formulation

给定数据集 X ∈ R N × T \mathbf{X}\in\mathbb{R}^{N\times T} XRN×T,其中 𝑁 表示特征数量,𝑇 表示时间步数。 我们区分训练集 X t r a i n X_{\mathrm{train}} Xtrain(完全由常规数据组成)和测试集 X t e s t X_{\mathrm{test}} Xtest(包含正常数据和异常数据)。 该模型旨在预测测试集中每个时间步 𝑡 的异常分数 s t s_{t} st。 然后根据数据集中存在的异常比例将这些分数转换为标签 Y t e s t Y_{\mathrm{test}} Ytest

3.2 Data Preprocessing

原始数据集中不同列的值的大小差异很大。 例如,在 MSL 数据集中,大多数数据都是二进制的,值为 0 或 1。为了减轻不同尺度对最终预测结果的影响,我们采用最小-最大归一化将所有值映射到区间 [0, 1]。 公式由下式给出:

在这里插入图片描述
其中 X i X^{i} Xi是具有所有时间步长的特征向量,𝜖是添加的一个小向量,以避免在 X i X^{i} Xi包含相同值的情况下被零除。 我们的模型采用基于预测的异常检测方法,使用滑动时间窗口将数据集划分为训练集和测试集。 我们将窗口定义为步长 𝑠 和大小 𝑤。 此配置允许窗口在每一步移动 𝑠 单位,从而提供了跨数据集顺序数据处理的机制。 滑动窗口操作被定义为对于任何给定的时间步 𝑡,窗口 S = [ X t − w , X t − w + 1 , … , X t − 1 ] S = [X_{t-w},X_{t-w+1},\ldots,X_{t-1}] S=[Xtw,Xtw+1,,Xt1]被构造,其中 S ∈ R N × w S \in \mathbb{R}^{N\times w} SRN×w。 窗口预测下一个数据点 X ^ t \hat{X}_{t} X^t 。 该模型从之前 𝑤 步骤的数据中学习,以预测下一个时间步骤 𝑡 的数据,表示为 X ^ t \hat{X}_{t} X^t 。 通过比较 X ^ t \hat{X}_{t} X^t X t {X}_{t} Xt,判断时间步长 𝑡 是否异常。 滑动窗不断向前移动。 如果最终数据段短于步长,我们对最后一步的数据使用复制填充。 该模型仅根据训练集中的预测能力进行训练,而分数仅在测试集上进行预测。

在这里插入图片描述
图 2:TopoGDN 模型结构和本地模块图。 如(a)模型概述所示,我们首先采用滑动窗口方法在初始阶段从传感器输入中选择上下文数据。 该数据使用 © 多尺度时间卷积模块进行处理,该模块应用不同大小的卷积核来捕获时间特征。 然后将这些提取的特征传递到图结构学习模块,将它们转换为上下文图。 接下来,(b)拓扑特征注意力模块利用传感器嵌入和学习图来执行注意力聚合。 然后,该模块进行图形过滤,创建图形的多个视图以增强特征表示。 结果输出被矢量化并转换为持久性条形码,捕获基本的拓扑特征。 最后,通过将预测输出与真实情况进行比较来计算异常分数。

3.3 Multi-scale Time Convolution

为了解决长期局部特征和全局特征之间的冲突,我们设计了一个多尺度时间卷积模块来捕获细粒度的时间依赖性。 该模块具有各种大小的一维卷积核,可以捕获时间序列中不同尺度的时间特征。 这些卷积可以通过扩张来增加它们的感受野,而不增加内核大小[44]。 给定一个时间序列 S i ∈ R w S^{i}\in\mathbb{R}^{w} SiRw,我们采用 𝑃 不同大小的卷积核。 每个内核大小 w p w_{p} wp都有助于提取特定尺度的特征。 第𝑝核的卷积运算定义如下:

在这里插入图片描述
其中 y ( p ) [ t ] y^{(p)}[t] y(p)[t]表示使用第 𝑝 个卷积核在时间 𝑡 时的输出, f p [ i ] f_{p}[i] fp[i]是第 𝑝 核在位置 𝑖 处的权重, w p w_{p} wp是第 𝑝 核的宽度。 应用卷积核后,该模块对所有核的输出执行池化操作,以合成并增强时间动态的表示。 此步骤通常使用平均池化将每个内核提取的不同特征合并为统一的输出。 池化层的最终输出𝑌𝑖随后用于后续处理:

在这里插入图片描述
其中 pool(·) 是池化函数,用于将每个卷积尺度的输出组合成单个向量,有效地捕获不同尺度的时间特征并保持与输入 S i S^{i} Si 相同的维度。 此实现中使用的卷积核包括大小 1×2、1×3、1×5 和 1×7,旨在适应广泛的时间分辨率。

3.4 Graph Structure Learning

根据 GDN 的见解,在处理缺乏内在结构的多元数据时,通过相似性计算对图结构进行建模至关重要。 在提出的图模型中,我们将数据集中的每个传感器表示为一个节点。 我们根据节点所代表的特征所对应的数据的相似性来构建节点之间的边。 具体来说,两个节点之间的边的概率随着在其关联数据中观察到的相似性成比例地增加。

考虑一个表示为 G = ( V , E ) G=(V,E) G=(V,E)的学习图,其中 𝑉 表示节点集,其嵌入由 Y ∈ R N × w Y\in\mathbb{R}^{N\times w} YRN×w 给出,捕获每个节点的特征表示。 使用邻接矩阵,我们描述节点之间的关系,编码它们的连接性和交互细节。 我们通过使用神经网络来细化实体嵌入来评估两个实体数据之间的相似性。 最初,每个实体被分配一个随机嵌入 c i ∈ R d c_i\in\mathbb{R}^d ciRd。 该嵌入向量有双重目的:首先,在新的嵌入空间中表示实体的数据特征,便于评估实体间的相似性。 其次,它在后续的图注意力聚合过程中引入了新的数据特征。 嵌入 c i ∈ R d c_i\in\mathbb{R}^d ciRd在训练集上进行训练,一旦训练阶段完成,嵌入就被固定——这意味着测试集的图结构保持不变。 我们利用成对实体比较,使用点积来计算相似度。 因此,相邻矩阵计算如下:

在这里插入图片描述
值得注意的是,我们使用条件函数1{·}来表示,如果顶点𝑗是与顶点𝑖相关的 e k i e_{ki} eki的前K个最大值之一,则邻接矩阵𝐴的元素 A i j A_{ij} Aij为1; 否则为 0。鉴于我们的方法集成了注意力网络,邻居矩阵是二进制的,仅由 0 和 1 组成。 在我们的图注意力更新机制中,不需要重复合并节点的特征。 因此,计算出的边缘信息排除了节点的自循环。

3.5 Topological Feature Attention Module

如图2(b)所示,拓扑特征聚合模块由两个关键组件组成:图注意力机制和拓扑图池化。 最初,节点聚合通过图注意机制发生,促进跨多个层的本地和全局信息的集成。 随后,该模块从图中提取高阶拓扑结构,将其转换为持久性条形码。 然后结构信息被全局矢量化和融合,产生最终的特征图。

3.5.1 图注意力机制。 我们采用了 GAT 中的图注意力机制,它通过计算相邻节点对的注意力系数来聚合来自相邻节点的信息。 我们对多尺度时间卷积模块𝑌的输出进行划分,使得每个传感器对应的特征向量成为节点嵌入 Y i ∈ R w Y^{i}\in\mathbb{R}^{w} YiRw。 在计算注意力系数 α i j \alpha_{ij} αij之前,执行以下操作:

在这里插入图片描述
值得注意的是,每个节点的嵌入都经过变换以获得隐藏嵌入 h i ∈ R d h_i\in\mathbb{R}^d hiRd。 这里,𝑊是包含节点特征的共享参数矩阵。 由融合传感器嵌入产生的中间向量 g i   a n d   g j g_{i}\mathrm{~and~}g_{j} gi and gj被组合,然后使用前馈神经网络转换为实际数字。 该过程是典型的特征增强技术。 这种注意力机制与变形金刚中的自注意力机制相似[33]。 此外,使用多头机制对其进行优化可以实现更加细致和实用的学习。 注意力系数的计算涉及两个主要步骤:
在这里插入图片描述
我们通过应用 LeakyReLU 激活函数和 Softmax 归一化来适当缩放这些系数。 最后一步涉及消息聚合,其中节点的隐藏层特征(表示为 h i h_{i} hi )被仔细加权并与其相邻节点的特征相加,以导出最终节点特征 z i z_{i} zi。 值得注意的是,𝑁(𝑖)表示节点𝑖的邻居,𝜎(·)指的是Sigmoid激活函数。

3.5.2 高阶拓扑图池化。 在代数拓扑中,持久同源工具旨在识别图同源内的连通分量(0 维同源)和循环(1 维同源)。 该方法已被证明在优化图表示学习方面是有效的[17, 18]。

我们将高阶拓扑图池化应用于节点嵌入 Z ∈ R N × d \mathbf{Z}\in\mathbb{R}^{N\times d} ZRN×d和图结构信息,其中图注意力机制已对其进行了细化。 在这个过程中,𝑁代表顶点的数量,𝑑代表每个顶点隐藏嵌入的维数。 这种池化操作聚合并抽象了增强的特征表示,简洁地捕获了图的拓扑特征。 最初,使用多层感知器对节点进行维数增加。 维度变换后,我们从 𝑘 不同角度描述图,得到 𝑘 变换后的图 K = { K 1 , K 2 , … , K k } ∈ R k × N × d K = \{K_{1},K_{2},\ldots,K_{k}\} \in \mathbb{R}^{k\times N\times d} K={K1,K2,,Kk}Rk×N×d。 该过程允许在多个尺度上提取更丰富的拓扑特征。 我们使用一组 𝑘 过滤函数从 𝑘 不同的角度执行图形过滤。 具体来说,我们将图过滤应用于每个变换后的图 K i K_{i} Ki(对于𝑖 = 1,…,𝑘),它处理每个视点的节点和边的信息。 我们根据以下形式过滤图表:
∅ = K i ( 0 ) ⊆ K i ( 1 ) ⊆ ⋯ ⊆ K i ( n ) = K i , (11) K i ( j ) = ( V i ( j ) , E i ( j ) ) . (12) \emptyset=K_{i}^{(0)}\subseteq K_{i}^{(1)}\subseteq\cdots\subseteq K_{i}^{(n)}=K_{i},\text{(11)}\\K_{i}^{(j)}=(V_{i}^{(j)},E_{i}^{(j)}).\text{(12)} =Ki(0)Ki(1)Ki(n)=Ki,(11)Ki(j)=(Vi(j),Ei(j)).(12)

式中下标𝑖表示第𝑖视图的图; 上标(𝑗)代表过滤程度,𝑗越接近0,过滤越广泛。 z υ z_{\upsilon} zυ 表示节点 𝑣 的嵌入, f i ( ⋅ ) f_{i}(\cdot) fi()表示对第 𝑖 个视点图中的节点嵌入完成的池化函数。 我们设计的图过滤方法使用阈值过滤,其中高于阈值 α i ( j ) \alpha_{i}^{(j)} αi(j)的节点及其一些连接边信息以这种形式被删除:

在这里插入图片描述
由于 Vietoris-Rips 复形更好地表示高阶拓扑特征,因此我们应用 Vietoris-Rips 复形从图构造简单复形作为图的高阶拓扑特征,并且只有 0 维和 1 维复形,即连通分量和 在我们的实现中考虑了空隙[3]。 元组表示图过滤中拓扑特征的持久性。 如果一个单纯复形在过滤后出现在 K i K_{i} Ki中并且在 K j K_{j} Kj中消失,我们可以用(𝑖,𝑗)来表示它,它对应于𝑗−𝑖的值。 这个二维元组的集合就是持久性图:

在这里插入图片描述
其中 𝑖 是单纯复形 𝑆 的诞生时间,𝑗 是 𝑆 的死亡时间。 𝑙 = 0 表示 0 维同源性,称为连通分量,而 𝑙 = 1 表示循环的 1 维同源性。 持久性条形码是持久性图的直观视觉表示,显示拓扑特征的出现和消失。 每个条代表一个拓扑特征,例如像连接组件、孔或空隙这样的单纯复形。 条形的开始和结束跨度表示要素存在的时间范围。 横轴对应于过滤程度。 相反,垂直轴没有真正的数学意义,而是用于排列不同的条,每个条代表特定的拓扑特征。 最后,我们使用嵌入函数 Ψ 将持久性条形码转换为拓扑向量。 这个过程可以表述如下:

在这里插入图片描述
其中 k 是过滤函数的数量和图视图的数量。 在实现中,我们使用四种不同的嵌入函数来处理多视图图:(i)三角点变换,(ii)高斯点变换,(iii)线点变换,(iv)有理帽变换。 详情请参阅[18]和[6]。

3.6 Anomaly Score Calculator

假设拓扑特征注意模块之后图的节点嵌入表示为 𝑝 (𝑡) ∈ R𝑁×𝑑
。 经过维度变换后,得到预测时间步数据 X ^ t ∈ R N \hat{X}_{t}\in\mathbb{R}^{N} X^tRN。 该过程表述为:

在这里插入图片描述

其中采用前馈神经网络来实现这种转换。 这种维度变换相当于执行池化降维。 在训练集上,我们根据每一步的 X t   a n d   X t ^ X_{t}\mathrm{~and~}\hat{X_{t}} Xt and Xt^的平均均方误差更新传感器嵌入和其他神经网络的权重作为后向损失,而不计算异常分数。 在测试集上,我们同样将预测结果 X t   a n d   X t ^ X_{t}\mathrm{~and~}\hat{X_{t}} Xt and Xt^进行比较,计算其 L1-Loss,并对差异进行归一化。 归一化后,我们使用传感器维度中的最大值作为异常分数,计算公式为:
在这里插入图片描述

其中 𝑋𝑖 𝑡 是第 i 个传感器在时间 t 获取的值。 最后,如果异常分数超过预设阈值,则时间步𝑡被标记为异常。 在我们的实现中,我们采用了 GDN 的方法,将阈值设置为在验证集上观察到的最大异常分数。 训练集与验证集的比率与数据集中异常的比例密切匹配。


### 关于图神经网络在多变量时间序列异常检测中的实现 对于多变量时间序列数据,基于图神经网络(GNNs)的方法能够有效捕捉不同维度之间的复杂依赖关系。一种典型的应用是在异常检测领域,在此背景下GNN可以建模节点间的关系并识别出偏离正常模式的行为。 具体到Graph Neural Network-Based Anomaly Detection in Multivariate Time Series (AAAI 2021),该研究提出了利用时空图卷积来处理时间序列特征提取的任务[^1]。通过构建一个动态变化的邻接矩阵表示各变量间的关联程度,并将其作为输入传递给GCN层以学习潜在的空间结构信息;与此同时,RNN/LSTM等循环单元负责编码时间上的演变规律。最终模型会预测未来时刻的状态分布情况,当实际观测值与预期存在显著差异时即触发警报机制认为发生了异常事件。 下面给出一段简化版Python伪代码用于说明如何搭建这样一个框架: ```python import torch from torch_geometric.nn import GCNConv class ST_GCN(torch.nn.Module): def __init__(self, node_features, hidden_units): super(ST_GCN, self).__init__() self.spatial_conv = GCNConv(node_features, hidden_units) self.temporal_rnn = torch.nn.LSTM(input_size=hidden_units, hidden_size=hidden_units) def forward(self, data): x, edge_index = data.x, data.edge_index # Spatial Convolution Layer h_spatial = torch.relu(self.spatial_conv(x, edge_index)) # Temporal Recurrent Layer output, _ = self.temporal_rnn(h_spatial.unsqueeze(0)) return output.squeeze() # Example usage model = ST_GCN(node_features=..., hidden_units=...) criterion = ... # Define loss function here optimizer = ... for epoch in range(num_epochs): model.train() optimizer.zero_grad() out = model(data) loss = criterion(out[-1], target) # Assuming last time step prediction is compared against ground truth loss.backward() optimizer.step() ``` 上述代码片段展示了怎样组合空间域内的图卷积操作以及时间轴上递归计算的方式来进行联合训练。需要注意的是这只是一个概念性的展示而非完整的解决方案——真实场景下还需要考虑诸如负样本挖掘、超参数调优等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值