• TuckER 论文笔记


    Modeling Relation Paths for Representation Learning of Knowledge Bases

    Ivana Balazevic, Carl Allen, Timothy M.Hospedales


    - Introduction

    TuckERuckER是一个相对简单但功能强大的线性模型,它基于知识图三元组二元张量表示的TuckER分解,证明了TuckER是一个完全表达模型,推导了其嵌入维数的充分边界,并证明了前面介绍的几个线性模型可以被视为TuckER的特例。
    贡献如下:

    1. 提出了一种新的知识图链接预测线性模型TuckER,该模型简单,表达性强,在所有标准数据集上都能获得最先进的结果;
    2. 证明TuckER是充分表达的,并推导出充分表达的嵌入维度的界限;
    3. 展示了TuckER如何将几个先前提出的张量因子分解方法纳入链接预测。

    - Background

    尽管取得了非常好的性能,深层非线性模型的基本问题是,它们是不透明的,理解不足,与更有数学原则和被广泛研究的张量分解模型相反。
    它可以被认为是高阶奇异值分解的一种形式(SVD)。在TrukER例子中,矩阵的行包含实体和关系嵌入,而核心张量的条目决定了它们之间的相互作用级别。假设头尾实体嵌入矩阵是等价的,即我们不区分实体的嵌入,取决于它是作为一个特定的三元组中的头实体还是尾实体出现。


    - Algorithm

    Truker是将一个张量分解成一组矩阵和一个核心张量,以三维张量为例:
    在这里插入图片描述

    因子矩阵A、B和C,当正交时,可以认为是每种模态的主成分。核心张量Z的元素显示了不同分量之间的相互作用水平。通常情况下,P, Q, R分别小于I, J, K,所以Z可以被认为是X的压缩版本。Tucker分解不是唯一的,即如果我们对A、B和C应用逆变换,我们可以在不影响拟合的情况下变换Z .
    在这里插入图片描述
    在这里插入图片描述

    W的参数数量只取决于实体和关系嵌入维度,而不取决于实体或关系的数量。由于核心张量W,与DistMult、ComplEx和SimplE等更简单的模型不同,TuckER没有将所学的知识全部编码到嵌入中;一些存储在核心张量中,通过多任务学习在所有实体和关系之间共享。TuckER的核心张量不是学习不同的关系特定矩阵,而是可以被视为包含一个共享的“原型”关系矩阵池,这些矩阵根据每个关系嵌入中的参数进行线性组合。
    使用数据增强,将三元(h,r,t)处理为(t,r-1,h)后进行训练,对(h,r)与(t,r-1)进行计算损失函数:
    在这里插入图片描述
    同时证明了RESCAL、DistMult、ComplEx、SimplE都是TuckER的特例。
    目前对非对称关系的建模有两种:

    1. 将头实体与尾实体嵌入到不同的矩阵中
    2. 将头尾实体视为等价,嵌入到统一矩阵
      但TuckER通过关系矩阵向量解决了当前的问题,允许了非对称关系的属性,但有时在同一矩阵中。

    - Experiment

    训练集选择:
    在这里插入图片描述

    链接预测实验结果:
    在这里插入图片描述

    维度测试实验:
    在这里插入图片描述


    - Conclusion

    基于已知事实二元张量的TuckER分解,引入了一种相对直接的知识图链接预测线性模型TuckER。
    TuckER在标准链接预测数据集上取得了最先进的结果,部分原因在于它跨关系执行多任务学习的能力。在充分表达的同时,TuckER的参数数量与知识图中实体或关系的数量成线性增长。


    - Code

    https://github.com/ibalazevic/TuckER

  • 相关阅读:
    面试官:说说Vue 3.0中Treeshaking特性?
    shell编程扩展-----bash编程
    数据库的三范式
    2023秋招--游族--游戏客户端--HR面面经
    简洁好看的教学PPT
    期末论文LaTeX模板
    『现学现忘』Git基础 — 8、Git创建本地版本库
    网络安全(黑客)自学
    字典树——最大异或对(模板)
    候选键的确定方法-如何判断属性集U的子集K是否为候选键、如何找到关系模式的候选键
  • 原文地址:https://blog.csdn.net/Jay98/article/details/127998236