GraphCL: Contrastive Self-Supervised Learning of Graph Representations
- Hakim Hafidi, Mounir Ghogho, Philippe Ciblat, et al. GraphCL: Contrastive Self-Supervised Learning of Graph Representations[J]. In arXiv 2020.
- 拉巴特国际大学
摘要(Abstract)
我们提出了图对比学习(Graph Contrastive Learning,GraphCL),这是一个以自监督方式学习节点表示的通用框架。GraphCL通过最大化同一节点的局部子图的内在特征和链接结构的两个随机扰动版本的表示之间的相似性来学习节点嵌入。我们使用图神经网络来产生同一节点的两个表示,并利用对比学习损失来最大化它们之间的一致性。在直推式和归纳式学习设置中,我们证明了我们的方法在许多节点分类基准上显著优于无监督学习的最新技术。
一、GraphCL模型核心思路
GraphCL是一个基于对比学习的自监督图谱预训练模型,GraphCL模型对一个节点得到两个随机扰动的L-hop的Subgraph,通过最大化两个Subgraph之间的相似度来进行自监督学习。关注以下三个问题。
问题1:A Stochastic Perturbation,如何获得一个节点两个L-Hop的子图?
对个一个节点完整的L-Hop Subgraph,本文通过以概率p随机丢边的方式来生成不同的子图结构。
问题2:A GNN based Encoder,使用何种图神经网络对两个L-Hop Subgraph进行表征?
简单的GCN模型(Hamilton etal. 2017),汇聚函数使用mean-pooling propagation rule,但对于Transductive和Inductive Learning会不一样。
Transductive Learning时汇聚公式如下: (7)
Inductive Learning时汇聚公式如下:
问题3:A Contrastive Loss Function,损失函数如何定义?
首先对两个L-Hop Subgraph相似度计算使用的是余弦相似度,损失函数是Based on a normalized temperature-scaled cross entropy,如下公式所示,其中指标函数表示当
时为1,反之为0,
是一个temperature parametero。
二、GraphCL模型运行步骤
对一个采样的Mini-Batch ,GraphCL模型执行步骤如下所示:
1、对于中的节点
,定义
是节点
的
跳子图,包含从
到
跳内所有节点和边及其对应的特征信息;
2、按照之前介绍的扰动策略得到节点的两个扰动的L-Hop子图
,如下公示所示:
3、使用Graph Encoder在
上,如下公式所示:
4、使用如下的loss function来训练更新Graph Encoder 的模型参数
GraphCL模型结构图如下所示:
三、结论
在Transductive Learning和Inductive Learning两个方面,都证明GraphCL模型在许多节点分类基准上显著优于最先进的无监督学习。
表2 直推式任务的分类准确率和归纳式任务的微平均F1分数