【阅读文献】Multivariate Time-Series Anomaly Detection based on Enhancing Graph Attention Networks with To

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

第 33 届 ACM 信息与知识管理国际会议 (CIKM '24) 论文集
Zhe Liu

摘要

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

CCS 概念、计算方法 → 时间推理

关键词:时间序列、异常检测、图神经网络、拓扑分析

摘要解释

这段文字介绍了一种新的无监督异常检测方法,专门针对多变量时间序列数据,名为TopoGDN。以下是对文中主要内容的详细解读:

  1. **背景与重要性:**在工业应用中,时间序列的无监督异常检测至关重要,因为它显著减少了人工干预的需求。多变量时间序列由于其复杂的特征和时间维度,给异常检测带来了挑战

传统方法的局限性:传统的异常检测方法通常使用图神经网络(GNNs)或变换器(Transformers)来分析空间特征,并利用递归神经网络(RNNs)来建模时间依赖性。然而,这些方法往往仅关注单一维度或进行粗粒度特征提取,这对于处理具有复杂关系和动态变化的大型数据集来说可能不够有效。

  1. TopoGDN模型的创新

TopoGDN模型通过细粒度分析时间和特征维度来解决上述问题:

  • 多尺度时间卷积模块:该模块用于提取详细的时间特征,从而增强对时间序列数据的学习能力。
  • 增强的图注意力网络(GAT):该网络管理复杂的特征间依赖关系,将图拓扑信息整合到多个尺度的节点特征中。这种设计是一种灵活的即插即用增强,显著提升了GAT的性能。
  1. 实验结果与应用潜力

实验结果表明,TopoGDN在四个不同的数据集上超越了基线模型,展示了其在需要强大异常检测能力的领域中的广泛应用潜力。

  1. 结论

TopoGDN模型通过引入多尺度卷积增强的图注意力机制,为多变量时间序列异常检测提供了一种有效的方法,能够更好地捕捉数据中的复杂关系和动态变化

该研究为工业界提供了一种新的工具,以提高异常检测的准确性和鲁棒性,尤其是在大规模、多维度数据环境中。

1、介绍

[外链图片转存中...(img-wqbgJbtf-1734670800842)]

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

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

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

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

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

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

1、介绍解释

介绍讨论了时间序列数据的特性及其在异常检测中的应用,尤其是在工业、医疗、运输和网络等领域。以下是对主要内容的详细解读:

  1. 时间序列数据的特点
  • 离散时间间隔采样:时间序列数据由在特定时间间隔内采集的观测值组成。
  • 时间相关性:数据点之间存在强烈的时间依赖性,当前值往往与过去的值密切相关
  • 周期性模式:许多时间序列数据表现出周期性变化,例如季节性波动。

这些特征使得时间序列数据在多个领域中广泛存在,如工业传感器读数、网络流量和医疗记录等。

  1. 异常检测的重要性

异常检测是分析时间序列数据的一个重要方面,旨在识别与正常模式显著不同的事件。这种检测对于及时干预至关重要,尤其是在网络安全漏洞或交通事故等情况下。

  1. 现有方法的局限性

传统的无监督异常检测方法主要依赖于聚类、基于密度和基于形状的方法,这些方法在处理简单模式(如全局异常值)时有效,但随着时间维度的扩展,它们会面临可扩展性和准确性的问题。最近的研究开始将检测方法分为预测和重建两种类型:

  • 预测方法:利用时间依赖性进行异常检测,但容易受到新模式影响,并且高度依赖历史数据
  • 重建方法:提供更全面的数据表示和强大的非线性建模能力,但计算需求较高,可能导致模型与实际数据之间产生偏差。
  1. 多变量时间序列异常检测的挑战

多变量时间序列异常检测面临着复杂依赖关系建模的问题。不同特征之间的统计特征差异可能导致噪声引入,而未能有效管理这些依赖关系可能导致模型性能下降。

这句话的意思是:

不同特征之间的统计特征差异

  • 统计特征差异:在多变量时间序列中,每个变量(或特征)可能具有不同的统计特性,例如均值、方差、分布形状等。这些差异可能使得某些变量在模型中表现得不够稳定,导致其对整体模型的影响变得复杂。
  • 噪声引入:当不同特征之间存在显著的统计差异时,模型可能会错误地将这些差异视为有意义的信息,而实际上它们可能只是噪声。这种噪声会干扰模型的学习过程,使得模型难以捕捉到真正有用的模式。

特征间依赖关系的管理

  • 依赖关系的重要性:在多变量时间序列中,各个特征之间往往存在相互依赖关系。例如,一个传感器的读数可能受到其他传感器读数的影响。如果这些依赖关系未能得到有效管理,模型可能会产生误导性的结果。
  • 模型性能下降:如果模型未能充分考虑这些依赖关系,或者对其处理不当,可能导致模型无法准确捕捉数据中的真实模式,从而降低预测精度和异常检测能力。换句话说,错误地处理特征间的关系可能使得模型陷入次优解,无法发挥其应有的性能。

结论:因此,在进行多变量时间序列分析时,理解和管理不同特征之间的统计特征差异以及它们之间的依赖关系是至关重要的。这不仅可以减少噪声的影响,还能提高模型在实际应用中的表现和可靠性。

5.TopoGDN模型的提出
为了解决上述问题,研究者提出了一种基于拓扑分析的增强型图注意力网络(GAT),称为TopoGDN。该模型通过以下几个模块来实现异常检测:

  1. 多尺度时间卷积模块:提取不同尺度的时间特征。
  2. 图结构学习模块:根据序列之间的相似性构建并更新图结构。
  3. 拓扑特征注意力模块:从图结构中提取高阶拓扑特征,并将其与时间特征结合。

6.研究贡献

  • 提出了TopoGDN框架,可以跨多个尺度提取时间和特征间的依赖关系
  • 设计了多尺度卷积模块以解决局部与全局特征间的冲突
  • 提出了增强型GAT,有效提高了对复杂依赖关系建模的准确性
  • 实验结果表明,该方法在多个基准数据集上超过了现有基线模型,展示了广泛应用潜力。

总之,这项研究为多变量时间序列异常检测提供了一种新的思路,能够更好地捕捉复杂的数据关系和动态变化,为实际应用提供支持。

2、相关工作

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

2.1 多变量时间序列异常检测

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

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

2.1解释

多变量时间序列异常检测讨论了多变量时间序列异常检测的不同方法,主要分为基于预测基于重建的两类方法。以下是对内容的详细解读:

多变量时间序列异常检测

多变量时间序列异常检测旨在识别在多个特征(变量)和时间维度上与正常模式显著不同的观测值。这种检测在工业、医疗、网络等多个领域具有重要应用。

异常检测方法分类

  • 基于预测的方法

    • 原理:基于预测的方法通过学习历史数据来生成未来数据,然后将生成的数据与实际数据进行比较,以识别异常。例如,GDN(图依赖网络)利用图结构映射特征之间的依赖关系,但存在对时态依赖性利用不足的问题。
    • Anomaly Transformer:该方法使用Transformer模型来建模特征间的依赖关系,并采用可变高斯内核处理时间依赖性。然而,Transformer在处理稀疏异常时表现不佳
  • 基于重建的方法

    • 原理:基于重建的方法使用生成模型(如变分自动编码器(VAE)和生成对抗网络(GAN))来学习数据表示。例如,Lin等人利用自动编码器提取短期局部特征,并使用LSTM估计长期相关性MAD-GAN则通过GAN的生成器学习时间序列的隐含特征
    • 局限性:这些生成模型存在一些问题,如GAN训练的不稳定性、对超参数敏感、训练中可能不收敛,以及VAE潜在空间平滑导致生成数据模糊

    基于重建的方法通过生成模型(如VAE和GAN)学习数据的潜在结构和特征。它的核心思想是,从原始数据中提取重要特征,并通过这些特征重建数据的高维表示。这里我们可以通过以下几个要点来理解:

    1. 生成模型:这类模型试图学习数据的分布,并能够生成新样本。比如,**变分自动编码器(VAE)**通过编码器将输入数据压缩成潜在空间的表示,再通过解码器重建数据。**生成对抗网络(GAN)**由生成器和判别器组成,生成器试图生成与真实数据类似的假数据,判别器则区分真实数据和生成数据,最终使得生成器生成的数据越来越逼近真实数据。
    2. 重建原理:在重建方法中,生成模型不仅学习如何从数据中提取特征(编码阶段),还学会如何通过这些特征重建原始数据(解码阶段)。例如,VAE通过对数据进行编码和解码来学习数据的潜在结构,而GAN通过生成器生成数据,并利用判别器来判断生成的数据是否与真实数据相似。
    3. 时间序列应用:Lin等人利用自动编码器提取短期局部特征,然后使用LSTM来估计长期的时间相关性。这里,自动编码器通过压缩数据提取出短期依赖,而LSTM则处理序列的长期依赖关系。
    4. 局限性
      • GAN的训练不稳定:生成对抗网络在训练过程中可能会出现震荡,生成器和判别器可能没有收敛到一个稳定的状态。
      • 超参数敏感性:GAN和VAE对超参数的选择非常敏感,不同的设置可能会导致训练效果差异很大。
      • VAE的潜在空间平滑:VAE的潜在空间平滑意味着在生成数据时,可能导致一些细节模糊或者失真,因为它试图将潜在空间的分布设置得过于简单,忽略了数据的复杂性。

结论

这段文字总结了当前多变量时间序列异常检测领域中的主要方法及其优缺点。基于预测的方法侧重于从历史数据中学习并生成未来数据,而基于重建的方法则通过生成模型对数据进行建模。基于重建的方法试图通过学习数据的潜在结构来重建数据,但其局限性在于生成模型训练的复杂性和潜在的效果不稳定性。理解这些方法的关键在于认识到它们如何通过生成模型在编码和解码之间找到数据的深层次表示。尽管这两种方法各有优势,但也面临着各自的挑战,特别是在处理复杂和稀疏异常时。因此,研究者们正在探索更加有效的模型和技术,以提高多变量时间序列异常检测的准确性和鲁棒性

2.2 图神经网络

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

2.2 解释

这段文字讨论了图神经网络(GNN)及其在多变量时间序列分析中的应用,特别是图卷积网络(GCN)图注意力网络(GAT)。以下是对内容的详细解读:

图神经网络(GNN)的背景

  • GNN的应用:图神经网络是一种专门用于处理图结构数据的深度学习模型,广泛应用于节点分类、边缘预测等任务。这些任务涉及到如何有效地捕捉和利用节点之间的关系
  • GCN的原理:图卷积网络(GCN)结合了传统卷积神经网络(CNN)和拉普拉斯图矩阵,促进了信息的传播。GCN通过对节点的特征进行卷积操作,能够学习到节点在图中的表示

图结构学习与GAT的引入

  • 图结构学习:随着对图结构理解的深入,研究者们开始探索如何动态建模变量之间的相似性,这促使了图结构学习的发展。这种方法能够更灵活地捕捉特征间复杂的依赖关系
  • GAT的特点:图注意力网络(GAT)引入了一种注意力机制,为每个边缘分配可学习的权重系数。这使得GAT能够根据节点之间的关系动态调整这些权重,从而适应图形结构的变化。这一特性使得GAT在处理稀疏数据时表现出色。

GAT与Transformer的联系

  • 注意力机制:GAT和Transformer都利用注意力机制来处理输入数据之间的关系。GAT通过邻居节点的信息聚合来更新每个节点的表示,而Transformer则通过自注意力机制对输入序列中的每个元素进行加权表示
  • 稀疏性:研究表明,GAT计算得到的注意力系数矩阵通常比传统Transformer中的注意力系数矩阵更稀疏。这种稀疏性有助于解释在异常数据中观察到的稀疏特征,从而提高异常检测的效果

总结
这段文字强调了图神经网络在处理复杂数据关系方面的重要性,尤其是在多变量时间序列分析中。通过引入GAT及其动态调整注意力系数的能力,研究者能够更有效地建模特征间的依赖关系,并提高异常检测的准确性。这些进展为未来在各种应用场景中使用GNN提供了新的可能性。

2.3 拓扑分析

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

2.3解释

这段文字介绍了拓扑数据分析(TDA)及其在图神经网络(GNN)中的应用,特别是**持久同源性(Persistent Homology, PH)**如何帮助解决一些问题。以下是对主要内容的详细解读:

拓扑数据分析(TDA)

  1. 定义:拓扑数据分析是一种利用拓扑学概念来分析和理解复杂数据集结构的方法。它通过**提取数据的拓扑特征(如连接组件、环和空腔等)**来提供对数据形状的深入理解。

  2. 封装拓扑特征:TDA通过持久性图拓扑特征的统计属性映射到二维平面上,这种映射有助于进一步的分析和矢量化处理。

持久同源性(PH)

  1. 概念:持久同源性是一种拓扑分析方法,用于追踪在不同参数下拓扑特征的出现和消失。它通过构建一个嵌套的单纯复形序列(过滤)来捕捉这些特征的演变。
  2. 图同构下的不变性:PH强调在图同构条件下,某些图过滤函数保持不变,这使得能够将边和节点的信息整合为简单的复合体,从而简化复杂数据的处理。

GNN中的应用

  1. 过度平滑问题:在图神经网络中,过度平滑是一个常见问题,即随着层数增加,节点表示趋向于相似,导致信息丢失。引入拓扑特征作为高阶结构元素可以帮助缓解这一问题,通过保留更多的结构信息。

  2. Pho-GAD方法:Pho-GAD利用持久同源性优化边缘属性,以增强正常节点和异常节点之间的区分。这意味着通过PH提取的特征可以更好地识别出哪些节点是异常的。

  3. 节点邻域的PH:Chen等人利用节点直接邻域的持久同源性来重新连接原始图,将生成的拓扑摘要作为辅助数据合并到局部算法中。这种方法提高了对节点间关系的理解。

  4. 周等人的研究:周等人采用拓扑分析,通过使用图的邻接矩阵来改善对复杂人体关节动力学的理解。这表明拓扑分析不仅限于静态数据,还可以用于动态系统分析。

总结

这段文字强调了拓扑数据分析在处理复杂数据集中的重要性,特别是在多变量时间序列和图神经网络中的应用。持久同源性作为一种强大的工具,可以帮助提取有意义的拓扑特征,从而改善模型性能,尤其是在异常检测和动态系统分析方面。通过结合这些技术,研究者能够更深入地理解数据结构,并提高模型对复杂关系的捕捉能力。

持久同源性

(Persistent Homology, PH)是一种源于代数拓扑的数学工具,主要用于提取和分析数据的拓扑特征。以下是对持久同源性及其应用的详细解释:

基本概念

  1. 拓扑特征:拓扑特征是描述空间形状和结构的属性,包括连通性、环的数量、空腔等。持久同源性通过分析这些特征在不同尺度上的变化,帮助我们理解数据的内在结构。
  2. 持久性图:持久性图是PH分析的核心工具,它将不同尺度下的拓扑特征以图形方式表示。每个特征在出现(出生)和消失(死亡)时都会在图上形成一个点,横坐标表示特征的出生时间,纵坐标表示死亡时间。
  3. Betti数:PH中常用的度量之一是Betti数,它用于描述不同维度的拓扑特征数量。例如,0阶Betti数表示连通分支的数量,1阶Betti数表示环的数量。

持久同源性的过程

  1. 过滤:持久同源性首先通过构建一个过滤序列将数据集转化为一系列嵌套的拓扑空间。这些空间随着参数的变化而变化,从而捕捉到数据在不同尺度上的拓扑特征。
  2. 分析:通过计算每个特征在不同尺度下的持续时间(即从出生到死亡),可以识别出哪些特征是“持久”的,即在多个尺度上都存在。这些持久特征通常被认为是数据的重要结构信息。

应用领域

  1. 机器学习:持久同源性已被广泛应用于机器学习中,作为一种强大的特征提取工具。它可以帮助模型捕捉到数据中的复杂结构,尤其是在高维数据中。
  2. 图神经网络(GNN):在GNN中,引入PH可以解决过度平滑问题,通过保留高阶拓扑信息来增强节点表示。这使得模型能够更好地处理复杂的数据关系。
  3. 生成模型:持久同源性也被用于生成对抗网络(GAN)等生成模型中,以改进生成样本的质量和多样性。例如,通过将拓扑特征纳入损失函数,可以提高生成图像与真实图像之间的相似度。
  4. 金融预测:研究表明,将PH信息应用于金融模型可以显著提高在动荡时期预测股市波动的准确性。这种方法能够有效处理高维数据中的非线性关系。

总结

持久同源性是一种强大的工具,能够从复杂数据中提取有意义的拓扑特征,并广泛应用于多个领域,包括机器学习、图神经网络、生成模型和金融分析等。通过捕捉数据中的多尺度结构信息,PH为深入理解和处理复杂问题提供了新的视角和方法。

3 方法论

[外链图片转存中...(img-ljIdpC1l-1734670800843)]

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

在本节中,我们详细概述了提议的TopoGDN框架。我们首先概述了多元时间序列异常检测的问题公式,然后描述了我们的数据预处理方法。接下来,我们介绍并讨论集成到我们方法中的模块。具体来说,我们的方法包括以下四个模块:

(1)多尺度时间卷积模块:该模块提取多尺度的时间特征,并结合残差连接来增强时间窗口内数据的学习。

(2)图结构学习模块:它根据变量之间的分布相似度构建动态图结构,随着窗口的进展不断适应。

(3)拓扑特征注意模块:该模块聚合来自单个节点、其相邻节点和高阶拓扑特征的嵌入,融合多尺度的特征间依赖性。

(4)异常分数计算器:该模块计算预测时间步长的异常分数,有助于识别潜在的异常值。

3.1 问题表述

给定一个数据集 X ∈ R N × T X \in \mathbb{R}^{N \times T} XRN×T,其中 N N N 表示特征的数量, T T T 表示时间步的数量。我们区分训练集 X train X_{\text{train}} Xtrain,它完全由常规数据组成,以及测试集 X test X_{\text{test}} Xtest,它包括正常和异常数据。模型旨在预测测试集中每个时间步 t t t 的异常分数 s t s_t st。然后,这些分数根据数据集中存在的异常比例转换为标签 Y test Y_{\text{test}} Ytest

3.1解释

这段文字描述了一个用于检测异常数据的模型的任务,具体来说是基于时间序列数据来进行异常检测。

数据集解释:

  • X ∈ ℝ^(N×T):这表示数据集 X 是一个二维矩阵,维度为 N × T N × T N×T。其中:
    • N 是特征的数量,也就是每个时间步数据的维度。例如,如果你有 5 个传感器,每个传感器的数据点就是一个特征,那么 N N N 就是 5 5 5
    • T 是时间步的数量,表示数据随时间变化的长度。例如,如果你的数据是按分钟收集的,那么 T T T 就是时间序列的总时长(以分钟为单位)。

总之, X X X 是一个包含了 N N N 个特征(或传感器)在 T T T 个时间步的数据。

数据集的划分:

  • X t r a i n X_{train} Xtrain:训练集,包含的是常规数据。也就是说,训练集数据都是正常的,不包含异常。
  • X t e s t X_{test} Xtest:测试集,包含了正常数据和异常数据。也就是说,测试集不仅包括正常的时间序列数据,还包括了一些“异常”时间序列数据,模型需要识别这些异常。

目标:

  • 异常分数 ( s t s_t st):每个时间步 t 的“异常分数”是模型输出的一个值,表示模型对于该时间步数据是否异常的置信度。简单来说,异常分数衡量了模型认为当前时刻的数据是否与正常模式有所偏离。如果某个时间步的分数很,表示该时间步的数据更可能是异常的;如果分数较,则表示该时间步的数据看起来比较正常
  • 比如,对于时间步 t t t,如果模型认为某个数据点非常不正常,那么它会给出一个高分。相反,如果数据点符合大多数正常数据的模式,则给出一个低分。

转换为标签 Y t e s t Y_{test} Ytest

  • 根据数据集中存在的异常比例转换为标签 Y t e s t Y_{test} Ytest:这个步骤的意思是,使用测试集中的异常比例来确定一个阈值,基于该阈值,将异常分数转换为二进制标签(正常或异常)。通常,异常检测的标签是 0 或 1,1 表示异常,0 表示正常。

具体来说,这个转换过程通常如下:

  1. 首先,测试集 X t e s t X_{test} Xtest 中会有一定比例的异常数据和正常数据。例如,假设测试集中 10% 的数据是异常的,90% 是正常的。
  2. 模型会输出每个时间步的异常分数 s t s_t st
  3. 根据训练集中的数据,或者根据测试集中的异常比例(假设我们知道异常的大致比例),选择一个阈值,比如说,所有分数大于某个值的时间步被认为是异常的,分数低于该值的被认为是正常的。
  4. 然后,根据这个阈值,将每个时间步的异常分数转换为标签 Y t e s t Y_{test} Ytest。例如,如果时间步 t 的异常分数 s_t 大于某个阈值,那么 Y t e s t Y_{test} Ytest [ t ] [t] [t] 就是 1 1 1(表示异常),否则 Y t e s t Y_{test} Ytest$[t] $就是 0 0 0(表示正常)。

总结:

这段文字描述的是一个基于时间序列的异常检测问题。模型的目标是根据训练集的常规数据来学习正常数据的模式,然后在测试集上对每个时间步的异常分数进行预测。最终,通过设置一个合理的阈值,将这些异常分数转化为二进制标签(正常或异常),这些标签将用于评估模型的性能。

3.2 数据预处理

原始数据集中不同列的值在大小上有很大差异。例如,在 MSL 数据集中,大多数数据是二进制的,值为 0 或 1。为了减轻不同尺度对最终预测结果的影响,我们采用最小-最大归一化将所有值映射到区间 [ 0 , 1 ] [0,1] [0,1]。公式如下:
X t i = X t i − min ⁡ ( X i ) max ⁡ ( X i ) − min ⁡ ( X i ) + ϵ X_t^i = \frac{X_t^i - \min(X^i)}{\max(X^i) - \min(X^i) + \epsilon} Xti=max(Xi)min(Xi)+ϵXtimin(Xi)
其中 X i X^i Xi 是包含所有时间步的特征向量, ϵ \epsilon ϵ 是一个很小的向量,用于在 X i X^i Xi 包含相同值的情况下避免除以零。我们的模型采用基于预测的异常检测方法,使用滑动时间窗口将数据集划分为训练集和测试集。我们将窗口定义为步长 s s s 和大小 w w w。这种配置允许窗口在每一步移动 s s s 个单位,为整个数据集提供顺序数据处理的机制。滑动窗口操作定义为对于任何给定的时间步 t t t,构建窗口 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 X_t Xt。模型从之前的 w w w 步数据中学习,以预测下一个时间步 t t t 的数据,记为 X ^ t \hat{X}_t X^t。通过比较 X ^ t \hat{X}_t X^t X t X_t Xt,它确定时间步 t t t 是否异常。滑动窗口不断向前移动。如果最终数据段短于步长,我们使用最后一个步骤的数据进行复制填充。模型仅在训练集上进行训练,而分数仅在测试集上预测。

3.2解释

这部分内容描述的是如何对数据进行预处理使用滑动窗口进行时间序列数据处理并基于预测来进行异常检测

数据预处理:最小-最大归一化

首先,数据预处理的目的是解决原始数据集中不同列(特征)的尺度差异,特别是某些特征值的范围可能大不相同,导致某些特征的影响过大,从而影响模型的效果。

  • 最小-最大归一化(Min-Max Normalization)是通过将数据映射到一个统一的区间(通常是 [0, 1])来消除这些尺度差异。

归一化的公式如下:
X t i = X t i − min ⁡ ( X i ) max ⁡ ( X i ) − min ⁡ ( X i ) + ϵ X_t^i = \frac{X_t^i - \min(X^i)}{\max(X^i) - \min(X^i) + \epsilon} Xti=max(Xi)min(Xi)+ϵXtimin(Xi)
其中:

  • X i X^i Xi是包含所有时间步的特征向量
  • X t i X_t^i Xti 表示时间步 t t t 的第 i i i 个特征值。
  • min ⁡ ( X i ) \min(X^i) min(Xi) max ⁡ ( X i ) \max(X^i) max(Xi) 分别是该特征 i i i 在整个数据集中的最小值和最大值。
  • ϵ \epsilon ϵ 是一个非常小的数(通常为 1 0 − 6 10^{-6} 106 或更小),用于防止分母为零的情况。如果该特征在所有时间步中的值都相同(即 max ⁡ ( X i ) = min ⁡ ( X i ) \max(X^i) = \min(X^i) max(Xi)=min(Xi)),则没有尺度差异,此时加入 ϵ \epsilon ϵ 防止除以零。

通过这个归一化,所有特征的值都会被映射到区间 [0, 1] 之间,从而消除不同特征尺度的影响,确保每个特征在训练过程中对模型的影响是相对均衡的。

滑动窗口(Sliding Window)方法

在时间序列数据中,我们希望通过历史数据来预测未来的数据。滑动窗口方法就是通过一个固定大小的窗口来划分数据,利用窗口内的数据来预测下一个时间步的数据

  • 滑动窗口的概念:假设我们有一个时间序列数据集 X = [ X 1 , X 2 , … , X T ] X = [X_1, X_2, \dots, X_T] X=[X1,X2,,XT],我们通过定义一个窗口的大小 w w w 和步长 s s s 来将时间序列划分成多个小片段。
    • 窗口大小 w ​ w​ w:窗口大小决定了每次用多少个时间步的数据来进行预测。
    • 步长 s s s:步长决定了每次窗口的滑动幅度。每次滑动 s s s 个单位。

**滑动窗口的操作是:**对于任意一个时间步 t t t,我们从时间步 t − w t-w tw t − 1 t-1 t1 这一段数据组成一个窗口 S S S,然后用这个窗口数据来预测时间步 t t t 的数据。形式上,可以表示为:
S = [ X t − w , X t − w + 1 , … , X t − 1 ] S = [X_{t-w}, X_{t-w+1}, \dots, X_{t-1}] S=[Xtw,Xtw+1,,Xt1]
其中,窗口 S S S 是一个大小为 w w w 的数据片段,包含了 w w w 个时间步的数据。该窗口的数据用于预测下一个时间步 X t X_t Xt

基于预测的异常检测

通过滑动窗口,我们可以训练一个基于预测的异常检测模型。具体来说,模型通过前 w w w 个时间步的数据来预测下一个时间步的值 X ^ t \hat{X}_t X^t。然后,模型通过比较预测值 X ^ t \hat{X}_t X^t 和实际观测值 X t X_t Xt 的差异来判断这个时间步是否异常。

  • 异常检测:如果预测值 X ^ t \hat{X}_t X^t 和实际值 X t X_t Xt 之间的差异很大,说明模型在该时刻的预测不准确,这通常是因为该数据点偏离了正常模式,因此可以认为该数据点是异常的。
  • 这种方式基于假设:正常数据的未来值可以通过过去的值预测出来,如果模型的预测和实际值之间的误差很大,则说明当前数据点可能是异常的。

数据集划分与训练过程

  • 训练集与测试集的划分:滑动窗口方法适用于训练和测试集的划分。窗口仅在训练集上进行训练,即模型只会学习训练集中的常规数据。在测试集上,模型将通过预测来检测异常数据。
  • 模型训练:模型在训练集上使用滑动窗口方法来学习数据的时间依赖关系,训练过程中通过历史数据预测下一个数据点。
  • 异常检测:在测试集上,模型通过滑动窗口来预测每个时间步的数据,然后与实际数据进行比较。通过预测误差(比如,均方误差或其他指标)来判断某个时间步的数据是否异常。较大的误差通常意味着异常数据。
  • 数据填充:如果最终滑动窗口的最后一部分数据段短于步长 s s s,可以使用最后一个数据点的复制填充(即用最后一个时间步的数据填充)来确保数据的完整性和连续性。

总结:

  • 归一化:通过最小-最大归一化来标准化数据,消除特征尺度差异。
  • 滑动窗口:将数据集分割成多个小窗口,使用每个窗口的数据来预测下一个时间步的数据。
  • 异常检测:通过预测与实际数据的差异来判断某个时间步的数据是否异常。
  • 训练与测试:模型在训练集上训练,测试集上进行异常检测,预测测试集中的异常数据。

这种方法通过利用时间序列的顺序信息,帮助模型捕捉数据的时间依赖关系,从而进行有效的异常检测。

3.3 多尺度时间卷积

为了解决长期内局部和全局特征之间的冲突,我们设计了一个多尺度时间卷积模块来捕捉细粒度的时间依赖性。该模块具有不同大小的一维卷积核,这些卷积核在时间序列中以不同尺度捕获时间特征。这些卷积可以被扩张以增加它们的接受域而不增加核大小。给定一个时间序列 S i ∈ R w S^i \in \mathbb{R}^w SiRw,我们采用 P P P 种不同大小的卷积核。每种核大小 w p w_p wp 有助于在特定尺度上提取特征。第 p p p 个核的卷积操作定义如下:
y ( p ) [ t ] = ∑ j = 0 w p − 1 S i [ t + j ] ⋅ f p [ j ] y^{(p)}[t] = \sum_{j=0}^{w_p-1} S^i[t+j] \cdot f_p[j] y(p)[t]=j=0wp1Si[t+j]fp[j]
其中 y ( p ) [ t ] y^{(p)}[t] y(p)[t] 表示使用第 p p p 个卷积核在时间 t t t 的输出, f p [ i ] f_p[i] fp[i] 是第 p p p 个核在位置 i i i 的权重, w p w_p wp 是第 p p p 个核的宽度。应用卷积核后,模块执行一个池化操作,跨所有核的输出合并,以综合和增强时间动态的表示。这一步通常使用平均池化将每个核提取的不同特征合并为统一的输出。池化层的最终输出 Y i Y^i Yi 然后用于后续处理:
Y i [ t ] = pool ( y ( 1 ) [ t ] , y ( 2 ) [ t ] , … , y ( P ) [ t ] ) Y^i[t] = \text{pool}(y^{(1)}[t], y^{(2)}[t], \ldots, y^{(P)}[t]) Yi[t]=pool(y(1)[t],y(2)[t],,y(P)[t])
其中 pool ( ⋅ ) \text{pool}(\cdot) pool() 是用于将每个卷积尺度的输出合并为单个向量的池化函数,有效地捕获不同尺度的时间特征,并保持与输入 S i S^i Si 相同的维度。在此实现中使用的卷积核包括大小为 1 × 2 1 \times 2 1×2 1 × 3 1 \times 3 1×3 1 × 5 1 \times 5 1×5 1 × 7 1 \times 7 1×7,旨在适应广泛的时间分辨率。

3.3解释

这段话描述了一个多尺度时间卷积模块,其目的是在时间序列数据中同时捕捉不同尺度的时间特征,尤其是局部(短期)和全局(长期)时间依赖性。下面是对这段话的详细分析:

在时间序列数据中,特征的时间依赖性可以有不同的尺度或层次。局部(短期)和全局(长期)时间依赖性它们分别指的是不同时间尺度的依赖关系,而这正是多尺度卷积设计的核心。例如:

  • 局部时间依赖性(短期依赖性):指的是时间序列中在较短时间范围内的变化和模式。例如,某些模式可能只在数个时间步内持续,而这种依赖关系是局部的、短期的。
  • 全局时间依赖性(长期依赖性):指的是时间序列中在较长时间范围内的变化和模式。这种依赖关系可能在数十个或更长时间步内持续,并且对于长期趋势或周期性变化非常重要。

因此,设计一个多尺度时间卷积模块的目的就是要捕捉不同尺度的时间依赖性,即既能捕捉到局部的短期特征,也能捕捉到全局的长期特征。这是通过使用不同大小的卷积核来实现的,每个卷积核关注不同的时间尺度:较小的卷积核用于捕捉短期依赖关系,较大的卷积核则能捕捉长期依赖关系。

  1. 多尺度卷积的设计目的
  • 长期内局部和全局特征之间的冲突:时间序列数据通常包含不同尺度的模式。局部特征指的是短时间范围内的依赖关系,全局特征则是长期依赖关系。长期的全局模式和局部的细节往往有冲突,因此需要一种方法来同时提取这些不同尺度的特征。

  • 多尺度时间卷积模块:通过设计多个不同大小的卷积核(每个卷积核关注不同的时间尺度),这个模块能够在时间序列数据中捕捉到不同尺度的时间依赖性,从而有效地提取局部和全局特征。

    1. 卷积操作的形式
  • 给定时间序列 S i ∈ R w S^i \in \mathbb{R}^w SiRw(表示一个时间序列,长度为 w w w),使用 P 种不同大小的卷积核进行卷积操作。这些卷积核可以是不同的大小,以便在时间序列中提取不同时间尺度上的特征。

  • 对于第 p p p 个卷积核,卷积操作通过如下公式进行定义:

y ( p ) [ t ] = ∑ j = 0 w p − 1 S i [ t + j ] ⋅ f p [ j ] y^{(p)}[t] = \sum_{j=0}^{w_p-1} S^i[t+j] \cdot f_p[j] y(p)[t]=j=0wp1Si[t+j]fp[j]

其中:

  • y ( p ) [ t ] y^{(p)}[t] y(p)[t] 是卷积操作在时间步 t t t 上的输出。

  • f p [ j ] f_p[j] fp[j] 是第 p p p 个卷积核的第 j j j 个位置上的权重。

  • w p w_p wp 是第 p p p 个卷积核的宽度,即卷积核的长度。

  • S i ∈ R w S^i \in \mathbb{R}^w SiRw表示时间序列,长度为 w w w

  • 卷积核大小的选择:通过设计多个不同大小的卷积核(例如,1×2、1×3、1×5 和 1×7),每个卷积核在不同时间尺度上提取时间特征。例如:

    • 小的卷积核(如 1×2)可能捕捉到短期的、快速变化的时间模式。
    • 较大的卷积核(如 1×7)则能捕捉到较长时间范围内的模式。
    1. 扩张卷积
  • 文章提到“这些卷积可以被扩张以增加它们的接受域而不增加核大小”。这意味着,可以使用扩张卷积(dilated convolutions)来增加卷积的感受野(即每次卷积操作覆盖的数据范围),而不需要增加卷积核的实际大小。扩张卷积的核心思想是在卷积核的元素之间插入间隔,从而有效地增加卷积核的覆盖范围。

    1. 池化操作
  • 经过卷积核操作后,每个尺度(即不同卷积核大小)会得到不同的特征图。为了整合这些特征,模块采用了池化操作(通常是平均池化)。

  • 池化的作用是将每个卷积尺度的输出合并为一个统一的输出,并增强时间动态的表示。例如,在每个时间步 t t t 上,将所有尺度的卷积输出合并:

Y i [ t ] = pool ( y ( 1 ) [ t ] , y ( 2 ) [ t ] , … , y ( P ) [ t ] ) Y^i[t] = \text{pool}(y^{(1)}[t], y^{(2)}[t], \ldots, y^{(P)}[t]) Yi[t]=pool(y(1)[t],y(2)[t],,y(P)[t])

这里, pool ( ⋅ ) \text{pool}(\cdot) pool() 代表池化操作,通常是对每个时间步的所有尺度的输出进行平均池化,得到一个单一的表示向量。

  1. 池化后的输出
  • 经过池化操作后,最终的输出 Y i [ t ] Y^i[t] Yi[t] 保持了与输入序列 S i S^i Si 相同的维度。这个输出包含了不同尺度的时间特征的综合表示,可以用于后续的处理步骤。

    1. 卷积核的具体选择
  • 在此实现中,所使用的卷积核包括不同的大小:1×2、1×3、1×5 和 1×7。每种卷积核都设计成能够适应不同的时间分辨率,捕捉不同的时间特征。例如:

    • 1×2 卷积核适合捕捉非常短期的依赖关系。
    • 1×7 卷积核则适合捕捉较长期的依赖关系。

总结

该多尺度时间卷积模块的设计目标是捕捉时间序列数据中的多层次、不同时间尺度的特征。通过使用不同大小的卷积核和扩张卷积技术,它能够有效地提取局部和全局的时间依赖关系。最后,通过池化操作合并所有尺度的特征,得到一个综合的时间特征表示。这个模块能够处理时间序列数据中的多层次动态,适用于许多涉及时间依赖性分析的任务。

3.4 图结构学习

借鉴GDN(图偏差网络)的见解,当处理缺乏内在结构的多变量数据时,通过相似性计算来建模图结构是至关重要的。在所提出的图模型中,我们将数据集中的每个传感器表示为一个节点。我们根据它们所代表特征的数据相似性来构建节点之间的边。具体来说,两个节点之间存在边的概率与它们关联数据中观察到的相似性成正比。

考虑一个学习到的图,记为 G = ( V , E ) G=(V,E) G=(V,E),其中 V V V 表示节点集合,它们的嵌入由 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 c_i ci 在训练集上进行训练,一旦这个训练阶段完成,嵌入就固定了——这意味着对于测试集,图结构保持不变。我们使用点积来计算相似性,利用成对实体比较。因此,邻接矩阵的计算如下:
A i j = 1 { j ∈ Top-K ( { e k i } ) } , ( 4 ) A_{ij} = \mathbb{1}\{j \in \text{Top-K}(\{e_{ki}\})\}, \quad (4) Aij=1{jTop-K({eki})},(4)

e i j = c i T ⋅ c j ∥ c i ∥ ⋅ ∥ c j ∥ . ( 5 ) e_{ij} = \frac{c_i^T \cdot c_j}{\|c_i\| \cdot \|c_j\|}. \quad (5) eij=cicjciTcj.(5)

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

3.4解释

这段文字介绍了如何使用图结构学习方法,结合**图偏差网络(GDN)**的思想,通过相似性计算来构建图结构,进而在多变量数据中学习节点间的关系。这个过程尤其适用于数据缺乏明确内在结构的情况(例如,传感器数据)。让我们逐步解释这个过程中的各个概念和步骤。

  1. 图结构学习背景
  • 多变量数据与相似性计算:在处理具有多个变量的数据时(例如多个传感器或多个特征),往往没有显式的结构或关联。这时候,可以通过计算数据之间的相似性来建模这些关系。图结构学习的目标就是通过构建一个图,将数据点(如传感器)之间的关系表示为图中的边。

  • 图模型的构建:在这个图模型中,数据集中的每个传感器(或数据点)被表示为一个节点,节点之间的边的存在与否取决于这些节点的数据特征的相似性。具体地,两个节点之间是否有边,取决于它们之间的相似性值。相似性越高,节点之间连接的可能性越大。

    1. 图的表示与节点嵌入
  • 图的表示 G = ( V , E ) G = (V, E) G=(V,E)

    • G G G 是一个图,包含节点集 V V V 和边集 E E E
    • 节点集合 V V V:每个节点代表一个传感器(或者数据集中的某个实体)。这些节点有各自的特征表示,通常通过嵌入向量来表示。
    • 边集合 E ​ E​ E:边表示节点之间的关系,它们由节点间的相似性决定。
  • 节点的嵌入表示 Y ∈ R N × w Y \in \mathbb{R}^{N \times w} YRN×w

    • N N N 是图中节点的数量(即传感器的数量)。
    • w w w 是每个节点特征向量的维度。嵌入矩阵 Y Y Y 捕捉了每个节点的特征表示,便于后续的相似性计算和图结构学习。
    1. 嵌入向量的优化与相似性计算
  • 随机初始化嵌入 c i ∈ R d c_i \in \mathbb{R}^d ciRd

    • 每个节点在开始时都有一个随机初始化的嵌入向量 c i c_i ci,它表示节点的特征信息(即数据点的特征)。
    • 这个嵌入向量有两个重要作用:
      • 表示节点的特征:它用于在新的嵌入空间中表示每个节点的数据特征,便于评估不同节点间的相似性
      • 提供数据特征:嵌入向量也将在图注意力聚合过程中引入新的数据特征
  • 嵌入向量的训练:这些嵌入向量 c i c_i ci 会在训练过程中被优化。优化过程会根据节点之间的相似性来更新这些嵌入向量。训练完成后,嵌入向量会被固定下来,即在测试集上图结构不会发生变化。

    1. 邻接矩阵的计算
  • 计算节点间的相似性:节点之间的相似性通过点积来计算。点积的计算方式如下:

e i j = c i T ⋅ c j ∥ c i ∥ ⋅ ∥ c j ∥ e_{ij} = \frac{c_i^T \cdot c_j}{\|c_i\| \cdot \|c_j\|} eij=cicjciTcj

这里, e i j e_{ij} eij 表示节点 i i i 和节点 j j j 之间的相似度,使用的是余弦相似度(即标准化的点积)。如果 c i c_i ci c j c_j cj 的嵌入向量相似,则 e i j e_{ij} eij 会较大。

  • 生成邻接矩阵:根据节点间的相似性值来构建图的邻接矩阵 A A A,该矩阵描述了节点之间的连接关系。邻接矩阵中的元素 A i j A_{ij} Aij 的计算规则是:

A i j = 1 { j ∈ Top-K ( { e k i } ) } A_{ij} = \mathbb{1}\{j \in \text{Top-K}(\{e_{ki}\})\} Aij=1{jTop-K({eki})}

其中 1 { ⋅ } \mathbb{1}\{\cdot\} 1{} 是一个指示函数,表示如果节点 j j j 是与节点 i i i 的相似度值 e k i e_{ki} eki 中前 K 个最大值之一,则 A i j = 1 A_{ij} = 1 Aij=1,否则为 0。这意味着邻接矩阵的每个元素仅在某个节点是另一个节点的Top-K 相似节点时为1,否则为0。

  1. 图注意力机制与自环排除
  • 图注意力机制:该方法使用了一个图注意力网络(Graph Attention Network,GAT)。图注意力机制能够自适应地赋予不同邻居不同的重要性(即权重)。这意味着在聚合邻居节点的特征时,模型会根据每个邻居的重要性来加权。

  • 二进制邻接矩阵:由于采用的是二进制邻接矩阵(只有0和1),在计算邻接矩阵时,并没有考虑节点自身与自己的连接(即自环)。这确保了在图注意力更新时,不会重复地聚合一个节点本身的特征。

    1. 总结
  • 这段文字描述了一种通过相似性计算来建模图结构的方式,目的是学习数据点之间的关系,并将其表示为图结构。通过计算节点之间的相似性并根据这些相似性构建图的邻接矩阵,然后利用图注意力网络来进行节点特征的聚合和更新,从而实现对数据的深层次学习。

  • 最终,通过这种方法,能够捕捉到节点间的复杂关系,特别适用于缺乏明确内在结构的数据,如传感器数据或多变量时间序列数据。

3.5 拓扑特征注意力模块

如图2(b)所示,拓扑特征聚合模块图注意力机制拓扑图池两个关键组件组成。最初,节点聚合通过图注意力机制发生,有助于跨多层整合局部和全局信息。随后,该模块从图中提取高阶拓扑结构,将它们转换为持久性条形码。然后对结构信息进行全局矢量化和融合,得到最终的特征图。

3.5解释

这段文字描述了拓扑特征聚合模块的工作流程,主要包括两个关键组件:图注意力机制拓扑图池。具体过程如下:

  1. 节点聚合:首先通过图注意力机制对节点进行聚合。这一机制帮助整合不同层次的局部和全局信息
  2. 高阶拓扑结构提取:接下来,从图中提取出高阶的拓扑结构信息,并将这些结构转换为持久性条形码(persistence barcode)。持久性条形码是一种在拓扑数据分析中常用的表示方式,能够揭示图的拓扑特征。
  3. 全局矢量化和融合:最后,对提取到的拓扑信息进行全局矢量化和融合,从而得到最终的特征图,这为后续的模型处理提供了丰富的特征表示

这种方法结合了图注意力机制的局部和全局信息整合能力,以及拓扑图池在捕捉高阶结构特征方面的优势。

3.5.1 图注意力机制

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

h i = W ⋅ Y i h_i = W \cdot Y^i hi=WYi

g i = c i ⊕ h i g_i = c_i \oplus h_i gi=cihi

s i j = FeedForward ( ∣ g i ∣ ∣ g j ∣ ) s_{ij} = \text{FeedForward}(|g_i| |g_j|) sij=FeedForward(gi∣∣gj)

值得注意的是,每个节点的嵌入被转换以获得隐藏嵌入 h i ∈ R d h_i \in \mathbb{R}^d hiRd。这里, W W W 是一个共享的参数矩阵,整合了节点特征。中间向量 g i g_i gi g j g_j gj,由融合的传感器嵌入产生,被组合并通过前馈神经网络转换为实际数字。这个过程作为典型的特征增强技术。这种注意力机制与Transformers中发现的自注意力机制相似。此外,通过多头机制进行优化,允许更细致和实际的学习。注意力系数的计算涉及两个主要步骤:

α i j = exp ⁡ ( LeakyReLU ( s i j ) ) ∑ k ∈ N ( i ) exp ⁡ ( LeakyReLU ( s i k ) ) \alpha_{ij} = \frac{\exp(\text{LeakyReLU}(s_{ij}))}{\sum_{k \in N(i)} \exp(\text{LeakyReLU}(s_{ik}))} αij=kN(i)exp(LeakyReLU(sik))exp(LeakyReLU(sij))

z i ( t ) = σ ( ∑ j ⊂ N i α i j h j ) z_i^{(t)} = \sigma\left(\sum_{j \subset N_i} \alpha_{ij} h_j\right) zi(t)=σ jNiαijhj

我们通过应用LeakyReLU激活函数和Softmax归一化来适当地缩放这些系数。最后一步涉及消息聚合,其中节点的隐藏层特征,表示为 h i h_i hi,被注意力加权并与邻居节点的特征相加,以得出最终的节点特征 z i z_i zi。值得注意的是, N ( i ) N(i) N(i) 表示节点 i i i 的邻居,而 σ ( ⋅ ) \sigma(\cdot) σ() 指的是Sigmoid激活函数。

3.5.1解释

这段文字详细描述了图注意力机制(来自GATs,图注意力网络)的工作原理,关键步骤包括节点特征的嵌入注意力系数的计算消息聚合。下面是学习这段文字的要点:

  1. 节点嵌入
    • 每个传感器的特征向量通过多尺度时间卷积模块(Y)被划分,使得每个传感器的特征成为一个节点嵌入 Y i ∈ R w Y^i \in \mathbb{R}^w YiRw
    • 在计算注意力系数之前,节点嵌入通过一个共享的权重矩阵 W W W 转换成隐藏嵌入 h i ∈ R d h_i \in \mathbb{R}^d hiRd,即:

h i = W ⋅ Y i h_i = W \cdot Y^i hi=WYi
2. 融合操作
- 为了计算节点间的注意力系数,首先生成中间向量 g i g_i gi g j g_j gj,这些向量通过融合传感器嵌入得到:

g i = c i ⊕ h i g_i = c_i \oplus h_i gi=cihi

  • 然后,使用前馈神经网络对 ∣ g i ∣ |g_i| gi ∣ g j ∣ |g_j| gj 进行处理,得到相似度得分 s i j s_{ij} sij

s i j = FeedForward ( ∣ g i ∣ ∣ g j ∣ ) s_{ij} = \text{FeedForward}(|g_i| |g_j|) sij=FeedForward(gi∣∣gj)
3. 计算注意力系数
- 通过应用 LeakyReLU 激活函数对相似度得分 s i j s_{ij} sij 进行处理,并通过 Softmax 归一化,得到节点 i i i j j j 之间的注意力系数 α i j \alpha_{ij} αij

α i j = exp ⁡ ( LeakyReLU ( s i j ) ) ∑ k ∈ N ( i ) exp ⁡ ( LeakyReLU ( s i k ) ) \alpha_{ij} = \frac{\exp(\text{LeakyReLU}(s_{ij}))}{\sum_{k \in N(i)} \exp(\text{LeakyReLU}(s_{ik}))} αij=kN(i)exp(LeakyReLU(sik))exp(LeakyReLU(sij))

  • 其中, N ( i ) N(i) N(i) 表示节点 i i i 的邻居。
  1. 节点特征的聚合
    • 最终,节点 i i i 的隐藏特征 z i ( t ) z_i^{(t)} zi(t) 通过加权聚合其邻居节点的特征来得到:

z i ( t ) = σ ( ∑ j ⊂ N i α i j h j ) z_i^{(t)} = \sigma\left(\sum_{j \subset N_i} \alpha_{ij} h_j\right) zi(t)=σ jNiαijhj

  • 其中, σ ( ⋅ ) \sigma(\cdot) σ() 表示 Sigmoid 激活函数。
  1. 多头机制
    • 通过多头注意力机制,可以进行更细致的学习,每个头独立计算一个注意力系数和特征聚合,然后将结果进行拼接或加权平均,从而提高模型的表现能力。

简而言之,图注意力机制通过计算节点之间的注意力系数来决定如何加权邻居节点的信息,以便对节点进行特征更新。这种机制能够自动地关注图中重要的邻居节点,类似于Transformers中的自注意力机制。

3.5.2 高阶拓扑图池化

在代数拓扑中,持久性同调工具旨在识别图同调中的连通分量(0维同调)和循环(1维同调)。这种方法在优化图表示学习中被证明是有效的。

我们将高阶拓扑图池化应用于节点嵌入 Z ∈ R N × d Z \in \mathbb{R}^{N \times d} ZRN×d 和图结构信息,这些信息已经通过图注意力机制进行了优化。在这个过程中, N N N 表示顶点的数量,而 d d d 表示每个顶点隐藏嵌入的维度。这种池化操作聚合并抽象了增强的特征表示,简洁地捕获了图的拓扑特征。最初,节点通过多层感知器进行维度增加。维度转换后,我们从 k k k 个不同的角度描述图,得到 k k k 个转换后的图 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 k k 个过滤函数从 k k k 个不同的角度执行图过滤。具体来说,我们对每个转换后的图 K i K_i Ki(对于 i = 1 , … , k i = 1, \ldots, k i=1,,k)应用图过滤,这处理了每个视点的节点和边的信息。我们根据以下形式过滤图:

0 = K i ( 0 ) ⊆ K i ( 1 ) ⊆ ⋯ ⊆ K i ( n ) = K i 0 = K_i^{(0)} \subseteq K_i^{(1)} \subseteq \cdots \subseteq K_i^{(n)} = K_i 0=Ki(0)Ki(1)Ki(n)=Ki

K i ( j ) = ( V i ( j ) , E i ( j ) ) K_i^{(j)} = (V_i^{(j)}, E_i^{(j)}) Ki(j)=(Vi(j),Ei(j))

公式中的下标 i i i 表示第 i i i 个视图的图;上标 ( j ) (j) (j) 表示过滤的程度,其中 j j j 越接近0,过滤越广泛。 z 0 z_0 z0 表示节点 v v v 的嵌入,而 f i ( − ) f_i(-) fi() 表示在第 i i i 个视图的图上对节点嵌入进行的池化函数。我们设计的图过滤方法使用阈值过滤,其中超过阈值 α i ( j ) \alpha_i^{(j)} αi(j) 的节点及其部分连接边信息被移除,形式如下:

V i ( j ) = { v ∈ V i ( j + 1 ) ∣ f i ( z v ) ≤ α i ( j ) } V_i^{(j)} = \{v \in V_i^{(j+1)} \mid f_i(z_v) \leq \alpha_i^{(j)}\} Vi(j)={vVi(j+1)fi(zv)αi(j)}

E i ( j ) = { ( u , w ) ∈ E i ( j + 1 ) ∣ max ⁡ { f i ( z u ) , f i ( z w ) } ≤ α i ( j ) } E_i^{(j)} = \{(u, w) \in E_i^{(j+1)} \mid \max\{f_i(z_u), f_i(z_w)\} \leq \alpha_i^{(j)}\} Ei(j)={(u,w)Ei(j+1)max{fi(zu),fi(zw)}αi(j)}

由于Vietoris-Rips复形更好地表示高阶拓扑特征,我们应用Vietoris-Rips复形从图构造简单复形作为图的高阶拓扑特征,并且在我们的实现中仅考虑0维和1维复形,即连通分量和空隙[3]。元组表示拓扑特征在图过滤中的持久性。如果一个单纯复形出现在 K i K_i Ki 中,滤波后在 K j K_j Kj 中消失,我们可以用 ( i , j ) (i, j) (i,j) 来表示,它对应于 j − i j - i ji 的值。这个二维元组的集合就是持久性图:
D ( l ) = { ( i , j ) ∣ for each  S ∈ Simplex ( G ′ ) } D^{(l)} = \{(i, j) \mid \text{for each } S \in \text{Simplex}(G')\} D(l)={(i,j)for each SSimplex(G)}

其中 i i i 是单纯复形 S S S 的诞生时间, j j j S S S 的死亡时间。 l = 0 l = 0 l=0 表示0维同调,即连通分量,而 l = 1 l = 1 l=1 表示1维同调,用于循环。持久性条形码是持久性图的直观视觉表示,显示了拓扑特征的出现和消失。每条条形代表一个拓扑特征,如连通分量、空洞或空洞的单纯复形。条形的开始和结束跨度代表特征存在的时间框架。水平轴对应于过滤的程度。相比之下,垂直轴没有实际的数学意义,但用来安排不同的条形,每个条形代表一个特定的拓扑特征。最后,我们使用嵌入函数 Ψ \Psi Ψ 将持久性条形码转换为拓扑向量。这个过程可以表述如下:

Ψ ( l ) : ( D 1 ( l ) , … , D k ( l ) ) → R N × d \Psi^{(l)} : (D_1^{(l)}, \ldots, D_k^{(l)}) \rightarrow \mathbb{R}^{N \times d} Ψ(l):(D1(l),,Dk(l))RN×d

其中 k k k 是过滤函数的数量和图的视图的数量。在实现中,我们使用四种不同的嵌入函数来处理多视图图:(i) 三角点变换,(ii) 高斯点变换,(iii) 线点变换,(iv) 有理帽变换。详情请参考相关文献。

3.5.2解释

这段文字涉及到高阶拓扑图池化的概念和应用,特别是如何使用代数拓扑中的持久性同调工具(Persistence Homology)来优化图表示学习。为了帮助你理解这段内容,我会从以下几个方面进行详细讲解:

  1. 代数拓扑与持久性同调

代数拓扑是数学中的一个分支,研究形状和空间的结构特征,特别是在多个尺度上如何理解空间的连通性拓扑特征持久性同调(Persistent Homology)是代数拓扑中的一种工具,用来分析数据在不同尺度下的拓扑结构,尤其是识别数据中存在的连通分量(0维同调)和循环(1维同调)。持久性同调工具能够追踪这些拓扑特征的“生死”,即这些特征在不同尺度下的出现和消失。

  1. 图神经网络中的高阶拓扑图池化

在图神经网络(GNN)中,传统的图池化方法通常只依赖于节点的局部结构和特征,而高阶拓扑图池化引入了持久性同调的概念,考虑图的全局拓扑结构。这意味着,不仅仅关注节点和边的信息,还要考虑图形态的变化。

高阶拓扑图池化的关键是利用Vietoris-Rips复形来捕捉图中的高阶拓扑特征。具体来说,我们会构建和计算图的拓扑特征(连通性和循环),并使用这些拓扑信息来增强图的学习过程。

  1. 详细解读

现在,我们可以逐步解释这个过程的每个部分。

节点嵌入和图结构信息

首先,假设图 G G G N N N 个节点,每个节点有一个 d d d-维的隐藏嵌入向量,表示为 Z ∈ R N × d Z \in \mathbb{R}^{N \times d} ZRN×d,其中 N N N 是节点数量, d d d 是每个节点的特征维度。这些嵌入是通过**图注意力机制(GAT)**等方法得到的,图注意力机制通过关注图中节点间的关系来优化节点的表示。

图的多视角表示

在应用高阶拓扑图池化时,首先会对图的节点嵌入进行维度扩展。然后,从多个视角对图进行描述,得到 k k k 个不同的视图。每个视图是通过应用不同的图过滤方法对图进行变换得到的。这样做的目的是从多个尺度上提取图的不同拓扑特征,捕捉图的更复杂的结构。

图过滤

每个图视图 K i K_i Ki 会应用一组过滤函数,进行图的逐层过滤。在每个视图中,节点和边会根据某些标准(如节点嵌入的值)被逐渐移除。例如,如果一个节点的嵌入值超过某个阈值,那么这个节点及其相关的边会被过滤掉。这个过程可以视为**“简化”图**,逐渐消除较不重要的结构特征。

在公式中,图过滤操作是通过以下形式定义的:

0 = K i ( 0 ) ⊆ K i ( 1 ) ⊆ ⋯ ⊆ K i ( n ) = K i 0 = K_i^{(0)} \subseteq K_i^{(1)} \subseteq \cdots \subseteq K_i^{(n)} = K_i 0=Ki(0)Ki(1)Ki(n)=Ki

  • K i ( j ) K_i^{(j)} Ki(j) 表示第 i i i 个视图中经过 j j j 层过滤后的图。
  • V i ( j ) V_i^{(j)} Vi(j) E i ( j ) E_i^{(j)} Ei(j) 分别表示第 i i i 个视图中经过 j j j 层过滤后的节点集和边集。
  • f i ( z v ) f_i(z_v) fi(zv) 是某个节点嵌入的特征值,而 α i ( j ) \alpha_i^{(j)} αi(j) 是过滤阈值。

过滤操作基于节点的嵌入特征来选择保留哪些节点和边,逐步简化图的结构。

Vietoris-Rips复形与高阶拓扑特征

高阶拓扑特征的捕捉依赖于Vietoris-Rips复形,这是一种通过连接距离小的点来构造简单复形的方式。在图的背景下,Vietoris-Rips复形能够帮助我们更好地表示图的高阶拓扑结构,尤其是图的连通分量(0维同调)和空隙或循环(1维同调)。

  • 0维同调:代表图的连通分量,即没有断开的子图。
  • 1维同调:代表图中的循环或空隙,类似于在图中发现“洞”或环路。

持久性图与持久性条形码

通过Vietoris-Rips复形,可以生成持久性图(Persistence Diagram),该图记录了拓扑特征的生命周期。每个特征在图中的出现和消失时间通过持久性条形码(Persistence Barcode)来表示。

  • 持久性条形码:每条条形代表一个拓扑特征(例如一个连通分量或循环),其横轴表示过滤程度,纵轴没有实际数学意义,但用来排列不同特征。条形的长度表示该特征在不同尺度下的“持久性”,即该特征的生存时间。

拓扑向量的生成

最终,通过嵌入函数 Ψ \Psi Ψ,持久性条形码被转换为拓扑向量,形成图的最终特征表示。具体来说,持久性图 D ( l ) D^{(l)} D(l) 被映射到一个向量空间,得到一个新的图嵌入:

Ψ ( l ) : ( D 1 ( l ) , … , D k ( l ) ) → R N × d \Psi^{(l)} : (D_1^{(l)}, \ldots, D_k^{(l)}) \rightarrow \mathbb{R}^{N \times d} Ψ(l):(D1(l),,Dk(l))RN×d

其中, l l l 表示维度(0维或1维同调), D i ( l ) D_i^{(l)} Di(l) 是第 i i i 个视图的持久性图,转换后的结果是一个表示图的向量,可以用于后续的学习任务(如图分类或节点分类)。

嵌入函数

在实现中,通常使用多种不同的嵌入函数(如三角点变换、线点变换等)来处理多视角图。每种变换都通过不同的数学方法将持久性图转换为向量,提供不同的视角来帮助捕捉图的复杂结构。

  1. 总结

高阶拓扑图池化方法通过引入持久性同调和Vietoris-Rips复形,能够在多个尺度上捕捉图的拓扑特征。这种方法不仅依赖于节点的局部信息,还考虑了图的全局结构,特别是连通性和循环等高阶拓扑特征。通过持久性条形码和拓扑嵌入函数,可以将这些高阶特征转换为图的特征表示,用于图表示学习任务,如图分类和节点分类。

如果你有更具体的问题或需要更深入的某一部分讲解,随时告诉我!

代数拓扑

代数拓扑是数学的一个分支,旨在通过代数工具(如群论)来分析和研究拓扑空间的结构。拓扑空间描述的是一些几何对象的“形状”,而代数拓扑通过代数方法将这些形状中的不变特性提取出来。这些不变特性常常是一些“洞”或“连接”属性,例如图形的连通性、环路的存在、空腔的形状等等。

代数拓扑特别关注的是如何从几何图形或数据中提取这些不变的拓扑特征,并用代数的方法来描述这些特征。我们会依次讲解代数拓扑的一些基础概念,最后通过通俗的例子帮助理解。

  1. 拓扑学的基本概念

(1) 拓扑空间

在拓扑学中,拓扑空间是我们用来研究的基本对象。拓扑空间是由一组点和一组“开集”构成的集合,这些开集满足一些基本的条件(比如任意两个开集的交集还是开集)。开集的概念允许我们不直接关注空间的“形状”,而是关注它们的“连通性”以及“连续性”。

(2) 同伦(Homotopy)

“同伦”是代数拓扑的一个核心概念。两种空间如果可以通过一系列连续变形(而不切割或粘合)互相转化,那么我们说它们是同伦等价的。例如,一条圆环和一条绳子是同伦等价的,因为我们可以通过连续地拉伸、弯曲将一条绳子变成一个圆环,反之亦然。

  1. 代数拓扑中的核心工具

代数拓扑中的核心工具是同调群(Homology Groups)。通过同调群,我们可以捕捉拓扑空间中的孔洞空隙连通性等全局性质。

(1) 同调群(Homology Groups)

同调群是代数拓扑的基础工具之一,它用来量化拓扑空间中的孔洞。每个同调群对应着空间中某个维度的孔洞。

  • 零维同调( H 0 H_0 H0:零维同调群描述空间的连通性。若一个空间是连通的,那么它的零维同调群包含一个元素,表示空间中只有一个连通分量。如果空间被分割成多个不连通的部分,那么零维同调群的元素数量等于空间的连通分量数。

例子:想象你有两个圆圈,它们相互独立,没有连在一起。零维同调群会给出一个值2,表示空间中有两个连通部分(每个圆圈都是一个连通分量)。如果你把两个圆圈通过一条线连接起来,那么零维同调群的值就是1,表示现在只剩下一个连通部分。

  • 一维同调( H 1 H_1 H1:一维同调群描述的是空间中的循环。在空间中,任何一个闭合的路径(没有起点和终点)都可以被认为是一个“环”,一维同调群描述了这些环的数量。例如,圆形的空间有一个环,所以它的一维同调群是一个非平凡的群。

例子:想象一个圆形的空间,它有一个环。这表示一维同调群中有一个元素,代表这个环。如果你把这个圆形的空间压扁成一个椭圆形(依然保持其连通性),这个一维环依然存在,所以一维同调群仍然有一个元素。

  • 二维同调( H 2 H_2 H2:二维同调群描述的是空间中的二维孔洞,例如,空间中的一个空腔(如球体内部的空心部分)。二维同调群的元素代表这些空腔的数量。

例子:考虑一个球体,球体内部是空的,外部是实体部分。球体的二维同调群会有一个元素,表示球体内的空腔。如果你切开球体,变成一个圆盘形状,它就没有二维孔洞了,所以二维同调群就会消失。

  1. 代数拓扑的应用

代数拓扑的方法广泛应用于多个领域,尤其是在数据分析和图数据的处理上:

  • 数据分析:代数拓扑常用于从数据中提取全局拓扑特征,尤其是点云数据。在机器学习中,持久性同调被用来提取数据集中的不变特性,帮助提升模型的鲁棒性。
  • 图论和网络分析:在图结构中,代数拓扑可以帮助我们分析图的连通性、环路以及图的空隙。这对于社交网络、计算机网络、以及图神经网络等领域非常重要。
  • 计算机视觉:代数拓扑在计算机视觉中用于从图像或视频数据中提取形状和结构信息,特别是在形状分析、物体识别等任务中。
  1. 通俗例子帮助理解
  • 圆圈和椭圆:你可以将一个圆圈看作一个简单的拓扑空间,它有一个环(即一维同调群的一个元素)。如果你把这个圆圈压扁成一个椭圆形,它依然是连通的,但没有明显的环存在,因此一维同调群的元素消失了。
  • 球体与其孔洞:假设你有一个充气的球,它有一个内部空腔。这个空腔就对应二维同调群的一个元素。如果你刺破了这个球,空腔不复存在,二维同调群的元素就消失了。

通过这些例子,我们可以更直观地理解同调群是如何描述空间的“形状”和“洞”的。

  1. 总结

代数拓扑通过将拓扑空间的结构用代数工具(如同调群)表示出来,使我们能够以一种系统化的方式分析空间中的连通性、孔洞和环等特性。它不仅是纯数学的研究工具,也在数据分析、机器学习、图分析等领域有着广泛的应用。通过同调群、持久性同调等概念,我们能够从不同尺度、不同角度理解数据中的拓扑结构。

持久性同调

持久性同调(Persistent Homology)是代数拓扑中的一个强大工具,它用于研究数据或空间中拓扑特征(如连通分量、环、空洞等)随尺度变化的持久性。简而言之,持久性同调能够告诉我们,数据中的某些拓扑特征在不同尺度下保持不变的时间长度,从而帮助我们发现数据的全局结构。

持久性同调的一个核心思想是,许多拓扑特征(例如“洞”)在不同的尺度下可能会出现或消失。持久性同调通过跟踪这些拓扑特征的“生命周期”(即它们的出生时间死亡时间)来提取数据中的持久特征,从而获得数据的全局视角。

  1. 持久性同调的基本概念

为了理解持久性同调,首先我们要理解几个关键概念:

  • 尺度:在持久性同调中,尺度通常表示一个“过滤”的过程——从数据中逐步增加连接性或复杂度。随着尺度的增大,数据中的一些拓扑特征(如连通分量、环等)可能会逐渐形成或者消失。
  • 拓扑特征:在代数拓扑中,拓扑特征指的是数据的全局形状特性。例如,连通分量、环、空洞、空腔等。持久性同调关注的是这些特征在尺度变化中的持续存在性。
  • 过滤(Filtration):过滤是持久性同调的核心步骤。它是一个从小尺度到大尺度逐渐改变空间的过程。在这个过程中,空间中的拓扑特征逐渐形成。例如,从一个点集开始,随着尺度的增大,我们会逐步连接距离较近的点,形成边、三角形、环等结构。每个特征都有一个“出生时间”和“死亡时间”,表示它在过滤过程中何时出现、何时消失。
  1. 持久性同调的核心步骤

持久性同调的基本过程包括以下几个步骤:

  1. 构建数据的过滤序列(Filtration)
    • 你开始时有一组点(例如点云数据)。
    • 随着尺度的增大,你逐步添加连接,这些连接通过“距离”或“相似性”来决定。首先连接最接近的点,然后连接稍远的点,依此类推。
  2. 追踪拓扑特征的变化
    • 在每个尺度下,空间中的拓扑特征(如连通分量、环等)会发生变化。
    • 这些拓扑特征在尺度的变化过程中会有“出生时间”和“死亡时间”。“出生时间”是它们第一次出现在某个尺度上, “死亡时间”是它们消失或合并的时刻。
  3. 持久性条形码(Persistence Barcode)
    • 为了直观地表示持久性同调的结果,我们通常使用持久性条形码。每个条形表示一个拓扑特征的“生命周期”,即它的出生时间和死亡时间。
    • 条形的长度表示特征存在的时间越长,即该特征越持久。短的条形表示该特征在尺度上变化时迅速消失,通常这些特征可以认为是噪声;而长条形则代表数据中更加稳定、重要的拓扑特征。
  4. 持久性图(Persistence Diagram)
    • 持久性图是持久性条形码的另一种表达方式。它将每个拓扑特征的出生时间和死亡时间表示为平面上的点,横轴是出生时间,纵轴是死亡时间。每个点代表一个拓扑特征的生命周期。
  5. 持久性同调的通俗例子

为了更好地理解持久性同调,我们通过几个简单的例子来帮助你理解它的应用。

例子 1:点云数据中的连通分量

假设我们有一个分布在平面上的点云数据,数据点之间的距离可能很远也可能很近。在这种情况下,我们的目标是追踪这些点云在不同尺度下形成的“连通性”特征。

  1. 小尺度:在小尺度下,点与点之间的距离很远,因此它们不形成连通分量。每个点是一个孤立的点。
  2. 中尺度:随着尺度的增加,开始有些点通过边连接在一起,形成了一些连通分量。例如,若你有5个点,两个点之间的距离逐渐减小,可能会形成一条边。这个连通分量的“出生时间”是当这两个点被连接起来的时刻。
  3. 大尺度:随着尺度进一步增加,更多的点开始连接起来,形成了更大的连通分量。在更大的尺度下,原本存在的连通分量可能会合并或者消失。

在这个过程中,持久性同调会追踪这些连通分量的“出生”和“死亡”:

  • 某个连通分量可能在某个较小尺度上就消失了,说明这个连通分量在数据中并不重要。
  • 另一个连通分量可能在较大尺度下依然保持存在,说明它是数据中的一个重要特征。

通过持久性条形码,你可以看到这些连通分量的“持久性”,从而判断哪些连通分量是真正重要的,哪些只是噪声。

例子 2:点云中的环(1维同调)

我们可以考虑一种情况,其中数据点形成了一个环。例如,想象有一些点分布在一个圆形的路径上,随着尺度的增大,这些点逐渐被连接起来。

  1. 小尺度:开始时,点云中并没有形成任何环,只有一些孤立的点或者小的连通分量。
  2. 中尺度:随着尺度的增加,某些点开始连接,最终形成了一个环。当这些点形成一个环时,它的出生时间就是这个环被连接起来的时间。
  3. 大尺度:随着尺度进一步增大,环继续保持,直到被其他点连接或合并,最终这个环的结构可能会被摧毁或者消失。

在持久性条形码中,这个环的特征会表现为一个较长的条形,因为它在数据中持续存在了一段时间(即具有较长的生命周期)。如果这个环很早就被连接起来并且很快就消失,那么它的条形会比较短,代表它不那么重要。

例子 3:从三维数据构建空洞(2维同调)

考虑一个三维物体,比如一个空心球体。球体内部是空的,我们可以通过持久性同调来跟踪这个空洞的出现和消失。

  1. 小尺度:当尺度很小的时候,点与点之间的距离很远,几乎没有连通性或环存在。
  2. 中尺度:随着尺度的增加,球体的表面逐渐形成。虽然有许多点逐步被连接,但是内部的空洞还没有被填补。
  3. 大尺度:当尺度进一步增大时,空洞逐渐显现出来,直到最终形成一个大的空心区域。这个空洞的出生时间就是它形成的时间,死亡时间则是它与其他部分合并或者消失的时间。

如果这个空洞在很大尺度下才被创建并持续存在,持久性条形码会显示一个较长的条形,表示这个空洞是数据的一个稳定特征。

  1. 持久性同调的应用

持久性同调广泛应用于以下领域:

  • 数据分析:在高维数据分析中,持久性同调可以帮助我们识别数据中稳定的结构特征(如连通分量、环等),排除噪声。
  • 点云处理:在点云数据中,持久性同调能够有效提取空间的拓扑特征,帮助更好地理解数据的形状。
  • 图数据:在图表示学习中,持久性同调可以帮助提取图的拓扑特征,如图的连通性、空隙等。
  1. 总结

持久性同调通过跟踪拓扑特征的出生和死亡时间,帮助我们从不同尺度上理解数据中的结构特征。它是一种强大的工具,能够帮助我们提取数据中持久、不易消失的拓扑特征,排除噪声,进而进行更好的数据分析。通过持久性条形码和持久性图,我们可以可视化和定量化数据中的这些拓扑特征

Vietoris-Rips复形

Vietoris-Rips复形是代数拓扑中的一种构造方法,用于研究数据集的拓扑结构,特别是在点云数据或图形数据中如何识别和表示不同尺度下的拓扑特征。Vietoris-Rips复形特别适合在高维数据中构造拓扑特征,是持久性同调(Persistent Homology)等方法中常用的工具之一。

  1. 什么是Vietoris-Rips复形?

简单来说,Vietoris-Rips复形是从一个点集构造拓扑复形(即一种拓扑空间的表示方法)的过程,利用点与点之间的距离关系来构造连接,并将这些连接构成一个复形。它将点集转化为一组简单的几何形状(如单纯形),用来表示数据的拓扑特征。

具体地,给定一个点集和一个距离度量,Vietoris-Rips复形会根据以下规则连接点:

  • 0维单纯形(点):原始的点集中的每个点。
  • 1维单纯形(边):如果两个点之间的距离小于某个给定的阈值,则连接这两个点形成一条边。
  • 2维单纯形(三角形):如果三个点之间的所有距离都小于给定的阈值,那么这三点之间会形成一个三角形。
  • 更高维单纯形(如四面体、四维形状等):如果更多点之间的距离都在阈值范围内,那么它们就形成更高维的单纯形。

通过调整阈值,可以得到不同尺度下的复形,从而分析数据在不同尺度下的拓扑结构。

  1. Vietoris-Rips复形的构建过程

让我们通过一个简单的例子来帮助理解Vietoris-Rips复形的构建过程。

例子:2D点云

假设我们有四个点 { A , B , C , D } \{A, B, C, D\} {A,B,C,D} 在二维平面中,并且知道它们之间的距离。我们希望构建一个Vietoris-Rips复形来分析这些点的拓扑特征。

  1. 选择一个距离阈值:设定一个距离阈值 ϵ \epsilon ϵ,决定哪些点是“相连”的。例如,设定 ϵ = 2 \epsilon = 2 ϵ=2,即如果两个点的距离小于2,它们就会连接。
  2. 构建0维单纯形(点集):从点集 { A , B , C , D } \{A, B, C, D\} {A,B,C,D} 开始,每个点都会作为一个0维单纯形存在。
  3. 构建1维单纯形(边):计算点之间的距离,如果距离小于阈值 ϵ \epsilon ϵ,则连接这些点,形成边。例如,假设点A和B之间的距离小于2,点B和C之间的距离也小于2,那么就会连接A和B、B和C,形成边。
  4. 构建2维单纯形(三角形):如果三个点之间的距离都小于阈值 ϵ \epsilon ϵ,则这些点形成一个三角形。例如,假设点A、B、C之间的距离都小于阈值2,那么就会形成一个三角形,包含点A、B和C。
  5. 继续增加尺度:随着阈值 ϵ \epsilon ϵ 增大,更多的点和边会被连接,更多的三角形或更高维的单纯形会被形成。

在不同阈值下的Vietoris-Rips复形

  • 小尺度(小 ϵ \epsilon ϵ:在较小的尺度下,点与点之间的距离都比较大,因此大部分点不会连接,复形的结构较为简单,只有一些孤立的点或者很少的边。

  • 中尺度(中等 ϵ \epsilon ϵ:随着阈值的增大,更多的点会被连接起来,形成更多的边和三角形。例如,在这个尺度下,点A、B、C之间的距离较小,它们会形成一个三角形。

  • 大尺度(大 ϵ \epsilon ϵ:在较大的尺度下,所有点可能都会被连接起来,形成一个大的连通图,可能会有更多复杂的拓扑结构(如环、空洞等)。

    1. Vietoris-Rips复形的拓扑特征

通过构建Vietoris-Rips复形,我们可以研究数据在不同尺度下的拓扑特征。这些拓扑特征主要包括:

  • 连通分量(0维同调):点与点之间的连通性。若两点之间的距离小于阈值,则它们是连通的。随着尺度的增大,连通分量会逐步合并。

  • 环(1维同调):在数据中如果存在一个封闭的环,Vietoris-Rips复形可以检测到。在某些尺度下,点与点之间的连接形成环状结构,持久性同调可以追踪环的“出生”和“死亡”时间。

  • 空洞(2维同调):如果数据中有一个被边围成的空洞(如空心球体),Vietoris-Rips复形可以检测到这个空洞的存在,并追踪其变化。

    1. Vietoris-Rips复形的持久性

Vietoris-Rips复形的一个重要应用是持久性同调,它通过追踪拓扑特征的生命周期来识别数据中的重要结构。

  1. 出生和死亡:当阈值(尺度)增加时,Vietoris-Rips复形中的拓扑特征(如连通分量、环、空洞)会“出生”并随着尺度的增大而“死亡”。持久性同调通过记录每个特征的出生时间和死亡时间,能够识别哪些特征是数据中的长久存在的(即持久的拓扑特征),哪些特征是噪声。

  2. 持久性条形码:通过持久性条形码(Persistence Barcode)或持久性图(Persistence Diagram)来直观地表示拓扑特征的持久性。每个条形表示一个拓扑特征的生命周期,条形的长度代表该特征的持久性。长条形代表持久的拓扑特征,短条形则代表消失较快的特征,通常被认为是噪声。

  3. Vietoris-Rips复形的应用

Vietoris-Rips复形在许多领域都有应用,特别是在处理高维数据和复杂结构时,它能够揭示数据的拓扑结构。

  • 点云数据分析:在机器学习和计算机视觉中,Vietoris-Rips复形被用来分析点云数据的拓扑结构,帮助识别数据的全局形状。

  • 数据降维与嵌入:通过Vietoris-Rips复形,我们可以在不同尺度下分析数据的拓扑结构,从而帮助进行数据降维和嵌入,保留数据的最重要的拓扑特征。

  • 生物信息学:在生物学中,Vietoris-Rips复形可以用来分析基因表达数据或细胞形态,揭示生物系统中的重要拓扑特征。

  • 图分析:在图结构分析中,Vietoris-Rips复形可以用来理解图中节点之间的连接模式,识别图的全局特征。

    1. 总结

Vietoris-Rips复形是一个强大的工具,通过使用点与点之间的距离关系构造拓扑复形,帮助我们揭示数据的拓扑特征。在数据分析中,Vietoris-Rips复形可以帮助我们从不同尺度上理解数据的形状和结构,特别是在高维数据和复杂图形数据中。它与持久性同调结合使用时,能够识别数据中的持久拓扑特征,从而提高数据分析的质量和精度。

3.6 异常分数计算器

假设经过拓扑特征注意力模块后的图的节点嵌入表示为 p ( t ) ∈ R N × d p^{(t)} \in \mathbb{R}^{N \times d} p(t)RN×d。经过维度转换后,获得预测的时间步数据 X t ^ ∈ R N \hat{X_t} \in \mathbb{R}^N Xt^RN。这个过程公式化为:

x ^ t = FeedForward ( p ( t ) ) \hat{x}_t = \text{FeedForward}(p^{(t)}) x^t=FeedForward(p(t))

这里使用前馈神经网络来实现这种转换。这种维度转换等同于执行池化的降维。在训练集上,我们基于每一步 X t X_t Xt X t ^ \hat{X_t} Xt^ 的平均均方误差来更新传感器嵌入和其他神经网络的权重,作为反向传播损失,而不计算异常分数。在测试集上,我们同样比较预测结果 x ^ t \hat{x}_t x^t 与真实值 X t X_t Xt,计算其 L1 损失,并归一化差异。归一化后,我们使用传感器维度中的最大值作为异常分数,计算公式为:

Anomaly Score = max ⁡ i = 1 , … , N ( Normalize ( ∣ X ^ t i − X t i ∣ ) ) \text{Anomaly Score} = \max_{i=1,\ldots, N} \left( \text{Normalize} \left( \left| \hat{X}_t^i - X_t^i \right| \right) \right) Anomaly Score=i=1,,Nmax(Normalize( X^tiXti ))

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

3.6解释

这段文字描述的是如何通过神经网络和拓扑特征来进行异常检测。它的核心思想是通过比较预测的时间步数据和真实的时间步数据,计算异常分数,并基于这个异常分数标记是否存在异常。下面我们将逐步解释这段文字和公式,帮助你更好地理解。

  1. 输入和输出

在这个过程的开始,输入是图的节点嵌入表示。经过某些网络处理之后,你得到了每个时间步的预测数据。以下是详细解释:

节点嵌入表示

  • p ( t ) ∈ R N × d p^{(t)} \in \mathbb{R}^{N \times d} p(t)RN×d:这是经过拓扑特征注意力模块处理后的图的节点嵌入。这里:
    • N N N 是图中的节点数量。
    • d d d 是每个节点的嵌入维度。

节点嵌入 p ( t ) p^{(t)} p(t) 是图在某一时间步 t t t 上的特征表示。拓扑特征注意力模块有可能通过图神经网络或其他方法对节点的特征进行学习,使得这些嵌入反映了节点在图中的结构以及它们的关系。

预测数据 X t ^ \hat{X_t} Xt^

  • X t ^ ∈ R N \hat{X_t} \in \mathbb{R}^N Xt^RN:这是模型在时间步 t t t 预测的传感器数据。换句话说,它是模型预测的传感器在时间步 t t t 的值。

    1. 维度转换

这部分描述了如何通过一个神经网络对输入数据进行处理,生成预测结果:

  • x ^ t = FeedForward ( p ( t ) ) \hat{x}_t = \text{FeedForward}(p^{(t)}) x^t=FeedForward(p(t))

这里:

  • 使用 前馈神经网络(FeedForward Network)来进行维度转换,从 p ( t ) p^{(t)} p(t)(节点嵌入)转换到 X t ^ \hat{X_t} Xt^(预测的数据)。
  • 前馈神经网络就是一种常见的神经网络架构,通过一系列线性变换和非线性激活函数来对输入数据进行处理。

维度转换等同于执行池化的降维:这里的意思是,通过前馈神经网络处理后,模型将输入数据从原始的节点嵌入空间 p ( t ) p^{(t)} p(t) 映射到一个较低维度的空间 X t ^ \hat{X_t} Xt^,使得每个传感器的预测值在时间步 t t t 上具有对应的输出。

  1. 损失计算和训练

训练过程中,模型通过最小化误差来调整其权重和嵌入。具体来说,在训练集上,模型会计算 每一步的平均均方误差,并通过反向传播算法更新模型的参数(传感器嵌入和其他神经网络的权重)。但是在计算损失时 不计算异常分数

  • 损失计算公式:

MSE = 1 N ∑ i = 1 N ( X t i − X t ^ i ) 2 \text{MSE} = \frac{1}{N} \sum_{i=1}^{N} \left( X_t^i - \hat{X_t}^i \right)^2 MSE=N1i=1N(XtiXt^i)2

这里, X t i X_t^i Xti X t ^ i \hat{X_t}^i Xt^i 是第 i i i 个传感器在时间步 t t t 的真实值和预测值。这个均方误差损失用来训练网络,以便网络能更好地拟合真实数据。

  1. 异常分数计算

在测试集上,我们要根据模型的预测结果来评估是否有异常。为了做到这一点,使用 L1损失 来比较预测结果和真实值之间的差异,并归一化差异来计算异常分数。

  • L1损失:在测试集上,我们计算预测值和真实值之间的差异:

∣ X ^ t i − X t i ∣ \left| \hat{X}_t^i - X_t^i \right| X^tiXti

这个值表示第 i i i 个传感器在时间步 t t t 的预测值和真实值之间的绝对差异。

  • 归一化差异:然后我们对这些差异进行归一化,确保不同传感器的异常度量具有可比性。归一化的具体方式可能会通过数据的最大值来标准化。
  • 计算异常分数

Anomaly Score = max ⁡ i = 1 , … , N ( Normalize ( ∣ X ^ t i − X t i ∣ ) ) \text{Anomaly Score} = \max_{i=1,\ldots, N} \left( \text{Normalize} \left( \left| \hat{X}_t^i - X_t^i \right| \right) \right) Anomaly Score=i=1,,Nmax(Normalize( X^tiXti ))

这个公式表示,对于时间步 t t t 中的每一个传感器 i i i,我们计算其归一化的绝对差异 ∣ X ^ t i − X t i ∣ \left| \hat{X}_t^i - X_t^i \right| X^tiXti 并取最大值作为 异常分数。换句话说,最异常的传感器(具有最大差异的传感器)决定了当前时间步的异常分数。

  1. 判断异常
  • 异常检测:如果计算出的异常分数超过预设的阈值,那么我们就认为在时间步 t t t 上发生了异常。

  • 阈值设置:这个阈值是通过验证集中的最大异常分数来确定的。也就是说,在训练过程中,我们观察验证集的最大异常分数,并将其用作判断异常的标准。这里使用了 GDN (Geometric Distribution Normalization) 方法来进行阈值设置。

    • 在验证集上找到异常分数的最大值后,设定阈值,如果测试集中的异常分数大于这个阈值,就标记该时间步为异常。
    1. 总结
  • 在训练时,模型根据均方误差更新网络权重,学习如何通过节点嵌入来预测传感器数据。

  • 在测试时,模型通过计算预测值和真实值之间的 L1差异 来衡量异常分数,并基于这个分数判断是否存在异常。

  • 异常分数是通过计算每个传感器的预测误差并取最大值来得到的,最大值对应于异常最严重的传感器。

  • 如果异常分数超过预设阈值,则当前时间步被标记为异常。

这样的异常检测方法可以用于监控系统中的设备、传感器等,帮助发现数据中的异常或故障。

4 实验

本节详细阐述了实验和模型实现的细节。

4.1 数据集

我们选择了四个最常用的时间序列异常检测数据集,它们是:火星科学实验室探测器(MSL)、安全水处理(SWaT)、服务器机器数据集(SMD)、水分配(WADI)。其中,WADI 数据集拥有最大的数据量,因此最具挑战性。MSL 数据集具有最小的特征维度,使得检测不那么复杂。表1详细列出了我们的四个基准数据集,包括它们的大小和异常率(%)。

数据集维度训练集数量测试集数量异常率
MSL2558,31773,72910.50
SWaT5147,51544,98611.97
SMD3823,68823,6884.20
WADI127118,79517,2755.99

4.2 基线

为了评估 TopoGDN 的性能,我们将其与属于三个类别的七种方法进行比较:传统的机器学习方法、基于重建的方法和基于预测的方法。

  • PCA:PCA 是一种传统的机器学习技术,它找到一个降维映射来从数据中提取特征,使用重建误差作为异常分数。
  • LSTM-VAE:LSTM-VAE 利用 VAE 进行数据重建,并结合 LSTM 提取时间特征。
  • MAD-GAN:MAD-GAN 采用 GAN 进行数据重建,使用生成器学习时间序列的隐式特征,并通过判别器直接识别真实和假序列,从而检测异常。
  • OmniAnomaly:OmniAnomaly 利用概率图模型中的随机变量链接和正则化流技术来捕获数据的典型模式,通过重建概率分布来确定异常。
  • GDN:GDN 使用图结构学习来模拟特征之间的依赖关系,并采用 GAT 提取时间特征,代表了一种典型的基于预测的异常检测方法。
  • TranAD:TranAD 利用常规的 Transformer 作为序列编码器,设计了一种基于对抗性的训练过程来放大重建误差,并采用模型无关的元学习来加速推理。
  • ImDiffusion:ImDiffusion 利用基于插值的方法进行数据重建,利用关于邻近值的信息来提取复杂的时间依赖信息。
4.2解释

这部分内容介绍了评估 TopoGDN 性能时与其他七种方法的比较,这些方法分为三类:传统的机器学习方法基于重建的方法基于预测的方法。下面,我会详细解释这些方法的基本原理和它们与 TopoGDN 的对比。

  1. 传统的机器学习方法

这些方法通常依赖于特征提取和降维来处理数据。

PCA(主成分分析)

  • 原理:PCA 是一种经典的降维技术,旨在通过找到数据中最重要的成分(主成分)来压缩数据的维度。这些主成分是数据中方差最大的方向。
  • 应用于异常检测:PCA 会将数据投影到一个低维空间,并基于重建误差来检测异常。重建误差越大,数据点可能越异常。换句话说,PCA 通过检查数据点是否能在低维空间中很好地重建来判断是否异常。

总结

  • 优点:简单且计算效率高。

  • 缺点:假设数据是线性可分的,对非线性模式的异常检测能力差。

    1. 基于重建的方法

这些方法通过尝试重建原始数据来检测异常,异常点通常表现为重建误差较大。

LSTM-VAE(长短期记忆变分自编码器)

  • 原理:LSTM-VAE 结合了 LSTM 和变分自编码器(VAE)。LSTM 用于提取时间序列数据中的时间依赖性,而 VAE 用于生成数据的潜在表示,并通过重建原始数据来检测异常。
  • 应用于异常检测:LSTM 处理序列数据的时间相关性,而 VAE 在训练过程中学习如何重建数据。当重建误差较大时,说明数据点与训练数据的模式差异较大,可能是异常。

MAD-GAN(基于生成对抗网络的异常检测)

  • 原理:MAD-GAN 使用生成对抗网络(GAN)进行数据重建。GAN 包括生成器(生成假数据)和判别器(判断数据真假)。通过训练生成器学习数据的隐式特征,判别器检测真实数据和生成数据的差异。
  • 应用于异常检测:通过 GAN 模型生成与原始数据相似的数据点,使用判别器来评估数据点是否异常。生成的“假数据”与真实数据的偏差越大,异常的可能性越高。

OmniAnomaly(基于概率图模型的异常检测)

  • 原理:OmniAnomaly 使用概率图模型和正则化流技术来捕获数据中的典型模式。它通过建模数据的概率分布来发现异常点。
  • 应用于异常检测:通过建立数据的概率模型,OmniAnomaly 根据重建的概率分布与真实数据之间的差异来检测异常。

总结

  • 优点:这些方法通过重建来捕获数据的复杂结构,适合处理高维和复杂的非线性数据。

  • 缺点:计算量大,且在一些情况下可能对异常模式的识别能力较弱,尤其是在训练数据不足时。

    1. 基于预测的方法

这些方法基于对未来数据的预测来检测异常,异常点表现为预测误差较大。

GDN(图结构学习与图注意力网络)

  • 原理:GDN 是基于图结构学习的预测模型,采用图注意力网络(GAT)来提取时间序列中的时间特征,并学习节点之间的依赖关系。它的目标是通过图结构来捕获数据中的复杂关系。
  • 应用于异常检测:GDN 在时间序列上进行预测,当模型的预测误差较大时,表示该点可能是异常。

TranAD(基于 Transformer 的异常检测)

  • 原理:TranAD 使用 Transformer 网络来编码时间序列,并通过对抗训练过程放大重建误差。对抗训练意味着通过模拟真实与假数据之间的差异来增强模型的异常检测能力。
  • 应用于异常检测:TranAD 通过预测未来的数据点,并将预测误差作为异常的指标。通过对抗性训练(类似于 GAN),该方法可以有效放大异常的表现,从而提高检测精度。

ImDiffusion(插值方法的异常检测)

  • 原理:ImDiffusion 使用基于插值的重建方法来模拟时间序列数据的动态变化,利用邻近值的信息来提取复杂的时间依赖特征。
  • 应用于异常检测:通过插值方法在时间序列中构建“正常”数据的预测路径,然后将实际数据与预测路径进行比较,异常点表现为偏离预测路径的点。

总结

  • 优点:这些方法适合长时间序列数据,能够建模复杂的时间依赖关系,并通过预测未来数据来检测异常。
  • 缺点:训练过程复杂,通常需要更多的计算资源。

总结比较

  • TopoGDN 是一种基于图结构学习的方法,它使用图注意力网络(GAT)来提取时间特征并捕捉数据之间的依赖关系。它与基于预测的异常检测方法(如 GDN 和 TranAD)类似,但其重点是通过图结构来捕捉数据的复杂关系。
  • PCA基于重建的方法(如 LSTM-VAE 和 MAD-GAN) 更多依赖于重建误差或生成模型,而 基于预测的方法(如 TranAD 和 GDN) 则侧重于通过时间序列预测和误差来检测异常。

通过这些方法的比较,我们可以看到 TopoGDN 的独特性,它在捕捉图结构中的节点间依赖关系方面可能具有优势,尤其适用于包含复杂时序依赖的高维数据。

4.3 实验设置

我们在具有 24GB 内存的 NVIDIA GeForce 3090 上进行所有实验。实现中使用的编程语言和框架是 Python 3.7、PyTorch 1.13.1、CUDA 11.7 和 PyTorch-Geometric 1.7.1。表 2 展示了默认的通用超参数。在计算拓扑特征时,我们采用图批处理将多个图数据批次合并为一个大图。这种方法解决了由于数据集中变量较少而需要稀疏构建的图结构的问题。因此,批量大小成为一个平衡效率和准确性的超参数。拓扑特征的计算采用多视图方法,为持久性条形码利用四种不同的嵌入函数。每个函数应用三次,对应于图视点的数量。

名称名称
批量大小32Top-K20
窗口大小100节点嵌入128
窗口步长10图过滤8
图视图数量 (k)12输出层2

5 实验结果

在本节中,我们分析实验结果并展示图及其拓扑结构的可视化。

5.1 结果分析

表3:TopoGDN、TranAD 和 ImDiffusion 的模型效率分析。

模型TopoGDNTranADImDiffusion
总参数数量 (K)5926194966
可训练参数数量 (K)5916174823
参数大小 (KB)2273461806
浮点运算次数 (K)4606724352
运行时间 (小时)1.22.37.8

我们将 TopoGDN 与过去五年的传统和最新模型进行比较。实验结果如表4所示。TopoGDN 在所有四个数据集上实现了最高的 F1 分数,最佳地平衡了准确性和召回率。虽然某些方法在特定数据集的精确度或召回率方面优于 TopoGDN,但 TopoGDN 的整体表现令人印象深刻。在 SWaT 和 SMD 数据集上,TopoGDN 的 F1 分数比排名第二的模型高出约 2-3%。这一表现展示了它在处理复杂数据场景中的鲁棒性和有效性。WADI 数据集的特点是具有显著的周期性,并且与其他数据集相比,多变量特征的数量要多出两倍到三倍,这表明所有模型的效果都不太明显。由于运行时间长,ImDiffusion 在 WADI 数据集上运行超过 8 小时仍未产生结果。尽管如此,TopoGDN 在准确性和 F1 分数方面仍优于所有基线模型,这证实了我们的模型适用于具有一定泛化能力的大规模数据集。

表3展示的效率比较分析侧重于两个模型,TranAD 和 ImDiffusion,它们在 F1 分数方面的表现仅次于 TopoGDN。这一比较旨在评估模型在模型参数和计算工作量方面的有效性和效率。我们统计了批量大小为 1 时的模型参数数量以及可训练参数的数量,不包括位置嵌入和图结构信息等静态参数。我们还计算了模型的 FLOPs(每秒浮点运算次数)与推理时间的正相关性。此外,我们使用预训练模式保存模型参数,统计了它们在 SMD 数据集上的大小,并计算了模型的运行时间。效率测试结果表明,TopoGDN 在时间和空间复杂性方面是最优的。TopoGDN 的参数数量主要来自于 TCN 和 GAT,分别处理提取时间和特征间依赖性。对于 TranAD,参数主要在 Transformer 的多头机制和编码器-解码器架构中的前馈网络中找到。在 ImDiffusion 中,参数主要位于噪声预测器的卷积操作和转换过程中涉及的维度。实验结果表明,TopoGDN 具有最优数量的模型参数。TopoGDN 的计算工作量在于拓扑特征的提取和转换以及神经网络的反向传播。对于 TranAD,主要的计算工作涉及在训练期间面对两个损失。因此,TranAD 的时间复杂性更高,其推理时间是 TopoGDN 的 2-3 倍。ImDiffusion 中的去噪过程在 Diffusion 模型样本中过于频繁,导致推理时间比 TopoGDN 长 7-8 倍,使其对于 WADI 等大规模数据集不切实际。

5.2 消融研究

[外链图片转存中...(img-983taLrd-1734670800844)]

我们的模型指的是 GDN 的整体框架,在表5中显示的所有四个数据集上,与原始模型相比都有显著改进。具体来说,整合所有模块可以分别提高所有数据集的平均 F1 分数 7% 到 19%。TopoGDN 将多尺度时间卷积(MSTCN)和拓扑分析模块(TA)整合到标准的 GDN 框架中。它还在输出层的元素乘法之前执行 Softmax 归一化。我们还比较了单尺度时间卷积(TCN)和多尺度时间卷积(MSTCN)的效果。添加 TCN 和 MSTCN 模块提高了模型的整体效果,平均 F1 分数提高了约 6%,在 SMD 数据集上可以达到 12%。这表明 SMD 数据集表现出更丰富的时间特征。与单尺度 TCN 相比,MSTCN 在实验结果中略有优势。在 SWaT、WADI 和 SMD 数据集上,拓扑分析模块显著提高了模型性能,F1 分数提高了 4% 到 17%。这表明 TA 模块可以显著提升 GNN 的特征提取能力。该模块已被证明可以整合到各种神经网络架构中,如 GCN、GAT 和图同构网络(GIN),并持续实现显著增强。这些模块通过残差连接连接,设计为即插即用,便于整合到其他 GNN 和时间网络中,以增强时空特征提取。

5.3 超参数敏感性

我们进行了实验以评估不同超参数的影响,如图3所示。批量大小(图3a)至关重要,因为我们使用一个大的融合图而不是多个小图进行批处理。对于更大的数据集,较小的批量大小(通常约为 16)确保了批次内的图结构适度密集。如果批量大小太大,经过图过滤后的拓扑特征变得不那么明显。Top-K 参数(图3b)表示每个节点的边数,也影响拓扑特征提取。连接太多边会使提取不同的拓扑特征变得困难,通常使用的值为 15 或 20。过度的图过滤操作会破坏结构特征,如图3c所示,当图过滤执行 20 次时,三个数据集的检测效果显著下降。窗口大小和步幅取决于数据集的大小。较大的数据集表现出更丰富的时间特征。如图3e和3f所示,当窗口大小设置为最大值200且步幅最小化为1时,模型在WADI数据集上更有效。节点嵌入的选择和输出层的数量也取决于数据集。通常,较大的值增加了过拟合的可能性。如图3g和3h所示,在所有三个数据集上都观察到不同程度的过拟合。

5.4 拓扑特征可视化

[外链图片转存中...(img-Qv8TadqN-1734670800844)]

[外链图片转存中...(img-dnEXmVJE-1734670800844)]

拓扑分析模块从学习到的图结构信息中提取高阶特征。图4展示了在具有不同 Top-K 值的 SMD 数据集上训练得到的图结构。结果表明,当 Top-K=5 时,图趋向于更稀疏。图的节点在训练过程中形成多种类型的簇,对应于 SMD 数据集中的两种数据类型:值为 0 和 1 的二进制数据,以及流量数据,后者在归一化后在 [0,1] 中显示不同的数据分布。

图5 展示了在 Top-K=5 时,从不同训练过程中得到的图结构计算出的持久性条形码的可视化。每条水平线(条形)表示特定范围内尺度的拓扑特征(例如,连通分量或环)。条形的开始表示特征首次出现的尺度,结束表示特征消失的尺度。红色条形代表 0 维同调群,通常对应于连通分量。条形的长度表示从连通分量形成到最终与其他元素合并的持续时间。蓝色条形代表 1 维同调群,对应于数据中的环或孔。蓝色条形的开始和结束点表示环结构形成和消失的时间。这些图中许多短命的红色条形表明许多连通分量迅速合并。一些长条表明一些连通分量在更大的尺度上保持独立。蓝色条形较少,表明存在少量持久的环结构。第二个图比前一个显示更多的蓝色条形,暗示更多的持久环结构,并且随着训练的进行,图的结构信息变得更加明显。红色条形具有类似的分布,但聚集在更短的尺度上,表明连通分量的合并速度更快。第三个图几乎不显示蓝色条形,而红色条形众多且主要是短命的,这表明连通分量在数据中迅速形成和合并,几乎没有持久的环结构。

6 结论

我们提出了一种基于预测的多变量时间序列异常检测方法,称为 TopoGDN。该方法使用不同大小核的多尺度时间卷积提取时间特征。同时,模型通过图结构学习和 GAT 捕获跨特征依赖性。此外,该方法结合了一个即插即用的拓扑分析模块,以在多个尺度上整合更高阶的结构信息。这一过程显著增强了 GAT 的特征提取能力。实验结果表明,我们的方法在四个数据集上优于其他基线模型。

K 参数(图3b)表示每个节点的边数,也影响拓扑特征提取。连接太多边会使提取不同的拓扑特征变得困难,通常使用的值为 15 或 20。过度的图过滤操作会破坏结构特征,如图3c所示,当图过滤执行 20 次时,三个数据集的检测效果显著下降。窗口大小和步幅取决于数据集的大小。较大的数据集表现出更丰富的时间特征。如图3e和3f所示,当窗口大小设置为最大值200且步幅最小化为1时,模型在WADI数据集上更有效。节点嵌入的选择和输出层的数量也取决于数据集。通常,较大的值增加了过拟合的可能性。如图3g和3h所示,在所有三个数据集上都观察到不同程度的过拟合。

5.4 拓扑特征可视化

[外链图片转存中…(img-Qv8TadqN-1734670800844)]

[外链图片转存中…(img-dnEXmVJE-1734670800844)]

拓扑分析模块从学习到的图结构信息中提取高阶特征。图4展示了在具有不同 Top-K 值的 SMD 数据集上训练得到的图结构。结果表明,当 Top-K=5 时,图趋向于更稀疏。图的节点在训练过程中形成多种类型的簇,对应于 SMD 数据集中的两种数据类型:值为 0 和 1 的二进制数据,以及流量数据,后者在归一化后在 [0,1] 中显示不同的数据分布。

图5 展示了在 Top-K=5 时,从不同训练过程中得到的图结构计算出的持久性条形码的可视化。每条水平线(条形)表示特定范围内尺度的拓扑特征(例如,连通分量或环)。条形的开始表示特征首次出现的尺度,结束表示特征消失的尺度。红色条形代表 0 维同调群,通常对应于连通分量。条形的长度表示从连通分量形成到最终与其他元素合并的持续时间。蓝色条形代表 1 维同调群,对应于数据中的环或孔。蓝色条形的开始和结束点表示环结构形成和消失的时间。这些图中许多短命的红色条形表明许多连通分量迅速合并。一些长条表明一些连通分量在更大的尺度上保持独立。蓝色条形较少,表明存在少量持久的环结构。第二个图比前一个显示更多的蓝色条形,暗示更多的持久环结构,并且随着训练的进行,图的结构信息变得更加明显。红色条形具有类似的分布,但聚集在更短的尺度上,表明连通分量的合并速度更快。第三个图几乎不显示蓝色条形,而红色条形众多且主要是短命的,这表明连通分量在数据中迅速形成和合并,几乎没有持久的环结构。

6 结论

我们提出了一种基于预测的多变量时间序列异常检测方法,称为 TopoGDN。该方法使用不同大小核的多尺度时间卷积提取时间特征。同时,模型通过图结构学习和 GAT 捕获跨特征依赖性。此外,该方法结合了一个即插即用的拓扑分析模块,以在多个尺度上整合更高阶的结构信息。这一过程显著增强了 GAT 的特征提取能力。实验结果表明,我们的方法在四个数据集上优于其他基线模型。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值