系列文章
《Graph Representation Learning》笔记 Chapter2
目录
- An Encoder-Decoder Perspective
- 编码 The Encoder
- 解码 The Decoder
- Optimizing an Encoder-Decoder Model
- Factorization-based approaches
- Laplacian eigenmaps
- 内积方法 Inner-product method
- Rabndom walk embeddings
- DeepWalk and node2vec
- Large-scale information network embeddings(LINE)
An Encoder-Decoder Perspective
编码 The Encoder
编码是将节点
v
∈
V
v ∈ \mathcal{V}
v∈V 映射至向量 embeddings
z
v
∈
R
d
z_v ∈ \mathbb{R}^d
zv∈Rd 的函数,
d
d
d 为 embedding 的维数,表示为
E
N
C
:
V
→
R
d
E
N
C
(
v
)
=
Z
[
v
]
ENC: \mathcal{V} \to \mathbb{R}^d \\ ENC(v) = Z[v]
ENC:V→RdENC(v)=Z[v]
其中
Z
∈
R
∣
V
∣
×
d
Z ∈ \mathbb{R}^{|\mathcal{V}| × d}
Z∈R∣V∣×d ,
Z
[
v
]
Z[v]
Z[v] 代表
Z
Z
Z 的第
v
v
v 行。
解码 The Decoder
解码是根据 embeddings 重建图结构。比如,根据
Z
[
u
]
Z[u]
Z[u] 预测相邻节点
N
(
u
)
\mathcal{N}(u)
N(u) (邻接矩阵
A
[
u
]
A[u]
A[u] )。标准方法是定义 pairwise decoders,表示为
D
E
C
:
R
d
×
R
d
→
R
+
DEC: \mathbb{R}^d × \mathbb{R}^d \to \mathbb{R}^+
DEC:Rd×Rd→R+
它可以解释为预测节点对之间的相似性,目标是使重构损失最小
D
E
C
(
E
N
C
(
u
)
,
E
N
C
(
v
)
)
=
D
E
C
(
z
u
,
z
v
)
≈
S
[
u
,
v
]
DEC(ENC(u), ENC(v)) = DEC(z_u, z_v) ≈ S[u, v]
DEC(ENC(u),ENC(v))=DEC(zu,zv)≈S[u,v]
其中,
S
S
S 是相似性矩阵(见Chapter2笔记),我们的目的是预测两节点是否相邻,所以
S
≜
A
S \triangleq A
S≜A ,即
S
S
S 等价于
A
A
A 。
Optimizing an Encoder-Decoder Model
为了实现我们的重构目标(损失最小),标准做法是最小化训练节点对集合
D
\mathcal{D}
D 的重构损失
L
=
∑
(
u
,
v
)
∈
D
l
(
D
E
C
(
z
u
,
z
v
)
,
S
[
u
,
v
]
)
\mathcal{L} = \sum_{(u, v) ∈ \mathcal{D}}{l(DEC(z_u, z_v), S[u, v])}
L=(u,v)∈D∑l(DEC(zu,zv),S[u,v])
其中,
l
:
R
×
R
→
R
l: \mathbb{R} × \mathbb{R} \to \mathbb{R}
l:R×R→R 是计算解码相似度与真实相似度之间偏差的损失函数。
Factorization-based approaches
Laplacian eigenmaps
定义解码为两节点 embeddings 之间的L2距离
D
E
C
(
z
u
,
z
v
)
=
∥
z
u
−
z
v
∥
2
2
DEC(z_u, z_v) = \| z_u - z_v \|_2^2
DEC(zu,zv)=∥zu−zv∥22
损失函数为解码后的值乘以权重,权重为相似性度量
L
=
∑
(
u
,
v
)
∈
D
D
E
C
(
z
u
,
z
v
)
⋅
S
[
u
,
v
]
\mathcal{L} = \sum_{(u, v) ∈ \mathcal{D}}{DEC(z_u, z_v) · S[u, v]}
L=(u,v)∈D∑DEC(zu,zv)⋅S[u,v]
直观来看,当相似节点的 embeddings 距离过大时,上式会惩罚模型。若构造
S
S
S 使其满足邻接矩阵
A
A
A 的属性
L
=
∑
(
u
,
v
)
∈
D
∑
d
(
z
u
[
d
]
−
z
v
[
d
]
)
2
S
[
u
,
v
]
=
∑
d
∑
(
u
,
v
)
∈
D
z
u
[
d
]
2
S
[
u
,
v
]
+
z
v
[
d
]
2
S
[
u
,
v
]
−
2
z
u
[
d
]
z
v
[
d
]
S
[
u
,
v
]
=
∑
d
2
(
∑
u
∈
D
z
u
[
d
]
2
D
[
u
,
u
]
−
∑
(
u
,
v
)
∈
D
z
u
[
d
]
S
[
u
,
v
]
z
v
[
d
]
)
=
∑
d
2
(
Z
T
L
Z
)
[
d
]
\begin{aligned} \mathcal{L} &= \sum_{(u, v) ∈ \mathcal{D}}{\sum_d{(z_u[d] - z_v[d])^2S[u, v]}} \\ &= \sum_d{\sum_{(u, v) ∈ \mathcal{D}}{z_u[d]^2S[u, v] + z_v[d]^2S[u, v] - 2z_u[d]z_v[d]S[u, v]}} \\ &= \sum_d{2(\sum_{u ∈ \mathcal{D}}{z_u[d]^2D[u, u]} -\sum_{(u, v) ∈ \mathcal{D}}{z_u[d]S[u, v]z_v[d]})} \\ &= \sum_d{2(Z^TLZ)[d]} \end{aligned}
L=(u,v)∈D∑d∑(zu[d]−zv[d])2S[u,v]=d∑(u,v)∈D∑zu[d]2S[u,v]+zv[d]2S[u,v]−2zu[d]zv[d]S[u,v]=d∑2(u∈D∑zu[d]2D[u,u]−(u,v)∈D∑zu[d]S[u,v]zv[d])=d∑2(ZTLZ)[d]
其中
Z
∈
R
∣
D
∣
×
d
Z ∈ \mathbb{R}^{|\mathcal{D}| × d}
Z∈R∣D∣×d ,最小化
L
L
L 与上一节讨论的谱聚类 spectral clustering 的解决方案相同,即选取最小的
d
d
d 个
L
L
L 的特征值所对应的特征向量郭建 embeddings 。
内积方法 Inner-product method
假定两节点之间的相似性与它们 embeddings 的点积成正比
D
E
C
(
z
u
,
z
v
)
=
z
u
T
z
v
DEC(z_u, z_v) = z_u^Tz_v
DEC(zu,zv)=zuTzv
采用均方误差
L
=
∑
(
u
,
v
)
∈
D
∥
D
E
C
(
z
u
,
z
v
)
−
S
[
u
,
v
]
∥
2
2
=
∥
Z
T
Z
−
S
∥
2
2
\begin{aligned} \mathcal{L} &= \sum_{(u, v) ∈ \mathcal{D}}{\|DEC(z_u, z_v) - S[u, v]\|_2^2} \\ &= \|Z^TZ - S\|_2^2 \end{aligned}
L=(u,v)∈D∑∥DEC(zu,zv)−S[u,v]∥22=∥ZTZ−S∥22
GF 方法直接使用
S
≜
A
S \triangleq A
S≜A ,GraRep 方法使用
A
A
A 的幂定义
S
S
S ,HOPE 方法采用Chapter2中邻域重叠的方法定义
S
S
S 。
Rabndom walk embeddings
DeepWalk and node2vec
我们的目标是学习 embeddings ,使其满足
D
E
C
(
z
u
,
z
v
)
≜
e
z
u
T
z
v
∑
v
k
∈
V
e
z
u
T
z
k
≈
p
G
,
T
(
v
∣
u
)
DEC(z_u, z_v) \triangleq \frac{e^{z_u^Tzv}}{\sum_{v_k ∈ \mathcal{V}}{e^{z_u^Tz_k}}} ≈ p_{\mathcal{G}, T}(v| u)
DEC(zu,zv)≜∑vk∈VezuTzkezuTzv≈pG,T(v∣u)
其中
p
G
,
T
(
v
∣
u
)
p_{\mathcal{G}, T}(v| u)
pG,T(v∣u) 是从节点
u
u
u 以长度为
T
∈
{
2
,
.
.
.
,
10
}
T ∈ \{2, ..., 10\}
T∈{2,...,10} 的路径到达
v
v
v 的概率。
为了训练 embeddings ,需要最小化交叉熵损失
L
=
∑
(
u
,
v
)
∈
D
−
l
o
g
(
D
E
C
(
z
u
,
z
v
)
)
\mathcal{L} = \sum_{(u, v) ∈ \mathcal{D}}{-log(DEC(z_u,z_v))}
L=(u,v)∈D∑−log(DEC(zu,zv))
node2vec 引入了负样本
L
=
∑
(
u
,
v
)
∈
D
−
l
o
g
(
σ
(
z
u
T
z
v
)
)
−
γ
E
v
n
∼
P
n
(
V
)
[
l
o
g
(
−
σ
(
z
u
T
z
v
n
)
)
]
\mathcal{L} = \sum_{(u, v) ∈ \mathcal{D}}{-log(σ(z_u^Tz_v)) - γ\mathbb{E}_{v_n \sim P_n(\mathcal{V})}[log(-σ(z_u^Tz_{v_n}))}]
L=(u,v)∈D∑−log(σ(zuTzv))−γEvn∼Pn(V)[log(−σ(zuTzvn))]
其中,
σ
σ
σ 代表 logistic 函数,可近似表示
D
E
C
DEC
DEC ,
P
n
(
V
)
P_n(\mathcal{V})
Pn(V) 表示负样本(两节点间没有边)集合的分布,
γ
>
0
γ > 0
γ>0 是超参数。
Large-scale information network embeddings(LINE)
LINE结合了两项 encoder-decoder ,第一项目的是编码一阶邻接信息,训练时的相似性度量
S
=
A
S = A
S=A ,使用如下解码
D
E
C
(
z
u
,
z
v
)
=
1
1
+
e
−
z
u
T
z
v
DEC(z_u, z_v) = \frac{1}{1+e^{-z_u^Tz_v}}
DEC(zu,zv)=1+e−zuTzv1
第二项比较像 random walk 方法,解码形式与上式相同,但训练时的相似性度量
S
=
A
2
S = A^2
S=A2