图谱论文笔记3 - RotatE

Author: Steven Date: Jul 7, 2019 Updated On: May 5, 2022
Categories: KG
876 words in total, 3 minutes required.

图谱论文笔记:Zhiqing Sun, Zhi-Hong Deng, Jian-Yun Nie, Jian Tang. “RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space”. ICLR 2019.

RotatE模型将每个关系定义为从源实体到目标实体在复数向量空间的旋转。这篇文章也提出了一种自对抗的负采样技术。

对Relation的建模的挑战:

  • symmetry/antisymmetry (对称/非对称): 如marriage是对称的;filiation(父子关系)是非对称的;
  • inversion(倒置):hypernym(上义词) and hyponym(下义词);
  • composition(组合):母亲的丈夫是父亲;

KGE模型对比KGE模型对比

KGE模型属性对比KGE模型属性对比

由上图可以看到,RotatE和ComplEx同属于复数空间的表示模型,在对称/非对称建模上具有一定理论优势。

RotatE的理论基础是欧拉恒等式,即

一个酉复数可以看作是复平面上的一个旋转。也即,RotatE将entity和relation都映射到复数空间,relation看做是从source entity到target entity的一次旋转。

给定一个三元组$(h, r, t)$,期望embedding满足$\mathbf{t} = \mathbf{h} \circ \mathbf{r}$,其中$\mathbf{t}, \mathbf{h}, \mathbf{r} \in \mathbb{C}^k$,$\circ$为Hadamard (也即element-wise) product。具体而言,对于复数空间的每一个维度$i$,满足

上式中的显式约束为$r_i$的模(modulus)为1。

上述建模使得relation建模有了数学依据:

  • $r$为symmetric,iff. 每个维度$r_i$满足$r_i = e^{0/i\pi} = \pm 1$;
  • $r_1$和$r_2$互为inverse,iff. 二者的embedding互为共轭,$\mathbf{r}_2 = \bar{\mathbf{r}}_1$;
  • $r_3 = e^{i\theta_3}$是$r_1 = e^{i\theta_1}$和$r_1 = e^{i\theta_2}$的composition; iff. $r_3 = r_1 \circ r_2$ (i.e., $\theta_3 = \theta_1 + \theta_2$);

RotatE建模

RotatE: RELATIONAL ROTATION IN COMPLEX VECTOR SPACE

Relation PatternsRelation Patterns

上述三种pattern的建模,RotatE都可以完成。

正式地,给定三元组$(h, r, t)$,他们在RotatE模型中的关系可以定义为$\mathbf{t} = \mathbf{h} \circ \mathbf{r}$ where $|r_i| = 1$。

这样做,$r_i$的形式为$e^{i\theta_{r,i}}$,对应于逆时针旋转$\theta_{r,i}$绕复平面的原点旋转,只影响嵌入到复向量空间中的实体的相位。

最终,scroing function可以定义为

需要注意的是,TransE中对于对称性的model是强制将其令为$\mathbf{0}$,这样在训练是两个相关的实体在嵌入空间中就会被迫接近。这个问题在RotatE中得到解决。如下图示例:

RotatE对对称性关系的建模RotatE对对称性关系的建模

RotatE优化

RotatE的loss function定义如下:

其中,$\gamma$是margin value,$\sigma$是sigmoid函数,$(h’_i, r, t’_i)$是第$i$个negative sample。

RotatE介绍了一种新的负采样方法,称为self-adversarial负采样,根据当前的embedding model进行采样。具体而言,负样本是从下列分布中进行采样的(而非均匀采样):

其中,$\alpha$被称为当前采样的temperature。对此的理解是,一个样本在当前embedding模型下是错误的概率越大,则其更应该被当成负样本。

由于负样本采样本身是有代价的,上述分布可以用来计算一个样本的概率,而概率可以嵌入到代价函数中,如下: