KDD‘20 | 基于生成模型的图神经网络预处理方法

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。

Hu, Ziniu, et al. "GPT-GNN: Generative Pre-Training of Graph Neural Networks." KDD. 2020.

 

 

引言


 

相信大家对“预处理-精调优”的神经网络训练方式都不陌生。自从2018年谷歌提出BERT以来,不少复杂的神经网络都是以这种方式进行训练的:现在大量的通用无监督数据上进行模型的预处理,之后再在有监督信息的小数据集上做特定任务的训练。


这次,我们将与大家分享发表在今年KDD上的一篇文章《GPT-GNN: Generative Pre-Training of Graph Neural Networks》,来探讨如何在图神经网络上进行类似的预训练,并探究这样的预训练模式会给模型带来怎样的效果提升。

 

 

背景


 

BERT是谷歌在2018年推出的语言模型,一经推出便在各个自然语言处理任务上取得优异的成绩。BERT中采用的预处理任务有两个:一个是Masked LM,通过上下文预测被覆盖的词,类似完形填空;另一个是Next Sentence Prediction,预测一句话与另一句话是否构成上下文关系。模型在大规模的无标注文本上进行预处理之后,便可以在特定任务的小数据集上进行有监督的训练。

 

预处理模型在自然语言处理上取得了如此优异的成绩,但在图神经网络的应用上却刚刚起步。今年年初,Jure组在ICLR上发表了他们的图神经网络预训练策略。在这篇文章中,他们主要提出了预训练图神经网络的两种方法:Context Prediction 和 Attribute Masking,如图所示。

图一 两种预处理策略

 

在Context Prediction策略中,他们首先在图上采样距离目标节点小于常数K的节点构成子图。例如在图中,他们采样了与目标节点距离小于K=2的点构成的子图。之后又在目标节点外围寻找距离目标节点在一个范围内的节点构成的子图。在图中,他们寻找了距离目标节点在r1=1和r2=4之间的点构成的子图。这些子图环绕在目标节点周围构成一个环形。然后,通过模型训练使得两个子图在经过图神经网络后,对目标节点的预测趋于相同。

 

在Attribute Masking策略中,算法会掩盖住某些节点的属性,并利用这些节点的邻居来预测被掩盖的属性。这个方法更像是BERT上Masked LM预处理方法在网络数据的延伸。

 

GPT-GNN生成过程


 

下面我们来介绍GPT-GNN预训练模型的结构。GPT-GNN是一个无监督生成模型。在预处理阶段,算法会首先随机地遮盖掉图中的一些边和点,如下图所示。

 

之后,该论文利用生成模型来生成(预测)这些边的存在和节点的属性。模型的损失函数会使得预测的结果尽量接近真实的网络结构。这样的话,在GPT-GNN训练完成后,其内部的图神经网络层就可以被拿出来进行调优。

 

需要注意的是,模型内部是已知被遮盖掉的点的数量的。那么对于这些点,模型遵循“先预测该点的属性,再根据该点和其他已知点的属性预测边的存在”这一过程依次生成原图中的边与点。如下图所示:

 

1.   我们已知模型中被覆盖了3个点,还存有2个点,于是对被覆盖的节点与它们的临边依次预测。

2.   对于节点3:首先预测它的属性(特征),再根据节点1(已知),2(已知),3(刚刚预测的结果)的属性判断节点3与1,2是否相连。此处不考虑3与节点4,5的相连关系,因为节点4,5还没被生成呢。

3.   对于节点4:预测它的属性,并预测它与节点1,2,3的关系。

4.   对于节点5:预测它的属性,并预测它与节点1,2,3,4的关系。

 

GPT-GNN实现结构


 

在模型实现过程中,为了使得节点属性预测与边的预测可以同时进行,GPT-GNN将网络中的节点分成两类,一类专门用来进行节点属性预测,另一类专门用来进行边的预测。

 

·      对于用来预测节点属性的点,这些点的属性被用一个占位符代替。

·      对于用来预测临边的点,这些点的部分临边被覆盖掉。

 

模型将以上述方式被处理过的图放入通用图神经网络架构中进行学习,对于上面两类节点,分别可以学出它们新的表达hAttr和hEdge。之后,将学出的表达hAttr和hEdge分别输入两个解码器DecAttr(hAttr)和DecEdge(h1Edge, h2Edge),用来输出节点属性预测和边的预测结果。

 

模型的损失函数便是这两个模块对应的损失函数的加和,如下图所示。

其中,节点属性预测的损失函数是利用某种距离度量,使预测的节点属性尽量接近真实的节点属性。而边的预测的距离度量,则是让相邻两节点之间的解码器输出结果,比不相邻的两个节点之间的更高。

 

实验


 

该论文在两个公开数据集上做了实验,一个是公开的学术引用网络,一个是亚马逊的商品评价网络。在每个数据集上作者针对三个不同任务设计了模型,并在不同的迁移设置上训练了模型。其总的结果如下:

 

其中,由于预训练模型预训练所需的数据集和真实任务的数据集往往不是同一个,本文采用了三种迁移设置:1. Field Transfer,即用不同品类的两个数据集(例如学术网络中不同的研究学科,或是亚马逊上不同商品的品类),一个进行预训练,一个进行精调。2. Time Transfer,即用不同时间获取的两个数据集分别做预训练和精调。3. Time + Field Transfer,即预训练和精调的两个数据集所属的时间和类别均不同。

 

由图上可以看出,经过该模型预训练的图神经网络,精确度比经过其他非监督方法预训练后的模型更高。

 

结论


 

该文章的实验部分非常详尽,在后文,比较了有预训练和无预训练设置下不同模型的表现,证明了即使使用其他模型或其他类型数据集,预训练模型在图神经网络下依然能得到更好的效果。

 

预训练方法是一个在自然语言处理等领域被广泛验证的方法,本文提出的预训练方法在大规模的异构网络上能够得到很好的效果,证明了该方法在图神经网络这一方向上的可行性。

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。


往期文章:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值