论文标题
NCAGC: A Neighborhood Contrast Framework for Attributed Graph Clustering
论文作者、链接
作者:Tong Wang, Guanyu Yang, Qijia He, Zhenquan Zhang, Junhua Wu
链接:https://arxiv.org/abs/2206.07897
代码:https://github.com/wangtong627/NCAGC
Introduction逻辑(论文动机&现有工作存在的问题)
特征图聚类,将给定的结点分到一些不相交的簇——传统聚类要么只关注结点特征,要么只关注图谱结构——图神经网络GNN,将结点的特征提取到低维,并且尽量同时保持原始的图谱结构以及结点特征——一些基于GNN的方法,没有针对聚类任务进行一些设计,仅仅使用GNN对特征进行提取然后在提取的结点特征上使用传统的聚类算法
为了构建一个面向聚类的框架,很多端到端的聚类算法将特征学习和聚类任务融合进一个统一的框架中——但是它们不能有效地利用异构节点嵌入
与对比学习结合——但是仍然存在以下问题:1)没有面向聚类的损失函数2)依赖数据增广3)几乎没有在特征学习上使用对比学习
论文核心创新点
1 设计了基于特征图聚类的双路对比学习算法(Neighborhood Contrast Framework for Attributed Graph Clustering ,NCAGC),应用了一个邻居对比模块
2.NCAGC是第一个学习一个自表示居住地呢的对比学习策略
3.在没有数据增广的原始视图选择样本对
相关工作
特征图聚类
图对比学习
论文方法
标记
无向特征图,其中是结点集合,是边的集合,是结点属性矩阵,为特征数量,是结点的数量,对应矩阵的第列。是邻接矩阵,代表,即结点之间有边相连,否则。是结点特征矩阵,其中,其中是结点的特征维度
对称特征提取模块Symmetric Feature Extraction Module
如图1所示,对称特征提取模块包含一个GNN编码器以及一个对称的解码器,将原始的结点和图谱结构映射到一个新的低维空间,在低维空间上做属性图聚类。
给定一个结点属性矩阵,以及图结构矩阵,假设编码器网络有层,在编码器的第层的的结点特征可以用公式表示为:
其中是编码器中的一个可训练的参数,是一个非线性的映射函数,代表了任意GNN的编码过程。本文使用一个两层的GAT网络作为非线性映射编码器。特别地,结点的属性 node attribute 会被认为是结点的初始特征,即,编码器的输出被认为是结点在第层的特征表达,即。
解码器的过程是编码器的逆过程。给定结点特征以及在第层的结点关系矩阵,并且假设解码器有层,那么解码器的第层的结点特征为公式表达为:
其中是编码器中的一个可训练的参数,是一个非线性的映射函数。为了与编码器保持一致,解码器也使用GAT作为非线性映射函数。解码器的输入经过自表示层过后的结点特征,即其中是自表示系数矩阵,解码器的输出被视为结点属性矩阵的重构,即。
保证结点的特征可以在结点属性和图谱结构方面,学习到更多有用的信息,结点的重构损失定义如下:
其中 是对称特征提取模块中的一个可训练的参数。
邻居对比模块Neighborhood Contrast Module
至此已经从对称特征提取模块拿到结点的特征,为了提升学到的特征质量,进一步引入邻居对比模块。
如何区分结点之间的相似性,即如何构建正负样本对是引入对比学习的一个关键问题。前人的工作中,图对比学习是执行在实例级并且通过图的数据增广来构建正负样本对的。但是,图的数据增广是否对对应的聚类任务有效,还是不确定的。于是,为了摆脱图数据增广,本文选择使用特征的距离来衡量结点之间的相似性,通过KNN来选择K个最近的邻居,使其构建为正样本。
具体来说,对于给定的结点特征,即图2中的红色点,在个样本点中,计算最近的个邻居结点视为正样本,剩下的个样本为负样本。
对于结点的邻居对比损失的计算公式如下:
其中 是对称特征提取模块中的一个可训练的参数,是预定义的邻居尺寸,是通过KNN计算得到的邻居结点,表示正样本的相似性的和,逐对相似性是由余弦相似性计算得:
将所有的结点都纳入考虑,于是有如下的邻居对比损失,即:
对比自表示模块Contrastive Self-Expression Module
虽然上面的模块已经可以输出高质量的结点特征表达了,但是无法保证可以很好的在深度子空间聚类的过程中构建自表示系数矩阵。因此,引入了对比自表示模块,来学习更具有区分度的自表示系数矩阵。
深度子空间聚类方法通过引入一个自表示层,即一个位于编码器和解码器中间的不带偏置值的全连接层,来学习自表示信息。对于给定的结点特征,自表示层可以计算其他结点的线性组合去解释结点重构:
现有的深度子空间聚类算法只是简单的通过最小化自表示损失来对目标函数进行优化,即:
其中是自表示的系数矩阵,其描述了自表示的程度以及每一层的线性组合的系数。
然而,普遍的自表示损失只考虑了结点重构前后的差值,即,忽略了其他结点的信息,这导致学到的的质量不高进而影响聚类的结果。
于是本文提出了对比自表示学习模块来通过对比学习的策略提高子空间聚类的效果。
如图3所示,有属性图视图以及经过自表示层的视图。对于在视图中的结点,可以与其在视图中对应的结点构成正样本对,其余结点则构成负样本对。于是结点的对比损失计算为:
将图中所有的结点都纳入考虑,则对比自表示损失为:
作为一个深度子空间聚类方法,自表示系数矩阵被用来构建关联矩阵,用来做谱聚类。于是优化以下的正则项:
其中表示任意的矩阵正则化,本文中使用正则化。
总的目标函数为:
消融实验设计
邻居对比模块的消融
对比自表示模块的消融
注意力机制的消融