论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》
论文信息
论文标题:GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training
论文作者:Jiezhong Qiu, Qibin Chen, Yuxiao Dong, Jing Zhang, Hongxia Yang, Ming Ding, Kuansan Wang, Jie Tang
论文来源:2020, KDD
论文地址:download
论文代码:download
1 Introduction
本文的预训练任务:子图实例判别(subgraph instance discrimination)。对于每个顶点,将其 r-ego networks 作为采样子图实例,GCC 的目的是区分从特定顶点采样的子图和从其他顶点采样的子图。
2 Related work
接下来介绍几种顶点相似性:
有边相连的节点被认为是相似的,邻居相似性方法有:
- Jaccard similarity (counting common neighbors)
- RWR similarity [36]
- SimRank [21]
Structural similarity
结构相似性的基本假设是,具有相似局部结构的顶点被认为是相似的。
第一种基于领域知识:
- vertex degree
- structural diversity [51]
- structural hole [7]
- k-core [2]
- motif [5, 32]
第二种基于谱图理论。
利用图数据属性,进一步度量相似性。
3 Method
Figure 2 展示了GCC的 pre-training 和 fine-tuning 阶段的概述。

3.1 The GNN Pre-Training Problem
GNN 的训练目标是学习一个函数 $f$,将节点映射到一个低维的特征向量,具有以下两个属性:
- 首先,structural similarity,具有相似拓扑结构的节点在向量空间种映射相近;
- 其次,transferability,对于图中不可见的节点任然可以预测;
3.2 GCC Pre-Training
pre-training task 将其他子图实例视为自己的不同类,并学习区分这些实例。
${\large \mathcal{L}=-\log \frac{\exp \left(\boldsymbol{q}^{\top} \boldsymbol{k}_{+} / \tau\right)}{\sum\limits_{i=0}^{K} \exp \left(\boldsymbol{q}^{\top} \boldsymbol{k}_{i} / \tau\right)}} $
其中,$\tau$ 为温度超参数。$f_{q}$ 和 $f_{k}$ 是两个 GNN encoder ,将 query $x^{q}$ 和 keys $x^{k}$ 编码为 $d$ 维表示,用 $\boldsymbol{q}=f_{q}\left(x^{q}\right)$ 和 $\boldsymbol{k}=f_{k}\left(x^{k}\right)$ 表示。
Definition 3.1. A r-ego network. Let $G=(V, E)$ be a graph, where $V$ denotes the set of vertices and $E \subseteq V \times V$ denotes the set of edges . For a vertex $v$ , its r -neighbors are defined as $S_{v}=\{u : d(u, v) \leq r\}$ where $d(u, v)$ is the shortest path distance between $u$ and $v$ in the graph $G$ . The r -ego network of vertex $v$ , denoted by $G_{v}$ , is the sub-graph induced by $S_{v}$ .

Q2: Define (dis)similar instances
在GCC中,将相同节点的 r-ego 网络作为一个相似的实例对,负样本通过图抽样生成。
GCC 的图采样遵循以下三个步骤:
- Random walk with restart。从顶点 $v$ 开始在 $G$ 上随机游走。该游走以与边权值成正比的概率迭代地移动到它的邻域。此外,在每一步中,游走有一定概率返回到起始顶点 $v$。
- Subgraph induction。根据上述游走路径获得顶点 $v$ 的顶点子集,用 $\widetilde{S}_{v}$ 表示。然后,用 $\widetilde{S}_{v}$ 生成诱导子图 $\widetilde{G}_{v}$ (ISRW 方法)。
- Anonymization。将上述采样的图节点重新打上标记 $\left\{1,2, \cdots,\left|\widetilde{S}_{v}\right|\right\}$ ,即将采样图的 $\widetilde{G}_{v}$ 匿名化。
重复上述过程两次来创建两个数据增强,形成一个正实例对 $\left(x^{q}, x^{k_{+}}\right)$。如果两个子图从不同的 r-ego networks 中获得,将它们视为一个具有 $k \neq k_{+}$ 的不同实例对 $\left(x^{q}, x^{k}\right)$。
回想一下,我们关注于结构表示预训练,而大多数GNN模型需要顶点特征/属性作为输入。为了弥合差距,我们利用每个采样子图的图结构来初始化顶点特征。具体来说,我们将广义位置嵌入定义如下:
Definition 3.2. Generalized positional embedding.For each subgraph, its generalized positional embedding is defined to be the top eigenvectors of its normalized graph Laplacian. Formally, suppose one subgraph has adjacency matrix $A$ and degree matrix $D$ , we conduct eigen-decomposition on its normalized graph Laplacian s.t. $\boldsymbol{I}-\boldsymbol{D}^{-1 / 2} \boldsymbol{A} D^{-1 / 2}=\boldsymbol{U} \boldsymbol{\Lambda} \boldsymbol{U}^{\top}$ , where the top eigenvectors in $\boldsymbol{U}$ are defined as generalized positional embedding.
FACT. The Laplacian of path graph has eigenvectors: $\boldsymbol{u}_{k}(i)= \cos (\pi k i / n-\pi k / 2 n)$ , for $1 \leq k \leq n, 1 \leq i \leq n$ . Here $n$ is the number of vertices in the path graph, and $\boldsymbol{u}_{k}(i)$ is the entry at $i-th$ row and $k-th$ column of $\boldsymbol{U}$ , i.e., $\boldsymbol{U}=\left[\begin{array}{lll}\boldsymbol{u}_{1} & \cdots & \boldsymbol{u}_{n}\end{array}\right]$ .
以上事实表明,在序列模型中的位置嵌入可以看作是路径图的拉普拉斯特征向量。这激发了我们将位置嵌入从路径图推广到任意图。使用标准化图拉普拉斯图而非非标准化图的原因是路径图是一个正则图(即常度),而现实世界的图通常是不规则的,有倾斜的度分布。除了广义位置嵌入外,我们还添加了顶点度[59]的独热编码和自我顶点的二进制指标作为顶点特征。在由图编码器编码后,最终的 $d$ 维输出向量然后用它们的 L2-Norm 进行归一化。
MoCo 旨在增加字典的大小,而不需要额外的反向传播成本。具体地说,MoCo 维护了来自之前小批次的样本队列。在优化过程中,MoCo 只通过反向传播来更新 $f_{q}$ 的参数(用 $\theta_{q}$ 表示)。$f_{k}$ 的参数(用 $\theta_{k}$ 表示)没有通过梯度下降进行更新。[17]等人为 $\theta_{k}$ 提出了一个基于动量的更新规则。形式上,MoCo 由 $\theta_{k} \leftarrow m \theta_{k}+(1-m) \theta_{q}$ 更新 $\theta_{k}$,其中 $m \in[0,1)$ 是一个动量超参数。上述动量更新规则在 $\theta_{q}$ 中逐步将更新传播到 $\theta_{k}$,使 $\theta_{k}$ 平稳、一致地发展。综上所述,MoCo以牺牲字典一致性为代价实现了更大的字典规模,即字典中的密钥表示由一个平滑变化的密钥编码器进行编码。
3.3 GCC Fine-Tuning
图学习中的下游任务通常可分为图级和节点级两类,其目标分别是预测图级或节点的标签。对于图级任务,输入图本身可以由 GCC 进行编码,以实现表示。对于节点级的任务,节点表示可以通过编码其 r-ego 网络(或从其 r-ego 网络增强的子图)来定义。
GCC为下游任务提供了两种微调策略——freezing mode 和 fine-tuning mode。
- 在 freezing mode 下,冻结预先训练的图编码器 $f_{q}$ 的参数,并将其作为静态特征提取器,然后在提取的特征之上训练针对特定下游任务的分类器。
- 在 fine-tuning mode 下,将用预先训练好的参数初始化的图编码器 $f_{q}$ 与分类器一起对下游任务进行端到端训练。
GCC作为一种图算法,属于局部算法类别,由于GCC通过基于随机游走(大规模)网络的图采样方法来探索局部结构,因此GCC只涉及对输入(大规模)网络的局部探索。这种特性使GCC能够扩展到大规模的图形学习任务,并对分布式计算设置非常友好。
4 Experiments

节点分类

图分类


5 Conclusion
在本研究中,我们研究了图神经网络的预训练,目的是表征和转移社会和信息网络中的结构表征。我们提出了图对比编码(GCC),这是一个基于图的对比学习框架,用于从多个图数据集。预先训练的图神经网络在10个图数据集上的三个图学习任务中实现了与监督训练的从头开始的竞争性能。在未来,我们计划在更多样化的图形数据集上基准测试更多的图形学习任务,比如蛋白质-蛋白质关联网络。
论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》的更多相关文章
- 论文解读(GCC)《Graph Contrastive Clustering》
论文信息 论文标题:Graph Contrastive Clustering论文作者:Huasong Zhong, Jianlong Wu, Chong Chen, Jianqiang Huang, ...
- 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...
- 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》
论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
- 论文解读(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 ...
- 论文解读(SCGC))《Simple Contrastive Graph Clustering》
论文信息 论文标题:Simple Contrastive Graph Clustering论文作者:Yue Liu, Xihong Yang, Sihang Zhou, Xinwang Liu论文来源 ...
- 论文解读(gCooL)《Graph Communal Contrastive Learning》
论文信息 论文标题:Graph Communal Contrastive Learning论文作者:Bolian Li, Baoyu Jing, Hanghang Tong论文来源:2022, WWW ...
- 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...
随机推荐
- python-排列组合序列
[题目描述]用户输入整数n(1<=n<=26)和整数m(m<=n),然后输入n个不同的字母,请编写程序输出在这n个字母中选择m个字母的所有排列序列和组合序列. [练习要求]请给出源代 ...
- 简单的axios请求返回数据解构赋值
本地 data.json 文件 { "name": "大熊", "age": 18, "fnc": [ 1, 2, 3 ...
- Spring-AOP底层实现
1.aop的底层实现:通过spring提供的动态代理技术实现的,在运行期间,spring通过动态代理技术动态的生成代理对象,代理对象方法执行时增强功能的介入,再去调用目标对象的方法,从而完成功能的增强 ...
- IDEA出现Error during artifact deployment. See server log for details.
第一步查看配置 然后点击Web Application Exploded->from Module, 如果以上问题都不存在,则要检查lib下是否缺少相应的jar包,是否导入,是否jar包过多产生 ...
- 宝藏考研公众号,考研up篇(参考)
每当刷完题感觉到累了,看完网课觉得倦了,拿起手机看一下我推荐的宝藏公众号和up推送的文章和视频(。・ω・。)ノ♡,这样既可以换换口味解解腻,又可以不断的提升自己,岂不美哉?让别人以为你拿起手机开始摆烂 ...
- 攻防世界 favorite_number
favorite_number 进入环境得到源码 <?php //php5.5.9 $stuff = $_POST["stuff"]; $array = ['admin', ...
- Java高可用集群架构与微服务架构简单分析
序 可能大部分读者都在想,为什么在这以 dubbo.spring cloud 为代表的微服务时代,我要还要整理这种已经"过时"高可用集群架构? 本人工作上大部分团队都是7-15人编 ...
- 用 GraphScope 像 NetworkX 一样做图分析
NetworkX 是 Python 上最常用的图分析包,GraphScoep 兼容 NetworkX 接口.本文中我们将分享如何用 GraphScope 像 NetworkX 一样在(大)图上进行分析 ...
- 攻防世界-MISC:Aesop_secret
这是攻防世界高手进阶区的的第九题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一张GIF动图,找个网站给他分解一下,得到如下图片 不知道是什么意思,所以就跑去看WP了,用010editor打 ...
- FreeRTOS --(13)任务管理之空闲任务
转载自 https://blog.csdn.net/zhoutaopower/article/details/107180016 创建完毕任务,启动调度器,任务控制,系统 SysTick 来临后判断是 ...