TGC:深度时序图聚类的动态建模与时空平衡|ICLR 2024 深度解读

本文深度解读**++ICLR 2024++ 论文《DEEP TEMPORAL GRAPH CLUSTERING》该文提出++创新深度时序图聚类框架 TGC,针对静态图聚类无法捕捉时序动态信息的问题进行改进++框架通过 时序模块挖掘动态交互,结合节点级分布** 与批次级重建 两个深度聚类模块,实现时序图数据的有效处理实验表明 ,++TGC 在多数据集上显著优于传统静态方法,在大规模图数据中兼具低内存消耗与高计算效率,可灵活平衡时空需求,为动态图分析提供新方案++ 。论文贡献 包括:++系统探讨时序与静态图聚类差异、提出通用时序聚类框架、解决该领域数据集匮乏问题++。

一、摘要(abstract)

深度图聚类能够在无监督场景增强模型的表征学习能力,但在捕捉关键++动态交互信息的时序图++深度聚类尚未得到充分探索(++时序图只能作为静态图进行处理,不仅会导致动态信息的丢失,还会引发巨大的计算消耗++)。

为了解决这个问题,文章提出一个通用的深度时序图聚类框架,称为TGC(引入深度聚类技术,以适应时序图的基于交互序列的批处理模式)。此外,从几个层面讨论时序图聚类和静态图聚类之间的差异并进行了大量的实验(验证所提出的TGC框架的优越性)。

实验结果表明,时序图聚类能够更灵活地在时间和空间需求之间找到平衡,TGC框架可以有效地提高现有时序图学习方法的性能

二、引言(Introduction)

**第一段先定义图聚类,再说明图数据很常见,最后强调图聚类有很多重要实际应用。**这里论文引用了1个综述、1个实验论文、1个图书。

Cui, P., Wang, X., Pei, J., & Zhu, W. (2018). A survey on network embedding. IEEE transactions on knowledge and data engineering , 31(5), 833-852.

  • 图嵌入 是一个通用概念,指将任何图结构转换为低维向量表示以保留其核心信息。
  • 网络嵌入 在这篇综述中,是图嵌入在真实世界复杂网络场景中的具体实现和研究范式,它关注如何将网络中的节点表示为向量,以便进行各种网络分析任务。可以说,网络嵌入是图嵌入在特定应用领域(即复杂网络)中的一种重要且活跃的形式。

Liang, K., Liu, Y., Zhou, S., Tu, W., Wen, Y., Yang, X., ... & Liu, X. (2023). Knowledge graph contrastive learning based on relation-symmetrical structure. IEEE Transactions on Knowledge and Data Engineering , 36(1), 226-238.

  • 提出了一种新的知识图谱对比学习框架 KGE-SymCL,它利用知识图谱中关系对称结构的信息来构建对比学习的正样本对,从而增强知识图谱嵌入(KGE)模型的表示学习能力。

Hamilton, W. L. (2020). Graph representation learning. Morgan & Claypool Publishers.

  • 指出了该领域研究的核心驱动力 (数据普遍性)关键技术挑战 (如何将图特有的"关系"特性融入深度学习模型) 。它预示着接下来的内容将深入探讨:1)图数据的独特性: 与其他数据形式的区别。2)传统深度学习的局限性: 为何不能直接应用于图数据。3)图表示学习的原理: 如何设计模型(如GNN)来捕获图结构中的关系信息。4)"关系归纳偏置"的具体实现: 消息传递、聚合函数、读出机制等。

第二段指出近年来深度图聚类(能够在无监督场景中增强模型的表征学习能力)性能好而受到广泛关注,但现有方法只针对静态图,忽略时序与动态变化,导致真实场景下信息丢失。

第三段介绍近年来深度图聚类(能够在无监督场景中增强模型的表征学习能力)性能好而受到广泛关注,但现有方法只针对静态图,忽略时序与动态变化,导致真实场景下信息丢失。

Fig.2 Difference between static graph and temporal graph.

该图从三个主要方面详细对比了时间图和静态图的特性及其对节点聚类任务的影响:

  1. 动态信息表示的差异(Fig.2(a))
  • 静态图 :通过邻接矩阵表示节点间关系,但当节点间存在多次且带时间戳的交互时,邻接矩阵难以有效捕捉这些动态变化。它将多次交互压缩为简单的"0"或"1"连接,导致动态信息丢失,尤其在交互频繁的节点对之间,信息缺失更为严重。
  • 时间图:采用交互序列(interaction sequence)或邻接列表(adjacency list)来存储交互事件,能够清晰地表示节点间在不同时间戳发生的多重交互,从而保留了宝贵的动态信息。
  1. 大规模数据处理范式的差异 (Fig.1(b))
  • 静态图方法 :通常对整个邻接矩阵进行训练,这对于大规模图(large-scale graphs)而言,容易导致内存溢出(out-of-memory)问题。
  • 时间图方法 :通过将交互序列切分成多个批次(batches)进行处理,天然适用于大规模数据处理,并且批处理大小(batch size)可根据内存灵活调整。这意味着基于邻接矩阵的传统节点聚类模块不再适用于时间图的批处理模式。
  1. 数据加载和时序依赖性 (Fig.1(c))
  • 静态图方法(处理子图以缓解内存问题):尽管有些静态方法会分割图数据为多个子图来解决内存问题,但这与时间图的处理方式仍有本质区别。
  • 时间图的严格时序性 :时间图的数据加载必须严格遵循时间顺序(chronological order) ,即"早期的节点不能'看到'后期的节点"。这种时序因果关系在训练过程中至关重要,强制了信息流动的方向性,确保模型学习到真实的动态演化模式。例如,不能将2023年的信息反向传递到2020年的上下文。因此,作者提出的框架在时间图领域更为适用,因为它在训练中充分考虑了节点交互的时间关系。

第四段指出时序图和静态图差异巨大,时序图聚类面临模式不兼容的核心难题,且目前没人完整解决,这就是本文要做的研究。

第五段提出一个名为TGC(Temporal Graph Clustering)的通用深度时间图聚类框架,旨在解决现有方法在处理时间图时面临的挑战,特别是其不适用于交互序列的批处理模式。TGC框架通过引入节点分配分布和图重构两个深度聚类模块来适应这一模式,并从理论、复杂度、数据和实验等多个层面全面探讨了时间图聚类与静态图聚类的区别。

【文章总结多方面贡献】

  • 问题(Problem):首次全面探讨了时间图聚类与静态图聚类的差异,填补了深度时间图聚类领域的空白。
  • 算法(Algorithm):提出了TGC这一简洁通用的框架,包含为适应时间图批处理模式而设计的两个深度聚类模块。
  • 数据集(Dataset):识别并解决了时间图聚类发展中数据集缺乏的问题,整理并开发了多个有效的数据集。
  • 评估(Evaluation):通过多项实验验证了TGC的聚类性能、灵活性和可迁移性,并阐明了时间图聚类的特性。

三、方法(Method)

这一节主要介绍时序图聚类定义 与本文提出的 TGC 框架。框架包含两大模块:

  • 时序模块:挖掘时间动态信息,以 HTNE 为基线
  • 聚类模块 :面向时序图批处理,提出节点级分布批次级重建总损失:

1. 问题定义(Definition)

(1)时序图定义

带时间戳的交互图:G=(V,E,T)

  • V:节点集
  • E:交互(替代静态边)
  • T:时间戳序列

一对节点可在不同时刻多次交互:

(2)时序图聚类目标

将节点划分为 K 个簇,满足:

  • 簇内密集连接
  • 簇间稀疏连接

2. 时序损失(Temporal Loss)------HTNE 基线

条件交互强度由基础强度 + Hawkes 强度组成:

(1)基础强度

衡量节点嵌入相似度。

(2)Hawkes 强度(历史影响随时间衰减)

其中权重与时间衰减:

(3)时序损失(负采样)

3. 聚类损失(核心创新)

(1) 节点级分布 Node-level Distribution

Student's t 分布计算节点--簇中心相似度:

构造锐化目标分布

KL 散度优化:

(2) 批次级重建 Batch-level Reconstruction

余弦相似度模拟图结构重建:

批次内约束三类节点:

  • 当前交互 y → 相似度→1
  • 历史邻居 h → 相似度→1
  • 负样本 n → 相似度→0

批次损失:

4. 总损失与复杂度

(1)总损失

(2)复杂度(关键亮点)

  • 静态图聚类:
  • TGC 时序图聚类:O(∣E∣)

∣E∣ 远小于 N2,内存更低、可批处理、支持大规模图。

【总结】本文提出 TGC 时序图聚类框架

  1. 用 HTNE 建模时序信息,损失为 Ltem
  2. 用节点级分布 Lnode 学习簇结构
  3. 用批次级重建 Lbatch 保留拓扑
  4. 总损失 L=Ltem+Lnode+Lbatch
  5. 复杂度从 O(N2) 降至 O(∣E∣),高效可扩展

四、数据集(Datasets)

时间图聚类任务的发展面临一个核心制约因素,即缺乏适用于聚类的、带有可靠节点标签的数据集。尽管节点聚类本身是无监督任务,但验证实验结果需要真实的节点标签。现有的公共时间图数据集普遍存在以下问题:

  1. 标签缺失或不适用:许多公共数据集(如Ubuntu, Math, Email, Cloud)主要关注链接预测任务,因此不包含节点标签。
  2. 标签类型限制:部分数据集(如Wiki, CollegeMsg, Reddit)仅提供二元标签(0或1),通常用于预测节点在特定时间戳是否活跃,这使其更适合二元分类而非多分类聚类任务。
  3. 标签与特性不匹配:某些数据集的标签(例如用户对产品的不同评分)虽然可以作为标签,但这些标签可能更多反映产品特性而非产品类别,导致聚类方法在这些数据集(如Bitcoin, ML1M, Yelp, Amazon)上表现不佳。

为解决上述问题,本研究从40多个数据集中筛选出6个适合时间图聚类任务的数据集 ,并对它们进行了详细描述:

  • DBLP:一个合著者图,节点代表研究人员,交互代表合作关系,包含10个研究领域作为10个聚类。
  • Brain:人类脑组织连接图,节点代表脑组织块,边代表连接性。
  • Patent:美国专利引用图,专利作为节点,引用作为交互,每个专利属于六种专利类别之一。
  • School:高中学生接触和友谊记录数据集,学生数量虽少但交互频繁。
  • arXivAI 和 arXivCS:这两个数据集由作者根据arXiv网站的论文引用数据构建。原始数据来自OGB基准,但其不直接适用于时间图聚类。作者从原始数据中提取引用记录以构建带有时间戳的节点交互,并进一步构建了交互序列风格的时间图。为了生成适合聚类的节点标签,作者将论文所属的计算机领域作为节点标签,特别是从40个类别中提取了与AI相关的Top-5领域,用于构建arXivAI数据集。

Table 1 Dataset statistics

此外,文本还详细解释了Table 1中各项统计指标的含义

  • Nodes (节点):图中节点的数量。
  • Interactions (交互):图中交互的总次数。
  • Edges (边):将时间图压缩成静态图时邻接矩阵中的边数,可能因重复交互的丢失而小于Interactions。
  • Complexity (复杂度):静态图聚类和时间图聚类之间主要的复杂度比较。
  • Timestamps (时间戳):交互发生的时间跨度。
  • K (簇数量):聚类的数量(即标签类别数)。
  • Degree (度):节点的平均度。
  • MinI (最小交互次数)MaxI (最大交互次数):节点的最大和最小交互次数。

五、实验(EXPERIMENTS)

本章节详细阐述了论文的实验设计、基线方法、以及对所提出的TGC(Deep Temporal Graph Clustering)框架的评估。它主要回答了四个关键问题:TGC的优势(尤其是在高重叠和大规模图上的表现)TGC的内存需求(相较于静态图方法显著降低)TGC对现有时间图学习方法的有效性(作为通用框架可提升其聚类性能)、以及限制时间图聚类发展的因素(数据稀缺和邻接矩阵带来的信息损失)。实验结果通过对比多种基线方法和进行消融研究,全面验证了TGC的有效性、灵活性和可迁移性。

1. BASESLINES (基线方法)

(1)目的:为了全面评估TGC的性能,将其与多种最先进的方法进行比较。

(2)分类:基线方法被分为三类:

  • 经典方法 (Classic methods) :这些是早期且具有深远影响的方法,例如DeepWalk、AE、node2vec、GAE等。它们通常用于学习图的表示。
  • 深度图聚类方法 (Deep graph clustering methods) :这些方法专注于在静态图 上进行节点聚类,例如MVGRL、AGE、DAEGC、SDCN、SDCNQ、DFCN等。
  • 时间图学习方法 (Temporal graph learning methods) :这些方法旨在建模时间图,但主要关注链接预测 等任务,而非节点聚类,例如HTNE、TGAT、JODIE、TGN、TREND等。

注:

  • 节点聚类:是给图里的节点做分组,把关系紧密、特征相似的节点聚成同一个簇,是静态图深度聚类的核心任务。
  • 链接预测:是预测两个节点未来会不会产生交互,是现有时序图学习方法的主流任务。

2. NODE CLUSTERING PERFORMANCE (节点聚类性能)

这一部分主要通过实验回答了前三个问题:

Q1: What are the advantages of TGC? (TGC的优势是什么?)

回答 :TGC更适合高重叠图 (high overlapping graphs)大规模图 (large-scale graphs)

  • 总体领先性与大规模图优势 :尽管TGC在所有数据集上不一定都表现最佳,但总体结果领先。尤其是在大规模数据集上,许多静态聚类方法会遇到内存溢出 (Out-Of-Memory, OOM) 问题(例如在NVIDIA RTX 3070 Ti GPU上)。这主要是因为静态方法需要计算整个邻接矩阵,而节点数量过多会导致计算量巨大。
  • 时间图学习的灵活性 :时间图学习通过批处理 (batches) 训练图数据,天然避免了OOM问题,这使得时间图聚类在大规模数据集上比静态图聚类更灵活。
  • 数据集特性影响性能 :TGC在不同数据集上的性能差异归因于数据集的领域特性。例如,arXivCS数据集有40个重叠领域,导致区分困难,性能相对较低;而School数据集的节点标签(班级和性别)使得大多数方法能够清晰区分,因此性能更好。
  • 信息损失问题 :对于像School这样 N2<EN2<E 的数据集(即交互次数多于节点平方),如果将其转换为邻接矩阵(静态图表示),会丢失大量有效信息,导致静态方法性能下降。这进一步凸显了动态交互序列的优越性。
  • 现有时间图方法与聚类任务的脱节 :现有时间图学习方法在聚类任务上表现略差,支持了论文的观点,即它们尚未深入关注聚类任务。TGC通过引入聚类任务并超越静态图聚类方法,表明时间信息对时间图聚类任务至关重要且有效。

Table 2 Node clustering results in common datasets( 常见数据集中的节点聚类结果 )

我们将最佳结果加粗,第二佳结果加下划线。如果某种方法面临内存不足的问题,我们记录为OOM。

Table 3 Node clustering results in large-scale datasets(大规模数据集中的节点聚类结果)

我们用粗体标出最佳结果,并用下划线标出第二佳结果。如果某种方法面临内存不足的问题,我们记录为OOM。

Q2: Is the memory requirement for TGC really lower? (TGC的内存需求是否真的更低?)

回答:与静态图聚类方法相比,TGC显著降低了内存需求。

  • 内存使用对比:图3展示了随着节点数量增加,静态方法的内存使用量显著增加,最终导致OOM。而TGC的内存使用量虽然也增加,但幅度较小,远未达到OOM。例如,在arXivCS数据集上,TGC的内存使用仅为212.77 MB,而SDCN(唯一没有OOM问题的静态方法)则高达6946.73 MB。


Fig.3 Memory changes between different datasets

  • 时间和空间平衡:TGC可以灵活调整批次大小以适应内存限制。图4显示,在不同的时序图方法中,运行时间与内存占用基本呈反比。这表明时间图聚类能够在空间和时间需求之间找到平衡,根据实际需求可以在时间或空间之间进行权衡。例如,TREND模型在批次大小增大时运行时间反而增加,因为其高阶邻居搜索过程在CPU上完成,批次越大CPU等待时间越长。

Fig.4 Changes in memory and runtime under different batch sizes

Q3: Is TGC valid for existing temporal graph learning methods? (TGC对现有时间图学习方法是否有效?)

回答:TGC是一个简单的通用框架,可以提高现有时间图学习方法的聚类性能。

  • 框架的通用性:图5展示了TGC框架如何应用于HTNE、TGN和TREND等基线方法。尽管对这些方法的改进程度不同,但TGC都能有效地提升它们的聚类性能。这表明TGC是一个通用的框架,可以轻松应用于不同的时间图方法,从而提升其在聚类任务上的表现。

Figure.5 Transferability of TGC on different temporal graph methods

Q4: What restricts the development of temporal graph clustering? (什么限制了时间图聚类发展?)

  • 回答 :(1)可用数据集稀缺 (Few available datasets) :时间图聚类缺乏带有可靠节点标签的公共数据集。论文为此整理并转换了许多原始数据。(2)邻接矩阵导致的信息损失 (Information loss without adjacency matrix):在将时间图转换为静态邻接矩阵时,会不可避免地丢失一些全局信息(如多次交互被压缩成一条边)。

3. GPU MEMORY USAGE STUDY (GPU内存使用研究)

  • 进一步验证:除了Q2的回答,这一小节进一步强调TGC在内存使用上的优势。它通过图3展示了静态聚类方法和TGC在不同数据集上的最大内存使用情况。随着节点数量的增加,静态方法的内存使用量迅速增长并最终导致OOM,而TGC的内存使用量增长幅度小,远低于OOM阈值。
  • 批次大小的灵活性:图3展示了TGC如何通过灵活调整批次大小来平衡时间与空间需求。这证明了TGC能够根据内存限制进行动态调整,从而实现更灵活的部署。

4. TRANSFERABILITY AND LIMITATION DISCUSSION (可迁移性与局限性讨论)

  • 可迁移性:TGC作为通用框架,可以提升现有时间图学习方法的聚类性能,如图5所示,TGC框架与HTNE、TGN、TREND结合后均能带来性能提升。
  • 局限性:除了上述Q4的回答,本节还指出,时间图聚类仍处于早期发展阶段,未来需要解决如何进一步优化无邻接矩阵的模块迁移,以及如何适应不完整标签等问题。

5. 实验细节

(1) 实验设置(怎么跑实验)

核心:告诉别人你的实验环境、参数、用什么指标、什么硬件。

  • 任务:节点聚类(node clustering)
  • 流程:先生成节点嵌入 → 用 K‑means 聚类
  • 指标:ACC、NMI、ARI、F1(聚类四大标准指标)
  • 优化器:Adam
  • 维度:128
  • batch:1024
  • 历史长度:3
  • 负采样:5
  • 学习率:0.01
  • 最大轮数:200
  • 环境:RTX 3070Ti + i9 CPU

(2) 消融实验(证明你的模块有用)

核心:拆掉你的模块,看性能掉不掉,证明你的创新有用。

作者模型 TGC 有 3 个部分:

  1. Tem = 只有时间损失(基础模型)
  2. Tem+Node = 时间损失 + 节点级聚类损失
  3. Tem+Batch = 时间损失 + 批次级聚类损失
  4. TGC = 全部都用(完整模型)

实验结论:

  • 只保留时间损失 → 性能最差
  • 加上 Node → 明显提升
  • 加上 Batch → 也提升
  • 全部加上(TGC)→ 性能最高

(3) 参数敏感性分析(证明模型很稳定、不挑参数)

核心:换不同参数,看模型会不会崩。 不崩 = 模型稳定、鲁棒。

主要测试两个关键参数:

  • 历史序列长度 l(看多少过去的邻居)
  • 负采样数量 Q(用多少负样本)

结论 1:模型很稳定

参数怎么变,性能都小范围波动 ,不会崩。→ 证明模型稳定、可靠、不挑参数

结论 2:l 不是越大越好

太小 → 信息不够太大 → 引入很早的旧信息,变成噪声→ 有一个最优区间

结论 3:Q 影响不大

Q=2、3、5 都差不多→ 模型能轻松区分正负样本,所以不敏感。

最终推荐默认参数:

l=3,Q=5(所有数据集通用)

六、讨论(EXPERIMENTS)

七、结论(CONCLUSION)

本文提出了一种通用的时序图聚类框架TGC,该框架将聚类技术适配于时序图的基于交互序列的批处理模式。为了尽可能全面地介绍时序图聚类,我们从直觉、复杂性、数据和实验等多个层面讨论了时序图聚类与现有静态图聚类的区别。结合实验结果,我们证明了TGC框架在现有时序图学习方法上的有效性,并指出时序图聚类在寻找时间和空间需求平衡方面提供了更大的灵活性。未来,我们将进一步关注大规模和无K的时序图聚类

八、复现实验(仅参考)

本实验的核心目标为:

  • 完整复现 TGC 模型的端到端训练流程,包括 node2vec 预训练与 TGC 主训练两个阶段;
  • Patent 时序图数据集上验证模型的聚类性能,复现论文中的实验结果;
  • 分析模型的训练收敛性、聚类有效性与参数敏感性,形成可复现的实验结论。

1. 实验环境与配置

(1)硬件环境

  • 操作系统:Windows 11
  • 开发工具:Visual Studio Code 1.89+
  • 运行环境:Python 3.10 虚拟环境(venv)

(2)软件依赖

依赖库 版本要求 核心用途
PyTorch ≥2.0.0 深度学习框架,模型训练与优化
NumPy ≥1.24.0 数值计算与矩阵操作
SciPy ≥1.10.0 科学计算与图结构处理
scikit-learn ≥1.2.0 聚类评估指标计算、t-SNE 降维
NetworkX ≥3.0 图数据结构构建与处理
Gensim ≥4.0.0 node2vec 预训练、Word2Vec 嵌入生成
Matplotlib ≥3.7.0 训练曲线与嵌入可视化

(3)环境搭建流程

  1. 创建项目虚拟环境:python -m venv venv

  2. 激活虚拟环境:.\venv\Scripts\activate

  3. 安装核心依赖:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch numpy scipy scikit-learn networkx gensim matplotlib

  4. 修复代码兼容性问题:将 node2vec.pynp.int/np.float 替换为 int/float,适配新版 NumPy。

2. 数据集与数据预处理

(1)数据集介绍

本实验采用 Patent 时序图数据集,该数据集收录了专利引用的时序交互关系,共包含 6 个真实类别,是时序图聚类任务的标准基准数据集。

(2)数据结构与路径

文件 / 目录 路径 核心作用
原始时序数据 data/patent/patent.txt 存储时序边、节点特征与时间戳
边列表文件 data/patent/patent.edgelist 预训练阶段的图结构输入
节点标签 data/patent/node2label.txt 聚类任务的真实标签,用于评估
预训练嵌入 framework/pretrain/patent_feature.emb node2vec 生成的初始节点嵌入
最终嵌入 emb/patent/patent_TGC_200.emb TGC 训练完成后的最优节点嵌入

(3)数据预处理流程

①格式转换:将 patent.txt 时序数据转换为无向边列表 patent.edgelist,适配 node2vec 输入格式;

②标签对齐:将节点 ID 与真实类别标签一一对应,用于聚类性能评估;

③嵌入初始化:通过 node2vec 随机游走生成初始节点嵌入,作为 TGC 模型的输入特征。

3. 实验方法与模型架构

(1)整体训练流程

TGC 模型采用两阶段训练范式

  • 预训练阶段:基于 node2vec 算法学习静态图结构的初始嵌入,为后续训练提供良好的初始化;
  • 主训练阶段:TGC 模型基于时序图结构,联合优化节点嵌入与聚类中心,实现端到端的深度时序图聚类。

(2)预训练阶段(node2vec)

node2vec 是一种基于随机游走的图嵌入算法,通过有偏随机游走捕捉图的同质性与结构性,生成节点的低维表示。

核心参数设置
参数 取值 含义
--dimensions 128 生成嵌入的维度,与主训练阶段保持一致
--walk-length 80 单次随机游走的序列长度
--num-walks 10 每个节点的随机游走次数
--window-size 10 Word2Vec 上下文窗口大小
--iter 1 Word2Vec 训练轮数
--p / --q 1 / 1 随机游走的返回 / 进出参数,控制游走偏向
--directed False 图类型为无向图
预训练流程
  • 读取 patent.edgelist 构建无向图;
  • 执行 10 次长度为 80 的随机游走,生成节点序列;
  • 基于 Word2Vec 训练节点嵌入,输出 patent_feature.emb 初始特征。

(3) 主训练阶段(TGC 模型)

TGC 模型的核心架构包含以下关键模块:

  • 节点嵌入层:可训练的节点表示,融合预训练静态特征与时序动态特征;
  • 时序衰减模块 :通过 delta 参数建模时序边的时间衰减效应,捕捉图的动态演化;
  • 聚类中心层:可训练的聚类中心矩阵,用于联合优化聚类任务;
  • 优化器:SGD 优化器,联合优化节点嵌入、时序参数与聚类中心。
① 核心参数设置
参数 取值 含义 使用位置
--dataset patent 训练数据集 main.py 入口
--clusters 6 聚类类别数,由数据集真实类别决定 main.py k_dict
--epoch 200 总训练轮数 main.py 训练循环
--neg_size 2 负采样节点数量,用于构建对比损失 TGCtrain.py 损失计算
--hist_len 1 历史邻居序列长度,建模时序依赖 TGCtrain.py 数据采样
--batch_size 1024 训练批次大小 DataLoader 配置
--learning_rate 0.01 SGD 学习率 优化器初始化
--emb_size 128 节点嵌入维度,与预训练一致 模型初始化
--directed False 图类型为无向图 图结构构建
--save_step 50 模型保存间隔(当前未启用) 训练循环
② 训练与评估逻辑
  • 加载预训练嵌入作为初始特征,初始化模型参数;
  • 每个 epoch 采样时序边,构建正负样本对,计算时序图聚类损失;
  • 反向传播更新模型参数,每轮训练后计算聚类评估指标(ACC、NMI、ARI、F1);
  • 当 epoch > 10 且 NMI 超过历史最优时,保存当前最优嵌入;
  • 训练完成后输出最优聚类性能与训练日志。

4. 实验结果与分析

(1)最优聚类性能

模型在 Patent 数据集上训练 200 轮后,取得的最优聚类性能如下:

评估指标 最优值 指标含义
ACC(准确率) 0.4815 聚类结果与真实标签的匹配准确率
NMI(标准化互信息) 0.3581 衡量聚类结果与真实标签的一致性
ARI(调整兰德指数) 0.2892 聚类任务的金标准指标,衡量聚类质量
F1(综合得分) 0.3979 兼顾精确率与召回率的综合评估指标

该结果与原论文中 Patent 数据集的报告性能高度一致,验证了模型复现的正确性与有效性。

(2)训练收敛性分析

  • Loss 曲线(左上):训练初始 loss 为 1.0620,前 50 轮快速下降,50-100 轮缓慢收敛,100 轮后稳定在 0.92 左右,无发散、无震荡,证明模型训练过程健康、收敛充分;
  • ACC 曲线(右上):整体在 0.35-0.55 区间波动,在第 65 轮达到峰值 0.5477,最终最优值为 0.4815,符合时序图聚类的训练规律;
  • NMI 曲线(左下):在 0.20-0.36 区间波动,第 52 轮达到峰值 0.3581,与 ARI 曲线趋势高度同步,验证了聚类结果的一致性;
  • ARI 曲线(右下):在 0.08-0.30 区间波动,第 52 轮达到峰值 0.2892,是模型聚类质量的核心体现。

Fig.6 Training Convergence Analysis

(3)嵌入可视化分析

本实验采用 t-SNE 算法将 128 维节点嵌入降维至 2D 空间,可视化聚类效果:

  • 6 个聚类簇在 2D 空间中形成了明显的分簇结构,同类别节点高度聚集,不同类别边界清晰,证明 TGC 模型成功学习到了时序图的类别特征;
  • 部分簇存在长尾分布,这是时序图数据的正常现象,由节点的时序交互模式差异导致;
  • 可视化结果与聚类指标高度对应,直观验证了模型的聚类有效性。

Fig.7 TGC Embedding Visualization on Patent Dataset

5. 复现结论与改进方向

(1)复现结论

  • 完整复现了 TGC 模型的端到端训练流程:从环境搭建、数据预处理、预训练到主训练,全流程可复现;
  • 复现结果与原论文高度一致:Patent 数据集上的最优聚类性能符合论文报告水平,验证了模型的有效性;
  • 模型训练收敛稳定:Loss 持续下降,聚类指标整体上升,训练过程健康无异常;
  • 两阶段训练范式有效:node2vec 预训练为 TGC 提供了良好的初始化,显著提升了模型的聚类性能。

(2)实验不足与改进方向

  • 参数优化:当前实验采用默认参数,可通过网格搜索优化学习率、负采样数、历史长度等超参数,进一步提升聚类性能;
  • 数据集拓展:可在 arXiv、DBLP 等更多时序图数据集上验证模型的泛化能力;
  • 模型改进:可引入注意力机制、图神经网络等模块,增强模型对时序特征的建模能力;
  • 可视化优化:可采用 UMAP 等更先进的降维算法,提升嵌入可视化的区分度。

6. 附录:完整运行命令

(1)预训练阶段

运行

复制代码
cd framework/pretrain
python pretrain.py

(2)主训练阶段

运行

复制代码
cd ..
python main.py

(3)可视化阶段

运行

复制代码
# 训练曲线可视化
python plot_curve.py
# 嵌入可视化
python visualize_embedding.py

【附页】

论文来源:https://arxiv.org/abs/2305.10738https://arxiv.org/abs/2305.10738

论文源代码:https://github.com/MGitHubL/Deep-Temporal-Graph-Clustering?tab=readme-ov-filehttps://github.com/MGitHubL/Deep-Temporal-Graph-Clustering?tab=readme-ov-file

复现与可视化完整代码:

https://gitee.com/Zhang-Siyu0066/deep-temporal-graph-clustering-mainhttps://gitee.com/Zhang-Siyu0066/deep-temporal-graph-clustering-main以上内容均为个人对机器学习顶会论文的解读与思考,旨在分享前沿技术思路、促进学术交流。欢迎各位科研同行、作者与开发者留言讨论,也可通过邮箱 zhangsiyu0066@gmail.com与我深入交流。

相关推荐
AI自动化工坊6 小时前
Hugging Face ml-intern技术深度解析:AI机器学习工程师的工程实践
人工智能·机器学习·huggingface·ml-intern·ai机器学习
疯狂成瘾者6 小时前
Agent 的需求理解质量如何具体实现:从意图识别到槽位补全、追问与确认机制
人工智能·自然语言处理
北京软秦科技有限公司6 小时前
资料验收报告审核再升级,IACheck与AI报告审核共同开创新标准
人工智能
Zzj_tju6 小时前
视觉语言模型技术指南:图像是怎么“接入”语言模型的?视觉编码器、投影层与对齐机制详解
人工智能·语言模型·自然语言处理
Fullde福德负载箱厂家6 小时前
负载箱的日常运维与故障处置:用户应知的设备保养与异常应对
人工智能·制造
.5486 小时前
## Sorting(排序算法)
python·算法·排序算法
ydmy6 小时前
注意力机制(个人理解)
pytorch·python·深度学习
jinanwuhuaguo6 小时前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
大龄程序员狗哥6 小时前
第44篇:命名实体识别(NER)实战——从文本中提取关键信息(项目实战)
人工智能
lpfasd1236 小时前
2026年第17周GitHub趋势周报:AI代理工程化与端侧智能加速落地
人工智能·github