文献地址:2412.16447

代码地址:YXNTU/GeneralDyG

摘要

本研究提出了GeneralDyG方法,通过对时间自我图进行采样,并依次提取结构和时间特征,以应对实现泛化性的三个关键挑战:数据多样性、动态特征捕获和计算成本。

引言

引言部分总结

  • 图在众多领域用于建模复杂系统,现实中图数据常随时间演变,如知识网络每月有新知识及连接变化。动态图挖掘受关注,其中异常检测对识别偏离正常模式的节点或边意义重大,可用于检测欺诈、垃圾邮件和网络入侵等,有助于增强系统安全与完整性。
  • 深度学习方法虽推动了动态图异常检测进展,但缺乏跨任务或数据集的泛化性。现有方法存在对异常事件编码不佳、时间信息捕获能力弱等问题,像 SimpleDyG 丢弃拓扑结构信息不适合节点和边缘异常检测,TADDY 位置编码有缺陷,GDN 未整合时间值信息在特定数据集表现差。开发通用方法面临数据多样性、动态特征捕获和计算成本挑战。
引用文献 方法名称 主要特点 在异常检测中的不足
Deng 和 Hooi(2021) GDN 将结构学习与图神经网络结合,利用注意力权重增强异常可解释性 在对时间数据建模时未整合特定时间值信息,在比特币 - Alpha 和比特币 - OTC 等时间敏感数据集上性能不佳
Cai 等人(2021) StrGNN 提取以边为中心的 h - hop 封闭子图,用 GCN 建模结构信息,GRU 捕获快照间相关性 未提及(文中未着重说明其在泛化性方面的特定显著不足)
Park、Hoshi 和 Kemp(2018) LSTM - VAE 融合 LSTM 和变分自编码器检测异常 未提及(文中未着重说明其在泛化性方面的特定显著不足)
Liu 等人(2021) TADDY 使用 Transformer 处理多种编码并计算异常分数 节点位置特定编码可能导致结构信息模糊,在节点异常检测任务中效果欠佳;位置编码方法可能无法捕捉结构相似性及建模结构相互作用
Lee、Kim 和 Shin(2024) SLADE 通过自监督学习检测动态边缘流中的异常 未提及(文中未着重说明其在泛化性方面的特定显著不足)
Tian 等人(2023) SAD 采用半监督方法进行动态图异常检测 未提及(文中未着重说明其在泛化性方面的特定显著不足)
Wu、Fang 和 Liao(2024) SimpleDyG 将动态图视为序列建模问题,有创新时间对齐技术 几乎丢弃所有拓扑结构信息,仅标记节点,在节点预测任务中丢失关键结构信息,不适合节点和边缘异常检测任务

开发一种高度可泛化的动态图异常检测方法面临几个挑战,主要包括:

  1. 数据多样性:动态图数据集之间的差异,如拓扑结构、节点和边的属性,可能很大。该方法必须识别并适应广泛的特征分布。
  2. 动态特征捕获:动态图中的异常可能发生在局部(例如,特定节点或边的异常行为)或全局(例如,网络拓扑的异常变化)。该方法必须捕获局部和全局动态特征。
  3. 计算成本:动态图异常检测通常涉及大规模图数据,使得计算资源和时间效率成为重大挑战。

主要贡献:

  • 提出了一种新型时间自我图采样方法,在减少计算成本的同时保留了关键的时序和结构信息。

  • 设计了一个通用的GNN提取器TensGNN,能够同时处理节点和边的多属性特征。

  • 结合时间和拓扑结构信息的Transformer模型,有效提升了异常检测的准确性和通用性。

  • 在四个真实世界数据集上的实验结果表明,GeneralDyG优于当前最先进的异常检测方法,尤其在具有高度动态特征的数据集上表现尤为显著。


相关工作

相关工作分类 具体方法 方法描述
动态图异常检测 M-GAT 采用多头注意力机制与模态内和模态间注意力模块,明确建模不同模态相关性,用于动态图中的异常节点检测
MTADGAT 结合两个并行的图注意力层,在时间和特征维度上捕获多元时间序列中的复杂依赖关系,进行异常检测
GDN 将结构学习与图神经网络相结合,利用注意力权重增强检测到的异常的可解释性
FuSAGNet 通过将稀疏自编码器与图神经网络相结合,优化重建和预测,对多元时间序列关系建模并预测未来行为,以检测异常
SEDANSPOT 一种用于检测边缘流中异常的随机算法
Midas 基于微簇的边缘流异常检测器,采用假设 - 验证的方法
Addgraph 利用 GCN 从切片中提取图结构信息,接着采用 GRU - attention 进行异常检测
StrGNN 提取以边为中心的 h - hop 封闭子图,使用 GCN 对快照上的结构信息进行建模,用 GRU 捕获快照之间的相关性来检测异常
SAD 引入半监督方法,利用时间记忆库和伪标签对比学习模块,有效利用有标签和无标签数据检测动态图流中的异常
动态图上的 Transformer GraphERT 率先使用 Transformer,通过在图随机游走序列上采用掩码语言模型,将图结构学习与时间分析无缝集成
GraphLSTA 通过循环注意力机制有效提取和整合长期和短期时间特征,从而捕获动态图的演化模式
Taddy 使用 Transformer 处理基于扩散的空间编码、基于距离的空间编码和相对时间编码,随后通过池化层导出边缘表示以计算异常分数
SimpleDyG 将动态图重新解释为序列建模问题,并提出了一种创新的时间对齐技术,简化建模过程并捕获动态图的内在时间演化模式

预备知识

符号说明

  • 连续时间动态图(CTDG,Continuous-Time Dynamic Graph)
    动态图 被定义为一个包含节点集合 和时间有序边集合 的图,其中:

    • 是所有参与时间边的节点集合;
    • 是按时间顺序排列的一系列边,表示节点之间的交互。
  • 边的定义
    每一条边 表示在时间 时节点 和节点 之间的交互,其关联特征为

  • 节点属性
    对于任意节点 ,其属性分别记为 。所有节点的属性可以表示为矩阵 ,其中 是节点数量, 是每个节点的属性维度。

  • 边属性
    对于任意边 ,其属性记为 。所有边的属性可以表示为矩阵 ,其中 是边的数量, 是每条边的属性维度。

  • 异常事件
    本文中将节点的异常统称为异常事件(Anomalous Events),分别用集合 表示异常的节点和边。因此,异常事件集合记为 ,而异常特征集合(即节点和边的属性集合)记为

问题定义

本文旨在每个时间戳检测异常边和节点。基于上述符号,将动态图中的异常检测建模为计算异常分数的任务。

给定动态图 ,其中每个 表示时间戳 的图,异常检测目标是识别此演化结构中的异常边和节点。对于每条边 和节点 ,分别计算异常分数 是可学习的异常分数函数。异常分数量化边和节点的异常程度,分数 越高,表明边 或节点 异常可能性越大。

基于先前研究,在动态图异常检测中采用无监督方法。训练时,所有边和节点视为正常,测试时提供二元标签评估算法性能。具体而言, 表示 异常, 表示正常; 表示节点异常。需注意,异常标签通常不平衡,正常边和节点数量远多于异常的数量。


方法

总体框架由三个主要组件构成:时间自我图采样时间自我图 GNN 提取器时间感知Transformer。图 1 展示了所提框架概览。

首先,在每个异常事件层面提取自我图,捕获 k-hop 时间动态,将其转换为保留时间和结构顺序的异常特征序列(图 1 (a))。

接着,通过 GNN 模型处理这些序列,提取时间自我图的结构细节(图 1 (b))。

最后,将原始序列特征和富含结构的序列特征都输入 Transformer,评估异常检测任务(图 1 (c))。

image-20250110102528363


Temporal ego-graph sampling


1. 动机与背景

在动态图中,节点和边的拓扑结构随时间不断变化,因此在进行异常检测时,不能简单地将整个图作为一个静态快照处理。为了更有效地捕获节点或边在不同时间上的局部动态特征,作者提出了 Temporal Ego-Graph Sampling 方法。

核心目标:

  • 在每个时间戳下,为待检测的异常事件(节点或边)提取一个包含时间信息的局部子图(ego-graph)。
  • 这种时间自我图(temporal ego-graph)能够捕获与该事件相关的历史交互信息,从而为后续的 GNN 和 Transformer 模块提供输入。

2. 定义与符号说明

  • 给定一个动态图 ,其中 表示节点集合, 表示边集合。
  • 对于每个异常事件 (其中 表示所有异常事件,包括节点和边),使用 k-hop 算法 提取以 为中心的时间自我图。
  • k-hop 时间自我图:指在时间序列上,包含从中心事件 出发,沿着时间顺序最多 步(hop)内的所有相关事件的局部子图。

3. 采样步骤

步骤 1:构建时间序列

对于每个待检测的异常事件 ,首先按照时间顺序提取与其有关的历史交互事件。这些历史事件构成一个时间序列,记为:

其中:

  • 表示在时间 与中心事件 发生过交互的事件;
  • 事件之间按时间顺序排列。
步骤 2:k-hop 邻居采样

采用 k-hop 算法 提取与中心事件相关的邻居事件集:

  • 1-hop 邻居:与中心事件直接发生交互的所有事件;
  • 2-hop 邻居:与 1-hop 邻居 发生交互的事件;
  • 依次类推,直到 -hop。

这种采样方式能够在局部范围内捕获节点和边的时间动态特征。

步骤 3:引入特殊标记符

为了保留时间序列的层次结构信息,作者借鉴自然语言处理中的方法,为每一层的邻居事件添加特殊标记符,形成分层结构的输入序列。完整的输入序列形式如下:

其中:

  • [KHS] 是特殊标记符,用于分隔不同 hop 的事件集合;
  • 表示中心事件;
  • 表示第 层的邻居事件集合。

这些特殊标记符有助于模型识别不同层次的邻居关系,确保 Transformer 在处理输入时能够更好地捕获邻居之间的时间顺序与层次关系。

4. 示例说明

假设一个动态图中包含以下交互关系:

  • 在时间 ,节点 与节点 发生交互;
  • 在时间 ,节点 与节点 发生交互;
  • 在时间 ,节点 与节点 发生交互。

现在我们希望针对时间 的异常事件(即节点 的交互)进行异常检测:

  1. 1-hop 邻居:提取与节点 直接交互的节点
  2. 2-hop 邻居:进一步提取与节点 发生交互的节点
  3. 构建时间序列:将这些节点按时间顺序排列,并添加特殊标记符,形成最终的输入序列。

5. 优势分析

  1. 局部动态特征的提取
    与传统的快照方法不同,Temporal Ego-Graph Sampling 通过逐层提取邻居信息,能够捕获节点和边在时间维度上的局部动态特征。这种局部化处理方式不仅减少了计算复杂度,还能更精确地建模异常事件的时间演化模式。

  2. 减少计算成本
    相较于直接处理整个动态图,采样方法只关注与待检测事件相关的局部子图,大大降低了计算成本。这种方法特别适用于大规模动态图异常检测任务。

  3. 增强模型的泛化能力
    通过引入 k-hop 时间邻居和特殊标记符,模型能够在不同类型的动态图上保持较好的泛化能力。实验结果表明,这种采样方法对不同数据集的异常检测任务均有显著提升。

6. 数学表示与输入形式

假设中心事件为 ,其 k-hop 时间自我图采样得到的输入序列可以形式化表示为:

其中每一层的事件集合按时间顺序排列,输入序列将作为后续 GNN 和 Transformer 模块的输入,用于提取特征并计算异常分数。

7. Temporal Ego-Graph Sampling 与传统方法的区别

特性 传统快照方法 Temporal Ego-Graph Sampling
处理方式 整体快照,处理整个动态图 局部采样,处理局部 k-hop 时间子图
时间维度建模 时间维度通常被忽略或弱化 明确建模时间顺序,捕获历史动态特征
计算成本
泛化能力 对不同类型的数据集泛化能力较差 具有较强的泛化能力
模型输入 全图特征 分层时间自我图特征

8. 总结

Temporal Ego-Graph Sampling 是 GeneralDyG 方法的核心模块之一,它通过 k-hop 时间邻居采样和分层结构构建,有效提取了局部动态特征,极大地提升了动态图异常检测的效率与准确性。与传统快照方法相比,这种采样方式在计算效率、泛化能力和特征提取效果上都有显著优势。


Temporal ego-graph GNN extractor


1. 普通 GNN 的工作机制

普通 GNN 的核心思想:
普通图神经网络(Graph Neural Networks, GNN)通过邻接矩阵特征矩阵来对图中的节点进行表示更新。常见的 GNN(如 GCN, Graph Convolutional Network)采用图卷积的方式,将邻居节点的特征聚合到当前节点,从而更新节点的表示。

普通 GNN 的数学表示为:

  • 表示第 层的节点特征矩阵;
  • 是添加自环后的归一化邻接矩阵;
  • 是第 层的可学习权重矩阵;
  • 是激活函数。

普通 GNN 的特征聚合过程主要发生在节点层,边的作用仅通过邻接矩阵来间接影响节点特征更新。因此,普通 GNN 无法直接处理具有丰富边属性的动态图。

2. Temporal Ego-Graph GNN Extractor 的数学原理

TensGNN 的设计理念:
与普通 GNN 不同,Temporal Ego-Graph GNN Extractor(TensGNN)不仅对节点进行特征更新,还对进行特征更新。其关键思想是交替使用节点层和边层,通过消息传递机制(Message Passing)在节点和边之间传递信息,从而实现对动态图的全面建模。

(1)节点层的特征更新

在第 层节点特征更新时,每个节点 的特征不仅依赖于其邻居节点的特征,还依赖于连接该节点的边的特征。节点层的特征更新公式为:

其中:

  • 表示第 层的节点特征;
  • 是一个二值连接矩阵 表示节点 和边 相连;
  • 表示第 层的边特征;
  • 是节点的归一化拉普拉斯-邻接矩阵;
  • 为可学习的权重矩阵;
  • 表示哈达玛积(逐元素乘积);
  • 是激活函数。

这一公式中,通过 ,节点可以从与其相连的边中接收到信息,从而使节点特征更新时能够考虑边的属性。

(2)边层的特征更新

类似于节点层,在第 层边特征更新时,每条边的特征不仅依赖于其连接的节点特征,还依赖于边自身的特征。边层的特征更新公式为:

其中:

  • 表示第 层的边特征;
  • 是边的归一化拉普拉斯-邻接矩阵;
  • 为可学习的权重矩阵。

这一公式中,通过 ,边可以从与其相连的节点中接收到信息,从而在特征更新时考虑节点的属性。

(3)消息传递机制的核心

TensGNN 的消息传递机制与普通 GNN 的关键区别在于:

  1. 双向消息传递:普通 GNN 仅在节点之间进行消息传递,而 TensGNN 实现了节点与边之间的双向消息传递。节点通过连接的边接收信息,边通过连接的节点接收信息。

  2. 交替更新:TensGNN 交替使用节点层和边层,这种交替更新方式可以逐层提取更丰富的动态特征,捕获节点与边之间的复杂交互关系。

  3. 处理边特征:普通 GNN 通常只考虑节点特征,而 TensGNN 明确引入边特征的更新机制,适用于包含大量边属性的动态图建模。

3. TensGNN 与普通 GNN 的区别总结

特性 普通 GNN TensGNN(Temporal Ego-Graph GNN Extractor)
消息传递范围 仅在节点之间 节点与边之间双向消息传递
边特征处理 边仅通过邻接矩阵间接参与特征更新 显式建模边特征,边与节点交替更新
适用场景 静态图或边属性简单的动态图 动态图,尤其是边属性丰富的动态图
特征更新机制 节点特征基于邻居节点特征更新 节点特征和边特征交替更新,捕获节点-边复杂交互
动态特征捕获能力

4. 数学原理的直观理解

TensGNN 的交替更新机制可以看作是模拟了一种更为真实的图结构交互模式。在动态图中,节点之间的交互关系是通过边传递的,因此仅通过邻居节点更新节点特征可能会导致信息丢失。而 TensGNN 通过边层和节点层的交替更新,不仅能够捕获节点之间的直接关系,还能捕获通过边间接传递的动态信息。

这种机制类似于在一个社交网络中,消息不仅通过朋友(节点)传播,还会通过具体的交互行为(边)进行传递。因此,TensGNN 能够更好地模拟动态图中的实际动态特性,从而提升异常检测的效果。

5. 总结

Temporal Ego-Graph GNN Extractor 的数学原理通过引入边层与节点层的交替消息传递机制,克服了普通 GNN 在动态环境中信息不全面的问题。其核心优势在于双向消息传递和显式处理边特征,使其能够在包含复杂动态交互的场景中表现出色。


Temporal-Aware Transformer


1. 动机与背景

动态图异常检测任务需要同时建模时间动态特征局部拓扑结构信息。传统的图神经网络(GNN)在处理图的结构信息方面表现出色,但在时间维度建模方面存在局限性。而 Transformer 擅长处理时间序列数据,能够捕获长距离依赖关系。因此,作者提出了 Temporal-Aware Transformer,结合 GNN 提取的结构特征和 Transformer 的自注意力机制,构建一个强大的动态图异常检测框架。

Temporal-Aware Transformer 的核心是基于核平滑(Kernel Smoothing)的注意力机制,能够同时捕获事件的时间顺序和拓扑信息,并计算节点或边的异常分数。

2. Temporal-Aware Transformer 的核心结构与公式

Temporal-Aware Transformer 的主要流程包括以下三个步骤:

  1. 输入特征构建:从 Temporal Ego-Graph Sampling 得到的时间序列作为 Transformer 的输入特征。
  2. 基于核平滑的注意力计算:通过指数核函数计算事件之间的相似性,得到加权后的特征嵌入。
  3. 异常分数计算:使用嵌入特征计算每个节点或边的异常分数。
(1)输入特征表示

对于一个中心事件 ,通过 Temporal Ego-Graph Sampling 得到的 k-hop 时间邻居事件集合表示为:

其中:

  • $a_i$ 表示当前中心事件;
  • $a_i^{(1)}, a_i^{(2)}, \ldots, a_i^{(k)}$ 表示中心事件的 k-hop 邻居事件;
  • [KHS] 是特殊标记符,用于区分不同 hop 层的邻居。

每个事件 的特征向量表示为 ,整个输入序列可以用矩阵 表示为:

其中 $n$ 表示序列中事件的数量,$d_{\text{in}}$ 表示每个事件的特征维度。

(2)基于核平滑的注意力机制

Temporal-Aware Transformer 采用了一种基于指数核函数的注意力机制,其具体形式如下:

其中:

  • $x$ 和 $x’$ 表示输入特征向量;
  • $\langle \cdot, \cdot \rangle$ 表示内积操作;
  • $w_Q$ 和 $w_K$ 为查询和键的线性变换,具体形式如下:

    其中 $\phi(z_i)$ 表示通过 GNN 提取的结构特征,$W$ 和 $b$ 为可学习的权重矩阵和偏置项。

指数核函数的使用使得相似性度量更加平滑和灵活,能够更精确地捕获不同时间步之间事件的相关性。

(3)值矩阵计算

值矩阵 的计算公式如下:

其中 $z_i$ 表示输入事件的原始特征,$W$ 和 $b$ 为可学习的参数。

(4)最终嵌入计算

基于核平滑的注意力机制通过对邻居事件的特征进行加权求和,计算得到中心事件的最终嵌入表示:

其中:

  • $k\text{-DG}$ 表示中心事件的 k-hop 邻居集合;
  • 分子部分通过指数核函数计算相似性后,对邻居事件特征进行加权求和;
  • 分母部分是归一化项,确保注意力权重的总和为 1。

最终的嵌入向量为:

该嵌入向量同时包含了时间动态特征和结构信息,可用于后续的异常分数计算。

3. 异常分数计算

对于每个事件 的嵌入向量,使用一个可学习的函数 计算其异常分数:

异常分数越高,表示该事件越可能为异常节点或边。

4. Temporal-Aware Transformer 的特点与优势

  1. 时间与结构信息的有效结合

    • 在注意力机制中引入 GNN 提取的结构特征,确保模型在计算注意力时能够同时关注时间顺序局部拓扑结构信息
  2. 基于核平滑的注意力机制

    • 使用指数核函数计算邻居事件之间的相似性,使得模型对局部动态特征更为敏感,有助于精确检测异常模式。
  3. 支持长距离依赖建模

    • 相较于 GNN 只能处理局部依赖关系,Transformer 能够建模长距离依赖,使得 Temporal-Aware Transformer 可以捕获跨多个时间步的长期依赖信息。
  4. 计算效率高

    • 通过 Temporal Ego-Graph Sampling 提取局部时间子图,减少了全局计算量,提高了计算效率。

5. 与普通 Transformer 的区别

特性 普通 Transformer Temporal-Aware Transformer
输入特征 时间序列或文本嵌入 时间自我图采样得到的事件特征
注意力机制 点积注意力 核平滑注意力机制
时间信息建模 通过位置编码(Positional Encoding)建模 结合时间自我图采样的时间顺序建模
结构信息建模 无显式结构信息建模 结合 GNN 提取的结构信息
适用场景 时间序列建模或自然语言处理 动态图异常检测

6. 总结

Temporal-Aware Transformer 通过引入基于指数核函数的注意力机制和 GNN 提取的结构特征,有效解决了动态图异常检测任务中时间动态特征与局部拓扑结构信息的建模问题。相比于普通 Transformer 和传统 GNN,Temporal-Aware Transformer 在灵活性、表达能力和泛化能力上表现更优。

实验

image-20250110171018692