系列文章
《Graph Representation Learning》笔记 Chapter2
《Graph Representation Learning》笔记 Chapter3
《Graph Representation Learning》笔记 Chapter4
《Graph Representation Learning》笔记 Chapter5
目录
Applications and Loss Functions
GNNs for Node Classification
可以使用 softmax 分类函数和负对数概率来定义损失
L
=
∑
u
∈
V
t
r
a
i
n
−
l
o
g
(
s
o
f
t
m
a
x
(
z
u
,
y
u
)
)
s
o
f
t
m
a
x
(
z
u
,
y
u
)
=
∑
i
=
1
c
y
u
[
i
]
e
z
u
T
w
i
∑
j
=
1
c
e
z
u
T
w
j
L = \sum_{u ∈ \mathcal{V}_{train}} -log(softmax(z_u, y_u)) \\ softmax(z_u, y_u) = \sum_{i=1}^c y_u[i] \frac{e^{z_u^Tw_i}}{\sum_{j=1}^c e^{z_u^Tw_j}}
L=u∈Vtrain∑−log(softmax(zu,yu))softmax(zu,yu)=i=1∑cyu[i]∑j=1cezuTwjezuTwi
其中,
c
c
c 为种类数,
y
u
∈
Z
c
y_u ∈ \mathbb{Z}^c
yu∈Zc 为 one-hot 向量,
w
i
∈
R
d
,
i
=
1
,
.
.
.
,
c
w_i ∈ \mathbb{R}^d, i = 1, ..., c
wi∈Rd,i=1,...,c 为可训练的参数。
GNNs for Graph Classification
平方误差损失如下所示
L
=
∑
G
i
∈
τ
∥
M
L
P
(
z
G
i
)
−
y
G
i
∥
2
2
L = \sum_{\mathcal{G}_i ∈ \tau} \| MLP(z_{\mathcal{G}_i}) - y_{\mathcal{G}_i} \|_2^2
L=Gi∈τ∑∥MLP(zGi)−yGi∥22
其中,
τ
=
G
1
,
.
.
.
,
G
n
\tau = {\mathcal{G}_1, ..., \mathcal{G}_n}
τ=G1,...,Gn 表示有标签的训练集,
M
L
P
MLP
MLP 为具有单变量输出的神经网络,
y
G
i
∈
R
y_{\mathcal{G}_i} ∈ \mathbb{R}
yGi∈R 为
G
i
\mathcal{G}_i
Gi 的标签。
Pre-training GNNs
有人提出预训练需要最大化节点嵌入
z
u
z_u
zu 和图嵌入
z
G
z_{\mathcal{G}}
zG 之间的互信息,损失函数如下所示
L
=
−
∑
u
∈
V
t
r
a
i
n
E
G
l
o
g
(
D
(
z
u
,
z
G
)
)
+
γ
E
G
~
l
o
g
(
1
−
D
(
z
~
u
,
z
G
)
)
L = -\sum_{u ∈ \mathcal{V}_{train}} \mathbb{E}_{\mathcal{G}} log(D(z_u, z_{\mathcal{G}})) + \gamma \mathbb{E}_{\widetilde{\mathcal{G}}} log(1-D(\widetilde{z}_u, z_{\mathcal{G}}))
L=−u∈Vtrain∑EGlog(D(zu,zG))+γEG
log(1−D(z
u,zG))
其中,
z
u
z_u
zu 为节点
u
u
u 基于真实图
G
\mathcal{G}
G 生成的嵌入,
z
~
u
\widetilde{z}_u
z
u 为节点
u
u
u 基于 corrupted 版本的图
G
~
\widetilde{G}
G
生成的嵌入, corrupted 指改变节点特征和邻接矩阵,
D
D
D 表示一个辨别函数,来辨别节点嵌入是否属于
G
\mathcal{G}
G 或
G
~
\widetilde{\mathcal{G}}
G
。直观来看, GNN 需要在预训练中学会区分节点属于真图还是假图。
Efficiency Concerns and Node Sampling
Graph-level Implementations
整图级别的 GNN 表示为
H
(
k
)
=
σ
(
A
H
(
k
−
1
)
W
n
e
i
g
h
(
k
)
+
H
(
k
−
1
)
W
s
e
l
f
(
k
)
)
H^{(k)} = \sigma(AH^{(k-1)}W_{neigh}^{(k)} + H^{(k-1)}W_{self}^{(k)})
H(k)=σ(AH(k−1)Wneigh(k)+H(k−1)Wself(k))
其中,
H
(
t
)
H^{(t)}
H(t) 为包含第
k
k
k 层所有节点嵌入的矩阵。这样虽然使得计算变得简便,但会受限于计算机内存。
Subsampling and Mini-Batching
所以,每次可以只训练一部分节点子集。选择的子集内的节点需要与上一批子集内的节点相连,才能保证连接不变。
Parameter Sharing and Regularization
不同层之间的 A G G R E G A T E AGGREGATE AGGREGATE 和 U P D A T E UPDATE UPDATE 函数可以共享参数来防止过拟合,也可以随机移除边缘来防止过拟合。