• Dual Quaternion Knowledge Graph Embeddings——对偶四元数知识图谱嵌入


    论文概述

    这是一篇发表在2021年AAAI上的论文,可以看作是在QuatE模型上的改进,将知识图谱嵌入从四元数空间扩展到对偶四元数空间,提出了DualE模型,一个对偶四元数可以表示为\(Q = a + \epsilon b\),其中a和b都是四元数,\(a = a_0 + a_1 \textbf{i} + a_2 \textbf{j} + a_3 \textbf{k}\)\(b = b_0 + b_1 \textbf{i} + b_2 \textbf{j} + b_3 \textbf{k}\),该模型将关系建模为旋转和平移操作的组合,可以建模关系表示学习的三种基本关系(对称/反对称、反转和组合)和多重关系。

    对偶四元数性质

    1. 对偶数。对偶数可以被表示为\(z_d = a + \epsilon a_{\epsilon}\),其中\(\epsilon\)是对偶单元,满足\({\epsilon}^2 = 0\)
    2. 共轭。对偶四元组\(Q\)的共轭被定义为\(Q^* = (a_0,-a_1,-a_2,-a_3,b_0,-b_1,-b_2,-b_3)\)
    3. 范数。对偶四元组\(Q\)的范数\(\|Q\|\)是一个对偶标量,\(\|Q\| = \sqrt{(a_0 + \epsilon b_0)^2 + (a_1 + \epsilon b_1)^2 + (a_2 + \epsilon b_2)^2 + (a_3 + \epsilon b_3)^2}\)
    4. 内积。对偶四元数\(Q_1 = (a_0, a_1, a_2, a_3, b_0, b_1, b_2, b_3)\)\(Q_2 = (c_0, c_1, c_2, c_3, d_0, d_1, d_2, d_3)\)之间的内积为对应元素相乘再求和。

    \[Q_1 \cdot Q_2 = \left< a_0,c_0 \right> + \left< b_0,d_0 \right> + \left< a_1,c_1 \right> + \left< b_1,d_1 \right> + \left< a_2,c_2 \right> + \left< b_2,d_2 \right> + \left< a_3,c_3 \right> + \left< b_3,d_3 \right> \]

    1. 对偶四元数乘积。两个对偶四元数\(Q_1 = a_h + b_h \textbf{i} + c_h \textbf{j} + d_h \textbf{k}\)\(Q_2 = p + q \textbf{i} + u \textbf{j} + v \textbf{k}\)之间的乘积为

    \[Q_1 \underline{\otimes} Q_2 = (a_hp − b_hq − c_hu − d_hv) + (a_hq + b_hp + c_hv − d_hu) \textbf{i} + (a_hu − b_hv + c_hp + d_hq) \textbf{j} + (a_hv + b_hu − c_hq + d_hp) \textbf{k} \]

    \[a_h= a_0 + \epsilon b_0,b_h = a_1+ \epsilon b_1,c_h= a_2+ \epsilon b_2,dh= a_3+ \epsilon b_3,p = c_0+ \epsilon d_0,q = c_1+ \epsilon d_1,u = c_2 + \epsilon d_2,v = c_3 + \epsilon d_3 \]

    1. 单位对偶四元数。一个单位对偶四元数\(Q = a + \epsilon b\)需要同时满足\(\|Q\| = 1\)\(a \cdot b = 0\)

    模型框架

    模型分类

    按照操作关系的方式,可以将大多数知识图谱嵌入模型分为两大类:翻译系列和旋转系列。

    1. 翻译系列将关系建模为嵌入空间中头实体和尾实体之间的转换。最早提出的是TransE模型,将关系建模为头尾实体之间的平移,即head + realtion \(\approx\) tail,TransH、TransR、TransD和TransA用不同的投射策略改进了这个想法,但翻译系列的缺点是不能同时对KG中的三种基本关系模式进行建模,以TransE模型为例,该模型只能对反对称、反转和组合关系进行建模,不能建模对称关系。

    2. 旋转系列将嵌入引入到复数空间。最早提出的模型有DisMult和ComplEx,最为典型的是RotatE模型,该模型将关系视为在复数空间上从头实体到尾实体的旋转,可以对三种基本关系模式进行建模,但不能建模多重关系。这是因为RotatE模型对应的是二维空间,只有一个旋转面,一个关系只能对应于固定的旋转角度,不能对头尾实体之间的多重关系同时进行建模。

    除此之外,最近还有一些模型使用神经网络来产生具有显著效果的KG嵌入,如R-GCN、ConvE、ConvKB、KBGAT和A2N,这类模型的缺点是几何意义不明确。

    本文模型的出发点就是将三维空间中的旋转和平移整合到一个统一的框架中,对关系表示学习的关键模式和多重关系模式同时进行建模。

    几何意义

    1. 如果三元组在KG中真实存在,先将三维空间中的头实体\(h\)旋转到\(h'\)的位置(\(r_+\)),然后将\(h'\)平移到\(h_+\)的位置,使得\(h_+\)和尾实体\(t\)之间的角度为零,目的是为了后续内积结果的最大化;
    2. 否则,将头实体\(h\)旋转到\(h_-\)的位置(\(r_-\)),使得头部和尾部实体正交,乘积为零。

    步骤

    DualE模型可大致分为三个步骤,(1) 将关系对偶四元数\(W_r\)归一化为单位对偶四元数\(W_{r}^{\lozenge}\);(2) 在头实体\(Q_h\)和归一化后的关系对偶四元数\(W_{r}^{\lozenge}\)之间做乘积,得到\(Q_{h}^{\prime}\),对应三维空间中的旋转和平移操作;(3)在\(Q_{h}^{\prime}\)和尾部对偶四元数\(Q_t\)之间取四元数内积,对每个三元组进行评分。

    关系对偶四元数单位化

    第一步,为了避免尺度的影响,我们需要将关系对偶四元数\(W_r\)归一化为单位关系对偶四元数\(W_{r}^{\lozenge}\)。定义\(W_r = (c,d)\),其中\(c = (c_0, c_1, c_2, c_3)\)\(d = (d_0, d_1, d_2, d_3)\)

    \(W_{r}^{\lozenge}\)的对偶部分为

    \[\bar{d} = d - \frac{(d, c)}{(c,c)} c = (\bar{d}_0, \bar{d}_1, \bar{d}_2, \bar{d}_3) \]

    \(W_{r}^{\lozenge}\)的实数部分为

    \[c' = \frac{c}{\|c\|} = \frac{c_0 + c_1i + c_2j + c_3k}{\sqrt{c_{0}^{2} + c_{1}^{2} + c_{2}^{2} + c_{3}^{2}}} \]

    此时,\(W_{r}^{\lozenge} = (c', \bar{d}) = (c, d) = (c_0, c_1, c_2, c_3, d_0, d_1, d_2, d_3)\),满足\(c_{0}^{2} + c_{1}^{2} + c_{2}^{2} + c_{3}^{2} = 1\)\(c_0d_0 + c_1d_1 + c_2d_2 + c_3d_3 = 0\)

    旋转和平移头部实体

    第二步,将头实体\(Q_h\)和单位关系对偶四元数\(W_{r}^{\lozenge}\)做乘积。

    \[Q_h \underline{\otimes} W_{r}^{\lozenge} = (a_h \odot p − b_h \odot q − c_h \odot u − d_h \odot v) + (a_h \odot q + b_h \odot p + c_h \odot v − d_h \odot u) \textbf{i} + (a_h \odot u − b_h \odot v + c_h \odot p + d_h \odot q) \textbf{j} + (a_h \odot v + b_h \odot u − c_h \odot q + d_h \odot p) \textbf{k} \]

    其中,\(\odot\)指的是对应元素之间的乘积。

    由上文中对偶四元数性质的第五条,可以知道\(\odot\)两边均是对偶数,将其展开,得到最终的\(Q_{h}^{\prime}\)

    \[Q_{h}^{\prime} = (h_0 + \epsilon h_{0}^{\prime}) + (h_1 + \epsilon h_{1}^{\prime})i + (h_2 + \epsilon h_{2}^{\prime})j + (h_3 + \epsilon h_{3}^{\prime})k = a_{h}^{\prime} + b_{h}^{\prime} + c_{h}^{\prime} + d_{h}^{\prime} \]

    与尾实体做内积

    第三步,将\(Q_{h}^{\prime}\)与尾实体\(Q_t\)做内积,作为得分函数。

    \[\phi (h, r, t) = \left< Q_{h}^{\prime},Q_t \right> = \left< a_{h}^{\prime},a_t \right> + \left< b_{h}^{\prime},b_t \right> + \left< c_{h}^{\prime},c_t \right> + \left< d_{h}^{\prime},d_t \right> \]

    损失函数

    将链接预测任务当作是分类任务,即分辨三元组的真假,因此损失函数为正则化后的logistic损失,这里的正则化使用的\({\ell}_2\)范数。

    \[L(Q,W) = \sum_{r(h, t) \in \Omega \cup {\Omega}^-}{log(1 + exp(-Y_{hrt}\phi (h, r, t))) + {\lambda}_1 {\|Q\|}_{2}^{2} + {\lambda}_2 {\|W\|}_{2}^{2}} \]

    建模不同类型的关系

    建模对称关系

    对称关系,即\(r(x,y)⇒r(y,x)\)

    如果\(r(x,y)\)\(r(y,x)\)同时成立,我们有

    \[y = r ◦ x ∧ x = r ◦ y ⇒ r ◦ r = 1 \]

    要满足\(r ◦ r = 1\),只需要将\(W_r\)的实数部分和对偶部分的虚数部分设置为0。此时,设单位化后的对偶关系四元数为\(W_{r}^{\lozenge} = a + \epsilon b\),其中a和b都是实数。

    \[W_{r}^{\lozenge} ◦ W_{r}^{\lozenge} = (a + \epsilon b)(a + \epsilon b) = a \cdot a + 2 a \cdot b \epsilon + b \cdot b {\epsilon}^2 = 1 \]

    建模反对称关系

    非对称关系,即\(r(x,y)⇒ \urcorner r(y,x)\)

    如果\(r(x,y)\)\(r(y,x)\)同时成立,我们有

    \[y = r ◦ x ∧ x \neq r ◦ y ⇒ r ◦ r \neq 1 \]

    要满足\(r ◦ r \neq 1\),只需要将\(W_r\)的实数部分和对偶部分的虚数部分不全为0即可,具体证明可以参照论文的附录。

    建模反转关系

    反转关系,即\(r_1(x, y) \Rightarrow \urcorner r_2(y, x)\)

    如果\(r_1(x,y)\)\(\urcorner r_2(y,x)\)同时成立,我们有

    \[y = r_1◦ x ∧ x = r_2◦ y ⇒ r_1= {r_2}^{−1} \]

    使用关系的共轭来建模反转,只需要证明\(Q_h \underline{\otimes} W_{r}^{\lozenge} \bullet Q_h = Q_t \underline{\otimes} \bar{W}_{r}^{\lozenge} Q_h\),具体证明可以参照论文的附录。

    组合

    组合关系,即\(r_2(x, y) ∧ r_3(y, z) \Rightarrow r_1(x, z)\)

    如果\(r_1(x,z)\)\(r_2(x,y)\)\(r_3(y,z)\)同时成立,我们有

    \[z = r_1 ◦ x ∧ y = r_2 ◦ x ∧ z = r_3 ◦ y ⇒ r_1 = r_2 ◦ r_3 \]

    由于对偶四元数乘积满足结合率,因此我们有

    \[(Q_h \underline{\otimes} W_{r_2}^{\lozenge}) \underline{\otimes} W_{r_3}^{\lozenge} \bullet Q_t = Q_h \underline{\otimes} W_{r_2}^{\lozenge} \underline{\otimes} W_{r_3}^{\lozenge} \bullet Q_t = Q_h \underline{\otimes} (W_{r_2}^{\lozenge} \underline{\otimes} W_{r_3}^{\lozenge}) \bullet Q_t = Q_h \underline{\otimes} W_{r_1}^{\lozenge} \bullet Q_t \]

    多重关系

    多重关系是指对于\(\forall i \in \left\{0, \cdots, m \right\}\)\((h, r_i, t)\)在KG中同时成立。

    论文中,给出的解释是,对于嵌入空间中的一对头部实体和尾部实体,首先给出任意\(r\),这意味着头部节点首先在球面上旋转一个角度,然后将旋转后的头部节点平移\(t\)以到达尾部实体。在这种变换中,对于任何给定的\(r\),总是有一个\(t\)与之对应。因此,DualE可以建模多重关系模式。

    抽象化理解,对于复数空间,是在二维平面上旋转,头实体和尾实体之间的旋转角度是固定的,因此不能建模多重关系;对于对偶四元数空间,是在三维空间上做旋转和平移,头实体可以由旋转和平移的多种组合到达尾实体位置,因此可以建模多重关系。

    实验

    数据集

    WN18, FB15K, WN18RR和FB15K-237

    评价指标

    MR,MRR和Hits@n(n=1,3,10)

    基线

    基于翻译的模型,选择的是TransE和TorusE;基于旋转的模型,选择的是DisMult、ComplEx、ComplEx-N3、RotatE和QuatE;基于神经网络的模型,选择的是ConvE和R-GCN+。

    性能比较

    在WN18和FB15K数据集上链接预测的结果:

    在WN18和FB15K上DualE模型的提升效果并不大,原因大概是WN18和FB15K上主要存在的是反转关系,很多先进模型已经取得了不错的效果,提升空间不大。

    在WN18RR和FB15K-237数据集上链接预测的结果:

    相比于WN18RR数据集,DualE模型在FB-237数据集上提升效果更明显,论文给出的解释是DualE模型可以更好地学习组合关系模式。

    对照实验

    共设计了以下两组对照实验:

    1. 使用未归一化的关系投影头实体,模型的效果变得更差;
    2. 在头尾实体的对偶四元数之间做乘积,将关系四元数作为权重,模型的效果变得更差。

    嵌入维数的影响

    从图上可以看出,刚开始模型的效果随着嵌入维数的增加显著改善,到后面逐渐趋于平缓,估计继续增加嵌入维数,模型的效果也不会有显著的改进。

    参数效率的比较

    DualE模型可以使用更少的参数实现更好的效果。

    总结

    本文引入了对偶四元数去建模实体和关系;将关系建模为三维空间中的旋转和平移;对三种基本关系模型(对称/反对称、反转和组合)和多重关系模式进行了建模。

  • 相关阅读:
    Java基础--线程创建方式
    Java基础--static关键字
    Java基础--异常处理
    mybatis的#{}和${}的区别以及order by注入问题
    前后端分离结构中使用shiro进行权限控制
    Java FTP下载文件
    10个经典智力推理题!据说答对7道,智力在140!
    Java面试题总结之数据结构、算法和计算机基础(刘小牛和丝音的爱情故事1)
    Java面试题总结之JDBC 和Hibernate
    Java面试题总结之数据库与SQL语句
  • 原文地址:https://www.cnblogs.com/yanchaoyi/p/15764083.html
Copyright © 2020-2023  润新知