论文解读(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 ...
随机推荐
- 1_开环系统和闭环系统_反馈控制_Open/Closed Loop System_Feedback
- 一步步搭建物联网系统——无处不在的CSS
无处不在的CSS 或许你觉得CSS一点儿也不重要,而事实上,如果说HTML是建筑的框架,CSS就是房子的装修.那么Javascript呢,我听到的最有趣的说法是小三--还是先让我们回到代码上来吧. C ...
- 小程序checkbox调整大小(checkbox样式修改)
.skyCheckbox{ transform: scale(0.7,0.7); -webkit-transform: scale(0.7,0.7); } <label class=" ...
- pycharm——import已存在的库居然失败!
问题 明明在cmd中可以import的库,放到pycharm中却找不到. 问题根源 找了一圈,最后得到这个结论. 因为pycharm默认就是这样的... 解决 打开设置,找到解释器 点击右边齿轮图标, ...
- numpy---(上)
Numpy Numpy ndarray N维数组对象ndarray, 是一系列同类型数据的集合, 索引以0下标开始, 创建一个ndarray对象, 需调用array函数: numpy.array(ob ...
- Django-初见
目录 安装&启动 HTTP请求URL路由 项目APP 返回 页面内容 给浏览器 路由 路由子表 创建数据库 定义数据库表 创建数据库表 Django Admin 读取数据库数据 过滤条件 对资 ...
- 帝国CMS 后台登录空白
编辑/e/config/config.php中 $ecms_config['esafe']['ckfromurl']=0; //是否启用来源地址验证,0为不验证,1为全部验证,2为后台验证,3为前台验 ...
- 为什么说TCP协议是可靠的?
TCP 实现可靠通信的两种方式 我们都知道 IP 协议是"不太靠谱".因为 IP 协议是不可靠的,所以 IP 数据包可能在传输过程中发生错误或者丢失.这就意味着,TCP 协议不得不 ...
- 关于croptool无法裁剪分辩率过低的图片
在使用croptool.js时,如果图片的分辨率过低,则无法裁剪超过分辨率的大小.比如说 function chooseImg(event){ var files = event.files || e ...
- 如何为我的VUE项目编写高效的单元测试--Jest
Unit Testing(单元测试)--Jest 一个完整的测试程序通常由几种不同的测试组合而成,比如end to end(E2E)测试,有时还包括整体测试.简要测试和单元测试.这里要介绍的是Vue中 ...