半监督分类图卷积网络 Semi-supervised classification with graph convolutional networks
Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.
本文提出了一个基于卷积神经网络处理图结构数据的半监督学习算法,选择的卷积架构来自于对谱图卷积的局部一阶近似。
引言
考虑对图中的顶点分类问题,顶点集合的一个小子集具有标签。该问题可以设计为基于图的半监督学习,通过基于图的显式正则化方法对图上标签信息进行平滑,比如在损失函数中使用图Laplacian正则项:
L
=
L
0
+
λ
L
r
e
g
,
w
i
t
h
L
r
e
g
=
∑
i
,
j
A
i
j
∣
∣
f
(
X
i
)
−
f
(
X
j
)
∣
∣
2
=
f
(
X
)
T
Δ
f
(
X
)
.
(
1
)
\mathcal{L}=\mathcal{L}_0+\lambda\mathcal{L}_{reg},~~with ~~\mathcal{L}_{reg}=\sum_{i,j}A_{ij}||f(X_i)-f(X_j)||^2=f(X)^T\Delta f(X).~~~~(1)
L=L0+λLreg, with Lreg=i,j∑Aij∣∣f(Xi)−f(Xj)∣∣2=f(X)TΔf(X). (1),这里
L
0
\mathcal{L}_0
L0 表示带标签部分子图的监督损失。
f
(
⋅
)
f(\cdot)
f(⋅) 为可微函数,
λ
\lambda
λ 权重因子,
X
X
X是节点特征向量
X
i
X_i
Xi 构成的矩阵。
Δ
=
D
−
A
\Delta=D-A
Δ=D−A 表示无向图
G
=
(
V
−
ε
)
\mathcal{G}=(\mathcal{V}-\Large{\varepsilon)}
G=(V−ε) 的拉普拉斯矩阵,邻接矩阵
A
∈
R
N
×
N
A\in \mathbb{R}^{N\times N}
A∈RN×N,度矩阵
D
i
i
=
∑
j
A
i
j
D_{ii}=\sum_{j}A_{ij}
Dii=∑jAij。等式(1)依赖于图中相邻顶点共享相同的标签。
本文直接使用神经网络模型 f ( X , A ) f(X,A) f(X,A) 对图结构编码,通过有监督的目标 L 0 \mathcal{L}_0 L0对模型进行训练,规避了损失函数中基于图的显式正则项。
创新有两点。
- 通过对谱图卷积的一阶近似,引入了一个直接应用于图的层级神经网络传播规则。
- 证明了这种基于图神经网络模型可以应用到图上顶点的快速可拓展半监督分类任务。
图的快速近似卷积
对基于图的神经网络模型提供理论上的支持。考虑多层的图卷积神经网络(GCN),传播规则可以表示为:
H
(
l
+
1
)
=
σ
(
D
~
−
1
2
A
~
D
~
−
1
2
H
(
l
)
W
(
l
)
)
.
(
2
)
H^{(l+1)}=\sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{(l)}W^{(l)}).~~~~~~~~~~~~(2)
H(l+1)=σ(D~−21A~D~−21H(l)W(l)). (2),其中
A
~
=
A
+
I
N
\tilde{A}=A+I_N
A~=A+IN,
D
~
i
i
=
∑
j
A
~
i
j
\tilde{D}_{ii}=\sum_j\tilde{A}_{ij}
D~ii=∑jA~ij,
W
(
l
)
W^{(l)}
W(l)可训练的权重矩阵。
σ
(
⋅
)
\sigma(\cdot)
σ(⋅)表示激活函数,比如使用
R
e
L
U
(
⋅
)
=
max
(
0
,
⋅
)
ReLU(\cdot)=\max(0,\cdot)
ReLU(⋅)=max(0,⋅)。
H
(
l
)
∈
R
N
×
D
H^{(l)}\in \mathbb{R}^{N\times D}
H(l)∈RN×D是激活矩阵,
H
(
0
)
=
X
H^{(0)}=X
H(0)=X。下面进行详细说明。
谱图卷积
考虑图上的谱卷积,由信号
x
∈
R
N
x\in \mathbb{R}^N
x∈RN和过滤器
g
θ
=
d
i
a
g
(
θ
)
g_{\theta}=diag(\theta)
gθ=diag(θ) 共同定义为:
g
θ
⋆
x
=
U
g
θ
U
T
x
(
3
)
g_{\theta}\star x = Ug_{\theta}U^Tx~~~~~~~~~~~~~~~~~~~~(3)
gθ⋆x=UgθUTx (3)其中
U
U
U是标准化图拉普拉斯矩阵
L
L
L的特征矩阵,
L
=
i
N
−
D
−
1
2
A
D
−
1
2
=
U
Λ
U
T
L=i_N-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}=U\Lambda U^T
L=iN−D−21AD−21=UΛUT。
通过Chebyshev 多项式对上述卷积进行近似:
g
θ
′
⋆
x
≈
∑
k
=
0
K
θ
k
′
T
k
(
L
~
)
x
(
4
)
g_{\theta'} \star x \approx \sum_{k=0}^K\theta_k'T_k(\tilde{L})x~~~~~~~~~~~~~~(4)
gθ′⋆x≈k=0∑Kθk′Tk(L~)x (4)其中
L
~
=
2
λ
m
a
x
L
−
I
N
,
T
k
(
L
~
)
=
2
L
~
T
k
−
1
(
L
~
)
−
T
k
−
2
(
L
~
)
,
T
0
(
L
~
)
=
1
,
T
1
(
L
~
)
=
L
~
\tilde{L}=\frac{2}{\lambda_{max}}L-I_N, T_k(\tilde{L})=2\tilde{L}T_{k-1}(\tilde{L})-T_{k-2}(\tilde{L}),T_0(\tilde{L})=1,T_1(\tilde{L})=\tilde{L}
L~=λmax2L−IN,Tk(L~)=2L~Tk−1(L~)−Tk−2(L~),T0(L~)=1,T1(L~)=L~。
逐层线性模型
基于图卷积的神经网络模型可以通过等式(4)的模式堆积多个卷积层建立。每一层都是逐点非线性的。在这种方式下,虽然可以得到一系列丰富的卷积过滤函数,但是没有明确限制 Chebyshev 多项式的具体参数。
直观地期望这样的模型能够缓解过拟合的问题,主要针对顶点度分布跨度很大图的局部邻域结构,例如社交网络,引用网络,知识图谱等。
近似
λ
m
a
x
≈
2
\lambda_{max}\approx2
λmax≈2,
K
=
1
K=1
K=1 等式(4)可以线性简化为 :
g
θ
′
⋆
x
≈
θ
0
′
x
+
θ
1
′
(
L
−
I
N
)
x
=
θ
0
′
x
−
θ
1
′
D
−
1
2
A
D
−
1
2
x
(
5
)
g_{\theta'} \star x \approx \theta_0'x+\theta_1'(L-I_N)x=\theta_0'x-\theta_1'D^{-\frac{1}{2}A}D^{-\frac{1}{2}}x~~~~~~~~~~~~(5)
gθ′⋆x≈θ0′x+θ1′(L−IN)x=θ0′x−θ1′D−21AD−21x (5)其中
θ
0
′
\theta_0'
θ0′和
θ
1
′
\theta_1'
θ1′是两个自由参数。参数在全图上共享。
实际应用中可以通过限制参数的数量来达到预防过拟合的问题,同时最小化每层的运算次数。公式(5)可用下面公式替换表示:
g
θ
⋆
x
≈
θ
(
I
N
+
D
−
1
2
A
D
−
1
2
)
x
(
6
)
~~~~~g_\theta\star x\approx\theta(I_N+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(6)
gθ⋆x≈θ(IN+D−21AD−21)x (6)其中
θ
=
θ
0
′
=
−
θ
1
′
\theta=\theta_0'=-\theta_1'
θ=θ0′=−θ1′。 直接应用该迭代会导致数值的不稳定,在深度神经网络模型中可能会导致梯度爆炸或消失。为了减弱这个问题,了引入了重归一化技术:
I
N
+
D
−
1
2
A
D
−
1
2
→
D
~
−
1
2
A
~
D
~
−
1
2
I_N+D^{-\frac{1}{2}}AD^{-\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
,
D
~
i
i
=
∑
j
A
~
i
j
\tilde{A}=A+I_N,\tilde{D}_{ii}=\sum_j\tilde{A}_{ij}
A~=A+IN,D~ii=∑jA~ij。
将上述定义进行推广,扩展到多信道的信号
X
∈
R
N
×
C
X\in\mathbb{R}^{N\times C}
X∈RN×C上,此时每个顶点都由
C
C
C维特征组成,与之相对应的具有F个过滤器的映射如下:
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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(7)
Z=D~−21A~D~−21XΘ (7)其中
Θ
∈
R
C
×
F
,
Z
∈
R
N
×
F
\Theta\in\mathbb{R}^{C\times F},Z\in\mathbb{R}^{N\times F}
Θ∈RC×F,Z∈RN×F。运算的复杂度是
o
\Large{o}
o
(
∣
ε
(|\Large{\varepsilon}
(∣ε
∣
F
C
)
|FC)
∣FC)。
半监督顶点分类
上文中引入了图上简单有效灵活的信息传播模型 f ( X , A ) f(X,A) f(X,A),现重新研究顶点的半监督分类任务。期望这种模型能够在邻接矩阵中提取原始数据 X X X中不存在的信息,例如引文网络中文档间的引用链接或知识图谱中的关系。用于半监督学习多层 GCN 的整体模型,由图1所示。
下面考虑两层 GCN 的半监督顶点分类问题,图的邻接矩阵是对称矩阵,数值可为二值的或权重的。在预处理时,计算 A ^ = D ~ − 1 2 A ~ D ~ − 1 2 \hat{A}=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}} A^=D~−21A~D~−21,前向模型如下: Z = f ( X , A ) = s o f t m a x ( A ^ R e L U ( A ^ X W ( 0 ) ) W ( 1 ) ) ( 8 ) Z=f(X,A)=softmax(\hat{A}ReLU(\hat{A}XW^{(0)})W^{(1)})~~~~~~~~(8) Z=f(X,A)=softmax(A^ReLU(A^XW(0))W(1)) (8)其中 W ( 0 ) ∈ R C × H W^{(0)}\in\mathbb{R}^{C\times H} W(0)∈RC×H是输入层到隐层的权重矩阵,隐层具有 H H H个特征, W ( 1 ) ∈ R H × F W^{(1)}\in\mathbb{R}^{H\times F} W(1)∈RH×F是隐层到输出层的权重矩阵。softmax激活函数定义为 s o f t m a x ( x i ) = 1 Z exp ( x i ) , Z = ∑ i exp ( x i ) softmax(x_i)=\frac{1}{Z}\exp(x_i),Z=\sum_i\exp(x_i) softmax(xi)=Z1exp(xi),Z=∑iexp(xi)。对半监督多分类任务,采用交叉熵作为损失函数, Y L \mathcal{Y}_L YL是有标签顶点的集合: L = − ∑ l ∈ Y L ∑ f = 1 F Y l f ln Z l f ( 9 ) ~~~~~~~~~~~~~~~~~~\mathcal{L}=-\sum_{l\in\mathcal{Y}_L}\sum^F_{f=1}Y_{lf}\ln Z_{lf}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(9) L=−l∈YL∑f=1∑FYlflnZlf (9)
使用梯度下降方法对神经网络权重矩阵进行训练。每个训练迭代步使用全部的数据进行训练,只要数据集能够只用于内存,这是一个可行的选项。
实验
通过大量实验对模型进行测试:
- 半监督文本分类-引文网络
- 半监督实体分类-知识图谱中提取的二部图
- 多种图传播模型评估
- 随机图运行时间分析
数据集
数据统计如Table 1示,引文网络数据集由Citeseer, Cora, Pubmed,顶点表示文档,便表示引用连接。
实验设置
训练两层的 GCN,在1000个有标签的测试集样本上评估预测准确率,最大迭代200个 epoch,使用 Adam 的方法学习率设置为0.01。
基线模型有:
- label propagation(LP)
- semi-supervised embedding(SemiEmb)
- manifold regularization(ManiReg)
- DeepWalk
- iterative classification algorithm(ICA)
- Planetoid
实验结果
Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.