图对比1:GCC

https://arxiv.org/abs/2006.09963v3

图表示学习是解决现实问题的一种强有力的技术。各种下游图学习任务都得益于它的最新发展,如节点分类、相似性搜索和图分类。然而,现有的图表示学习技术主要集中在领域特定的问题上,并且为每个图数据集训练一个专用的模型,而这个模型通常不可转换为域外数据。受自然语言处理和计算机视觉在预训练方面的最新进展的启发,我们设计了一个自监督图神经网络预训练框架Graph comparative Coding(GCC)1,以获取多个网络间的通用网络拓扑特性。我们将GCC的预训练任务设计为网络中和网络间的子图实例识别,并利用对比学习来增强图神经网络学习内在和可转换的结构表示。我们对三个图形学习任务和十个图形数据集进行了广泛的实验。结果表明,GCC在一组不同的数据集上进行预训练,可以在特定任务和从头开始训练的情况下获得有竞争力或更好的性能。这表明,预训练和微调范式为图表示学习提供了巨大的潜力。

图表示学习;图神经网络;图预训练;自监督学习;对比学习

在过去的二十年里,网络科学研究的主要焦点是发现和抽象不同网络的普遍结构特征。例如,Barabasi和Albert证明了几种类型的网络,如万维网、社会网络和生物网络都具有无标度特性,即它们的度分布都遵循幂律[1]。Leskovec等人[28]发现大量的实图满足密度和收缩定律。其他跨网络的常见模式包括小世界[57]、模体分布[31]、社区组织[34]和核心-外围结构[6],在概念层面验证了我们的假设

然而,在过去的几年里,图学习的范式已经从结构模式发现转向了图表示学习[11,14,25,39–41,47,59],这是由最近在深度学习方面取得的进展所推动的[4,30]。具体地说,图表示学习将图的顶点、边或子图转化为低维嵌入,从而保留了图的重要结构信息。从输入图中学习到的嵌入可以输入到同一图上下游任务的标准机器学习模型中。

然而,到目前为止,大多数关于图的表示学习工作都集中在单个图或一组固定图的表示学习上,并且非常有限的工作可以转移到域外的数据和任务上。从本质上讲,这些表示学习模型的目的是学习专门针对每个数据集的网络特定结构模式。例如,在Facebook社交图上学习到的DeepWalk嵌入模型[39]不能应用于其他图表。鉴于(1)图表示学习的这种局限性和(2)现有的常见结构模式发现技术,一个自然的问题出现了:我们能否普遍地从网络中学习可转移的代表图嵌入?

在自然语言处理领域也有类似的问题。到目前为止,最有效的解决方案是从一个大数据集预训练一个表示学习模型,通常是在自监督的环境下。预训练的思想是使用预先训练的模型作为良好的初始化,以便在看不见的数据集上对(不同的)任务进行微调。例如,BERT[10]设计语言模型预训练任务,从大量语料库中学习变压器编码器[52]。然后,通过微调,预先训练的变压器编码器适应各种NLP任务[55]。

介绍作品。

受此启发以及普遍图结构模式的存在,我们研究了图的预训练表示学习模型,特别是图神经网络(GNNs)的潜力。理想情况下,给定一组(不同的)输入图,如Facebook社交图和DBLP合著图,我们的目标是用一个自我监督的任务对GNN进行预训练,然后针对不同的图学习任务(如美国机场图上的节点分类)对其进行微调。在这一问题中,如何将这种预先设计的任务转移到通用网络中:如何才能将这一问题转移到通用网络中?

在这项工作中,我们提出了图形对比编码(GCC)框架来学习跨图的结构表示。在概念上,我们利用对比学习的思想[58]来设计图形预训练任务作为实例识别。它的基本思想是从输入图中抽取实例,将每个实例视为一个独立的类,并学习对这些实例进行编码和区分。具体来说,GCC需要回答三个问题,以便它能够学习可转换的结构模式:(1)实例是什么?(2) 什么是歧视规则?实例(3)如何编码?

在GCC中,我们将预训练任务设计为子图实例判别。它的目标是根据它们的局部结构来区分顶点(参见图1)。对于每个顶点,我们从其多跳ego网络中抽取子图作为实例。GCC旨在区分从某个顶点采样的子图和从其他顶点采样的子图。最后,对于每个子图,我们使用一个图神经网络(特别是GIN模型[59])作为图编码器,将底层结构模式映射到潜在表示。由于GCC不假设顶点和子图来自同一个图,所以图编码器被迫捕捉不同输入图之间的通用模式。考虑到预先训练的GCC模型,我们将其应用到看不见的图上,以解决下游任务。

据我们所知,迄今为止,在结构图表示预训练领域的工作非常有限。最近的一项研究是在具有特定域节点属性的标记图(分子图)上设计GNN的预训练策略[19]。另一个最近的工作是InfoGraph[46],它专注于学习领域特定的图级表示,特别是对于图分类任务。第三项相关工作由Hu等人[20]完成,他们定义了几个图学习任务,例如预测中心度得分,以对合成图进行GCN[25]模型的预训练。

我们进行了大量的实验来证明GCC的性能和可移植性。我们在一组不同类型的图上对GCC模型进行预训练,并将其应用于10个新的图形数据集上的三个下游图学习任务。实验结果表明,GCC模型对目前最新的任务特定图表示学习模型具有竞争性或更好的效果。例如,对于美国机场网络上的节点分类,GCC在Facebook、IMDB和DBLP图上预先训练的性能优于GraphWave[12]、prove[64]和Struc2vec[43],后者直接在美国机场图上训练,从经验上证明了我们的假设。

综上所述,我们的工作有以下四点贡献:

我们形式化了跨多个图的图神经网络预训练问题,并确定了它的设计挑战

我们将预训练任务设计为子图实例判别,从多个输入图中获取通用的、可转换的结构模式。

我们提出了一个图形对比编码(GCC)框架来学习结构图表示,它利用对比学习来指导预训练。

我们进行了大量的实验来证明对于域外任务,GCC可以提供比专用图特定模型更高的性能

2相关工作

在这一部分中,我们回顾了顶点相似性、对比学习和图预训练的相关工作。

2.1顶点相似性

在过去的几年中,网络/图中顶点相似度的量化已经得到了广泛的研究。顶点相似性的目标是回答问题[26],比如“这两个顶点有多相似?”?或“哪些其他顶点与这些顶点最相似?”?“相似性的定义在不同的情况下可能不同。我们简要回顾了以下三种类型的顶点相似性。

邻域相似性

邻域相似性的基本假设,即邻近性,是指紧密相连的顶点应该被认为是相似的。早期的邻域相似性度量包括Jaccard相似性(计算共有邻居)、RWR相似性[36]和SimRank[21]等。最近开发的网络嵌入算法,如LINE[47]、DeepWalk[39]、node2vec[14],也遵循邻域相似性假设

结构相似性

与邻域相似度通过连通度度量相似度不同,结构相似度甚至不假设顶点是连通的。结构相似性的基本假设是具有相似局部结构的顶点应该被认为是相似的。关于结构相似性建模的研究有两条线。第一行定义了基于领域知识的代表性模式。例如顶点度、结构多样性[51]、结构洞[7]、k-核心[2]、motif[5,32]等。因此,这种类型的模型,如Struc2vec[43]和RolX[18],通常都包含明确的特征化。第二个研究方向是利用谱图理论对结构相似性进行建模。最近的一个例子是graphave[12]。在这项工作中,我们关注的是结构相似性。与上述两种类型不同,我们采用对比学习和图神经网络从数据中学习结构相似性。

属性相似度

现实世界中的图形数据总是具有丰富的属性,例如引文网络中的文本、社交网络中的人口统计信息以及分子图中的化学特征。最近的图神经网络模型,如GCN[25]、GAT[53]、GraphSAGE[16,62]和MPNN[13],利用附加属性作为边信息或监督信号来学习表示,这些表示进一步用于度量顶点相似性。

2.2对比学习

对比学习是从数据中获取相似性的自然选择。在自然语言处理中,Word2vec[30]模型使用共现词和负采样来学习单词嵌入。在计算机视觉中,大量的工作[15,17,49,58]通过最小化同一图像的两个视图之间的距离来学习自监督图像表示。在这项工作中,我们采用了Oord等人[35]的信息损失和Wu等人[58]的实例判别任务,如第3节所述。

2.3图形预培训

跳过基于gram的模型。

早期的预训练图表示的尝试是基于skip-gram的网络嵌入模型,其灵感来自Word2vec[30],比如LINE[47]、DeepWalk[39]、node2vec[14]和metapath2vec[11]。它们大多遵循邻域相似性假设,如第2.1节所述。用上述方法学习的表示与训练模型的图形捆绑在一起,不能处理样本外问题。我们的图形对比编码(GCC)与这些方法在两个方面有所不同。首先,GCC关注的是与邻域相似性正交的结构相似性。第二,GCC可以跨图传输,甚至可以转移到训练前从未见过的图。

预训练图神经网络。

最近有几项努力将思想从语言预训练[10]引入到预训练图神经网络(GNN)。例如,Hu等人[19]在标记图上预训练GNN,特别是分子图,其中每个顶点(原子)都有一个原子类型(如C、N、O),每条边(化学键)都有一个键类型(如单键和双键)。预训练任务是恢复蒙版分子图中的原子类型和化学键类型。另一个相关的工作是由Hu等人[20]完成的,它定义了几个图形学习任务来预先训练GCN[25]。我们的GCC框架与上述方法在两个方面有所不同。首先,GCC表示一般的无标记图,特别是社交和信息网络。其次,GCC不涉及明确的特征化和预定义的图形学习任务。

3图对比编码(GCC)

在这一节中,我们形式化了图神经网络(GNN)的预训练问题。为了解决这个问题,我们提出了图形对比编码(GCC)框架。图2显示了GCC的预培训和微调阶段的概述。

3.1 GNN预训练问题

从概念上讲,给定一组来自不同领域的图,我们的目标是预先训练一个GNN模型,以自监督的方式捕捉这些图的结构模式。该模型应该能够使不同数据集上的下游任务受益。基本假设是,在不同的图形之间存在着共同的、可转移的结构模式,如模体,如网络科学文献[28,32]中所示。一个说明性的场景是,我们在Facebook、IMDB和DBLP图上预先训练一个GNN模型,并将其应用于美国机场网络进行节点分类,如图2所示。

形式上,GNN预训练问题是学习将顶点映射到低维特征向量的函数f,使得f具有以下两个性质:

•首先,结构相似性,它将具有相似局部网络拓扑的顶点映射到向量空间中;

•第二,可移植性,它与预培训期间看不见的顶点和图形兼容。

在学习中可以采用各种分类方法,如角色图、角色图等

注意,这项工作的重点是在没有节点属性和节点标签的结构表示学习上,这使得它不同于图神经网络研究中常见的问题设置。此外,我们的目标是预训练一个结构表示模型并将其应用于看不见的图,这与传统的网络嵌入[14,39–41,47]和最近尝试用属性图作为输入对图神经网络进行预训练,并将其应用于特定领域[19]。

3.2 GCC预培训

给定一组图,我们的目标是预先训练一个通用的图神经网络编码器来捕捉这些图背后的结构模式。为了实现这一点,我们需要为图结构数据设计适当的自监督任务和学习目标。

受CV[17,58]和NLP[9,30]中对比学习的成功经验的启发,我们建议使用子图实例判别作为我们的训练前任务,信息[35]作为我们的学习目标。预训练任务将每个子图实例视为自己的一个不同的类,并学习如何区分这些实例。它可以输出表示,捕捉这些子图实例之间的相似性[17,58]。

从字典查找的角度来看,给定一个编码查询q和一个K+1编码键的字典{k0,kK},对比学习会查找q在字典中匹配的单个键(用K+表示)。在这项工作中,我们采用了InfoNCE,以便:

式中τ是温度超参数。fq和fk是两个图神经网络,它们将查询实例xq和每个关键实例xk编码为d维表示,表示为b

要实例化GCC中的每个组件,我们需要回答以下三个问题

•Q1:如何在图中定义子图实例?

•问题2:如何定义(dis)图中和图中的相似实例对,

i、 例如,对于一个查询xq,哪个键xk是匹配的?•问题3:什么是正确的图形编码器fq和fk

值得注意的是,在我们的问题设置中,xq和xk并不是来自同一个图。接下来我们通过对上述问题的回答,给出了GCC预训练框架的设计策略

Q1:图中的设计(子图)实例

对比学习框架的成功很大程度上依赖于数据实例的定义。对于CV和NLP任务来说,将实例定义为图像或句子是很简单的。然而,这种思想不能直接扩展到图形数据,因为图中的实例没有明确定义。此外,我们的培训前关注的是结构表示,而没有附加的输入特性/属性。这使得自然选择单个顶点作为实例是不可行的,因为它不适用于区分两个顶点。

为了解决这个问题,我们建议使用子图作为对比实例,将每个顶点扩展到其局部结构。具体地说,对于某个顶点v,我们定义一个实例作为它的r-ego网络

定义3.1。一个r-ego网络。设G=(V,E)是一个图,其中V表示顶点集,E⊆V×V表示边集2。对于顶点v,其r-邻域定义为Sv={u:d(u,v)≤r},其中d(u,v)是图G中u和v之间的最短路径距离。顶点v的r-ego网络,用Gv表示,是Sv诱导的子图

图3的左面板显示了2-ego网络的两个示例。GCC将每个r-ego网络视为一个独立的类,并鼓励模型区分相似实例和不同实例。接下来,我们介绍如何定义(dis)相似实例

问题2:定义(dis)相似实例。

在计算机视觉[17]中,同一图像的两个随机数据增强(如随机裁剪、随机调整大小、随机颜色抖动、随机翻转等)被视为相似的实例对。在GCC中,我们将同一r-ego网络的两个随机数据扩充看作一个相似的实例对,并将其定义为图抽样[27]。图抽样是从原始图中提取有代表性的子图样本的技术。假设我们想扩充vertex v的r-ego网络(Gv),GCC的图采样遵循三步随机游动(RWR)[50],子图归纳和匿名化[22,29]

重新启动随机行走。

我们在G上从ego顶点v开始随机游动,并以与边权成比例的概率迭代地移动到它的邻域。此外,在每一步,以正概率行走返回起始顶点v

子图归纳法。

重新启动的随机行走收集v周围顶点的子集,用Sev表示。由Sev诱导的子图Gev被视为r-ego网络Gv的扩充版本。此步骤也称为诱导子图随机游走采样(ISRW)

匿名化。

我们通过将采样图Gev的顶点重新标记为{1,2,···,| Sev |},以任意顺序3来匿名

我们重复上述过程两次以创建两个数据扩充,它们形成一个类似的实例对(xq,xk+)。如果两个子图是从不同的r-ego网络中扩充出来的,我们将它们视为一个具有k,k+的不同实例对(xq,xk)。值得注意的是,以上所有的图操作随机游走、子图归纳和匿名化都可以在DGL包中找到[56]

关于图形采样的讨论。

在重新启动抽样随机游动中,重启概率控制GCC进行数据扩充的ego网络半径(即r)。在这项工作中,我们遵循邱等[42]的方法,使用0.8作为重启概率。所提出的GCC框架对其他的图采样算法是灵活的,例如邻域抽样[16]和森林火灾[27]

关于匿名化的讨论。

现在我们将讨论上述过程中匿名化步骤背后的直觉。此步骤旨在保留底层结构模式并隐藏精确的顶点索引。该设计避免了学习子图实例判别的一个简单方法,即简单地检查两个子图的顶点索引是否匹配。此外,它有助于学习模型在不同的图之间的传递,因为这样的模型不与特定的顶点集相关联。

问题3:定义图形编码器。

给定两个采样子图xq和xk,GCC分别通过两个图神经网络编码器fq和fk对它们进行编码。从技术上讲,任何图神经网络[4]都可以用作编码器,并且GCC模型对不同的选择不敏感。在实际应用中,我们采用最新的图神经网络模型图同构网络(GIN)[59]作为我们的图形编码器。回想一下,我们关注的是结构表示的预训练,而大多数GNN模型需要顶点特征/属性作为输入。为了弥补这一差距,我们提出利用每个采样子图的图结构来初始化顶点特征。具体来说,我们将广义位置嵌入定义为:

定义3.2。

广义位置嵌入。对于每个子图,定义其广义位置嵌入为其规范化图拉普拉斯的上特征向量。形式上,假设一个子图有邻接矩阵A和度矩阵D,对其归一化图Laplacian s.t.I−D−1/2AD−1/2=U∧U⊤进行特征分解,其中上特征向量inU[54]定义为广义位置嵌入。

广义位置嵌入是受NLP[52]中的变换器模型启发的,其中使用不同频率的正弦和余弦函数来定义词序列中的位置嵌入。这样的定义与图拉普拉斯有着深刻的联系,如下所示。这说明序列模型中的位置嵌入可以看作是路径图的拉普拉斯特征向量。这启发了我们将路径图的位置嵌入推广到任意图。使用规范化图拉普拉斯图而不是非规范化图的原因是路径图是正则图(即具有常数度),而现实世界中的图通常是不规则的,并且具有歪斜的度分布。除了广义位置嵌入外,我们还添加了顶点度数的一个热编码[59]和ego顶点的二进制指示符[42]作为顶点特征。在经过图形编码器编码后,最终的d维输出向量被它们的L2范数规范化[17]。

一个典型的例子。

我们在图3中演示了一个GCC预培训的运行示例。为了简单起见,我们将字典大小设置为3。GCC首先从图3左侧面板上的2-ego网络中随机增加两个子图xq和xk0。同时,另两个子图xk1和xk2是从噪声分布中生成的——在本例中,它们是从图3左侧面板上的另一个2-ego网络随机扩充而来的。然后,两个图编码器fq和fk将查询和三个键映射到低维向量q和{k0,k1,k2}。最后,等式1中的对比损失鼓励模型将(xq,xk0)识别为相似的实例对,并将它们与不同的实例区分开来,即{xk1,xk2}

学习。

在对比学习中,需要维护K大小的字典和编码器。理想情况下,在等式1中,字典应该包含尽可能多的实例,使得K非常大。然而,由于计算的限制,我们通常设计并采用经济的策略来有效地构建和维护字典,例如端到端(E2E)和动量对比(MoCo)[17]。下面我们讨论这两种策略。

E2E对实例的小批量进行采样,并考虑与字典相同的小批量中的样本。然后根据fq和fk的参数对等式1中的目标进行优化,这两个参数都可以通过反向传播一致地接受梯度更新。E2E的主要缺点是字典大小受批处理大小的限制。

MoCo的设计目的是在不增加反向传播成本的情况下增加字典的大小。具体地说,MoCo维护一个来自之前的小批量的样本队列。在优化过程中,MoCo只通过反向传播更新fq(用θq表示)的参数。fk(用θk表示)的参数不通过梯度下降来更新。他等[17]提出了一个基于动量的θk更新规则。形式上,MoCo通过θk←mθk+(1−m)θq更新θk,其中m∈[0,1)是动量超参数。使动量θk在θs中不断地演化,使θk逐渐更新。总之,MoCo以牺牲字典一致性为代价实现了更大的字典大小,即字典中的密钥表示由平滑变化的密钥编码器编码。

除了E2E和MoCo之外,还有其他的对比学习机制来维护字典,比如内存库[58]。他最近在MoCo等人的记忆库中显示了更有效的选择。因此,我们主要关注GCC的E2E和MoCo。

3.3 GCC微调

下游任务。

图中的学习节点一般分为两类,分别属于图和图的下游层。对于图级任务,可以通过GCC对输入图本身进行编码来实现表示。对于节点级任务,节点表示可以通过编码其r-ego网络(或从其r-ego网络扩展的子图)来定义。在任何一种情况下,编码的表示都会被输入到下游任务中,以预测特定于任务的输出。

完全冻结与微调

GCC为下游任务提供了两种微调策略:冻结模式和完全微调模式。在冻结模式下,我们冻结预训练图编码器fq的参数,并将其作为一个静态特征提取器,然后在提取的特征上训练面向特定下游任务的分类器。在完全微调模式下,用预先训练的参数初始化的图编码器fq与分类器一起在下游任务上进行端到端的训练。有关微调的更多实现细节,请参见第4.2节。

GCC作为局部算法。

作为一种图算法,GCC属于局部算法范畴[45,48],由于GCC通过基于随机游走的图采样方法来探索局部结构,因此算法只涉及输入(大规模)网络的局部探索。这样的特性使GCC能够扩展到大规模的图形学习任务,并且对分布式计算环境友好。

4个实验

在本节中,我们将评估GCC在三个图学习任务上的性能:节点分类、图分类和相似性搜索,这三个任务通常用于对图学习算法进行基准测试[12,43,46,59,60]。我们在第4.1节中首先介绍了自监督的预训练设置,然后在第4.2节中报告了这三个图学习任务的GCC微调结果。

4.1培训前

数据集。

我们对六个图形数据集进行了自我监督的预训练,这些数据集可分为学术图和社会图两组。对于学术图,我们分别从NetRep[44]收集学术数据集,从SNAP[61]和NetRep[44]收集两个DBLP数据集。至于社交图,我们从NetRep[44]收集Facebook和IMDB数据集,并从SNAP[3]收集LiveJournal数据集。表1列出了训练前数据集的详细统计数据

培训前设置。

我们训练75000步,并使用Adam[24]进行优化,学习率为0.005,β1=0.9,β2=0.999,ϵ=1×10-8,权重衰减为1e-4,前7500步的学习率预热,7500步后学习率线性衰减。使用范围为[-1,1]应用渐变范数剪裁。对于MoCo,我们使用的mini-batch-size为32,dictionary-size为16384,momentum-m为0.999。对于E2E,我们使用1024的小批量。对于MoCo和E2E,温度τ设为0.07,我们采用5层、每层64个隐藏单元的GIN[59]作为编码器。详细的超参数见附录表6。

4.2下游任务评估

在这一部分中,我们将GCC应用于三个图学习任务,包括节点分类、图分类和相似性搜索,我们讨论了GCC的两个微调策略以及我们比较的基线。

微调。

正如我们在第3.3节中讨论的,我们对GCC采用了两种微调策略。我们从scikit-learn[38]包中选择logistic回归或支持向量机作为冻结策略的线性分类器4。对于全微调策略,我们使用了学习率为0.005的Adam优化器,前3个周期的学习率为预热,3个周期后为线性学习率衰减。

基线。

基线可分为两类。在第一类中,基线模型从未标记的图数据中学习顶点/图表示,然后将其输入logistic回归或SVM。例如DGK[60]、Struc2vec[43]、GraphWave[12]、graph2vec[33]和InfoGraph[46]。具有冻结设置的GCC属于此类。在第二类中,以端到端监督的方式对模型进行优化。例如DGCNN[66]和GIN[59]。具有完全微调设置的GCC属于此类。

为了公平比较,我们将所有模型的表示维度都固定为64,除了graph2vec和InfoGraph5。基线的细节将在后面讨论。

4.2.1节点分类。

设置。

节点分类的任务是预测部分标记网络中未知的节点标签。为了计算GCC,我们从每个顶点的中心抽取一个子图并对其应用GCC。然后将得到的表示输入输出层,以预测节点标签。至于数据集,我们采用美国机场[43]和Hindex[63]。美国机场由1190个机场中的航空公司活动数据组成。4个等级表示机场的不同活动水平。H-index是从OAG中提取的合著关系图[63]。标签表明作者的h指数是高于还是低于中位数。

实验结果。

我们将GCC与俯卧[64]、graphway[12]和Struc2vec[43]进行比较。结果如表2所示。值得注意的是,在冻结设置下,GCC中的图形编码器没有在其他基线用作训练数据的US Airport或H-Index数据集上进行训练。这使得GCC处于劣势。然而,GCC(MoCo,freeze)在美国机场的性能与Struc2vec相比具有竞争力,并且在H-index中实现了最好的性能,Struc2vec无法在一天内完成。此外,通过对目标美国机场或H-Index域进行全面微调,可以进一步提升GCC。4.2.2图形分类

设置。

我们使用Yanardag和Vishwanathan[60]-COLLAB、IMDB-BINARY、IMDB-MULTI、REDDITBINARY和REDDIT-MULTI5K的五个数据集,这些数据集在最近的图形分类模型[19,46,66]中被广泛地作为基准。每个数据集是一组图,其中每个图都与一个标签相关联。为了在这个任务中评估GCC,我们使用原始输入图作为GCC的输入。然后将编码后的图级表示送入分类层,以预测图的标签。我们将GCC与最近开发的几种图分类模型进行了比较,包括deepgraph Kernel(DGK)[60]、graph2vec[33]、InfoGraph[46]、dgcn[66]和GIN[59]。其中DGK、graph2vec和InfoGraph属于第一类,dgcn和GIN属于第二类。

实验结果。

表3显示了比较。在第一类中,GCC(MoCo,freeze)在IMDB-B和IMDB-M中表现出与InfoGraph竞争的性能,而在其他数据集中性能最好。再次强调,DGK、graph2vec和InfoGraph都需要在目标域图上进行预训练,但是GCC只依赖表1中列出的图进行预训练。在第二类中,我们将GCC与dgcn和GIN进行了比较。GCC的性能优于dgcn,性能与GIN相当。GIN是最近提出的一种用于图分类的SOTA模型。我们按照文[59]中的说明对GIN进行培训,并将详细结果报告在附录中的表7中。可以看出,在每一个数据集中,不同的超参数使GIN的性能达到最佳。通过改变超参数,GIN的性能可能是敏感的。然而,GCC

4.2.3 Top-k相似度搜索。

设置。

我们采用Zhang等人[65]的合著数据集,这些数据集是KDD、ICDM、SIGIR、CIKM、SIGMOD和ICDE的会议合著图。top-k相似性搜索问题定义如下。给定两个图G1和G2,例如KDD和ICDM合著图,我们想从G1中找出G2中每个顶点u最相似的顶点v。在这个数据集中,基本事实被定义为作者在两次会议上发表的文章。请注意,相似性搜索是一个无监督的任务,因此我们在不进行微调的情况下评估GCC。特别地,我们首先通过随机游走和重启图抽样的方法提取出两个以u和v为中心的子图。通过GCC编码后,我们测量u和v之间的相似度,作为它们表示的内积。最后,通过对以上分数进行排序,我们使用命中@10(前10名精度)衡量不同方法的性能。我们将GCC与RolX[18]、Panther++[65]和graphave[12]进行比较。我们还提供了随机猜测的结果供参考。

实验结果。

表4给出了三个合著者网络中不同方法在top-k相似性搜索任务中的性能。我们可以看到,与Panther++[65]和graphway[12]相比,在合著者图上进行适当的训练,简单地应用预先训练的GCC就可以具有竞争力。

总的来说,我们证明了一个预先训练在几种常用图形数据集上的图形神经网络编码器可以直接适应新的图形数据集和未知的图形学习任务。更重要的是,与从头开始训练的模型相比,重用模型可以获得竞争性的,有时甚至更好的性能。这说明了图结构模式的可移植性,以及我们的GCC框架在捕获这些模式方面的有效性。

4.3烧蚀研究

培训前的效果。

目前还不清楚GCC的良好性能是由于预训练还是GIN[59]编码器的表达能力。为了回答这个问题,我们使用随机初始化的GIN编码器对GCC进行完全微调,这相当于从头开始训练GIN编码器。我们将这个模型命名为GCC(rand),如表2和表3所示。在除IMDB-B之外的所有数据集中,GCC(MoCo)的性能都优于随机初始化的数据集,这表明预训练总是比随机初始化提供更好的微调起点。对于IMDB-B,我们将其归因于训练前数据和下游任务之间的域转移。

对比损失机制。

人们普遍认为MoCo比E2E具有更强的表达能力[17],更大的字典大小K总是有帮助的。我们还观察到这样的趋势,如图4所示。然而,大字典大小的影响不如计算机视觉任务中报告的那样显著[17]。例如,MoCo(K=16384)仅仅在精确度方面比MoCo(K=1024)高出一小部分——美国机场的绝对增益为1.0,协作的绝对增益为0.8。然而,训练MoCo比训练E2E经济得多,E2E(K=1024)需要5天16小时,而MoCo(K=16384)只需要9小时。具体培训时间见附录表6

动力。

正如MoCo[17]中提到的,动量m在学习高质量表示中起着微妙的作用。表5显示了美国机场和COLLAB数据集的不同动量值的精确度。对于美国机场,m=0.999达到了最佳性能,这是[17]中的期望值,这表明建立一个一致的字典对于MoCo非常重要。然而,在COLLAB中,动量值越大,性能越好。此外,当设置m=0时,我们没有观察到[17]中报告的“训练损失振荡”。GCC(MoCo)收敛性好,但精度较差

训练前数据集。

我们删除了用于预训练的数据集的数量。为了避免列举一个组合空间,我们使用表1中的前几个数据集进行预训练,并分别在US Airport和COLLAB上报告10倍的验证精度分数

例如,使用一个数据集进行预训练时,我们选择Academic;使用两个数据集时,我们选择Academic和DBLP(SNAP),依此类推。我们提出了普通最小二乘法(OLS)估计数据集数量与模型性能之间的关系。如图5所示,当使用更多的数据集进行预训练时,我们可以观察到更高精度的趋势。平均而言,再增加一个数据集,美国机场和COLLAB的准确率分别提高0.43和0.81%

5结论

在这项工作中,我们研究了图神经网络的预训练,目的是描述和传递社会和信息网络中的结构表示。本文提出了一种基于图的对比学习框架GCC(Graph comparative Coding,GCC)对多个图数据集的图神经网络进行预训练。预训练的图神经网络在10个图数据集上完成3个图学习任务,取得了与监督训练的同类网络相竞争的性能。未来,我们计划在更多不同的图形数据集(如蛋白质-蛋白质关联网络)上对更多的图形学习任务进行基准测试。

你可能感兴趣的:(图对比1:GCC)