Neural Bellman-Ford Networks A General Graph Neural Network Framework for Link Prediction

Zhu Z., Zhang Z., Xhonneux L. and Tang J. Neural Bellman-Ford networks: A general graph neural network framework for link prediction. NIPS, 2021.

一种通用的 inductive 的图推理方式, 可用于 homogeneous graph 或 multi-relational graphs (如 knowledge graph).

符号说明

  • G=(V,E,R), multi-relational graph;
  • V, node (entity) set;
  • R, edge (relation) type set;
  • E, edge (relation) set, 其中的元素表示为 eE=(u,r,v), u,vV,rR;
  • N(u) 表示结点 (实体) u 的一阶邻居
  • A, 邻接矩阵

Motivation

  • 本文讨论的主要任务是, 判断两个实体 (u,v) 是否存在某个关系 (query relation) qR, 通俗地将就是 link prediction 任务, 在知识图谱中便是常闻的知识图谱补全任务.

  • 以往的方法主要涉及三种主要的技术路线: Path-based methods, Embedding methods, GNNs.

    1. 其中 Embedding 的方法如 DeepWalk, TransE, RotatE 等, 往往局限在 transductive 的常见下, 对于未知的结点就难以做出判断了.
    2. Path-based 的方法由于往往是基于图的拓扑结构信息的, 所以 inductive setting 下发挥的比较好. 不过有一个问题是, 显式地计算这些图的性质是非常耗时的.
    3. GNN 的方法, 对于不使用 node features (如 SEAL, GraIL) 的情况下, 就是 inductive 的, 虽然之前的方法的效率也并不太高.
  • Path Formulation: 之前的基于 Path 的方法, 往往是通过编码头实体 u 和尾实体 v 见的不同的 walks 的数量来得到最后的 pair representation hq(u,v), 本文将这些方法统一为如下的形式:

    (1)hq(u,v)=hq(P1)hq(P2)hq(P|Puv|)PPuvhq(P)hq(P=(e1,e2,,e|P|))=wq(e1)wq(e2)wq(e|P|)i=1|P|wq(ei).

    其中 Puv 表示 uv 的 paths 的集合, wq(e) 表示 edge e 的向量表示. 是可交换的 summation operator, 表示 muliplication operator (但是并不一定满足交换律), 不同的指标这两个符号会有具体的形式.

  • (1) 可以简写为:

    hq(u,v)=PPuvi=1|P|wq(ei).


  • Katz index: =+,=×, 且 wq(e)=βwe.

proof:

Katz index 的定义为:

Katz(u,v)=t=1βteuTAtev,

其中 β(0,1) 是一个 attenuation factor, eu 为 one-hot 向量, 仅在 u 处为 1. 因为 euTAtev 表示 (u,v) 间长度为 t 的 path 的数目, 所以 Katz index 整体是统计 (u,v) 间所有 path 的数目的指标.

根据条件我们有:

hq(u,v)=PPuvePβwe=t=1PPuv,|P|=tePβwe=t=1βtPPuv,|P|=tePwe,

we1 的时候就完全退化为了 Katz.


  • Personalized PageRank: =+,=×, 且 wq(e)=αwuv/vN(u)wuv.

proof:

PPR 的定义为:

PPR(u,v)=(1α)t=1αteuT(D1A)tev,

其中 D 表示 degree matrix.

根据条件我们有

hq(u,v)=PPuv(a,b)PαwabbN(a)wab=t=1PPuv,|P|=t(a,b)PαwabbN(a)wab=t=1αtPPuv,|P|=t(a,b)PwabbN(a)wabPPR(u,v).


  • Graph distance: =min,=+, 且 wq(e)=we.

proof:

Graph distance 定义为 (u,v) 间的最短路径长度.

根据条件, 我们有

hq(u,v)=minPPuvePwe=GD(u,v).


  • Widest path: =max,=min, 且 wq(e)=we.

proof:

Widest path 定义为

WP(u,v)=maxPPuvminePwe,

即找到 (u,v) 间最大化 minimum edge weight 的 path.

根据上面的条件, 我们有

hq(u,v)=maxPPuvminePwe=WP(u,v).


  • Most reliable path: =max,=×, 且 wq(e)=we.

Most reliable path 指的是 (u,v) 间概率最大的 path:

MRP(u,v)=maxPPuvePwe.

根据上面的条件, 我们有

hq(u,v)=maxPPuvePwe=MRP(u,v).


NBFNet

  • 尽管公式 (1) 能够统一多种 path 的指标, 但是这些指标的计算复杂度都是很高的 (path 的数量随着长度增加而指数级地膨胀). 故而作者建议采取一种更加一般化的 Bellman-Ford algorithm:

    (2)hq(0)(u,v)Iq(u=v),hq(t)(u,v)((u,r,v)E(v)hqt1(u,u)wq(u,r,v))hq(0)(u,v).

    wq(u,r,v) 为 edge e=(u,r,v) 的表示,
    此外 Iq(u=v) 为一 indicator function:

    Iq(u=v)={\textcircled1qu=v,\textcircled0quv.,

    注意到 \textcircled1q,\textcircled0q 分别是 summation identitymultiplication identity. 如果整个系统满足半环的性质, 则上述的一些 path 的指标都可以通过 (2) 来解决 (证明请回看原文).

  • 如果我们放松半环的要求, 我们可以得到一个一般信息传播形式:

    (3)hq(0)(u,v)INDICATOR(u,v,q),hq(t)(u,v)AGGREGATE({MESSAGE(hx(t1),wq(u,r,v))|(u,r,v)E(v)}{hv(0)}).

    对比 (2) 和 (3) 可以发现:

    IINDICATOR,AGGREGATE,MESSAGE.

    其实总体来说, 和一般的 MPNN 的结构还是很像的, 只是:
    1. 特殊的 Indicator function, 而不是结点的特征;
    2. 最后得到的是 (u,v) 在 query relation q 下的 pair representation, 而不是某个结点的表示.
    其实 (3) 可以这样理解, h(0) 给了一个起始的条件 (通常是只有结点 u 处有非零的向量表示), 然后这些信息在传播过程中确定 query q 下的合适的 target v.

  • 一些建议的设计方案:

    1. Message function: 可以设计成知识图谱中的 relational operators (比如 scaling, translation 等);
    2. Aggregatie function: 可以是普通的 summation, max, min, 作者建议在其后跟随 'a linear transformation' + 'a non-linear activation';
    3. Indicator function: 用 Iq(u=v), 且令

      \textcircled1q:=qfor each qR,

      为可训练的向量, 而 \textcircled0q0 (作者发现这样的效果比较好).
    4. 关于 edge 的建模方式, 作者建议如果关系数目 |R| 比较多, 可以设定为

      wq(u,r,v)=Wrq+br,

      如果很少, 为了避免过拟合, 可以

      wq(u,r,v)=br.

  • 最后的 link prediction, 作者通过如下方式计算概率

    p(v|u,q)=Sigmoid(f(hq(u,v))).

    如果是 undirected graph (对于 homogeneous graph) 可以

    p(v|u,q)=Sigmoid(f(hq(u,v)+hq(v,u))).

  • 最后通过 BCE 进行训练.

代码

[official]

[official-PyG]

posted @   馒头and花卷  阅读(128)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-03-02 Diffusion-LM Improves Controllable Text Generation
2021-03-02 Chapter 7 Confounding
点击右上角即可分享
微信分享提示