图表示学习的新范式:GCC 图对比编码
2024-01-29 08:32:55
摘要
图神经网络 (GNN) 已成为处理图数据的有力工具。然而,现有的 GNN 预训练方法严重依赖于监督学习,这限制了它们的适用性和泛化能力。在这项工作中,我们提出了图对比编码 (GCC),一种无监督的 GNN 预训练方法,该方法通过对比不同视图下图的表示来学习有意义的图表示。GCC 能够捕捉图的局部和全局结构,并通过负采样策略增强其表示能力。实验证明,GCC 在各种下游图任务上显着提高了 GNN 的性能,包括节点分类、图分类和链接预测。
引言
随着图数据在各个领域的日益普及,GNN 已成为处理这些数据的主要工具。然而,GNN 的性能很大程度上取决于预训练的质量。现有的 GNN 预训练方法主要基于监督学习,这意味着它们需要大量的标记数据。这限制了它们的适用性,因为标记数据通常稀缺且昂贵。
图对比编码 (GCC)
为了解决上述挑战,我们提出了 GCC,一种无监督的 GNN 预训练方法。GCC 的核心思想是通过对比不同视图下图的表示来学习有意义的图表示。具体来说,GCC 采用两种视图:
- 原始视图: 图的原始邻接矩阵。
- 扰动视图: 通过随机游走或节点下采样扰动后的图。
GCC 的目标函数
GCC 的目标函数旨在最大化原始视图和扰动视图下图表示之间的相似性,同时最小化不同图表示之间的差异。形式上,目标函数为:
L = -E_{x \sim p(x)}[log P(y=0 | x, g(x))] - E_{x \sim p(x), x' \sim p(x')}E[log P(y=1 | g(x), g(x'))]
其中:
- x 是输入图。
- g 是 GNN 编码器。
- y 表示 x 和 x' 是否表示同一张图。
- p(x) 和 p(x') 分别是图 x 和 x' 的分布。
负采样策略
为了增强 GCC 的表示能力,我们引入了负采样策略。具体来说,对于每个正样本 (x, x'),我们从与 x 不同的图中采样 k 个负样本 (x, x_i),其中 i=1, ..., k。这迫使编码器学习区分不同图的表示。
实验
我们在各种下游图任务上评估了 GCC 的性能,包括:
- 节点分类
- 图分类
- 链接预测
结果表明,GCC 预训练的 GNN 在所有任务上显着优于未经预训练的 GNN,并与最先进的监督预训练方法相当或优于它们。
结论
在这项工作中,我们提出了 GCC,一种无监督的 GNN 预训练方法。GCC 通过对比不同视图下图的表示来学习有意义的图表示。我们引入了负采样策略以增强 GCC 的表示能力。实验证明,GCC 在各种下游图任务上显着提高了 GNN 的性能。我们相信 GCC 将为 GNN 的无监督预训练开辟新的可能性。