Dink-Net:Neural Clustering on Large Graphs论文阅读及复现

Dink-Net:Neural Clustering on Large Graphs


摘要:

​ 深度图聚类,其目的是将图的节点分组到具有深度神经网络的不相交的聚类中,近年来取得了可喜的进展。然而,现有的方法无法扩展到具有百万节点的大型图。针对这一问题,提出了一种基于伸缩思想的可扩展深度图聚类方法(Dink-Net)。首先,通过辨别节点,是否被增广破坏,表示以自我监督的方式学习。同时,聚类中心被初始化为可学习的神经参数。随后,通过以对抗的方式最小化所提出的聚类扩张损失和聚类收缩损失来优化聚类分布。通过这些设置,我们统一了两步聚类,即,表示学习和聚类优化,到一个端到端的框架,引导网络学习聚类友好的功能。此外,Dink-Net可以运用到规模很大的图,因为设计的损失函数采用小批量数据,以优化聚类分布,即使没有性能下降。实验结果和理论分析都证明了该方法的优越性。与次优性能相比,Dink-Net在ogbn-papers 100 M数据集上实现了9.62%的NMI改进,该数据集具有1.11亿个节点和16亿条边。

1. Methodology

1.1基本定义:

在这里插入图片描述

1.2 问题描述:

对于属性图G,深度图聚类算法旨在将节点分组到不相交的聚类中。具体地,自监督神经网络F如下将G中的节点嵌入到潜在空间中。

在这里插入图片描述

其中H ∈ R N×d 表示节点嵌入,d是潜在特征的维数。在这里,自监督网络F是用诸如重构任务、对比任务、区分任务等的文本前任务来训练的。除了编码之外,聚类方法C被设计成如下将节点分组到不同的聚类中

在这里插入图片描述
其中K是聚类的数量,其可以是聚类方法C中的超参数或可学习参数。结果ȳ ∈ R N是聚类分配向量。

1.3 面临的挑战


本节仔细分析了大规模深度图聚类的挑战。它从深度图聚类与其他任务(如节点分类和链接预测)之间的差异开始。对于节点分类任务,不是一次处理整个图数据,而是算法可以将数据划分为小批次,并且仅对每个小批次中的样本进行分类。类似地,模型采用小批量技术用于配对节点的链接预测任务,并以小批量预测配对节点之间的链接的概率。小批量技术之所以有效,是因为每个节点或链路的预测是相对独立的,并且它们在推理阶段不会相互影响然而,在节点聚类任务中,该方法需要一次将所有节点分组到不相交的簇中。在这个过程中,每个节点的簇分配会相互影响,因此小批量技术容易失败。


由于上述问题,大多数现有的深度图聚类方法未能使用小批量技术并在聚类过程中一次处理整个数据。具体地,一类方法首先将节点嵌入到潜在空间中,然后直接执行传统的聚类算法(Hartigan & Wong,1979; Von Luxburg,2007)对学习的节点表示。我们首先分析了传统聚类方法的复杂性。例如,KMeans算法(Hartigan &Wong,1979)的时间复杂度和空间复杂度分别为O(tNKD)和O(NK +ND +KD)。这里,t、N、K和D分别表示迭代次数、节点数、簇数和属性维数。另外,谱聚类算法(Von Luxburg,2007)的时间复杂度和空间复杂度分别为O(N3)和O(N2)


此外,上述方法将嵌入和聚类优化过程分开,导致次优性能。不同的是,另一类方法(Wang等人,2019; Bo等人,2020; Liu等人,2022 b)通过最小化KL散度损失将表示学习和聚类优化统一到联合框架中(Xie等人,2016; Guo等人,2017)如下

在这里插入图片描述

其中Qij是原始聚类分布,Pij是锐化的聚类分布。该损失函数优化了整个数据的聚类分布。因此,计算和优化过程是复杂且消耗资源的,导致O(NKd)时间复杂度和O(NK +Nd +Kd)空间复杂度。因此,当ogbn-papers 100 M数据集上的节点数量N达到相当大的值(例如1.11亿)时,前两种类型的方法会导致不可接受的运行时间和内存不足问题。

1.4 方法论

通过上一节的仔细分析,我们得出结论,将现有的深度图聚类方法扩展到大规模图是具有挑战性的。为了解决这个问题,我们提出了一个可扩展的端到端的方法命名为膨胀收缩网络(Dink-Net)的膨胀和收缩的宇宙中的星系的想法。直观地说,我们的方法以对抗的方式优化了小批量数据的聚类分布,从而扩展到大型图。Dink-Net主要包括节点判别模块和神经聚类模块。

1.4.1 算法整体流程:

在这里插入图片描述


1.4.2 节点识别模块:

给定一个属性图G,我们首先对节点属性X ∈ RN×D和图结构A ∈ RN×N应用图数据扩充τ,如属性扰动和边丢失. 然后利用X’和A’构造增强视图图视图G’。随后,参数共享图神经网络编码器F(·)将G,G′的节点嵌入到潜在嵌入H,H′ ∈ RN×d。然后,一个小的参数共享神经网络投影头P(·)将节点嵌入映射到一个新的潜在空间中,其中将应用自监督学习损失。输出Z,Z′ ∈ RN×d。然后,通过特征聚合操作将新的节点嵌入合并到节点向量g中,g′ ∈ RN×1.为了训练编码器F(·)和投影头P(·),二进制交叉熵损失函数被最小化以区分原始节点和下面的增强节点摘要。其中第一项旨在将原始节点概要嵌入分类为类别1,而第二项试图将增强节点概要嵌入分类为另一类别0。利用该区分性文本前任务,编码器F和投影头P被训练以提取区分性特征。此外,这种判别损失是能用批量训练技术兼容大图的。

在这里插入图片描述


1.4.3 神经聚类模块:

本模块旨在指导我们的网络学习聚类友好的表示。具体地,基于学习到的节点表示H,簇中心嵌入C ∈ RK×d以K-Means++方式初始化(Hartigan & Wong,1979),其中K表示簇数。值得一提的是,聚类中心嵌入被指定为具有梯度的可优化神经参数。基于宇宙中星系的膨胀和收缩,我们设计了两个损失函数来共同优化星系团分布。首先,由于宇宙在膨胀,不同星系的中心被彼此推开。类似地,我们尝试通过如下所述最小化所提出的聚类扩张损失来推开不同的聚类中心:

在这里插入图片描述

其中K表示簇号。即使当样本数N很大时,这种簇膨胀损失也不会带来高的时间或存储器成本。

膨胀损失的概念来自宇宙膨胀理论(Linder,2003)。星团中心就像质量巨大的恒星,而样本就像围绕星团中心的行星。宇宙在膨胀,恒星在彼此远离。类似地,我们的集群膨胀损失推动集群中心彼此远离。除了宇宙膨胀之外,星系的中心还会用引力将行星拉到一起。从这个观察,一个集群收缩损失的目的是优化聚类分布,通过拉在一起的样本聚类中心。考虑到相当多的样品数量,我们的收缩损失与使用小批量样品兼容。其表述如下:

在这里插入图片描述


1.4.4 为什么Dink-Net在大图上表现较好?

通过与现有方法的比较,从模型训练和模型推理两个方面突出了本文方法的优势。

模型训练:

如算法1所示,Dink-Net的训练过程包含预训练和微调阶段。在预训练阶段,通过最小化鉴别损失Ldiscri来优化编码器F和投影头P。由方程式(四)、对于该损失函数,可以应用小批量技术,因为每个样品的鉴别过程是独立的。因此,给定嵌入Z,Z′,计算Ldiscri的时间复杂度和空间复杂度。是O(Bd)和O(Bd),其中B、d表示潜在特征的批量大小和维度。在微调过程中,总损耗公式如下:

在这里插入图片描述

其中α是权衡超参数。我们分析这个阶段的时间和空间复杂度如下。首先,给定嵌入,计算聚类扩张损失的时间和空间复杂度Ldilation在方程。(5)是O(K2d)和O(Kd),其中K表示簇号。由于K N,Ldilation即使在样本数量增长到大值时也不会花费太多的时间和空间资源。其次,聚类收缩模块将样本一起拉到聚类中心。考虑到大样本空间的特点,该算法不对所有样本进行聚类操作,而是采用小批量数据进行聚类分布优化。因此,在Eq.(6)在给定嵌入数的情况下,该算法的时间复杂度为O(BKd),空间复杂度为O(BK +Bd +Kd)。第三,计算Ldiscri。时间复杂度为O(Bd),空间复杂度为O(Bd)。总而言之,在微调阶段,给定嵌入,L花费O(BKd+K2d+Bd)时间和O(BK+Bd +Kd +Kd +Bd)→ O(BK+Bd +Kd)空间成本。


模型推断:
在模型推理过程中,利用学习良好的聚类中心嵌入C ∈ RK×d,第i个样本的分配可以计算如下
在这里插入图片描述
我们的方法的推断也可以以小批量方式进行。因此,当给定嵌入时,模型推理的时间和空间复杂度为O(BKd)和O(BK +Bd +Kd),其中B是批量大小。上述复杂度分析在理论上证明了时间和空间效率。与现有的最先进的方法相比,我们的方法的主要优点总结如下。1)Dink-Net算法摆脱了对N × N图扩散矩阵的处理。2)我们提出的损失函数允许Dink-Net使用小批量数据优化聚类分布,即使没有性能下降。3)Dink-Net统一了嵌入学习和聚类优化,从而产生了聚类友好的表示。


2. Experiment

数据集:
在这里插入图片描述

各数据集训练参数:

在这里插入图片描述


各数据集下载:
在这里插入图片描述

论文实验结果:

!](https://img-blog.csdnimg.cn/440ee807a91040359d7ed87cb46a1292.png)

在这里插入图片描述


2.1 参考链接

https://github.com/yueliu1999/Awesome-Deep-Graph-Clustering
https://github.com/yueliu1999/Dink-Net

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值