KDD 2022 | kgTransformer:基于知识图谱与Transformer的复杂逻辑查询
©PaperWeekly 原创 · 作者 | 张成蹊
单位 | Freewheel机器学习工程师
研究方向 | 自然语言处理
Preface
论文链接:
代码链接:
论文有几方面的亮点:
1. 把 KG 里面的节点关系(relation/edge)转换成了关系节点,从而把两个节点+两者的关系变成了一个三元组。文中称之为 Triple Transformation Method;
3. 在 Multi-Head Attention 上层训练多个 FFN,以模拟出多专家投票的效果,来增大模型参数量;使用 Gating 的方式控制每次只选择 2 个 FFN 产出结果,以节省计算时间。文中称之为 Mix-of-Experts(MoE)。
文中提出的这些方法使得 kgTransformer 具有以下优势:
1. 动态的 KG embedding(因为使用了 transformer,此处可以参照 GloVe embed 与 ELMo embed);
Introduction
2.1 Complex Logical Query
本文主要解决的问题是复杂逻辑查询,包括:补充边(imputed edges)、多源的实体、Existential Positive First-Order(EPFO)逻辑,以及未知的中间实体等。下面是 EPFO 的一个示例:
具体地,对于一句自然语言:
What musical instrucments did Minnesota-born Nobel Prize winners play?
1. 第一个约束是查询一个实体,出生在 Minnesota;
2. 第二个约束是查询一个实体,获得了诺贝尔奖,与上一个约束指向同一个实体;
3. 第二跳是查询上面得到的实体所 Play 的乐器。
可知,第二跳的查询结果才是问句所想要得到的答案。
此类 EPFO 查询的难点在于:
1. EPFO 查询的解析复杂度与 hop 之间的关系是指数级的;
2.2 Contributions
论文的贡献在于:
1. kgTransformer:提出了 kgTransformer,使用 Triple Transformation 策略来将知识图谱带有属性的边(relation)转换为不带属性的有向边;提出了 MoE 来顺应 GNN 稀疏激活的特性。
kgTransformer 主要思想是把图作为 sequence,放到 transformer 里面进行预训练与微调。为了实现这个目的,首先需要进行数据的准备。
怎么将图转换为序列呢?节点之间的邻接关系可以通过 random walk 的方式获得,但 relation edge 带有的属性不好嵌入到这样的结构中去。所以作者提出在做数据准备的时候,把所有的 relation edge 也转换成节点加入的图中,而由 relation node 所连接的两个 entity node,所使用的边都是有向边。
值得注意的是,在这样的图里,实体节点与这个关系节点是需要做类型区分的,作者在 transformer 的输入层加入一个特殊的 node type embedding 来实现了这个目的。
文中所使用的 transformer 大体结构及其内部公式与 Attention Is All You Need 是一致的,只是 sequence 中每个 token 从原来的文字变成了现在的节点。在 encoding 的时候,通过 Multi-Head Attention 来计算得到每个节点相邻节点与它的关系重要程度,并通过 FFN 来进行变换得到最终输出。
有一点与 transformer 不一样的是,对于 MHA 上面的 FFN,作者初始化了多达 32 个(实际实验中选择的数量)FFN 来进行学习,以模型专家投票的机制,称为 Mix-of-Expert(MoE)。
在训练时,门控机制只会选择权重最大的两个 FFN,将其输出进行求和作为最终输出,以保证训练过程中的时间不过长;
在预测时,不使用门控机制,将所有的 FFN 结果求和作为最终输出。
为什么加入这样的 MoE 会让效果变好呢?作者提出:在 transformer中,已经有研究发现 FFN 与 key-value network 效果是等同的,即 FFN 通过全连接的方式实现了与 attention 类似的效果,其全连接的权重可以从侧面被看做是输入间的重要性关系。因为这个原因,transformer 里 FFN 输出的元素里大部分都是 0,是很稀疏的。
在定义 kgTransformer 的结构与输入数据模式之后,开始进行模型的预训练与微调。作者又把预训练分为了两个阶段,在第一个阶段,使用随机游走采样出不同的子图,进行模型的初始化;在第二个阶段,使用预先定义好的一些 meta-graph 结构继续预训练。
3.2.1 2-stage pre-training
在预训练的第一个阶段:dense initialization,作者使用了两类随机游走的策略对原始图像进行采样,分别是 random walk with restart (RWR) 与 tree-based RWR。专门加入 tree-base 是因为 EPFO 的逻辑连接关系更像是树状的结构。
3.2.2 fine-tuning
作者发现,pre-training 与 fine-tuning 作为模型的训练过程都是十分重要的,不管缺少哪一个部分,都会带来非常大的效果下降。而对于 pre-training 过程中的两个阶段,其中第二个阶段对于 FB15k-237 几乎没有影响,而给 NELL995 带来了显著的提升。考虑到 sparse refinement 的提出动机,说明 NELL995 中的稀疏 pattern 更多。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者