基本信息
- 论文题目: SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS
- 首发日期: Sep 2016
这篇论文围绕图神经网络的半监督分类任务展开,共提出了两点:
- 在损失函数中取消拉普拉斯正则项
- 简化图卷积计算
拉普拉斯正则项的取消
在传统的图神经网络的训练过程中,损失函数表示如下
L=L0+λLreg=L0+λi,j∑Ai,j∣f(Xi)−f(XJ)∣2
其中,L0是目标的损失函数,Lreg是拉普拉斯正则项
拉普拉斯正则项:在传统图结构中,有一个假设:每个节点与其相连的节点是相似的
因此,该正则项的作用是惩罚相邻节点的表示差异过大
但,该论文指出,这个正则项可能会限制模型的表达能力。于是,提出了一个新的方式:直接砍掉正则项
L=L0
那么如何让模型学会利用图结构信息呢?
答案是强制赋予梯度:在反向传播时,对于给定标签的节点,强行将这个节点的梯度赋予相邻节点。
简化图卷积计算
背景
当时的图卷积还在严格地按照谱空间变换,然后逆变换的方式进行。空间的转换涉及到矩阵特征值分解,计算量很大O(n3)。
gθ=Ugθ(Λ)UTx , where Laplacian L=UΛUT
切比雪夫近似
于是,文中提到可以使用切比雪夫多形式来近似计算
gθ′(Λ)≈k=0∑Kθk′Tk(Λ) where Λ=λmax2−In
这样,就能将计算量大大减少。在实际过程中,一般将K设置为1,通过多层的堆叠,实现更好的效果。
在原始GCN中,归一化拉普拉斯定义为
L=In−D−1/2AD−1/2
其中,特征值的最小上界是2.那么就假设2是最大特征值,那么能推导出k=1的卷积近似为
gθ′⋆x=θ0′x−θ1′D−21AD−21x
每一层的卷积核有2个可学习参数:θ0和θ1
为了进一步减少过拟合情况的发生,甚至能让θ0和θ1共享参数(θ0=−θ1):
gθ′⋆x=θ(I+D−21AD−21)x
由于I+D−21AD−21特征值的范围是[0,2],为了保持梯度的稳定,需将其限制到[0,1]
Z=D−1/2AD−1/2XΘ
其中,Θ 是过滤器的可学习参数。
半监督学习
简便起见,这个demo由两层网络构成:
Z=softmax(A^ ReLu(A^XW0)W1) where A^=D−1/2AD−1/2
也就是说有两个可学习参数:W0和W1
最终使用交叉熵损失函数进行分类,取得了很好的效果

可以看到隐藏层很好地学会了表示节点,将不同类型的节点区分开来。
参考
如何理解 Graph Convolutional Network(GCN)? - superbrother的回答 - 知乎
https://www.zhihu.com/question/54504471/answer/332657604