TiRGN


TiRGN: Time-Guided Recurrent Graph Network with Local-Global Historical Patterns for Temporal Knowledge Graph Reasoning

[TOC]

TiRGN:具有局部全局历史模式的时间引导递归图网络,用于时间知识图推理

从历史发展规律的角度来看,综合考虑历史事实的顺序、重复和周期性模式有利于预测未来的事实。

TiRGN 使用局部循环图编码器网络对相邻时间戳事件的历史依赖性进行建模,并使用全局历史编码器网络收集重复的历史事实。

理由:

相邻时间戳的历史事实具有顺序模式,其中可以捕获相邻事件的演化规律来预测接下来会发生什么

RE-NET 不能对长时间的进行推测,因为是RNN

CyGNet 通过出现频率描述全局事实,这导致预测总是倾向于频率最高的事实的窄结果。

RE-GCN试图对局部历史依赖进行建模,但缺乏全局历史信息的捕获。

尽管这些方法提取历史信息,但它们都没有对历史事实的周期性进行建模。

TiRGN的主要思想是

(1)结合局部和全局历史信息来捕获历史事实的顺序、重复和周期性模式,

(2)将相邻时间戳的时间子图视为一个序列,并将全局时间戳的子图视为一个约束,

(3)通过使用与模型无关的时间向量来设计时间引导的周期解码器。

具体来说,为了捕捉历史事实的顺序模式,我们设计了一种具有双循环机制的图神经网络编码器,以同时演化相邻时间戳的实体和关系表示。此外,我们使用全局单跳或多跳重复历史信息来捕获历史事实的重复模式。此外,模型中涉及的时间向量可以捕获事实的周期性。最后,解码器计算的分数用于实现实体和关系预测。

Local recurrent encoder is used to explore structural features and historical dependency.

常识(如果相邻时间戳的子图中存在与查询具有相同语义信息的事实,则预测这些事实中的实体的概率将增加。根据常识,TiRGN 假设事实的时间越近,对最终结果的影响就越显着。)

Global history encoder takes the relevant facts at all previous timestamps into account to avoid missing entities or relations that have not appeared at the adjacent timestamps.

TiRGN 结合周期性局部和全局解码器来实现局部和全局历史事实重要性之间的权衡。

Local Recurrent Encoder

关注临近的时间,比如说 预测t时刻或者实体,那么我们考虑 [t-m,t-1]的时序图谱作为参考依据

我们分别从空间和时间视图中聚合和转移 KG 信息。具体来说,图卷积网络 (GCN) 用于在多个时间戳之间进行单步聚合,门控循环单元 (GRU) 用于执行多步演化。

Single-Step Aggregation

在每个时间戳,我们希望尽可能多地覆盖与查询中的实体相关的事实。

设计一个一维卷积的GCN,一个多关系聚合器,在单个时间戳合并多个关系和多跳邻居信息。

RGCN

这个式子其实见过很多次了,我真要理解好这块有什么作用

目的是聚合,覆盖与查询中的实体相关的事实。,上面说的就是合并多个关系和多跳邻居信息

W有关的含义就是 权重学习参数 然后里面的s,r, o 是从事实的集合里面。三元组

co也应该是一个参数 代表的是归一化因子

在t时刻第l层的 两个实体的嵌入

Multi-Step Evolution

对于每个query,为了包含先前时间戳的子图的顺序依赖关系,我们使用双循环机制逐步更新实体和关系的表示,即面向实体的 GRU 和面向关系的 GRU,以便它可以在更远的时间戳获取信息。

既然有了两个GRU,为什么不用更厉害的transformer呢

面向实体的 GRU 用于更新子图序列中实体的嵌入: H是关于 实体嵌入矩阵,下标表示时间,即分贝在t-1和t时刻,上标带GCN的就是 单步聚合之后的实体矩阵

对于关系,为了保持与子图序列中实体嵌入的更新的一致性,还使用了面向关系的 GRU 进行更新: 好像在RE-GCN中也见到过,感觉就是GRU的一个更新的步骤

GRU解释

我们里面的实体矩阵H的就是 所有的关于r和t的

我们通过一个聚合pooling操作 来把之前更新的实体嵌入 和所有的实体集合 目的是为了

而是计算每个区域中所有值的平均值,并将这个平均值作为新的特征图中的值。

Rt是t时刻 关系嵌入矩阵 ,t-1同理

Global History Encoder

全局历史编码器旨在获得重复的全局候选事实,从而为解码器中的评分提供全局约束。

对于每个查询 (s, r,., t) 或 (s,., o, t),我们使用这个编码器来获得候选单跳或多跳实体和关系。值得注意的是,与 CyGNet 不同,我们只考虑实体或关系是否出现在之前,而不考虑其出现频率。

局部循环编码器能够捕获最近事实频率的影响。

该模块缩小的预测范围并避免遗漏,而不是直接确定最终结果

global set

对于查询,我们获得 一个大的集合

因此,对于查询 (s, r,?, t),候选实体矩阵 将 Cs,rt 中存在的位置值分配给 1,不存在为 0。

关系矩阵是相同的,因此里面的值只有0或者1

Time Guided Decoder

获得局部实体和关系的嵌入以及全局实体和关系的候选集后,我们使用局部和全局解码器对事实进行评分。周期和非周期时间向量引导解码器在计算局部和全局分数时将事实的周期性纳入模型中。

周期性和非周期性时间向量

一些事实在整个时间线中周期性地发生,例如总统选举,而一些事实更有可能在某个时间段内发生,例如,选举后的总统将在某个时间段内参与更多的活动。因此,同时考虑历史事实的周期性和非周期性是有意义的。我们分别设计了周期和非周期时间向量 里面的几个w可学习参数,f是周期激活函数。我们选择正弦函数作为周期函数,因为在外推到未来和样本外数据时,正弦函数有望很好地工作。当f = sin时,ωp和φp为正弦函数的频率和相移。vp t 的周期为 2π/ωp,因此在 t 和 t + 2π/ωp 处具有相同的值。此外,参考 Time2Vec ,我们还可以证明这两个时间向量对时间间隔的缩放是不变的,并适应具有不同时间间隔的数据集。

学习Time2Vec

Time-ConvTransE/Time-ConvTransR

在获得时间向量后,为了同时执行实体预测和关系预测,我们分别针对这两个任务设计了受 ConvTransE 启发的 Time-ConvTransE 和 Time-ConvTransR。具体来说,解码器对四个嵌入(实体嵌入 hst 、真实嵌入 rt、两个时间嵌入 vpt 、vnpt )的串联执行一维卷积并对结果表示进行评分。形式上,卷积算子计算如下: 其中 c 是卷积核的数量,K 是核宽度,n ∈ [0, d] 表示输出向量中的条目,wc 是可学习的参数

卷积操作在保持嵌入的平移特性的同时集成了时间信息。

在非线性一维卷积之后,Time-ConvTransE的最终输出定义如下: 其中 vec 是特征图算子,W ∈ Rcd×d 是线性变换的矩阵。Time-ConvTransR 以相同的方式计算分数,仅将 rt 替换为 ho t。

Scoring Function and Training Objective

由于局部和全局历史事实的影响可能不同,我们通过可变因素对其重要性进行加权。

如果方程式中的 ht 和 rt (9) 是局部循环编码器获得的实体和关系嵌入,则我们得到局部时间引导解码器的输出。

全局解码器的输出需要屏蔽候选矩阵的值等于0的位置。

通过softmax激活函数计算局部概率解码得分和全局概率解码得分后,通过按比例求和得到最终分数: 其中变量因子 α ∈ [0, 1]。实体预测和关系预测以相同的方式计算分数,但可以采用不同的 α 值。我们将实体和关系预测视为多标签学习问题并将它们一起训练。因此,包含实体预测 Le 损失和关系预测 Lr 损失的总损失形式化为: 其中 p (o | s, r, t) 和 p (r | s, o, t) 是实体和关系预测的最终概率分数。yet ∈ R|E|和yr t ∈ R|R|是两个任务的标签向量,如果事实发生,则该元素为 1,否则为 0。


文章作者: 索冀峰
文章链接: http://suojifeng.xyz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 索冀峰 !
  目录