论文来源:ICLR 2020
论文链接:https://arxiv.org/abs/1911.03082
代码链接:https://github.com/malllabiisc/CompGCN
1、引言
图神经网络已经成为图数据分析领域的经典算法了,各大顶会上相关的论文也层出不穷.但是,这些工作主要关注点都在如何在简单无向图上设计一个更新颖更复杂的模型,而没有从图数据的复杂程度来考虑.实际生活中的图往往更加复杂.比如,知识图谱上的有向多关系图.下面是一个知识图谱的例子,这里有多种节点,如London和United Kingdom;也有多种有向关系,如Born-in和Citizen-of.注意,这里的关系是有方向的,Born-in和Bord-in_inv是同一关系的两个方向.
可以看出,多关系图的建模是更符合实际也具有更高的应用价值.本文作者从实际的图数据特点出发,设计了一种针对多关系有向图的图神经网络CompGCN来同时学习节点和关系的表示.同时,为了降低大量不同类型关系带来的参数,这里作者设计了一种分解操作composition operation,将所有关系都用一组基的加权组合来表示. 这样用于描述关系的参数只和基的个数有关.
下图对比了几种图神经网络的特点,可以看看出:学习关系的表示是CompGCN独有的特点.
总的来说,本文的贡献有3点:
- 设计了CompGCN模型,一种可以考虑多种关系信息的图神经网络框架,来同时学习节点和关系的表示.
- 证明了CompGCN与之前的多关系GNN之间的联系.
- 实验验证了CompGCN的有效性.
2、相关工作
首先,作者回顾了多关系图及多关系图神经网络的做法.
多关系图中的边可以表示为 ( u , v , r ) (u,v,r) (u,v,r),代表存在一条从节点 u u u指向节点 v v v的类型为 r r r的边,其中 r ∈ R r\in\mathcal{R} r∈R. 同时,也存在一个相应的反向边 ( u , v , r − 1 ) (u,v,r^{-1}) (u,v,r−1).
多关系图神经网络,也是分别聚合特定关系 r r r下的邻居,
H k + 1 = f ( A ^ H k W r k ) H^{k+1}=f(\hat{A}H^kW_r^k) Hk+1=f(A^HkWrk)其中, W r W_r Wr是针对关系 r r r的参数矩阵.而经典的单关系GCN聚合公式如下, H k + 1 = f ( A ^ H k W k ) H^{k+1}=f(\hat{A}H^kW^k) Hk+1=f(A^HkWk)可以看出,两者主要差异就在 W r W_r Wr和 W W W. 假设关系的种类非常多,那么参数矩阵 W r W_r Wr的个数也会非常多,引入了非常多的参数,不利于模型学习.
3、模型CompGCN
本文综合考虑多关系图上的3种边类型: 有向边 R \mathcal{R} R,如 ( u , v , r ) (u,v,r) (u,v