Multi-relational Data and Knowledge Graphs
文章目录
Knowledge graph completion:给出一个多关系图 G = ( V , E ) G=(V,E) G=(V,E),其中边被定义为 e = ( u , τ , v ) e = (u,\tau,v) e=(u,τ,v),表示两个节点间存在特定关系 τ ∈ T \tau \in \Tau τ∈T,这种多关系图通常被称为知识图谱。一般来说,知识图谱补全的目标是预测图,即关系预测,本章大多数方法最初都是为知识图谱补全设计的。
Reconstructing multi-relational data
与前一章相同,多关系图嵌入也可以看作重建任务。给定节点嵌入 z u \mathbf{z}_u zu 和 z v \mathbf{z}_v zv,任务目标就是重建这两个节点间的关系,其难点在于如何处理不同类型的边。
为解决此问题,将解码器定义为接受一对节点嵌入及其关系类型,即 R d × R × R d → R + \R^d\times \mathcal{R} \times\R^d \rightarrow \R^+ Rd×R×Rd→R+,可以将该解码器(即 D E C ( z u , τ , z v ) DEC(\mathbf{z}_u,\tau,\mathbf{z}_v) DEC(zu,τ,zv))的输出定义为图中存在边 ( u , τ , v ) (u,\tau,v) (u,τ,v) 的可能性。
RESCAL 是解决此问题的一个著名模型,它将解码器定义为:
D
E
C
(
u
,
τ
,
v
)
=
z
u
T
R
τ
z
v
DEC(u,\tau,v)=\mathbf{z}_u^T\mathcal{R}_{\tau}\mathbf{z}_v
DEC(u,τ,v)=zuTRτzv,其中
R
τ
∈
R
d
×
d
\mathcal{R}_{\tau} \in \R^{d\times d}
Rτ∈Rd×d 是特定于关系
τ
∈
R
\tau \in R
τ∈R 的可学习矩阵。然后使用如下损失函数进行训练,这里称之为简单重建损失(多关系图邻接张量
A
∈
R
∣
V
∣
×
∣
R
∣
×
∣
V
∣
A\in \R^{|V|\times|R|\times|V|}
A∈R∣V∣×∣R∣×∣V∣):
L
=
∑
u
∈
V
∑
v
∈
V
∑
τ
∈
R
∣
∣
D
E
C
(
u
,
τ
,
v
)
−
A
[
u
,
τ
,
v
]
∣
∣
2
=
∑
u
∈
V
∑
v
∈
V
∑
τ
∈
R
∣
∣
z
u
T
R
τ
z
v
−
A
[
u
,
τ
,
v
]
∣
∣
2
\mathcal{L} = \sum_{u\in V} \sum_{v\in V} \sum_{\tau\in R}||DEC(u,\tau,v)-A[u,\tau,v]||^2\\ =\sum_{u\in V} \sum_{v\in V} \sum_{\tau\in R}||\mathbf{z}_u^T\mathcal{R}_{\tau}\mathbf{z}_v-A[u,\tau,v]||^2
L=u∈V∑v∈V∑τ∈R∑∣∣DEC(u,τ,v)−A[u,τ,v]∣∣2=u∈V∑v∈V∑τ∈R∑∣∣zuTRτzv−A[u,τ,v]∣∣2
Loss functions, decoders, and similarity functions
解码器在一对节点嵌入之间给出一个分数;
相似性函数定义了我们试图解码的节点之间相似性的类型(几乎所有多关系嵌入方法都简单地直接基于邻接张量定义相似性度量);
损失函数告诉我们如何评估解码器输出与地面真实相似性度量之间的差异。
Loss functions
上面提到的简单重建损失有两个缺点:
- 计算成本昂贵。上述等式中的嵌套求和需要 O ( ∣ V ∣ 2 ∣ R ∣ ) O(|V|^2|R|) O(∣V∣2∣R∣) 次运算,当图过大时很难计算。同时,现实世界中的图往往是稀疏的,即 ∣ E ∣ < < ∣ V ∣ 2 ∣ R ∣ |E| << |V|^2|R| ∣E∣<<∣V∣2∣R∣,理想情况下需要一个时间复杂度为 O ( ∣ E ∣ ) O(|E|) O(∣E∣) 的损失函数。
- 我们的目标是从低维节点嵌入中解码邻接张量。在大多数情况下该张量仅包含二进制值,但上述等式中的均方误差不太适合这种二进制比较。事实上,均方误差是回归的自然损失,而我们的目标更接近边缘分类。
Cross-entropy with negative sampling
L = ∑ ( u , τ , v ) ∈ ε − log ( σ ( D E C ( z u , τ , z v ) ) ) − γ E v n ∼ P n , u ( V ) [ log ( σ ( − D E C ( z u , τ , z v n ) ) ) ] \mathcal{L}=\sum_{(u,\tau,v)\in \varepsilon}-\log(\sigma(DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)))-\gamma \mathbb{E}_{v_n\sim P_{n,u}(\mathcal{V})}[\log (\sigma(-DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n})))] L=(u,τ,v)∈ε∑−log(σ(DEC(zu,τ,zv)))−γEvn∼Pn,u(V)[log(σ(−DEC(zu,τ,zvn)))]
这里
σ
\sigma
σ 代表 logistic 函数,
P
n
,
u
(
V
)
P_{n,u}(\mathcal{V})
Pn,u(V) 表示节点集
V
\mathcal{V}
V 上的负采样分布,
γ
\gamma
γ 是超参数。前半部分表示预测图中实际存在的边为“真”的对数似然(真真),后半部分表示预测图中不存在的边为“假”的对数似然期望(假假)。在实践中,期望是使用蒙特卡罗近似来评估的,这种损失最流行的形式是:
L
=
∑
(
u
,
τ
,
v
)
∈
ε
(
−
log
(
σ
(
D
E
C
(
z
u
,
τ
,
z
v
)
)
)
−
∑
v
n
∈
P
n
,
u
[
log
(
σ
(
−
D
E
C
(
z
u
,
τ
,
z
v
n
)
)
)
]
)
\mathcal{L}=\sum_{(u,\tau,v)\in \varepsilon}\left(-\log(\sigma(DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)))-\sum_{v_n \in \mathcal{P}_{n,u}}[\log (\sigma(-DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n})))]\right)
L=(u,τ,v)∈ε∑
−log(σ(DEC(zu,τ,zv)))−vn∈Pn,u∑[log(σ(−DEC(zu,τ,zvn)))]
其中
P
n
,
u
\mathcal{P}_{n,u}
Pn,u 是从
P
n
,
u
(
V
)
P_{n,u}(\mathcal{V})
Pn,u(V) 采样的一组节点。
负采样注意事项:
- 定义分布 P n , u \mathcal{P}_{n,u} Pn,u 的最常见方法是简单地在图中的所有节点上使用均匀分布,但要注意“假负样本”问题,即这种方法可能采样出图中已存在的边(元组)。
- 产生更多“困难(difficult、hard)”的负样本。例如,某些关系只能存在于某些类型的节点之间,因此,一种策略是仅对满足此类类型约束的负面示例进行采样。
- 一般情况下,负采样发生在边元组中的第二个节点上。但实际上,最好同时为关系的头节点和尾节点抽取负样本。
Max-margin loss
L = ∑ u , τ , v ∈ ε ∑ v n ∈ P n , u m a x ( 0 , − D E C ( z u , τ , z ) + D E C ( z u , τ , z v n + Δ ) \mathcal{L}=\sum_{u,\tau,v\in \varepsilon}\sum_{v_n \in \mathcal{P}_{n,u}}max(0,-DEC(\mathbf{z}_u,\tau,\mathbf{z})+DEC(\mathbf{z}_u,\tau,\mathbf{z}_{v_n}+\Delta) L=u,τ,v∈ε∑vn∈Pn,u∑max(0,−DEC(zu,τ,z)+DEC(zu,τ,zvn+Δ)
Δ \Delta Δ 项被称为 margin,如果所有示例的分数差异至少那么大,则损失将等于 0。这种损失也称为 hinge loss。
Multi-relational decoders
RESCAL:关系计算和统计成本较高。
Translational decoders(TransE & TransX):将关系表示为嵌入空间中的翻译。
T
r
a
n
s
H
:
D
E
C
(
z
u
,
τ
,
z
v
)
=
−
∣
∣
(
z
u
−
w
r
T
z
u
w
r
)
+
r
τ
−
(
z
v
−
w
r
T
z
v
w
r
)
∣
∣
TransH:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=-||(\mathbf{z}_u-\mathbf{w_r^T z_u w_r})+\mathbf{r}_\tau-(\mathbf{z}_v-\mathbf{w_r^T z_v w_r})||
TransH:DEC(zu,τ,zv)=−∣∣(zu−wrTzuwr)+rτ−(zv−wrTzvwr)∣∣
Multi-linear dot products:从简单图概括点积解码器来开发多关系解码器。这种方法需要对三个向量上定义的点积进行直接概括,只能对对称关系进行编码。
D
i
s
t
M
u
l
t
:
D
E
C
(
z
u
,
τ
,
z
v
)
=
<
z
u
,
r
τ
,
z
v
>
=
∑
i
=
1
d
z
u
[
i
]
×
r
τ
[
i
]
×
z
v
[
i
]
DistMult:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=<\mathbf{z}_u,\mathbf{r}_\tau,\mathbf{z}_v>=\sum_{i=1}^d\mathbf{z}_u[i]\times \mathbf{r}_\tau[i] \times \mathbf{z}_v[i]
DistMult:DEC(zu,τ,zv)=<zu,rτ,zv>=i=1∑dzu[i]×rτ[i]×zv[i]
Complex decoders (ComplEx & RotatE):使用复值嵌入。
C
o
m
p
l
E
x
:
D
E
C
(
z
u
,
τ
,
z
v
)
=
R
e
(
<
z
u
,
r
τ
,
z
ˉ
v
>
)
=
R
e
(
∑
i
=
1
d
z
u
[
i
]
×
r
τ
[
i
]
×
z
ˉ
v
[
i
]
)
R
o
t
a
t
E
:
D
E
C
(
z
u
,
τ
,
z
v
)
=
−
∣
∣
z
u
∘
r
τ
−
z
v
∣
∣
、
r
τ
[
i
]
=
e
i
θ
r
,
i
ComplEx:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=Re(<\mathbf{z}_u,\mathbf{r}_\tau,\mathbf{\bar{z}}_v>)=Re(\sum_{i=1}^d\mathbf{z}_u[i]\times \mathbf{r}_\tau[i] \times \mathbf{\bar{z}}_v[i])\\ RotatE:DEC(\mathbf{z}_u,\tau,\mathbf{z}_v)=-||\mathbf{z}_u\circ\mathbf{r}_\tau-\mathbf{z}_v||、\mathbf{r}_\tau[i]=e^{i\theta_{r,i}}
ComplEx:DEC(zu,τ,zv)=Re(<zu,rτ,zˉv>)=Re(i=1∑dzu[i]×rτ[i]×zˉv[i])RotatE:DEC(zu,τ,zv)=−∣∣zu∘rτ−zv∣∣、rτ[i]=eiθr,i
Representational abilities
Symmetry and anti-symmetry(对称性和反对称性): ( u , τ , v ) ∈ ε ↔ ( v , τ , u ) ∈ ε (u,\tau,v)\in \varepsilon \leftrightarrow (v, \tau ,u)\in \varepsilon (u,τ,v)∈ε↔(v,τ,u)∈ε and ( u , τ , v ) ∈ ε ↔ ( v , τ , u ) ∉ ε (u,\tau,v)\in \varepsilon \leftrightarrow (v, \tau ,u)\notin \varepsilon (u,τ,v)∈ε↔(v,τ,u)∈/ε
Inversion(倒置性): ( u , τ 1 , v ) ∈ ε ↔ ( v , τ 2 , u ) ∈ ε (u,\tau_1,v)\in \varepsilon \leftrightarrow (v, \tau_2 ,u)\in \varepsilon (u,τ1,v)∈ε↔(v,τ2,u)∈ε
Compositonality(组合性): ( u , τ 1 , y ) ∈ ε ∧ ( y , τ 2 , v ) ∈ ε ↔ ( u , τ 3 , v ) ∈ ε (u,\tau_1,y)\in \varepsilon \wedge (y,\tau_2,v) \in \varepsilon \leftrightarrow (u, \tau_3 ,v) \in \varepsilon (u,τ1,y)∈ε∧(y,τ2,v)∈ε↔(u,τ3,v)∈ε
Reference: Hamilton W L. Graph representation learning[M]. Morgan & Claypool Publishers, 2020.