基本信息

  • 论文题目: SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS
  • 首发日期: Sep 2016

这篇论文围绕图神经网络的半监督分类任务展开,共提出了两点:

  1. 在损失函数中取消拉普拉斯正则项
  2. 简化图卷积计算

拉普拉斯正则项的取消

在传统的图神经网络的训练过程中,损失函数表示如下

L=L0+λLreg=L0+λi,jAi,jf(Xi)f(XJ)2L=L_0+\lambda L_{\text{reg}}=L_0+\lambda \sum_{i,j}A_{i,j}|f(X_i)-f(X_J)|^2

其中,L0L_0是目标的损失函数,LregL_{\text{reg}}是拉普拉斯正则项
拉普拉斯正则项:在传统图结构中,有一个假设:每个节点与其相连的节点是相似的
因此,该正则项的作用是惩罚相邻节点的表示差异过大

但,该论文指出,这个正则项可能会限制模型的表达能力。于是,提出了一个新的方式:直接砍掉正则项

L=L0L=L_0

那么如何让模型学会利用图结构信息呢?
答案是强制赋予梯度:在反向传播时,对于给定标签的节点,强行将这个节点的梯度赋予相邻节点。

简化图卷积计算

背景

当时的图卷积还在严格地按照谱空间变换,然后逆变换的方式进行。空间的转换涉及到矩阵特征值分解,计算量很大O(n3)O(n^3)

gθ=Ugθ(Λ)UTx , where Laplacian L=UΛUTg_\theta=Ug_\theta(\Lambda) U^T x \text{ , where Laplacian }L=U\Lambda U^T

切比雪夫近似

于是,文中提到可以使用切比雪夫多形式来近似计算

gθ(Λ)k=0KθkTk(Λ~) where Λ~=2λmaxIng_{\theta'}(\Lambda)\approx \sum_{k=0}^K \theta_k'T_k(\widetilde{\Lambda}) \text{ where }\widetilde{\Lambda}=\frac{2}{\lambda_{\max}}-I_n

这样,就能将计算量大大减少。在实际过程中,一般将KK设置为1,通过多层的堆叠,实现更好的效果。

在原始GCN中,归一化拉普拉斯定义为

L~=InD1/2AD1/2\widetilde{L}=I_n-D^{-1/2}AD^{-1/2}

其中,特征值的最小上界是2.那么就假设2是最大特征值,那么能推导出k=1k=1的卷积近似为

gθx=θ0xθ1D12AD12xg_{\theta'}\star x=\theta_0'x-\theta_1' D^{-\frac{1}{2}}A D^{-\frac{1}{2}}x

每一层的卷积核有2个可学习参数:θ0\theta_0θ1\theta_1
为了进一步减少过拟合情况的发生,甚至能让θ0\theta_0θ1\theta_1共享参数(θ0=θ1\theta_0=-\theta_1):

gθx=θ(I+D12AD12)xg_{\theta'}\star x=\theta (I+D^{-\frac{1}{2}}A D^{-\frac{1}{2}})x

由于I+D12AD12I+D^{-\frac{1}{2}}A D^{-\frac{1}{2}}特征值的范围是[0,2][0,2],为了保持梯度的稳定,需将其限制到[0,1][0,1]

Z=D~1/2A~D~1/2XΘZ=\widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2}X\Theta

其中,Θ\Theta 是过滤器的可学习参数。

半监督学习

简便起见,这个demo由两层网络构成:

Z=softmax(A^ ReLu(A^XW0)W1) where A^=D1/2AD1/2Z=\text{softmax}(\hat{A} \text{ ReLu}(\hat{A}XW^0)W^1)\text{ where }\hat{A}=D^{-1/2}A D^{-1/2}

也就是说有两个可学习参数:W0W^0W1W^1

最终使用交叉熵损失函数进行分类,取得了很好的效果
左:卷积示意图。右:隐藏层降维示意图

可以看到隐藏层很好地学会了表示节点,将不同类型的节点区分开来。

参考

如何理解 Graph Convolutional Network(GCN)? - superbrother的回答 - 知乎
https://www.zhihu.com/question/54504471/answer/332657604