- 摘要
任何通用图神经卷积,如GCN[Kipf and Welling,2016a]和SAGE[Hamilton et al.,2017],或链接预测特定的神经架构,如SEAL[Zhang and Chen,2018]、NANs[Wang et al.、2020]和HalpNet[Wang等人,2021],都可以用作邻域编码器
对于链接预测器,我们设计了不同的评分函数,可以根据不同类型的图进行选择。
在负采样器中,我们提供了几种特定于问题的采样策略。
对于目标函数,我们建议使用有效排名损失,它近似最大化标准排名度量AUC。
2.模型
- 链路预测链路预测问题被分类为预测演进网络上潜在新链路的时间链路预测和推断静态网络上缺失链路的结构链路预测。在本文中,我们关注结构链接预测。
给定一个输入图,负采样器旨在生成负样本并形成训练对。训练对由正样本和负样本组成,邻域编码器用于提取正样本和负样本的邻域信息作为隐藏表示。给定隐藏表示,链接预测器将计算两个样本的链接分数。利用训练对的链接分数,将基于成对排序目标函数优化模型参数
- 邻域编码
通过图神经网络的编码器,得到样本节点或者节点对的表示。
1.节点级别的邻域编码器(比如GCN、Graph SAGE、GAT),这类编码器可以得到一个样本中两个节点各自的表示。
2.另一类是面向链接预测的图神经网络,SEAL、NIAN和HalpNet,即节点对级别的邻域编码器。这类编码器通常会对整个节点对的邻域子图进行编码,考虑到了邻域之间的交互信息,相比于通用的GNN的方式,节点对表示更加面向链接预测问题。
- 链路预测器
得到节点、节点对的表示后,通过链接打分函数计算两个节点连边的概率或分数,常用的链接打分函数有MLP、两个节点表示向量的內积等。
1.点积
2.MLP预测。我们还可以使用多层感知器(MLP)作为链路预测器。如果我们使用ENE来获得输入样本的隐藏表示,
3.如果我们使用NNE来获得隐藏表示,MLP的输入有几种可能的形式。如果图是无向的,我们可以采用一个广泛使用的交换算子,即hadamard乘积
4.如果图是有向的,我们更喜欢非交换算子,例如串联||
- 目标函数。对比学习,带排序目标的
由于网络的稀疏性,链接对和非链接对之间经常存在极大的不平衡。同时,大多数链接预测任务并不旨在将正对标记为1而将负对标记为0,而是要求将正对排序高于负对。为了与链路预测的一般目标一致,我们采用了模型学习的排序思想
在这个工作中,我们选择了平方损失作为基础的替代函数,其被证明在理论上与AUC具有贝叶斯一致性:(一般用这个)。
- 负采样
思路:
-
引入一个负例生成器(G),不断的在所有负例中挑选“难”的负样本。
-
负例生成器(G)与链接预测器(D)形成对抗学习。
为了缩小G的搜索空间,G是一个局部采样的负例生成器。
负例共享机制:
-
随机打乱已采样的m个负样本编号,与正样本构建m个新的训练样本对,重复n-1。
-
提升效率:一次采样m个负例,可以构建m*n个训练正负样本对。
对于正例,可能较少,则使用数据增强。
先用随机游走,获得节点i周围的可达节点j们,一共跳转l次。对于第L次跳转到的节点j,赋边权eij为1/L。以此扩充正样本。
对于Eaug中不同的增广对权重,我们发现在等式12中使用权重自适应目标函数更有效。因此,建议在采用随机行走增强时使用该目标函数。