🔨
文章目录
- 论文地址:https://arxiv.org/pdf/2010.13993.pdf
- 源码:CorrectAndSmooth
- 来源:ICLR, 2021
- 关键词:Label Propagation, Transductive node classification
1 前言
该论文针对GNN的解释性不足,GNN模型越来越大的问题,提出了“小米加步枪” — 用简单模型得到和GNN一样的水平。针对trnasductive的节点分类问题,作者使用浅层模型加上LP(Label Propagation)和两个后处理方法 — Correct & Smooth,达到或超过了GNN在一些transductive结点分类上的效果。
2 问题定义
给定一个图 G = ( V , E ) G = (V, E) G=(V,E),结点特征矩阵为 X ∈ R n × p X \in \mathbb{R}^{n \times p} X∈Rn×p,结点集 V V V可以分为 U , L U, L U,L分别表示无标签、有标签结点子集。标签矩阵为 Y ∈ R n × c Y \in \mathbb{R}^{n \times c} Y∈Rn×c。目标就是基于以上所给的信息,预测 U U U中结点的标签。
3 Correct and Smooth
论文的方法总体过程可以分为三步:
- 使用浅层模型,在 L L L上,根据结点的特征做一个基础的预测,即找到 arg min f l ( f ( x i ) , y i ) \mathop{\arg\min}\limits_{f}\: l(f(x_i), y_i) fargminl(f(xi),yi),得到基础预测 Z ∈ R n × c Z \in \mathbb{R}^{n\times c} Z∈Rn×c;
- 利用标签数据的信息去改正基础预测 Z Z Z;
- 根据相邻结点的相似性,对改正后的预测进行平滑;
3.1 Simple Base Predictor
找到一个浅层模型 f f f,如线性模型、MLP等,在训练数据( L L L的子集)上达到最小经验损失。这一步并不会使用到图的结构,可以避免GNN模型的可扩展性问题。
\subparagraph{Correct error in base prediction with Residual Propagation}
在上一步已经有了一个基础的预测
Z
Z
Z,而且有标签矩阵
Y
Y
Y,可以根据二者在训练集(
L
t
L_t
Lt)上构建误差矩阵
E
E
E,也就是residual,即:
E
L
t
=
Z
L
t
−
Y
L
t
,
E
L
v
=
0
,
E
U
=
0
E_{L_t} = Z_{L_t} - Y_{L_t},\quad E_{L_v} = 0,\quad E_{U} = 0
ELt=ZLt−YLt,ELv=0,EU=0
作者使用LP对
E
E
E进行了平滑,平滑的公式为:
E
^
=
arg
min
W
∈
R
n
×
c
trace
(
W
T
(
I
−
S
)
W
)
+
μ
∥
W
−
E
∥
F
2
\hat{E}=\underset{W \in \mathbb{R}^{n \times c}}{\arg \min } \operatorname{trace}\left(W^{T}(I-S) W\right)+\mu\|W-E\|_{F}^{2}
E^=W∈Rn×cargmintrace(WT(I−S)W)+μ∥W−E∥F2
其中
S
S
S为
D
−
1
2
A
D
−
1
2
D^{-\frac{1}{2}}AD^{-\frac{1}{2}}
D−21AD−21。上式的第一项保证
E
E
E在
G
G
G上的平滑,第二项保证
E
^
\hat{E}
E^不会偏离
E
E
E太多。上式可以通过迭代求解,迭代式为:
E
(
t
+
1
)
=
(
1
−
α
)
E
+
α
S
E
(
t
)
E^{(t+1)} = (1-\alpha)E + \alpha SE^{(t)}
E(t+1)=(1−α)E+αSE(t),其中
α
=
1
1
+
μ
,
E
(
0
)
=
E
\alpha = \frac{1}{1+\mu},\: E^{(0)} = E
α=1+μ1,E(0)=E。得到了
E
^
\hat{E}
E^然后呢?当然是修正
Z
Z
Z啦!
Z
(
r
)
=
Z
+
E
^
Z^{(r)} = Z + \hat{E}
Z(r)=Z+E^。
那么问题来了,为什么要这样呢? Z Z Z中的误差会沿着图中的边传播,结点 i i i处的误差会使得 i i i的邻居产生类似的误差,应当将这种误差 — 不确定性传播出去,即文中的error-correlation!
但是有一个问题:
∥
E
(
t
+
1
)
∥
2
≤
(
1
−
α
)
∥
E
∥
+
α
∥
S
∥
2
∥
E
(
t
)
∥
2
=
(
1
−
α
)
∥
E
∥
2
+
α
∥
E
(
t
)
∥
2
\left\|E^{(t+1)}\right\|_{2} \leq(1-\alpha)\|E\|+\alpha\|S\|_{2}\left\|E^{(t)}\right\|_{2}=(1-\alpha)\|E\|_{2}+\alpha\left\|E^{(t)}\right\|_{2}
∥∥∥E(t+1)∥∥∥2≤(1−α)∥E∥+α∥S∥2∥∥∥E(t)∥∥∥2=(1−α)∥E∥2+α∥∥∥E(t)∥∥∥2
因此
∥
E
(
t
)
∥
2
≤
∥
E
∥
2
\left\|E^{(t)}\right\|_{2} \leq\|E\|_{2}
∥∥E(t)∥∥2≤∥E∥2,可见在迭代求解过程中误差信息有一定损失,因此作者提出了对误差信息进行缩放。作者提出了两种缩放方法:
- Autoscale。因为在 L t L_t Lt上的误差是知道的,因此以 L t L_t Lt上的平均误差为比例进行缩放。即 Z i , : ( r ) = Z i , : + σ E ^ : , i / ∥ E ^ : , i T ∥ 1 Z_{i,:}^{(r)}=Z_{i,:}+\sigma \hat{E}_{:, i} /\left\|\hat{E}_{:, i}^{T}\right\|_{1} Zi,:(r)=Zi,:+σE^:,i/∥∥∥E^:,iT∥∥∥1 for i ∈ U i \in U i∈U,其中 σ = 1 ∣ L t ∣ ∑ j ∈ L t ∣ ∣ e j ∣ ∣ 1 \sigma = \frac{1}{|L_t|}\sum_{j \in L_t} ||e_j||_1 σ=∣Lt∣1∑j∈Lt∣∣ej∣∣1,其中 e j e_j ej为 E E E的 j − t h j-th j−th行;
- Scaled Fixed Diffusion。在迭代过程中保持标签数据上的误差不变,即 E U ( t + 1 ) = [ D − 1 A E ( t ) ] U , E L ( t ) = E L E_U^{(t+1)} = [D^{-1}AE^{(t)}]_U,\: E_L^{(t)} = E_L EU(t+1)=[D−1AE(t)]U,EL(t)=EL;
3.3 Smoothing final prediction with Prediction Correlation
通过上一步已经得到了 Z ( r ) Z^{(r)} Z(r),这一步是对 Z ( r ) Z^{(r)} Z(r)的“平滑”。这一步的动机是:\textbf{相邻的结点相似,更可能具有相同的标签,即文中的prediction correlation},这一步再次借助LP对结点的标签分布进行平滑。
首先构造一个 G G G中结点的标签分布 P ∈ R n × c P \in \mathbb{R}^{n \times c} P∈Rn×c, P L t = Y L t , G L v , U = Z L v , U ( r ) P_{L_t} = Y_{L_t},\: G_{L_v, U} = Z^{(r)}_{L_v, U} PLt=YLt,GLv,U=ZLv,U(r)。接着就是平滑了,也就是一个迭代的过程: P ( t + 1 ) = ( 1 − α ) P + α S P ( t ) P^{(t+1)} = (1-\alpha)P + \alpha SP^{(t)} P(t+1)=(1−α)P+αSP(t),一直迭代到收敛得到最终的收敛 Y ^ i j \hat{Y}_{ij} Y^ij。
4 总结
- 没用一股脑地上深度模型(当然,GNN大多不是深层的)。浅层模型+LP在transductive node classification上的效果直追/超过了一些GNN模型;
- 论文中的方法效果不错,且大大降低了模型的参数量、学习时间,速度快;
- 不足的是只能进行transductive的任务,目前的趋势是inductive learning;
- 不知道该论文的方法在其他任务上会有怎样的效果;
欢迎访问我的个人博客~~~
以及我的公众号【一起学AI】