异质图和知识图谱
同质图与异质图
同质图指的是图中的节点类型和关系类型都仅有一种
异质图是指图中的节点类型或关系类型多于一种
知识图谱
知识图谱包含实体和实体之间的关系,并以三元组的形式存储(<头实体, 关系, 尾实体>,即异质图定义的边)
一般来说,知识图谱补全有两种任务:链路预测和实体分类
关系图卷积神经网络
如果我们可以将一个复杂的异质图解耦为多个单一关系下的同构图,那么会发现,其实只需要解决不同关系下的同构图之间的交互,就可以套用之前同构图的方法去解决异质图的问题
自环关系被认为是同一种关系类型,也共享一个权重。由此,我们可以得到R-GCN 的层间递推关系为
其中 Nir 表示关系 r 下节点 i 的邻居索引集,其中 ci,r 是针对不同问题下的一个归一化常量,可以通过学习得到或预先设定(如 ci,r=∣Nir∣ 表示边类型为 r 的邻居数量),后一项是自环
如果边是有向的,边的方向也可以作为一种关系类型;生成的(绿色)嵌入向量以归一化求和的形式累积
可学习参数正则化
基底分解
假设第 l 层关系 r 下的权重 Wr(l) 可以被分解为基底 {V1(l),V2(l),⋯,Vb(l),⋯,VB(l)} 的线性组合,即
可以将原本需要学习 R 个 Wr(l) 的任务简化为学习:
- 一组对于所有关系都通用的基底 Vb(l)
- R 组用于组合基底和对应关系的系数 crb(l)
因此,基底分解可以看作是不同关系类型之间的有效的参数共享形式,参数共享可以有效防止模型在罕见关系数据上过拟合现象的出现
块对角矩阵分解
通过学习多个块对角矩阵 Qb,r(l),让 Wr(l) 变得比较稀疏,从而减少需要学习的参数量