论文链接:https://arxiv.org/abs/2006.09963
论文来源:KDD 2020
摘要
图表示学习已经成为解决现实问题的一种强大的技术。节点分类、相似度搜索、图分类和链接预测等各种下游图学习任务都受益于它的最新发展。然而,现有的图表示学习技术侧重于特定领域的问题,并为每个图训练专用的模型,这些模型通常不能转移到域外数据。受最近自然语言处理和计算机视觉的预训练进展的启发,我们设计了图对比编码(GCC)——一个无监督图表示学习框架——来捕获跨多个网络的通用网络拓扑属性。我们将GCC的预训练任务设计为网络中或跨网络的子图级实例识别,并利用对比学习来授权模型学习内在的和可转移的结构表示。我们对三个图学习任务和十个图数据集进行了广泛的实验。结果表明,在不同的数据集集合上进行预训练的GCC可以取得具有竞争力的或更好的性能。这表明,预训练和微调范式为图形表示学习提供了巨大的潜力。
1、引言
图表示学习是一个当前关注度较高的领域,并且有许多真实的应用。然而当前的很多图表示学习方法都是对一个领域或者某一个图训练一个模型,也就是说这些训练的模型是不能迁移到领域外新的数据。这篇文章受到在NLP领域预训练工作的启发,设计了一种无监督的图对比编码(Graph Contrastive Coding,GCC)模型,来捕获不同图之间的全局拓扑特征。这里将GCC的预训练任务设计为区分不同图内不同点的局部子图结构,并且利用对比学习(Contrastive Learning)来学习到一些固有的、可迁移的结构表示。
如上图所示,这里提出的GCC的整体思想是,在预训练阶段,给一些不同的图,然后在上面做一些自监督学习,预训练得到一个表示学习的模型,然后把这个模型用在一些更多没有见过的的图上对不同的任务进行微调,下面将对具体的方法及模型的设计进行介绍。
2、GCC模型
这里预训练的任务是instance discrimination,也就是将每个节点看作是一个自己的类,然后区分不同节点作为学习目标。从对比学习的视角来看待,给定一个被编码的query ,以及一个包含个keys的字典,对比学习是要在dictionary里面找一个和query最匹配的key认为是和query同类的实例,在这篇文章中使用的InfoNCE作为学习目标:这里,,,其中,和分别代表不同的GNN模型。
除了这个整体的学习目标外还需要考虑下面一些问题。
- 如何设计图中的实例?
既然使用对比学习作为整个方法的总体目标,这里需要设计对比的实例,在本篇文章中,作者使用图中节点的-ego network作为这个节点的实例表示,这里-ego network就是以某一个点为中心,其他点和这个点的最短距离小于的点的集合的sub-graph。 - 如何设计实例间的相似和不相似?
在计算机视觉中,有多种的数据增强方式。在本篇文章的场景中,把对于同一个点的两个采样结果不同的-ego network作为相似的实例,而把不同点的采样作为不相似实例。 - 如何设计图的编码方式?
这里使用一种当前SOTA的GNN方法Graph Isomorphism Network(GIN)作为对图的encoder方法。
3、实验
该模型在不同的图上进行预训练,其中预训练所使用的数据集如下:
在下游任务的实验中,尝试了不同对比学习策略(E2E,MoCo)以及不同的微调策略,实验结果如下:
节点分类任务
图分类任务
top-相似性搜索
不同的对比学习策略
动量影响
预训练影响
4、总结
这篇文章提出的基于对比学习的图预训练模型可以有效的建模和迁移图中的结构特征从而达到预训练的目的,对比其他的从头开始学习的监督学习模型,该模型也可以获得相当的测试表现。
展望:
- 使用更多的图数据集进行预训练,并尝试应用到更多的图学习任务中。
- 探索将GCC模型应用到其他领域,比如:生物领域的蛋白质相互作用网络。