论文解读(SCGC))《Simple Contrastive Graph Clustering》
论文信息
论文标题:Simple Contrastive Graph Clustering
论文作者:Yue Liu, Xihong Yang, Sihang Zhou, Xinwang Liu
论文来源:2022,arXiv
论文地址:download
论文代码:download
1 Introduction
贡献:
- 提出了一种简单的对比深度图聚类方法,称为 $\text{SCGC}$。$\text{SCGC}$ 不需要预训练,并为网络训练节省时间和空间;
- 提出了一种新的仅在增强的属性空间中进行数据扰动的数据增强方法;
- 设计了一种新的面向邻居的对比损失,以保持跨视图的结构一致性;
2 Method
2.1 Notations and Problem Definition

其中:
- $\widehat{\mathbf{A}}=\mathbf{A}+\mathbf{I}$
- $\mathbf{L}=\mathbf{D}-\mathbf{A}$
- $\widetilde{\mathbf{L}}=\widehat{\mathbf{D}}^{-\frac{1}{2}} \widehat{\mathbf{L}} \widehat{\mathbf{D}}^{-\frac{1}{2}}$
2.2 Overall Framework
整体框架:

组成部分:
- low-pass denoising operation
- Structural Contrastive Module (SCM)
2.3 Low-pass Denoising Operation
[5, 18, 44] 证明了拉普拉斯滤波器可以达到与图卷积运算相同的效果。所以引入一个低通去噪操作,在训练前将邻居信息聚合作为一个独立的预处理。这样,属性中的高频噪声将被有效地过滤掉。
具体地说,采用了一个图的拉普拉斯滤波器作为公式:
$\mathbf{H}=\mathbf{I}-k \tilde{\mathbf{L}} \quad\quad\quad(1)$
$k$ 为实值,对于 $k$ 的选择,在所有实验中遵循 AGE[5] 并设置 $k=2 / 3$。随后,将 $t$ 层图拉普拉斯滤波器堆栈如下:
$\mathbf{X}_{s}=\mathbf{H}^{t} \mathbf{X} \quad\quad\quad(2)$
其中,$\widetilde{\mathbf{L}}$ 为平滑的属性矩阵。通过这种低通去噪操作,过滤掉了属性中的高频噪声,从而提高了聚类性能和训练效率。
2.4 Structural Contrastive Module
结构对比模块(SCM),保持两个不同的视图的结构一致性,从而提高网络的鉴别能力。
具体来说,首先用设计的参数非共享MLP编码器对平滑属性 $\mathbf{X}_{s}$ 进行编码,然后用 $\ell^{2}$-norm 对学习到的节点嵌入进行归一化如下
$\begin{array}{l}\mathbf{Z}^{v_{1}}=\operatorname{MLP}_{1}\left(\mathbf{X}_{s}\right), \mathbf{Z}^{v_{1}}=\frac{\mathbf{Z}^{v_{1}}}{\left\|\mathbf{Z}^{v_{1}}\right\|_{2}} \\\mathbf{Z}^{v_{2}}=\operatorname{MLP}_{2}\left(\mathbf{X}_{s}\right), \mathbf{Z}^{v_{2}}=\frac{\mathbf{Z}^{v_{2}}}{\left\|\mathbf{Z}^{v_{2}}\right\|_{2}}\end{array} \quad\quad\quad(3)$
其中,$\mathbf{Z}^{v_{1}}$ 和 $\mathbf{Z}^{v_{2}}$ 表示学习到的节点嵌入的两个增广视图。值得一提的是,$\mathrm{MLP}_{1}$ 和 $\mathrm{MLP}_{2}$ 具有相同的体系结构,但参数不共享,因此 $\mathbf{Z}^{v_{1}}$ 和 $\mathbf{Z}^{v_{2}}$ 在训练过程中会包含不同的语义信息。
此外,我们通过简单地在 $\mathbf{Z}^{v_{2}}$ 中加入随机高斯噪声,进一步保持了两种视图之间的差异:
$\mathbf{Z}^{v_{2}}=\mathbf{Z}^{v_{2}}+\mathbf{N} \quad\quad\quad(4)$
其中,$\mathbf{N} \in \mathbb{R}^{N \times d}$ 从高斯分布 $\mathcal{N}(0, \sigma)$ 中采样。总之,我们通过设计参数非共享编码器,直接破坏节点嵌入,而不是对图引入复杂的操作,构造了两个增强视图 $\mathbf{Z}^{v_{1}} $ 和 $\mathbf{Z}^{v_{2}} $,从而提高了训练效率。此外,[17,28,32]最近的研究表明,图上的复杂数据扩充,如加边、掉边和图扩散,可能会导致语义漂移。
随后,我们设计了一种新的面向邻居的对比损失来保持横视图结构的一致性。具体地,我们计算 $\mathbf{Z}^{v_{1}}$ 和 $\mathbf{Z}^{v_{2}}$ 之间的交叉视点样本相似矩阵 $\mathbf{S} \in \mathbb{R}^{N \times N} $:
$\mathbf{S}_{i j}=\mathbf{Z}_{i}^{v_{1}} \cdot\left(\mathbf{Z}_{j}^{v_{2}}\right)^{\mathrm{T}}, \forall i, j \in[1, N] \quad\quad\quad(5)$
其中,$\mathbf{S}_{i j}$ 表示第一个视图中第 $i$ 个节点嵌入与第二个视图中第 $j$ 个节点嵌入的余弦相似度。然后,我们强制交叉视图样本相似度矩阵 $\mathbf{S}$ 等于自环邻接矩阵 $\widehat{\mathbf{A}} \in \mathbb{R}^{N \times N}$,公式如下:
$\begin{aligned}\mathcal{L} &=\frac{1}{N^{2}} \sum\limits _{(\mathbf{S}-\widehat{\mathbf{A}})^{2}} \\&=\frac{1}{N^{2}}\left(\sum\limits _{i} \sum\limits _{j} \mathbb{1}_{i j}^{1}\left(\mathbf{S}_{i j}-1\right)^{2}+\sum\limits _{i} \sum\limits _{j} \mathbb{1}_{i j}^{0} \mathbf{S}_{i j}^{2}\right)\end{aligned} \quad\quad\quad(6)$
其中,$\mathbb{1}_{i j}^{1}$ 表示如果 $\widehat{\mathbf{A}}_{i j}=1$,$\mathbb{1}_{i j}^{0}$ 表示如果 $\widehat{\mathbf{A}}_{i j}=0$。在这里,我们将同一节点的交叉视图邻居视为正样本,而将其他非邻居节点视为负样本。然后我们把阳性样本拉在一起,同时推开阴性样本。更准确地说,在 $\text{Eq.6}$ 中,第一项迫使节点即使在两个不同的视图中也与它们的邻居保持一致,而第二项则使节点与其非邻居之间的一致最小化。这种面向邻居的对比目标函数通过保持交叉视图结构的一致性,增强了我们网络的鉴别能力,从而提高了聚类性能。
2.5 Fusion and Clustering
在本节中,我们首先以线性的方式融合节点嵌入的两个增强视图,公式如下:
$\mathbf{Z}=\frac{1}{2}\left(\mathbf{Z}^{v_{1}}+\mathbf{Z}^{v_{2}}\right) \quad\quad\quad(7)$
其中,$\mathbf{Z} \in \mathbb{R}^{N \times d}$ 表示生成的面向聚类的节点嵌入。然后在 $\mathbf{Z}$ 上直接执行K-means算法[10],得到聚类结果。
2.6 Algorithm
3 Experiment
数据集

聚类实验

时间成本和GPU内存成本


消融实验


4 Conclusion
本文提出了一种对比深度图聚类方法,即简单对比图聚类(SCGC),从网络架构、数据增强和目标函数等方面改进了现有的方法。至于架构我们的网络主要包括预处理和网络骨干两个部分。具体地说,一个简单的低通去噪操作将邻居信息聚合作为一个独立的预处理。通过该操作,我们有效地过滤掉了属性中的高频噪声,从而提高了聚类性能。此外,只有两个mlp作为骨干。对于数据增强,我们通过设置参数非共享的编码器和破坏节点嵌入来构造不同的图视图,而不是在图上引入复杂的操作。此外,我们提出了一种新的面向邻居的对比损失来保持横视图结构的一致性,从而提高了网络的鉴别能力。得益于SCGC的简单性,它不需要预训练,并且节省了网络训练的时间和空间。值得注意的是,我们的算法优于最近的对比深度聚类竞争对手,平均加速速度至少为7倍。在7个数据集上的大量实验结果证明了SCGC的有效性和优越性。今后,为大规模图数据设计深度图聚类方法是值得尝试的。
论文解读(SCGC))《Simple Contrastive Graph Clustering》的更多相关文章
- 论文解读《Deep Attention-guided Graph Clustering with Dual Self-supervision》
论文信息 论文标题:Deep Attention-guided Graph Clustering with Dual Self-supervision论文作者:Zhihao Peng, Hui Liu ...
- 论文解读(MCGC)《Multi-view Contrastive Graph Clustering》
论文信息 论文标题:Multi-view Contrastive Graph Clustering论文作者:Erlin Pan.Zhao Kang论文来源:2021, NeurIPS论文地址:down ...
- 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
论文信息 论文标题:CGC: Contrastive Graph Clustering for Community Detection and Tracking论文作者:Namyong Park, R ...
- 论文解读SDCN《Structural Deep Clustering Network》
前言 主体思想:深度聚类需要考虑数据内在信息以及结构信息. 考虑自身信息采用 基础的 Autoencoder ,考虑结构信息采用 GCN. 1.介绍 在现实中,将结构信息集成到深度聚类中通常需要解决以 ...
- 论文解读GALA《Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learning》
论文信息 Title:<Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learn ...
- 论文解读 - Relational Pooling for Graph Representations
1 简介 本文着眼于对Weisfeiler-Lehman算法(WL Test)和WL-GNN模型的分析,针对于WL测试以及WL-GNN所不能解决的环形跳跃连接图(circulant skip link ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
- 论文解读(SUGRL)《Simple Unsupervised Graph Representation Learning》
Paper Information Title:Simple Unsupervised Graph Representation LearningAuthors: Yujie Mo.Liang Pen ...
- 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...
随机推荐
- 顺利通过EMC实验(8)
- 如何实现多个接口Implementing Multiple Interface
4.实现多个接口Implementing Multiple Interface 接口的优势:马克-to-win:类可以实现多个接口.与之相反,类只能继承一个超类(抽象类或其他类). A class c ...
- Python输出数字金字塔
使用Python输出一个数字金字塔 运行结果: 源代码: ''' Python输出数字金字塔 ''' for x in range(1,10): print(' '*(15-x),end='') n= ...
- 带UI的小初高数学学习软件—艰难地用C++(QT库)实现的过程
从互相了解对方的代码思路然后确定用C++编写,到用win32写界面时变得摇摆不定的考虑着要不要改变语言,再到用QT写完界面后发现短信接口一般都不提供C++,最后到QT打包出来的可执行文件在别的设备上无 ...
- Python中关于进度条的6个实用技巧
1 简介 费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进 ...
- mysql HikariCP连接池配置
#连接池配置 #最小空闲连接,默认值10,小于0或大于maximum-pool-size,都会重置为maximum-pool-size spring.datasource.hikari.minimum ...
- [Where is My Chicken Soup] 鸡汤来咯
20岁的年纪安逸不是好的选择.尝试突破自己,你的本事不止你现在的样子. 保持适当的焦虑,它会一直鞭策你进步. 失败的原因有很多,并不代表你真的不行.但如果自己真就这么放弃了,那你才是真的不行.
- JavaScript学习总结6-apply
JS中的apply方法可以控制this指向 任何JS支持的类型都可以转化为JSON JS对象是键值对型的,JSON是字符串型的 原型对象:__proto__ JS万物皆对象,ES6开始提供了对后端开发 ...
- Cf #709 Div. 2 B. Restore Modulo 一个只有三千多人过的b题, 妙啊!
传送门: https://codeforces.com/contest/1484/problem/B 原题 Example input 6 6 1 9 17 6 14 3 3 4 2 2 3 7 3 ...
- 企业DevOps之路:Jenkins 流水线
1. Pipeline 概述 Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkins 官方推荐使用的持续集成方案.与传统的自由风格项目不同,它是通过 jenkins DSL ...