---
title: '[KGE] RotatE'
---
[TOC]
# RotatE

## Introduction
<br>
[RotatE](https://arxiv.org/abs/1902.10197) 是 [TransE](https://proceedings.neurips.cc/paper/2013/file/1cecc7a77928ca8133fa24680a88d2f9-Paper.pdf) 下一代的標誌性模型,就像許多 Trans 系列模型一樣,RotatE 旨在解決 TransE 只能應對「一對一」的問題。此模型引出了將Entity embedding 與 Relation Embedding 投射到[複數空間](https://zh.wikipedia.org/wiki/复平面),從[歐拉分解](https://zh.wikipedia.org/wiki/旋转)中得到得靈感,將 Entity 與 Relation 用實數(real number)與虛數(Image number)表達,並利用以下公式完成「複數空間中乘一長度為1的向量後,將可以表示為旋轉」。因此這裡將使 $|r_i| = 1$
<br>
$h$ : head entity embedding
$r$ : relation embedding
$t$ : tail entity embedding
<br>

<br>
<br>
## Complex relation can be solved by complex plane
### 知識圖譜中常存在複雜的關係( Complex Relation )
<br>
1. Symmetric/Anti-symmetric ( 是否對稱, ex. 「婚姻」即是對稱關係)
3. inversion ( 相反關係, ex. 「喜歡」與「被喜歡」即為相反 )
4. composition ( 有別的Entity參與建構, ex. 「我」的「爸爸」的「媽媽」是「我」的「祖母」)
<br>
TransE 等基於距離的模型,因為有方向性,所以可以很好的表達2.和3.的關係。 Dismult 等基於相似度的模型,缺少了方向性,但更能把1.的關係表達清楚。RotatE 這篇論文認為,使用複數空間( Complex Plane )來內嵌 Entity 和 Relation 可以將以上三種關係表達清楚。
<br>
## Why?
### Inverse & Composition ( 相反與建構關係 )

就像 TransE 一樣,可以讓 $h$ 使用旋轉來逼近 $t$ 點,不過仍然有小缺點,因為 $|r_i| = 1$. $h, t$ 的表達仍有限制。
### Symmetric ( 對稱關係 )

投射到 Complex Plane 成功讓距離模型也能漂亮的表達對稱和非對稱關係,只要選轉角度差不多,及為對稱關係。非對稱關係則是旋轉角度不一樣。
<br>
## Self-adversial Negative Sampling
<br>
$h, r, t$: positive sample
$h', r', t'$: negative sample
<br>
Normal nagative sampling loss -> 平均所有負樣本的loss

<br>
Self-adversial Negative Sampling loss -> 加權平均所有負樣本loss


## Result
### MRR, Hit@1, Hit@3 ,Hit@10

<br>
### 1-1, 1-N, N-1, N-N

<br>
<br>
###### tags: `Knowledge Graph Embedding`