论文《Line Graph Neural Networks for Link Prediction》阅读
今天带来的是一篇经典论文《Line Graph Neural Networks for Link Prediction》,提出线图在链路预测上的应用。论文发表在TPAMI上,由微软的Lei Cai等人完成。论文在Google Scholar上有200+的引用量,成为事实上的链路预测SOTA模型。
论文概况
论文发表时间是2021年,实际上2020年就投到arXiv上了,从时间上来说,是相当领先且高效的链路预测模型。
论文聚焦于链路预测场景,强调其模型的普适性,在一共14个数据集上进行了实验(包含学术转发、生物、交通、社交网络等),均能够取得较好的结果。
论文方法论部分非常简单,yet effective,而且writing部分切入非常准确,提出了LGLP模型。
论文地址:TPAMI LGLP
代码仓库:LGLP
Introduction
先介绍一下链路预测 Link Prediction,其任务主要是预测目标边的概率。模型为分类模型,即判断边 存在/不存在。
论文的切入点聚焦在链路预测的信息损失这个角度。在链路预测领域,当前的主流方法是GNN,大概的pipeline是在整个链路图中,随机选择若干两个结点,以这两个结点作为中心通过(深度或广度)遍历得到对应子图,在这个子图上进行表示学习。至于目标边的预测,则通过log loss进行学习,也就是通过池化操作,将两个大小为 D D D 的向量池化为一个 0 0 0 到 1 1 1 的实数。这个任务实际上是一个图分类任务,即判断该图为0/1。这步操作过程会损失较多的信息,造成模型性能不够优秀。
作者在这个基础上,提出使用线图,即将原图中的边换为点,点换位边,这样,原图的连边预测任务就转化为线图的结点分类任务。即对应的结点是有边结点还是无边结点。
图分类 ⟹ \Longrightarrow ⟹ 节点分类
Methodology
实际上LGLP模型是在SEAL模型的基础上进行的,模型的基本pipeline也是遵循了SEAL的基本操作。作者将链路预测分为3个基础步骤:
- Enclosing Graph Extraction:封闭子图提取
- Node Labeling:节点重要性标注
- Feature Learning & Link Prediciton:图方法及结果预测。
下面依次介绍。
子图提取
K K K-hop子图提取,即对目标结点对 v i v_i vi 或 v j v_j vj 的距离不超过 K K K 的结点都计算进入到子图 G ( v i , v j ) K G_{\left(v_i, v_j\right)}^{K} G(vi,vj)K 中。
G ( v i , v j ) h = { v ∣ min ( d ( v , v i ) , d ( v , v j ) ≤ h ) } . (1) G_{\left(v_i, v_j\right)}^{h}=\left\{v \mid \min \left(d\left(v, v_i\right), d\left(v, v_j\right) \leq h\right)\right\}.\tag{1} G(vi,vj)h={
v∣min(d(v,vi),d(v,vj)≤h)}.(1)
然后进行线图转换,点变成边,边变成点。
那么线图中结点的大小就变成了原先边的数量,即 N N N,而边的数量变为 1 2 ∑ i = 1 M d i 2 − N \dfrac{1}{2}\sum_{i=1}^{M}d_{i}^{2}-N 21∑i=1Mdi2−N,即每个原节点作为共同节点两两连接再减去多算的一遍原边的次数。
Node Labeling
图有了,现在需要标注结点的重要性。
对于没有feature的结点:
l ( v 1 , v 2 ) = concate ( min ( f l ( v 1 ) , f l ( v 2 ) ) , max ( f l ( v 1 ) , f l ( v 2 ) ) ) ,