这是Kipf博士期间发表在ICLR’17的一篇论文,在GCN的相关工作中很具影响力,目前被引了3k多次。它的主要贡献在于对 [1] 中的Chebyshev多项式做了一阶估计,提出了一个简单但有效的 propagation rule(GCN层),并且在 graph-based semi-supervised learning 任务上有不错的表现。
Graph-based semi-supervised learning
在图上节点分类问题上(只有一部分节点有label),经典的方法主要有两类:加入图拉普拉斯正则项(graph Laplacian regularization)和基于embedding(graph embedding-based)的方法。
Graph Laplacian regularization
loss function 中加入图拉普拉斯正则项,是一种较为经典的方式,如下式:
L = L 0 + λ L r e g \mathcal{L}=\mathcal{L}_0 + \lambda \mathcal{L}_{reg} L=L0+λLreg
L r e g = ∑ i , j A i , j ∥ f ( X i ) − f ( X j ) ∥ 2 = f ( X ) T △ f ( X ) \mathcal{L}_{reg} = \sum_{i,j}A_{i,j}\|f(X_i)-f(X_j)\|^2=f(X)^T \bigtriangleup f(X) Lreg=i,j∑Ai,j∥f(Xi)−f(Xj)∥2=f(X)T△f(X)
其中 L 0 \mathcal{L}_0 L0 是监督学习的 loss, f ( ⋅ ) f( \cdot) f(⋅) 可以是神经网络, λ \lambda λ 为正则项系数, X X X 是节点的特征矩阵, △ \bigtriangleup △ 是图上拉普拉斯矩阵。第二个式子即为图拉普拉斯正则项,不难看出式子的最右边是一个二次型,它的结果为图信号的总变差(Total Variation),刻画了图信号整体的平滑度。这么说有点抽象,为什么要把图信号的全局平滑度作为惩罚项。这里因为上述形式是做了一个假设:图上相连节点的 label 有很大可能是相同的。那么,就希望模型 f ( ⋅ ) f(\cdot) f(⋅)能够较好预测出的两个相连的节点 m, n的label是相同的,也就是要求模型训练过程,既要满足 ∥ y m − f ( X m ) ∥ 2 \|y_m-f(X_m)\|^2 ∥ym−f(Xm)∥2和 ∥ y n − f ( X n ) ∥ 2 \|y_n-f(X_n)\|^2 ∥yn−f(