论文地址:Semi-Supervised Classification with Graph Convolutional Networks
图半监督学习:指图上只有部分样本(节点)有标签,这些样本通过边进行标签传播以标记那些没有标签的样本。
文章主要贡献:作者基于谱图卷积的1阶近似提出了图卷积神经网络,该方法在大图上高效的完成图上的节点半监督分类任务。
理论基础:谱图卷积
注:作者文中使用的是无向图。
假设图信号为
x
∈
R
N
x \in \mathbb{R}^{N}
x∈RN,滤波器
g
θ
=
diag
(
θ
)
g_{\theta}=\operatorname{diag}(\theta)
gθ=diag(θ)由
θ
\theta
θ参数化,则图信号上的卷积可以定义为:
g
θ
⋆
x
=
U
g
θ
U
⊤
x
(1)
g_{\theta} \star x=U g_{\theta} U^{\top} x \tag{1}
gθ⋆x=UgθU⊤x(1)
其中
U
U
U是正则化的拉普拉斯矩阵的特征向量矩阵,图的拉普拉斯矩阵的正则化为:
L
=
D
−
1
/
2
(
D
−
A
)
D
−
1
/
2
=
I
N
−
D
−
1
/
2
A
D
−
1
/
2
(2)
\begin{aligned} L & = D^{-1/2}(D - A)D^{-1/2} \\ & = I_N - D^{-1/2}AD^{-1/2} \end{aligned} \tag{2}
L=D−1/2(D−A)D−1/2=IN−D−1/2AD−1/2(2)
其中
D
−
A
D - A
D−A为未正则化的拉普拉斯矩阵,
D
D
D为图的度矩阵,
A
A
A是图的邻接矩阵。无向图上的拉普拉斯矩阵是一个实对称半正定矩阵,基于此,图的拉普拉斯矩阵可以分解为:
L
=
U
Λ
U
⊤
(3)
L = U \Lambda U^{\top} \tag{3}
L=UΛU⊤(3)
其中
Λ
\Lambda
Λ是拉普拉斯矩阵的特征值组成的对角阵。
L
L
L的特征向量可以构成一个正交空间,即:
U
T
U
=
I
(4)
U^T U = I \tag{4}
UTU=I(4)
基于上述介绍,公式(1)中的
U
g
θ
Ug_{\theta}
Ugθ和
U
T
x
U^Tx
UTx可以看作将滤波器和图信号在正则化的图拉普拉斯矩阵的特征向量张成的特征空间中的投影。而
g
θ
g_\theta
gθ可以看作
L
L
L的特征值的函数
g
θ
(
Λ
)
g_{\theta}(\Lambda)
gθ(Λ)。因此,图谱卷积即先将图信号和滤波器投影到图的谱域,然后进行卷积操作。
但是公式(1)的计算代价非常高,特征值分解的复杂度为
O
(
N
3
)
O(N^3)
O(N3) 。因此一般都不会直接使用特征分解,而是对
g
θ
(
Λ
)
g_{\theta}(\Lambda)
gθ(Λ)进行估计,在本文中便是使用切比雪夫多项式来对其进行估计,即:
g
θ
′
⋆
x
≈
∑
k
=
0
K
θ
k
′
T
k
(
L
~
)
x
(5)
g_{\theta^{\prime}} \star x \approx \sum_{k=0}^{K} \theta_{k}^{\prime} T_{k}(\tilde{L}) x \tag{5}
gθ′⋆x≈k=0∑Kθk′Tk(L~)x(5)
其中
L
~
=
2
λ
max
L
−
I
N
\tilde{L}=\frac{2}{\lambda_{\max }} L-I_{N}
L~=λmax2L−IN(
λ
m
a
x
\lambda_{max}
λmax表示
L
L
L最大的特征值),
T
k
(
L
^
)
T_k(\hat{L})
Tk(L^)代表切比雪夫多项式。
作者假设
K
=
1
,
λ
m
a
x
=
2
,
θ
=
θ
0
′
=
−
θ
1
′
K = 1, \lambda_{max} = 2, \theta = \theta'_{0} = - \theta'_{1}
K=1,λmax=2,θ=θ0′=−θ1′,公式(5)可以简写为:
g
θ
′
⋆
x
≈
θ
0
′
x
+
θ
1
′
(
L
−
I
N
)
x
=
θ
0
′
x
−
θ
1
′
D
−
1
2
A
D
−
1
2
x
=
θ
(
I
N
+
D
−
1
2
A
D
−
1
2
)
x
(6)
\begin{aligned} g_{\theta^{\prime}} \star x &\approx \theta_{0}^{\prime} x+\theta_{1}^{\prime}\left(L-I_{N}\right) x \\ &=\theta_{0}^{\prime} x-\theta_{1}^{\prime} D^{-\frac{1}{2}} A D^{-\frac{1}{2}} x \\ &= \theta\left(I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}}\right) x \end{aligned} \tag{6}
gθ′⋆x≈θ0′x+θ1′(L−IN)x=θ0′x−θ1′D−21AD−21x=θ(IN+D−21AD−21)x(6)
此外,作者使用了一个renormalization trick:
I
N
+
D
−
1
2
A
D
−
1
2
→
D
~
−
1
2
A
~
D
~
−
1
2
I_{N}+D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \rightarrow \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}
IN+D−21AD−21→D~−21A~D~−21,其中
A
~
=
A
+
I
N
\tilde{A}=A+I_{N}
A~=A+IN,
D
~
i
i
=
∑
j
A
~
i
j
\tilde{D}_{i i}=\sum_{j} \tilde{A}_{i j}
D~ii=∑jA~ij。将该定义泛化到矩阵模式,设图信号矩阵为
X
∈
R
N
×
C
X \in \mathbb{R}^{N \times C}
X∈RN×C,则滤波器在图信号
X
X
X的卷积为:
Z
=
D
~
−
1
2
A
~
D
~
−
1
2
X
Θ
(7)
Z=\tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}} X \Theta \tag{7}
Z=D~−21A~D~−21XΘ(7)
其中 Θ \Theta Θ 表示滤波参数。
GCN模型
基于谱图卷积,作者设计了一个2层的GCN模型用于半监督节点分类任务,其形式化定义为:
Z
=
f
(
X
,
A
)
=
softmax
(
A
^
ReLU
(
A
X
W
(
0
)
^
)
W
(
1
)
)
(8)
Z = f(X,A) = \text{softmax}(\hat{A} \text{ ReLU}(\hat{AXW^{(0)}})W^{(1)}) \tag{8}
Z=f(X,A)=softmax(A^ ReLU(AXW(0)^)W(1))(8)
其中
W
(
0
)
W^{(0)}
W(0)和
W
(
1
)
W^{(1)}
W(1)分别表示第一层和第二层的权重参数。作者使用交叉熵损失函数来进行模型的优化。下图是2层GCN模型的可视化,以及在Cora数据集上隐藏层表示的t-SNE降维可视化结果。
实验部分
作者测评的数据集总结如下:
注:Label rate表示有标签的节点在图中的占比。
与其它模型的性能比较结果如下所示,从结果可以看出GCN的性能超过其它模型一截。
结语
以上便是本文的全部内容,要是觉得不错的话,可以点个赞或关注一下博主,你们的支持是博主进步的不竭动力,当然要是有问题的话也敬请批评指正!!!