系列文章
《Graph Representation Learning》笔记 Chapter2
《Graph Representation Learning》笔记 Chapter3
目录
Reconstructing muti-relational data
RESCAL 定义了解码器
D
E
C
(
u
,
τ
,
v
)
=
z
u
T
R
τ
z
v
DEC(u, τ, v) = z_u^TR_τz_v
DEC(u,τ,v)=zuTRτzv
其中,
R
τ
∈
R
d
×
d
R_τ ∈ \mathbb{R}^{d×d}
Rτ∈Rd×d 是针对关系
τ
∈
R
τ ∈ R
τ∈R 的一个可学习的矩阵。
我们可以使用一个基本的重构损失来训练 embedding 矩阵
Z
Z
Z 和关系矩阵
R
τ
R_τ
Rτ
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
\begin{aligned} \mathcal{L} &= \sum_{u ∈ \mathcal{V}}{ \sum_{v ∈ \mathcal{V}}{ \sum_{τ ∈ \mathcal{R}}{ \| DEC(u, τ, v) - \mathcal{A}[u, τ, v] \|^2 } } } \\ &= \sum_{u ∈ \mathcal{V}}{ \sum_{v ∈ \mathcal{V}}{ \sum_{τ ∈ \mathcal{R}}{ \| z_u^TR_τz_v - \mathcal{A}[u, τ, v] \|^2 } } } \end{aligned}
L=u∈V∑v∈V∑τ∈R∑∥DEC(u,τ,v)−A[u,τ,v]∥2=u∈V∑v∈V∑τ∈R∑∥zuTRτzv−A[u,τ,v]∥2
其中
A
∈
R
∣
V
∣
×
∣
R
∣
×
∣
V
∣
\mathcal{A} ∈ \mathbb{R}^{|\mathcal{V}|×|\mathcal{R}|×|\mathcal{V}|}
A∈R∣V∣×∣R∣×∣V∣ 是多关系图的邻接张量
Loss function
Cross-entropy with negative sampling
通过改进标准二元交叉熵损失,定义
L
=
∑
(
u
,
τ
,
v
)
∈
E
−
l
o
g
(
σ
(
D
E
C
(
u
,
τ
,
v
)
)
)
−
γ
E
v
n
∼
P
n
,
u
(
V
)
[
l
o
g
(
σ
(
−
D
E
C
(
u
,
τ
,
v
n
)
)
)
]
\mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}{ -log(σ(DEC(u, τ, v))) - γ\mathbb{E}_{v_n \sim P_{n, u}(\mathcal{V})}[log(σ(-DEC(u, τ, v_n)))] }
L=(u,τ,v)∈E∑−log(σ(DEC(u,τ,v)))−γEvn∼Pn,u(V)[log(σ(−DEC(u,τ,vn)))]
其中
σ
σ
σ 代表 logistic 函数,
P
n
,
u
(
V
)
P_{n, u}(\mathcal{V})
Pn,u(V) 代表基于
u
u
u 的“负样本”(没有
τ
τ
τ 关系的节点对)分布,
γ
>
0
γ > 0
γ>0 是一个超参数。
l
o
g
(
σ
(
D
E
C
(
u
,
τ
,
v
)
)
)
log(σ(DEC(u, τ, v)))
log(σ(DEC(u,τ,v))) 代表正确预测两节点间存在
τ
τ
τ 关系的概率对数。
E
v
n
∼
P
n
,
u
(
V
)
[
l
o
g
(
σ
(
−
D
E
C
(
u
,
τ
,
v
n
)
)
)
]
\mathbb{E}_{v_n \sim P_{n, u}(\mathcal{V})}[log(σ(-DEC(u, τ, v_n)))]
Evn∼Pn,u(V)[log(σ(−DEC(u,τ,vn)))] 代表正确预测两节点间不存在
τ
τ
τ 关系的概率对数。
实际操作中,由于
P
n
,
u
(
V
)
P_{n, u}(\mathcal{V})
Pn,u(V) 所包含的样本数量过大,我们采用蒙特卡洛采样方法近似计算损失
L
=
∑
(
u
,
τ
,
v
)
∈
E
(
−
l
o
g
(
σ
(
D
E
C
(
u
,
τ
,
v
)
)
)
−
∑
v
n
∈
P
n
,
u
[
l
o
g
(
σ
(
−
D
E
C
(
u
,
τ
,
v
n
)
)
)
]
)
\mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}{ (-log(σ(DEC(u, τ, v))) - \sum_{v_n ∈ \mathcal{P}_{n, u}}{ [log(σ(-DEC(u, τ, v_n)))]} ) }
L=(u,τ,v)∈E∑(−log(σ(DEC(u,τ,v)))−vn∈Pn,u∑[log(σ(−DEC(u,τ,vn)))])
其中
P
n
,
u
\mathcal{P}_{n, u}
Pn,u 是
P
n
,
u
(
V
)
P_{n, u}(\mathcal{V})
Pn,u(V) 的小子集。
Max-margin loss
最大间隔损失定义为
L
=
∑
(
u
,
τ
,
v
)
∈
E
∑
v
n
∈
P
n
,
u
m
a
x
(
0
,
−
D
E
C
(
u
,
τ
,
v
)
+
D
E
C
(
u
,
τ
,
v
n
)
+
Δ
)
\mathcal{L} = \sum_{(u, τ, v) ∈ \mathcal{E}}\sum_{v_n ∈ \mathcal{P}_{n, u}}max(0, -DEC(u, τ, v) + DEC(u, τ, v_n) + Δ)
L=(u,τ,v)∈E∑vn∈Pn,u∑max(0,−DEC(u,τ,v)+DEC(u,τ,vn)+Δ)
当正样本对的解码得分大于负样本对时我们可以获得一个很小的损失,
Δ
Δ
Δ 项称为间隔,正样本解码得分需要比负样本得分大于一个间隔,才能保证
L
\mathcal{L}
L 为0。
Multi-relational decoder
Reanslational decoders
TransE 模型定义为
D
E
C
(
u
,
τ
,
v
)
=
−
∥
z
u
+
r
τ
−
z
v
∥
DEC(u, τ, v) = -\| z_u + r_τ - z_v \|
DEC(u,τ,v)=−∥zu+rτ−zv∥
节点 u 的 embedding 向量与关系向量 r_τ 相结合后计算与节点 v 的距离,这个距离与节点间关系存在的可能性成比例。
TransX 模型定义为
D
E
C
(
u
,
τ
,
v
)
=
−
∥
g
1
,
τ
(
z
u
)
+
r
τ
−
g
2
,
τ
(
z
v
)
∥
DEC(u, τ, v) = -\| g_{1, τ}(z_u) + r_τ - g_{2, τ}(z_v) \|
DEC(u,τ,v)=−∥g1,τ(zu)+rτ−g2,τ(zv)∥
其中,
g
i
,
τ
g_{i, τ}
gi,τ 为可训练的函数。
TransH 模型定义为
D
E
C
(
u
,
τ
,
v
)
=
−
∥
(
z
u
−
w
r
T
z
u
w
r
)
+
r
τ
−
(
z
u
−
w
r
T
z
v
w
r
)
∥
DEC(u, τ, v) = -\| (z_u - w_r^Tz_uw_r) + r_τ - (z_u -w_r^Tz_vw_r) \|
DEC(u,τ,v)=−∥(zu−wrTzuwr)+rτ−(zu−wrTzvwr)∥
其中,
w
r
w_r
wr 为可训练的向量。
Multi-linear dot products
定义点积解码器
D
E
C
(
u
,
τ
,
v
)
=
<
z
u
,
r
τ
,
z
v
>
=
∑
i
=
1
d
z
u
[
i
]
×
r
τ
[
i
]
×
z
v
[
i
]
\begin{aligned} DEC(u, τ, v) &= <z_u, r_τ, z_v> \\ &= \sum_{i=1}^d{ z_u[i] × r_τ[i] × z_v[i]} \end{aligned}
DEC(u,τ,v)=<zu,rτ,zv>=i=1∑dzu[i]×rτ[i]×zv[i]
Complex decoders
上述点积解码器只能解码对称关系,即
D
E
C
(
u
,
τ
,
v
)
=
<
z
u
,
r
τ
,
z
v
>
=
∑
i
=
1
d
z
u
[
i
]
×
r
τ
[
i
]
×
z
v
[
i
]
=
<
z
v
,
r
τ
,
z
u
>
=
D
E
C
(
v
,
τ
,
u
)
\begin{aligned} DEC(u, τ, v) &= <z_u, r_τ, z_v> \\ &= \sum_{i=1}^d{ z_u[i] × r_τ[i] × z_v[i] } \\ &= <z_v, r_τ, z_u> \\ &= DEC(v, τ, u) \end{aligned}
DEC(u,τ,v)=<zu,rτ,zv>=i=1∑dzu[i]×rτ[i]×zv[i]=<zv,rτ,zu>=DEC(v,τ,u)
为了解决这个问题, ComplEx 引入了复数
D
E
C
(
u
,
τ
,
v
)
=
R
e
(
<
z
u
,
r
τ
,
z
ˉ
v
>
)
=
R
e
(
∑
i
=
1
d
z
u
[
i
]
×
t
τ
×
z
ˉ
v
[
j
]
)
\begin{aligned} DEC(u, τ, v) &= Re(<z_u, r_τ, \bar{z}_v>) \\ &= Re(\sum_{i=1}^d{ z_u[i] × t_τ × \bar{z}_v[j]}) \end{aligned}
DEC(u,τ,v)=Re(<zu,rτ,zˉv>)=Re(i=1∑dzu[i]×tτ×zˉv[j])
其中,
z
u
,
z
v
,
r
τ
∈
C
d
z_u, z_v, r_τ ∈ \mathbb{C}^d
zu,zv,rτ∈Cd 为复数 embeddings ,
R
e
Re
Re 代表复数向量的实数部分。这个解码器采用了共轭 embeddings
z
ˉ
v
\bar{z}_v
zˉv ,所以适用于非对称关系图。
RotatE 模型依然取 embeddings 为复数,引入旋转的概念
D
E
C
(
u
,
τ
,
v
)
=
−
∥
z
u
∘
r
τ
−
z
v
∥
DEC(u, τ, v) = -\| z_u \circ r_τ - z_v \|
DEC(u,τ,v)=−∥zu∘rτ−zv∥
其中
∘
\circ
∘ 代表哈达玛积,
∣
r
τ
[
i
]
∣
=
1
,
∀
i
∈
1
,
.
.
.
,
d
|r_τ[i]| = 1, \forall{i} ∈ {1, ..., d}
∣rτ[i]∣=1,∀i∈1,...,d ,这个限制使得
r
τ
[
i
]
=
e
i
θ
r
,
i
r_τ[i] = e^{iθ_{r, i}}
rτ[i]=eiθr,i ,使
z
u
[
i
]
,
∀
i
∈
1
,
.
.
.
,
d
z_u[i], \forall{i} ∈ {1, ..., d}
zu[i],∀i∈1,...,d 能在复平面旋转。
Representational abilities
Symmetry and anti-symmetry
图中许多节点对的关系是对称的,即
(
u
,
τ
,
v
)
∈
E
↔
(
v
,
τ
,
u
)
∈
E
(u, τ, v) ∈ \mathcal{E} \leftrightarrow (v, τ, u) ∈ \mathcal{E}
(u,τ,v)∈E↔(v,τ,u)∈E
所以,反对称关系表示为
(
u
,
τ
,
v
)
∈
E
→
(
v
,
τ
,
u
)
∉
E
(u, τ, v) ∈ \mathcal{E} \rightarrow (v, τ, u) \notin \mathcal{E}
(u,τ,v)∈E→(v,τ,u)∈/E
TransE 模型只能表示反对称关系,若节点 u 与 节点 v 为对称关系
D
E
C
(
u
,
τ
,
v
)
=
D
E
C
(
v
,
τ
,
u
)
−
∥
z
u
+
r
τ
−
z
v
∥
=
−
∥
z
v
+
r
τ
−
z
u
∥
∥
z
u
−
z
v
∥
+
∥
r
τ
∥
−
2
∥
z
u
−
z
v
∥
∥
r
τ
∥
c
o
s
θ
=
∥
z
v
−
z
u
∥
+
∥
r
τ
∥
−
2
∥
z
v
−
z
u
∥
∥
r
τ
∥
(
−
c
o
s
θ
)
∥
r
τ
∥
=
−
∥
r
τ
∥
∥
r
τ
∥
=
0
\begin{aligned} DEC(u, τ, v) &= DEC(v, τ, u) \\ -\| z_u + r_τ - z_v \| &= -\| z_v + r_τ - z_u \| \\ \| z_u-z_v \| + \| r_τ \| - 2\| z_u -z_v \|\|r_τ\|cosθ &= \| z_v-z_u \| + \| r_τ \| - 2\| z_v -z_u \|\|r_τ\|(-cosθ) \\ \| r_τ \| &= -\| r_τ \| \\ \| r_τ \| &= 0 \end{aligned}
DEC(u,τ,v)−∥zu+rτ−zv∥∥zu−zv∥+∥rτ∥−2∥zu−zv∥∥rτ∥cosθ∥rτ∥∥rτ∥=DEC(v,τ,u)=−∥zv+rτ−zu∥=∥zv−zu∥+∥rτ∥−2∥zv−zu∥∥rτ∥(−cosθ)=−∥rτ∥=0
证毕。
Inversion
逆关系为由节点 u 到节点 v 的关系
τ
1
τ_1
τ1 可推导出由节点 v 到节点 u 的关系
τ
2
τ_2
τ2
(
u
,
τ
1
,
v
)
∈
E
↔
(
v
,
τ
2
,
u
)
∈
E
(u, τ_1, v) ∈ \mathcal{E} \leftrightarrow (v, τ_2, u) ∈ \mathcal{E}
(u,τ1,v)∈E↔(v,τ2,u)∈E
Compositionality
( u , τ 1 , y ) ∈ E ∨ ( y , τ 2 , v ) ∈ E → ( u , τ 3 , v ) (u, τ_1, y) ∈ \mathcal{E} \vee (y, τ_2, v) ∈ \mathcal{E} \rightarrow (u, τ_3, v) (u,τ1,y)∈E∨(y,τ2,v)∈E→(u,τ3,v)