1. Background & Motivation
早期链路预测任务关注节点相似性的度量,近年来往往通过图嵌入方法来实现链路预测。有些图嵌入方法只能捕获图结构信息,能捕获attributes信息的大多关注transductive范式(两个节点都在训练时就存在于图中)。
可以做inductive链路预测,但是需要边的模型:SDNE3(只能捕获图结构信息)和GraphSAGE4。
G2G5:可以对没有局部结构的新节点做inductive链路预测,但无法区分特征相似的节点,因为它无法很好地捕获节点表征中体现的结构信息。
2. DEAL模型
在视频中的画法,换了个方向:
2.1 Attribute-oriented Encoder
输入是节点attributes,输出节点嵌入:
可以选择各种神经网络,本文直接用了MLP(激活函数是ELU):
(这里论文对没用GCN的解释是:经实验观察,聚合太多邻居信息会影响attributes表征效果。我的迷惑点在于,这他妈的在inductive场景下不是不能用GCN吗!)
2.2 Structure-oriented Encoder
用节点独热编码作为输入,得到节点嵌入:
就是说这个本来也可以用GCN(以邻接矩阵为输入),但是实验证明效果不如本文提出的方法。
2.3 对齐机制和模型训练
模型训练时2个encoder一起更新参数,在向量空间对齐表征。
2.3.1 损失函数
ranking-motivated loss(证明其效果的参考文献:5和Content-based citation recommendation)
本文提出了一个新的mini-batch learning method with a personalized ranking-motivated loss
contrastive loss6:
(公式中p-q是成对样本,共有k对)
直接使用contrastive loss的问题是:1. 负样本对距离不同,因此用同一个margin(τ )不合适。2. 损失函数中没有考虑regularization。
2.3.2 对齐机制
最小化2个encoder的上述损失函数,然后加上对齐机制。
- Tight Alignment (T-align):最小化节点的2种表征(太严格了)
- Loose Alignment (L-align):最大化相连节点的不同表征(就是一个结构、一个attributes)的相似性(用和2.3.1部分介绍的一样的损失函数来做)
最后就是两个链路预测的损失,加对齐的损失:
2.3.3 训练算法和预测过程
测试时:
3. 实验
3.1 数据集
细节略
3.2 baseline
MLP
SEAL
G2G5
GAE
细节略
3.3 实验设置
略。
3.4 主实验结果
论文里也没说这个Cite.是啥模型。
3.5 模型分析
细节略,待补。
4. 代码复现
等我服务器好了再说。