论文地址:Combining Label Propagation and Simple Models Out-performs Graph Neural Networks
前言
GNN是在图上进行学习的主流方法,但是近些年GNN模型越来越复杂,理解它们的性能提升非常具有挑战性,而且这些模型也很难扩展到大数据集上去。但一定需要GNN模型才能获取良好的性能吗?为此,作者尝试使用了传统简单模型 (Linear Model或者shallow MLP)来完成直推式节点分类任务 (Transductive Node Classification),在简单模型预测之后,需要再经过两个后处理步骤Correct and Smooth。实验表明作者提出的思路在许多直推式节点分类任务上都取得了与SOTA (state of the art) GNN模型相当甚至更优越的性能。
注:直推式学习指训练过程中使用到测试集或验证集。
Correct and smooth模型
作者提出的模型的结构如图1所示:
从图中可以看出,作者先让数据集经过MLP等简单模型后得到基本的预测结果,然后用训练数据上的误差来修正预测结果,最后利用训练数据的真实标签进行标签传播来平滑以得到最终的预测结果。
符号表
Notation | Meaning |
---|---|
G = ( V , E ) G=(V,E) G=(V,E) | 无向图 |
n n n | 图中的结点数 |
X ∈ R n × p X \in \mathbb{R}^{n \times p} X∈Rn×p | 结点的特征矩阵 |
D D D | 图的度矩阵 |
S S S | 正则化的邻接矩阵, D − 1 / 2 A D − 1 / 2 D^{-1/2}AD^{-1/2} D−1/2AD−1/2 |
U U U, L L L | 无标签结点, 有标签结点 |
Y ∈ R n × c Y \in \mathbb{R}^{n \times c} Y∈Rn×c | 标签one-hot矩阵, c c c是类别数, Y i j = 1 Y_{ij} = 1 Yij=1 if i ∈ L i \in L i∈L is in class j j j, and 0 0 0 otherwise |
L t L_t Lt, L v L_v Lv | 训练集, 验证集 |
Z Z Z | base model的预测结果 |
E ∈ R n × c E \in \mathbb{R}^{n \times c} E∈Rn×c | 误差矩阵,其中只包含训练数据上的误差, 其他的都为0 |
Base Model
仅基于图中结点的特征 X X X,作者使用Linear Model和MLP来进行相关的预测,得到的预测结果为 Z Z Z,其中损失函数为交叉熵。
注:训练过程中会用验证集来筛选在其上表现最佳的模型并保存下来。
Correct
Correct的核心思路是将训练集上的误差扩散到全图上去(结点
i
i
i的误差增加了其邻居有相似误差的概率)。作者显示定义了一个误差矩阵
E
∈
R
n
×
c
E \in \mathbb{R}^{n \times c}
E∈Rn×c,其计算公式如下所示:
E
L
t
=
Z
L
t
−
Y
L
t
,
E
L
v
=
0
,
E
U
=
0
(1)
E_{L_t} = Z_{L_t} - Y_{L_t},E_{L_v} = 0,E_{U} = 0 \tag{1}
ELt=ZLt−YLt,ELv=0,EU=0(1)
从该矩阵的定义可以看出,其只包含了训练集上的误差,利用标签传播(Label Propagation)算法对误差进行扩散的公式如下:
E
t
+
1
=
(
1
−
α
)
E
+
α
S
E
t
(2)
E^{t + 1} = (1 - \alpha)E + \alpha S E^{t} \tag{2}
Et+1=(1−α)E+αSEt(2)
其中
E
0
=
E
E^{0} = E
E0=E,经过多次迭代训练集上的误差会传播到全图上并最终收敛,收敛后的结果为
E
^
\hat{E}
E^会使得:
t
r
a
c
e
(
E
^
T
(
I
−
S
)
E
^
)
+
μ
∣
∣
E
^
−
E
∣
∣
F
2
(3)
trace(\hat{E}^T(I - S)\hat{E}) + \mu ||\hat{E} - E||_F^2 \tag{3}
trace(E^T(I−S)E^)+μ∣∣E^−E∣∣F2(3)
最小化,从优化目标公式(2)可以看出,其前半部分保证了图上误差估计的平滑性,后半部分保证收敛解与初始误差
E
E
E尽可能接近。利用收敛解来对base model的结果进行矫正的公式如下:
Z
(
r
)
=
Z
+
E
^
(4)
Z^{(r)} = Z + \hat{E} \tag{4}
Z(r)=Z+E^(4)
但是作者指出直接使用上述方式来进行误差传播过程中误差会越来越小:
∣
∣
E
(
t
+
1
)
∣
∣
2
≤
(
1
−
α
)
∣
∣
E
∣
∣
2
+
α
∣
∣
S
∣
∣
2
∣
∣
E
(
t
)
∣
∣
2
=
(
1
−
α
)
∣
∣
E
∣
∣
2
+
α
∣
∣
E
(
t
)
∣
∣
2
(5)
||E^{(t + 1)}||_2 \leq (1 - \alpha)||E||_2 + \alpha||S||_2||E^{(t)}||_2 = (1 - \alpha)||E||_2 + \alpha ||E^{(t)}||_2 \tag{5}
∣∣E(t+1)∣∣2≤(1−α)∣∣E∣∣2+α∣∣S∣∣2∣∣E(t)∣∣2=(1−α)∣∣E∣∣2+α∣∣E(t)∣∣2(5)
由公式(4)可知
∣
∣
E
1
∣
∣
2
≤
(
1
−
α
)
∣
∣
E
∣
∣
2
+
α
∣
∣
E
∣
∣
2
=
∣
∣
E
∣
∣
2
||E^1||_2 \leq (1-\alpha )||E||_2 + \alpha||E||_2 = ||E||_2
∣∣E1∣∣2≤(1−α)∣∣E∣∣2+α∣∣E∣∣2=∣∣E∣∣2,以此类推,可以得到
∣
∣
E
(
t
)
∣
∣
2
≤
∣
∣
E
∣
∣
2
||E^{(t)}||_2 \leq ||E||_2
∣∣E(t)∣∣2≤∣∣E∣∣2,由此可得误差会在传播过程中不断缩小,这样会使得图上所有结点上的误差不能被完全纠正。为解决传播过程中误差不断缩小的问题,作者提出了两种方法:Autoscale和Scaled Fixed Diffusion (FDiff-scale)。
Autoscale
Autoscale指给训练集外的误差乘以一个系数,使得其绝对均值与训练集相同。假设
e
j
∈
R
c
e_j \in \mathbb{R}^c
ej∈Rc为矩阵
E
E
E中的第
j
j
j行,然后我们计算训练集上误差的绝对均值:
σ
=
1
∣
L
t
∣
∑
j
∈
L
t
∣
∣
e
j
∣
∣
1
(6)
\sigma = \frac{1}{|L_t|}\sum_{j \in L_t}{||e_j||_1} \tag{6}
σ=∣Lt∣1j∈Lt∑∣∣ej∣∣1(6)
对无标签结点
i
∈
U
i \in U
i∈U,我们采用下列公式来预测值进行矫正:
Z
i
,
:
(
r
)
=
Z
i
,
:
+
σ
E
:
,
i
T
^
/
∣
∣
E
:
,
i
T
^
∣
∣
1
(7)
Z_{i,:}^{(r)} = Z_{i,:} + \sigma \hat{E_{:,i}^T} / ||\hat{E_{:,i}^T}||_1 \tag{7}
Zi,:(r)=Zi,:+σE:,iT^/∣∣E:,iT^∣∣1(7)
Scaled Fixed Diffusion
Scaled Fixed Diffusion则直接换用另一种扩散算法:
E
U
(
t
+
1
)
=
[
D
−
1
A
E
(
t
)
]
U
(8)
E_{U}^{(t + 1)} = [D^{-1}AE^{(t)}]_U \tag{8}
EU(t+1)=[D−1AE(t)]U(8)
其中
D
−
1
A
D^{-1}A
D−1A的含义是当前结点
i
i
i的误差以均等的概率往其邻居结点扩散。在扩散过程中保持训练结点上的误差不变,即保持
E
L
(
t
)
=
E
L
E_L^{(t)} = E_L
EL(t)=EL。在收敛之后,采用如下公式来对base model的预测值进行矫正:
Z
(
r
)
=
Z
+
s
E
^
(9)
Z^{(r)} = Z + s\hat{E} \tag{9}
Z(r)=Z+sE^(9)
其中
s
s
s为缩放参数。
Smooth
在获取到经过误差矫正后的预测结果
Z
(
r
)
Z^{(r)}
Z(r)后,作者对其进一步进行平滑操作,具体做法是使用训练结点的真实标签替换掉
Z
(
r
)
Z^{(r)}
Z(r)中对应训练数据上的标签,即:
G
L
t
=
Y
L
t
,
G
L
v
,
U
=
Z
L
v
,
U
r
(10)
G_{L_t} = Y_{L_t},G_{L_v,U} = Z_{L_v,U}^r \tag{10}
GLt=YLt,GLv,U=ZLv,Ur(10)
然后同样采用标签传播算法来对预测结果进行平滑,即:
G
(
t
+
1
)
=
(
1
−
α
)
G
+
α
S
G
(
t
)
(11)
G^{(t + 1)} = (1 - \alpha)G + \alpha S G^{(t)} \tag{11}
G(t+1)=(1−α)G+αSG(t)(11)
其中
G
(
0
)
=
G
G^{(0)} = G
G(0)=G,经过迭代
G
(
t
)
G^{(t)}
G(t)最终会收敛,即最终的预测结果
Y
^
\hat{Y}
Y^,然后我们可以从
Y
^
\hat{Y}
Y^中获取
i
∈
U
i \in U
i∈U中的结点的预测值。
实验
作者在9个数据集上进行了相关实验,并与处于SOTA的GNN模型进行对比,对比结果如下:
可以看出作者提出的方法相比于GNN而言拥有更少的参数,同时训练也更加快,同时在9个数据集的绝大多数上都相对于SOTA的GNN模型有提升。具体的对比结果如下:
可以看出,作者提出的base model + C&S在Products、Cora、Email、Rice31和US County数据集上都处于SOTA地位。同时,可以看出经过C&S步骤后,确实能有效提升base model的性能,例如在Products数据集上,MLP的预测结果经过C&S后从64%提升到了84%。
此外,作者在Smooth的过程中,进一步使用了验证集上的标签,得到的结果如下:
从Table2和Table4的对比结果可以看出,通过使用验证集的标签,模型的性能得到进一步的提升。