R-GCN-Modeling Relational Data with GraphConvolutional Networks(论文笔记)

发布于:2025-03-31 ⋅ 阅读:(20) ⋅ 点赞:(0)

CCF等级:B

发布时间:2018年6月

25年3月31日交

目录

一、简介

二、原理

1.整体

2.信息交换与更新

2.1基分解

2.2块对角矩阵

3.实体分类或链接预测

3.1实体分类

3.2链接预测

三、结论和未来工作


一、简介

RGCN通过允许不同关系类型之间的信息传播,能够更好地捕捉图中的复杂关系结构,从而提高了知识图谱补全的效果。


二、原理

1.整体

主要有三步。初始嵌入向量——信息交换与更新——链接预测或实体分类。

初始嵌入向量:利用已有的知识图谱嵌入方法,将实体转化为向量。(不重要)

R-GCN模型由多层神经网络组成,每一层都会更新每个节点的隐藏状态。对于每个节点,它的新隐藏状态依赖于它的邻居节点的信息以及与这些邻居之间的关系类型还有自己原本的信息。

例如:三元组( h1 , r1 , t1 )和( h1 , r2 , t2 )。

更新 h1 隐藏状态(信息)时,取决于邻居节点信息( t1 和 t2 ),邻居之间的关系类型( r1 和 r2 ),还有自己原本的信息 h1 。

经过多层的信息交换后,每个实体都会得到一个最终的嵌入向量,这个向量捕捉了该实体在其局部邻域中的上下文信息及与其他实体的关系。(太抽象了,目前看不懂)

最后使用解码器,对给定头实体和关系的三元组进行评分,选择得分最高的候选作为预测结果。(类似于嵌入模型的评分函数)

2.信息交换与更新

简单来说就是将这个节点与周围和它连接的实体、关系都进行计算,更新这个节点的信息。

h_{i}^{(l+1)} = \sigma (\sum_{r \in R} \sum_{j \in N_{i}^{r}}\frac{1}{c_{i,r}}W_{r}^{(l)}h_{j}^{(l)}+W_{0}^{(l)}h_{i}^{(l)})

其中,h_{i}^{(l)} 是第 l 层节点 i 的隐藏状态N_{i}^{r}表示通过关系 r 与节点 i 相连的所有邻居节点集合,W_{r}^{l}是关系 r 对应的权重矩阵,\sigma 是激活函数(如ReLU),c_{i,r} 是归一化常数,用于调整不同关系类型的贡献度。

文章中为了应对大规模多关系数据中的参数快速增长问题,提出了两种正则化技术。

2.1基分解

基分解的主要目的是通过共享权重来减少模型的参数数量,从而降低过拟合的风险,并提高模型处理稀疏关系类型的能力。在基分解中,每个关系特定的变换矩阵 W_{r}^{(l)}​ 被表示为一组基础变换矩阵的线性组合。

W_{r}^{(l)} =\sum_{b=1}^{B} a_{rb}^{(l)} V_{b}^{(l)}

其中:

  • W_{r}^{(l)}是第 l 层中关系 r 的变换矩阵。
  • V_{b}^{(l)}是第 l 层的基础变换矩阵,共有 B 个基础变换矩阵。
  • a_{rb}^{(l)}是系数,决定了如何将基础变换矩阵组合成关系特定的变换矩阵。

2.2块对角矩阵

块对角矩阵分解的目标是通过对权重矩阵施加结构约束来减少参数数量,同时保留模型的表达能力。在块对角矩阵分解中,每个关系特定的变换矩阵 W_{r}^{(l)} 被定义为多个低维块矩阵的直接和。

W_{r}^{(l)} = \bigoplus_{b=1}^{B}Q_{br}^{(l)}

其中:

  • Q_{br}^{(l)}是第 l 层中关系 r 的第 b 个块矩阵。
  • W_{r}^{(l)}是一个块对角矩阵,形式为diag(Q_{1r}^{(l)},Q_{2r}^{(l)},...,Q_{Br}^{(l)}),每个Q_{br}^{(l)}是一个较小的子矩阵。

这两种正则化技术共同作用,帮助R-GCN在处理大规模、多关系数据时更加高效和稳定,同时避免了过拟合的问题。在实际应用中,可以根据具体任务的需求选择合适的正则化方法。

3.实体分类或链接预测

3.1实体分类

使用交叉熵损失函数模型可以学习到更好的参数,从而提高分类的准确性。

\mathcal{L} = - \sum_{i \in \mathcal{Y}} \sum_{k=1}^{K} t_{ik} \ln h_{ik}^{(L)}

其中:

  • \mathcal{L}表示损失函数
  • i \in \mathcal{Y}表示对于所有标签已知的实体 i 进行求和
  • K表示类别总数
  • t_{ik}是一个二值变量,表示实体 i 是否属于类别 k。如果实体 i 属于类别 k,则 t_{ik}=1;否则 t_{ik}=0。
  • h_{ik}^{(L)}是模型预测实体 i 属于类别 k 的概率。

通过这种方式,模型能够逐步优化其参数,提高对实体分类的准确率。

3.2链接预测

  • 编码器-解码器框架:采用了图自动编码器模型,其中包含一个用于生成实体向量表示的编码器(R-GCN)和一个用于评分潜在三元组的解码器(如DistMult)。
  • 评分函数:使用了DistMult作为评分函数,这是一种简单而有效的因子分解方法,用于计算三元组的得分。
  • 训练策略:利用负采样技术,并优化交叉熵损失,以提高模型区分正样本和负样本的能力。

评分函数:

f(s,r,0) = e_s^TR_re_o

其中

  • f(s,r,o)给定主体 s ,关系 r,客体 o的三元组得分。
  • e_s,e_o分别是主题和客体的嵌入向量。
  • R_r与每种关系类型 r 相关的对角矩阵。

损失函数为:

\mathcal{L} = -\frac{1}{(1+\omega)|\hat{E}|} \sum_{(s,r,o,y) \in T} y \log l(f(s,r,o)) + (1-y) \log(1-l(f(s,r,o)))

  • \mathcal{L}:表示损失函数 LL,并添加描述。
  • \omega:表示负样本与正样本比例的符号,并添加描述。
  • |\hat{E}|:表示观察到的边集合的大小,使用绝对值符号 | | 表示集合大小。
  • T:表示所有三元组的集合。
  • l(x):定义逻辑斯谛sigmoid函数,使用分数形式 \frac{1}{1 + e^{-x}} 表达。
  • y:表示指示变量,并分别说明正样本 (y=1y=1) 和负样本 (y=0y=0) 的取值。

三、结论和未来工作

1.考虑未来引入注意力机制.

2.探索更适合特定任务的解码器,以进一步提高模型性能。