论文阅读笔记:DEAL_inductive链路预测_分别表征节点特征和拓扑结构+对比学习对齐

3 阅读7分钟

诸神缄默不语-个人技术博文与视频目录
诸神缄默不语的论文阅读笔记和分类

(本文首次撰写于2022年7月)

论文名称:Inductive Link Prediction for Nodes Having Only Attribute Information
论文ArXiv下载地址:arxiv.org/abs/2007.08…
论文IJCAI官方下载地址:www.ijcai.org/proceedings…(在该网站中有给出讲解视频链接,这TMD是我这么多天以来听到的第一个中国人讲的英文论文视频了!感动中国,终于有一个我听得懂的英语口音了!毛子口音和三哥口音我是真的受够了!)(本文中非论文配图的插图都截自该视频)
官方GitHub项目:working-yuhao/DEAL: IJCAI2020

本文是2020年IJCAI论文,主要专注于inductive link prediction场景(但是模型也可以应用于transductive场景)。
inductive场景中新节点仅有attribute,没有结构信息。

本文提出的模型DEAL (Dual-Encoder graph embedding with ALignment) 可以对新query node仅基于其attributes做表征,与其他节点嵌入做链路预测。

DEAL模型分别对attribute和图结构进行嵌入(2个encoder,一个是纯MLP,一个是直接以独热编码为初始化矩阵+MLP+weight normalization1做节点表征(效果甚至比GCN好,简单方法大力出奇迹)),然后使用一个对齐机制将两个encoder关联起来(在训练过程中一起更新,使表征在向量空间中对齐),具体实现方式是做两个对比学习:是否连边(相连的节点,encoder得到的表征相似度应该高),以及2个encoder得到的表征。
用余弦相似度来衡量距离。
这个损失函数是可以用超参数调整的ranking-motivated loss。

在测试时用两个节点的两种表征两两交叉计算相似度线性求和来计算连边概率: p1.png
如果是inductive范式,就不计算第一项。

可以跟引用了DEAL模型的LeSICiN2做对比。
LeSICiN可以说是将DEAL模型extend到了有监督异质图场景,对齐机制是两种节点的不同表征做交叉对齐(为什么不是每种节点自己对齐自己的,我也不知道),打分则和DEAL使用的表征对相同(只做了inductive场景),但不用相似度而用MLP解码。损失函数则直接将3种打分得到的分数视作概率,用多任务分类任务范式将3个交叉熵损失函数加权求和。

1. Background & Motivation

链路预测

早期链路预测任务关注节点相似性的度量,近年来往往通过图嵌入方法来实现链路预测。有些图嵌入方法只能捕获图结构信息,能捕获attributes信息的大多关注transductive范式(两个节点都在训练时就存在于图中)。
可以做inductive链路预测,但是需要边的模型:SDNE3(只能捕获图结构信息)和GraphSAGE4
G2G5:可以对没有局部结构的新节点做inductive链路预测,但无法区分特征相似的节点,因为它无法很好地捕获节点表征中体现的结构信息。

2. DEAL模型

DEAL模型-论文

在视频中的画法,换了个方向: DEAL模型-视频

2.1 Attribute-oriented Encoder

输入是节点attributes,输出节点嵌入:

p5.png

可以选择各种神经网络,本文直接用了MLP(激活函数是ELU):

p6.png

(这里论文对没用GCN的解释是:经实验观察,聚合太多邻居信息会影响attributes表征效果。我的迷惑点在于,在inductive场景下不是本来就不能用GCN吗!)

2.2 Structure-oriented Encoder

用节点独热编码作为输入,得到节点嵌入:

p7.png

p8.png

就是说这个本来也可以用GCN(以邻接矩阵为输入),但是实验证明效果不如本文提出的方法。

2.3 对齐机制和模型训练

学习特征和结构之间的关联。
模型训练时2个encoder一起更新参数,在向量空间对齐表征。

2.3.1 encoder本身基于链路预测的对比学习损失函数

ranking-motivated loss(证明其效果的参考文献:G2G5Content-based citation recommendation
本文提出了一个新的mini-batch learning method with a personalized ranking-motivated loss

原版contrastive loss6
对比学习损失函数
(公式中p-q是成对样本,共有k对)

直接使用contrastive loss的问题是:1. 负样本对距离不同,因此用同一个margin(τ\tau)不合适。2. 损失函数中没有考虑regularization。
损失函数
yy是节点是否连边,α\alpha是weight function,ϕ\phi通过不同的超参形成ϕ1\phi_1ϕ2\phi_2ss在本文中用的是余弦相似度。

由于logistic loss可看作margin无限的软版hinge loss(参考文献:A tutorial on energy-based learning)(没看懂这个啥意思),因此本文使用了the generalized logisitic loss function:\

p11.png

(参考文献:A view of margin losses as regularizers of probability estimates

p12.png

(衡量不同距离样本的重要性。dspd_{sp}是shortest path distance)

2.3.2 两个encoder之间的对齐机制

最小化2个encoder的上述损失函数,然后加上对齐机制。

  1. Tight Alignment (T-align):最小化节点的2种表征(如果光用这个的问题是太严格了) p13.png
  2. Loose Alignment (L-align):最大化相连节点的不同表征(就是一个结构、一个attributes)的相似性(用和2.3.1部分介绍的一样的损失函数来做,大概是因为作者相信这个损失函数设计得很曼妙)(是的这个梗是更新的时候加上的) L-align

最后就是两个链路预测的损失,加对齐的损失:

p15.png

2.3.3 训练算法和预测过程

训练算法伪代码

测试时:

p17.png
(在inductive场景下,λ1\lambda_1为0)

3. 实验

3.1 数据集

数据集 细节略

3.2 baseline

MLP
SEAL
G2G5
GAE
细节略

3.3 实验设置

略。

3.4 主实验结果

inductive链路预测实验结果

论文里也没说这个Cite.是啥模型。

transductive链路预测实验结果

3.5 模型分析

encoder对齐机制

超参数对链路预测实验指标的影响

超参数对链路预测分数的影响 细节略。

image.png

Footnotes

  1. Weight normalization: A simple reparameterization to accelerate training of deep neural networks
    我直接百度了相关的一些资料:
    【深度学习】Weight Normalization: 一种简单的加速深度网络训练的重参数方法_Shwan_Ma的博客-CSDN博客:这篇开头就满篇错别字
    Generative Modeling with Variational Auto Encoder (VAE) | by Fathy Rashad | ViTrox-Publication | Medium:重要内容:AE (Auto Encoder) 和VAE (Variational Autoencoder),VAE是用来规范化AE的(强迫隐向量空间连续、有意义,把每个特征值学成一个高斯分布)。后面数学部分简单带过了,没仔细看,总之大约来说就是这个分布需要通过差分推断来学习,也就是需要学习另一个tractable相似分布,通过KL散度来学习两个分布的相似程度。
    对应的中文翻译(我是直接看的英文版):使用(VAE)生成建模,理解可变自动编码器背后的数学原理 - 知乎
    inference - What does a 'tractable' distribution mean? - Cross Validated:不能用闭包表现形式解决的问题
    GAN — Why it is so hard to train Generative Adversarial Networks! | by Jonathan Hui | Medium
    重参数 (Reparameterization)_连理o的博客-CSDN博客_重参数
    模型优化之Weight Normalization - 知乎:怎么说呢,看起来好像就是对参数的一种归一化方法(将其拆成两部分,然后直接优化这两部分)

  2. 论文阅读笔记:LeSICiN_以inductive链路预测范式解决多标签文本分类任务(法条预测)_relational rotation encoder-CSDN博客

  3. Structural deep network embedding

  4. Inductive representation learning on large graphs

  5. Deep gaussian embedding of graphs: Unsupervised inductive learning via ranking 2 3

  6. Dimensionality reduction by learning an invariant mapping