代码地址: https://github.com/Marigoldwu/FastDGC
摘要
深度图聚类(Deep Graph Clustering, DGC)近年来已成为图数据聚类的一个有前途的方法。然而,现有研究主要通过提高嵌入表示的质量来优化聚类结果,这往往导致模型复杂且运行速度较慢。此外,这些方法在更新节点嵌入后,在迭代优化过程中未能考虑节点相似度的变化以及对原始结构的相应调整,容易出现表示崩溃问题。为了解决这些问题,作者提出了一种高效图自动编码器(Efficient Graph Auto-Encoder, EGAE)和动态图权重更新策略,构成了本文提出的快速深度图聚类(FastDGC)网络的基础。
具体来说,作者通过线性变换大幅度降低特征维度,同时保留原始节点的相似性。随后,采用单层图卷积过滤近似替代多层图卷积神经网络,从而降低计算复杂度和参数数量。在迭代过程中,利用线性变换后的特征计算节点之间的相似度,并定期更新原始图结构,减少低相似度的边,以增强判别性和聚合性表示的学习。理论分析表明,EGAE具有较低的计算复杂度。基于标准数据集的大量实验表明,与最先进的方法相比,作者提出的方法不仅提高了聚类性能,还实现了2到3个数量级的速度提升,展现了卓越的性能。
引言
无监督学习旨在从无标签数据中识别复杂模式,使机器能够胜任各种场景中的无监督任务。作为最经典的无监督任务之一,聚类在过去几十年中得到了广泛研究。然而,近年来,对图数据的聚类提出了新挑战,因为它需要学习属性信息并挖掘节点之间的结构信息。由于对结构信息的需求,传统方法已达到瓶颈。随着图神经网络(Graph Neural Networks, GNNs)的引入,探索节点间结构信息取得了新进展,将图数据聚类推向了前所未有的高度。在此背景下,各种基于GNN的图聚类方法相继涌现。
其中,图卷积神经网络(Graph Convolutional Network, GCN)、图自动编码器(Graph Auto-Encoder, GAE)和图注意力网络(Graph Attention Network, GAT)作为挖掘图数据的重要方法,引起了广泛关注。这些方法通常将高维节点特征嵌入到低维表示中以进行聚类。GAE通过堆叠不同大小的GCN对高维特征进行编码,并通过简单的解码器重构邻接矩阵。随后,通过最小化输入和输出之间的重构损失,获得节点的低维特征。然而,GAE面临表示崩溃(Representation Collapse)的问题。为了解决这一问题,Liu等人提出了双相关性减少网络(Dual Correlation Reduction Network, DCRN),Gong等人提出了基于双冗余减少的属性图聚类方法(Attribute Graph Clustering with Dual Redundancy Reduction, AGC-DRR)。
DCRN通过Siamese网络对样本进行编码,然后逼近跨视图样本相关矩阵和跨视图特征相关矩阵至单位矩阵,从两个层面减少信息相关性,提高特征判别能力。AGC-DRR通过引入对抗学习机制,自适应学习冗余边的丢弃矩阵,确保被比较样本的多样性,从而减少输入空间中的冗余信息。此外,该方法通过强制嵌入在跨增强样本中的相关矩阵逼近单位矩阵,进一步减少潜在空间中的冗余信息。尽管这些方法在一定程度上缓解了表示崩溃问题,但冗余信息减少方法较为复杂且模型参数较多,亟需优化。此外,Zhao等人的研究证实,当图中存在不同类别的连接节点时,经过多次迭代后,连接节点的特征趋于一致。这被认为是导致表示崩溃问题的重要原因。
针对现有模型在解决图聚类中表示崩溃问题的复杂性,以及未充分考虑可能削弱节点间GNN性能的边的问题,作者提出了一种基于高效图自动编码器(Efficient Graph Auto-Encoder, EGAE)和动态图权重更新策略的快速深度图聚类网络(Fast Deep Graph Clustering, FastDGC)。具体来说,作者增强了传统GAE的编码器,通过引入线性变换,隐式地结合显式结构信息,并将多层堆叠的图卷积层近似为单层简单图卷积过滤。这些操作显著降低了模型复杂性,从而减少了运行时间。此外,在迭代过程中,作者持续利用生成的信息指导原始邻接矩阵的更新,减少不同类别节点之间的边,充分发挥GNN的能力。最后,通过自监督学习联合优化节点嵌入和聚类。
图1展示了ACM数据集中我们的方法与GAE、DCRN、AGC-DRR在嵌入相似性热图上的比较。可以看出,作者的方法显著提升了节点嵌入的聚合性和判别性。此外,图2展示了不同算法之间的性能比较。作者的方法不仅在精度上优于现有方法,还在速度上实现了2--3个数量级的提升。
本文的主要贡献总结如下:
--- 提出了一种用于图聚类的EGAE,缓解了传统GAE在聚类时遇到的表示崩溃问题。
--- 引入了一种动态图权重更新策略,在聚类迭代中利用学习到的表示优化邻接矩阵,旨在减少存在边但节点不相似的情况。
--- 基于EGAE和动态图权重更新策略,构建了FastDGC网络。该方法显著提升了聚类精度(ACC),并在速度上实现了2--3个数量级的加速。
模型
FastDGC 的框架如图 3 所示。
EGAE(高效图自动编码器)
传统的图自动编码器(GAEs)使用图卷积网络(GCN)进行编码,其中拓扑结构在聚合邻居信息时被隐式嵌入。这种方法需要显式地学习结构信息,导致结构信息学习不足。此外,图卷积层通常直接对输入特征进行卷积计算,然后通过参数矩阵进行调整,这在一定程度上引入了不必要的计算。因此,作者设计了一个更高效的编码器。
在作者提出的 EGAE 中,首先通过线性变换对输入数据进行降维。此外,由于线性变换包含偏置矩阵,在后续优化过程中可以控制显式的结构信息:
Xt=XWa+Wb
其中,Wa 和 Wb 是参数和偏置。在这一变换过程中,如果不施加约束,很容易导致原始特征信息的严重丢失。如图 4 所示,不同数据集中节点相似性的分布有所不同,可以利用这一特性来约束线性变换。具体而言,计算原始节点特征与线性变换后节点特征的余弦相似性,以此进行约束。
相似性矩阵计算
线性变换后的节点特征相似性矩阵 S 和原始节点特征相似性矩阵 Sr的定义如下:
通过计算两种特征的相似性矩阵,确保线性变换不会丢失过多信息。
交叉熵损失
在优化过程中,最小化这两种相似性矩阵之间的交叉熵损失,以确保线性变换尽可能保留原始特征的信息:
图卷积过滤
为了减少模型复杂度,使用了 m 次图卷积过滤迭代替代多层 GCN 的叠加:
这种单层网络的方法参考 Wu 等人的理论【44】,在学习结构信息方面可以达到类似于多层 GCN 的效果,同时显著减少了模型参数数量。
解码阶段
在解码阶段,重构邻接矩阵:
其中,σ是非线性激活函数,本文采用 ReLU。
重构损失
EGAE 的优化目标是最小化重构矩阵 A^和原始邻接矩阵 Ae之间的误差:
最终优化目标
EGAE 的最终优化公式结合了重构损失和交叉熵损失,用于预训练:
其中,ϵ 是权衡超参数,需根据具体数据集进行调整。
通过上述方法,EGAE 在保证较低模型复杂度的情况下,有效地学习和保留了结构信息,为 FastDGC 的高效聚类奠定了基础。
动态图权重更新策略
背景与问题
图神经网络(GNNs)通常遵循消息传递的范式,其中关键信息通过图中的边进行传播。因此,边的可靠性至关重要。如果一条边连接了不同类别的节点,通过该边进行的信息聚合可能会导致难以区分这两个节点及其邻居节点。此外,GCN 在信息聚合时基于节点结构的重要性,这可能引入偏差。为了解决这两个问题,提出了一种 动态图权重更新策略。
主要思路
由于数据是无标签的,无法预先确定节点的类别,因此很难直接评估边的可靠性。采用节点特征相似度来估计两节点属于同一类别的可能性。为克服不同数据集中节点特征相似度分布的差异性,不直接使用原始特征的相似度,而是采用线性变换后的特征相似度 S,并利用聚类和 EGAE 的联合优化使该相似度在每次迭代中动态调整。
更新过程
- 相似性矩阵的计算与修剪
通过节点特征 Xt 计算相似性矩阵 S:
其中 l 表示当前迭代轮次。通过 Hadamard 元素积修剪图中的边,即将相似度为 0 的边去除。
为了进一步去除可能连接不同类别节点的弱相似边,引入修剪阈值 τ,定义修剪规则和修剪后的邻接矩阵表示如下:
动态图权重更新策略通过结合特征相似性动态调整边的权重,有效减少了噪声边对信息聚合的影响,同时显著降低了计算复杂度。完整流程如 图5 所示,进一步展现了该方法的高效性和适用性。
聚类(Clustering)
通过结合 EGAE(增强图自动编码器) 和 动态图权重更新策略 获取节点嵌入后,使用软聚类分布来生成聚类标签。为了联合优化聚类和表示学习,引入了辅助聚类分布【5, 39】。
聚类步骤
-
预训练与初始化
首先对 EGAE 进行预训练,并使用 k-means 算法对预训练阶段生成的节点嵌入执行聚类,以获得可靠的初始聚类中心。
-
计算软聚类分布与辅助聚类分布
通过以下公式计算软聚类分布 Q 和辅助聚类分布 P:
-
计算聚类损失
聚类损失 Lclu 采用交叉熵计算:
-
总损失函数
在微调阶段,方法的总损失函数由两部分组成:
其中 Lrec表示重构损失。
-
最终聚类结果
根据每个节点在软聚类分布中概率最大的索引,生成最终聚类结果:
完整训练流程
算法 1 展示了 FastDGC 的完整训练过程。通过上述步骤,模型能够联合优化表示学习与聚类,从而提高节点分类和聚类的性能。
实验
在八个数据集上的不同方法的聚类结果记录在表 4 中。
根据这些结果,作者记录了以下观察:
-
我们的方法在除 CORA 以外的数据集上取得了最佳聚类结果
- 以 ACM 和 DBLP 数据集为例,与 AGC-DRR 方法相比,我们的方法在 ACM 数据集上的 ACC、NMI、ARI 和 F1 分别提高了 1.03% 、2.68% 、2.73% 和 1.04% ,而在 DBLP 数据集上的对应指标分别提高了 2.59% 、4.95% 、5.43% 和 2.50%。
- 根据 p 值,这些改进具有显著性,表明我们提出的 EGAE 提取的特征具有更强的判别力。
- 尽管在 CORA 数据集上未能取得最佳结果,我们的方法依然接近最优。这主要归因于使用 GNN 从数据中提取结构信息。
-
基于对比学习的方法优于深度生成方法(如 DCRN 和 AGC-DRR)
- 对比学习更注重节点间的相似性与差异性,这与聚类的特性一致,而生成方法更多关注输入与输出之间的差异性。
- 尽管我们的方法属于生成式方法,但表现良好,因为我们更加关注同一聚类内节点的相似性。
-
与基线 GAE 相比,我们的方法平均在 ACC 上提升了 10%
- 在 DBLP 数据集上,特别实现了 21.79% 的显著提升。
- 原因分析:
- 首先,GAE 学习隐式的结构信息,而我们的方法通过带偏置矩阵的线性变换引入显式的结构信息,使其更具灵活性。
- 其次,我们的方法在线性变换过程中保留了节点相似性信息,减少了信息丢失。
- 最后,GAE 在每层变换中使用固定维度,这可能导致信息冗余或欠拟合问题,而我们的方法根据不同数据集调整特征维度,有效缓解了这些问题。
-
我们的方法在高同质性图和低同质性图上的表现
- 我们的方法在高同质性图上表现出色,同时在低同质性图上也取得了改进。
- 这是因为我们的方法能够在迭代过程中根据节点间的相似性动态调整图结构,抑制不同类别节点间的信息传递,从而增强聚类的判别性。
- 然而,我们注意到我们的方法在引文网络上表现较差,这可能与高维稀疏特征的判别能力有限有关。
-
在部分数据集上的 NMI 表现较差
- 除 ACM、DBLP、Wisconsin 和 Texas 数据集外,我们的方法在其他数据集上的 NMI 表现较差。
- 这主要是由于这些数据集中存在类别不平衡问题。
- 使用 GNN 时,模型倾向于学习来自占主导地位类别的信息,从而在样本较少的类别上的泛化能力较弱。
这篇论文的动态图生成的创新不错,实验用的展示方式也挺丰富,可以去学习学习。。