Kipf-GCN《Semi-Supervised Classification With Graph Convolutional Networks》论文详解

目录

  • 1. 前言
  • 2. 提出GCN
    • 2.1 先前方法的局限性
    • 2.2 作者提出的方法
      • 2.2.1 引入谱卷积
      • 通过Chebyshev多项式改进卷积核
      • 对卷积操作进行简化
      • 使用一阶Chebyshev多项式的卷积核
      • 简化特征向量最大值
      • 进一步限制卷积核参数量
      • 对邻接矩阵和度矩阵进行重新规范化
      • 卷积操作的向量化形式
      • GCN的公式
  • GCN用于半监督图分类
    • 在无向图上进行半监督节点分类
  • GCN贡献
  • GCN局限性
  • 附录(作者简介)

1. 前言

这篇发表在ICLR上的论文很久就拜读了,论文作者Kipf和Welling都是大神级的人物,前者目前在谷歌大脑,后者是微软研究院的杰出科学家。

这篇文章在Related Work中提到,是基于第一代GCN(Spectral networks and locally connected networks on graphs,2014)和第二代GCN(Convolutional neural networks on graphs with fast localized spectral filtering,2016)。但进行了一系列的改进。
论文通过不断对谱卷积核进行近似来简化计算,使得模型复杂度与图的边数量呈线性关系,同时学习编码局部图结构和节点特征的隐藏层表示。在基于图的半监督分类学习中取得了SOTA结果。

2. 提出GCN

2.1 先前方法的局限性

先前的基于图的半监督学习方法,其标签信息通过基于图的显式正则化在图上平滑,如通过在损失函数中使用图拉普拉斯正则化项:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathcal{L}=\m… 这里,

  • L 0 \mathcal{L}_0 L0 表示图中有标签数据的有监督损失
  • f ( ⋅ ) f(\cdot) f() 是类似于神经网络的可微函数
  • λ \lambda λ是正则项的超参数
  • X X X 是节点特征向量 X i X_i Xi 组成的矩阵。
  • Δ = D − A \Delta=D-A Δ=DA 表示无向图 G = ( V , E ) \mathcal{G}=(\mathcal{V},\mathcal{E}) G=(V,E) 未标准化的图拉普拉斯矩阵, G \mathcal{G} G 是由 N N N 个顶点 v i ∈ V v_i\in\mathcal{V} viV 及相应的边 ( v i , v j ) ∈ E (v_i,v_j)\in\mathcal{E} (vi,vj)E 组成。
  • G \mathcal{G} G 的邻接矩阵为 A ∈ R N × N A\in\mathbb{R}^{N\times N} ARN×N
  • G \mathcal{G} G 的度矩阵为 D i i = ∑ j A i j D_{ii}=\textstyle\sum_{j}A_{ij} Dii=jAij,即每一行或每一列的和组成的对角矩阵。

式(1)依赖于 图中连接的节点可能共享相同标签 的假设。 但这种假设可能会限制建模能力,因为图的edges 不一定编码节点相似性,可能包含其他信息。

2.2 作者提出的方法

与上述方法不同的事,作者提出直接使用神经网络模型 f ( X , A ) f(X,A) f(X,A) 对图结构进行编码,并针对所有带有标签的节点在监督目标 L 0 \mathcal{L}_0 L0 上进行训练,而不包含正则项 L r e g \mathcal{L}_{reg} Lreg

作者通过谱图卷积一步步推导出GCN的表达式。(本节的前置知识请参阅博文:《关于谱图理论-图傅里叶变换-谱卷积等谱图领域知识的理解》1

2.2.1 引入谱卷积

图上的谱卷积定义为谱域中图顶点 x x x 与 带有参数 θ ∈ R N \theta\in\mathbb{R}^N θRN 的卷积核 g θ g_\theta gθ 的乘积:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_\theta\star … 其中 ,

  • x ∈ R N x\in\mathbb{R}^N xRN 是输入(每个顶点都是一个常数,一共 N N N 个顶点)
  • U U U 是标准化的图拉普拉斯 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=IND21AD21=UΛUT 的特征向量组成的矩阵,其中, Λ \Lambda Λ 是特征向量的对角化矩阵, U T x U^Tx UTx x x x 的图傅立叶变换, I N I_N IN 是单位矩阵。
  • g θ = d i a g ( θ ) g_\theta=diag(\theta) gθ=diag(θ) 是卷积核( θ ∈ R N \theta\in\mathbb{R}^N θRN) ,且为 L L L 特征值的函数,所以可以写为 g θ ( Λ ) g_\theta(\Lambda) gθ(Λ)

(2)式的计算开销很大,因为与 U U U 相乘的复杂度为 O ( N 2 ) \mathcal{O}(N^2) O(N2),并且,对于大型图来说,计算 L L L 的特征分解非常昂贵。

通过Chebyshev多项式改进卷积核

为了缓解计算开销大的问题,作者借鉴了 Hammond et al. (2011)2的论文,他们提出按照Chebyshev多项式 T k ( x ) T_k(x) Tk(x) 到第 K t h K^{th} Kth 阶的截断展开可以很好地近似 g θ ( Λ ) g_\theta(\Lambda) gθ(Λ)
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_{\theta^{'}}… 其中,重缩放的 Λ ~ = 2 λ m a x Λ − I N \tilde{\Lambda}={\frac 2 {\lambda_{max}}}\Lambda-I_N Λ~=λmax2ΛIN λ m a x \lambda_{max} λmax 是拉普拉斯矩阵 L L L 的最大特征值; θ ′ ∈ R K \theta^{'}\in\mathbb{R}^K θRK 是Chebyshev系数,是可训练的参数;

Chebyshev多项式的形式为 T k ( x ) = 2 x T k − 1 ( x ) − T k − 2 ( x ) T_k(x)=2xT_{k-1}(x)-T_{k-2}(x) Tk(x)=2xTk1(x)Tk2(x),其中 T 1 ( x ) = 1 T_1(x)=1 T1(x)=1 T 2 ( x ) = x T_2(x)=x T2(x)=x

对卷积操作进行简化

∵     \because\,\,\, g θ ′ ( Λ ) g_{\theta^{'}}(\Lambda) gθ(Λ) Λ \Lambda Λ k k k 阶多项式,我们知道图拉普拉斯矩阵是满秩实对称矩阵,它可以进行对角化分解 L = U Λ U T L=U\Lambda U^T L=UΛUT 1

∴     \therefore\,\,\, g θ ′ ( L ) g_{\theta^{'}}(L) gθ(L) U Λ U T U\Lambda U^T UΛUT k k k 阶多项式。

∵    \because\,\, ( U Λ U T ) k (U\Lambda U^T)^k (UΛUT)k= U Λ k U T U\Lambda^k U^T UΛkUT

∴     \therefore\,\,\, g θ ′ ( L ) = U g θ ′ ( Λ ) U T g_{\theta^{'}}(L)=Ug_{\theta^{'}}(\Lambda)U^T gθ(L)=Ugθ(Λ)UT

∴     \therefore\,\,\,
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_{\theta^{'}}… 重缩放的拉普拉斯矩阵 L ~ = 2 λ m a x L − I N \tilde{L}={\frac 2 {\lambda_{max}}}L-I_N L~=λmax2LIN。由于(4)式只与拉普拉斯矩阵有关,所以计算复杂度为 O ( ∣ E ∣ ) \mathcal{O}(|\mathcal{E}|) O(E),即与边的数量呈线性关系。

使用一阶Chebyshev多项式的卷积核

图卷积神经网络可以通过堆叠多个(4)式形式的卷积层来构建,并在每个层的后面增加一个非线性变换。如果将每一层卷积核的Chebyshev多项式限制为一阶,即:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_{\theta^{'}}… 此时卷积核是是 L L L 的线性函数。
实验表明,用这种方式,仍然可以通过堆叠多个这样的层来增强卷积核函数表达能力。

简化特征向量最大值

通过上文可以看出,重缩放的图拉普拉斯为 L ~ = 2 λ m a x L − I N \tilde{L}={\frac 2 {\lambda_{max}}}L-I_N L~=λmax2LIN,其依旧需要用到特征值,也就是需要进行特征分解,这就导致了高的计算开销,为了降低计算复杂度,作者提出 λ m a x ≈ 2 \lambda_{max}\approx2 λmax2 来避免矩阵分解,这种做法是有一定的理论依据的, 通过查证,发现经典书籍《Spectral Graph Theory》中有相关的论述及证明,证明在《Spectral Graph Theory (revised and improved)》的第一章:CHAPTER 1 Eigenvalues and the Laplacian of a graph。我也在另一篇博文《kipf-GCN中关于标准化的拉普拉斯矩阵性质的初探》中进行了验证,其 λ m a x ≤ 2 \lambda_{max}\le2 λmax2 ,所以作者使用出 λ m a x ≈ 2 \lambda_{max}\approx2 λmax2 简化没有问题。

所以(5)式可以化简为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_{\theta^{'}}… 可见,卷积核已经完全不需要矩阵分解操作。卷积核参数可以在整个图上共享,连续应用这种形式的卷积核可以有效地卷积节点的 k k k 阶邻域,其中 k k k 是神经网络模型中连续卷积核操作或卷积层的数量。(这个结论还需要好好理解。)

进一步限制卷积核参数量

在实践中,进一步限制参数的数量以解决过度拟合并最小化每层的运算数量(例如矩阵乘法)可能是有益的。令 θ = θ ′ 0 = − θ ′ 1 \theta=\theta{'}_0=-\theta{'}_1 θ=θ0=θ1,(6)式可以转化为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ g_{\theta^{'}}…

对邻接矩阵和度矩阵进行重新规范化

作者给出的理由是,(7)式中的 I N + D − 1 2 A D − 1 2 I_N+D^{-\frac1 2}AD^{-\frac1 2} IN+D21AD21 的特征值和特征向量的范围是 [ 0 , 2 ] [0,2] [0,2],当在深度神经网络模型中使用时,重复应用此运算符可能会导致数值不稳定性和爆炸/消失梯度。为了缓解这个问题,作者提出了“renormalization trick”,也就是对邻接矩阵和度矩阵进行重新规范化:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ I_N+D^{-\frac1… (注:为什么不除以2进行缩放呢?)

卷积操作的向量化形式

由于图中的每个顶点都可以视为一个embedding,因此输入 x ∈ R N x\in\mathbb{R}^N xRN 的向量化形式为 X ∈ R N × C X\in\mathbb{R}^{N\times C} XRN×C,即每个顶点是 C C C 维向量。如果有 F F F 个卷积核或feature maps,则该层神经元的定义为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ Z= \tilde{D}^{… 其中, Θ ∈ R C × F \mathcal{\Theta}\in\mathbb{R}^{C\times F} ΘRC×F 是卷积核参数矩阵。经过计算可知卷积结果 Z ∈ R N × F Z\in\mathbb{R}^{N\times F} ZRN×F
这个卷积操作的复杂度为 O ( ∣ E ∣ F C ) \mathcal{O}(|\mathcal{E}|FC) O(EFC)

GCN的公式

最终,逐层传播的多层图卷积网络为:
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ H^{l+1}=\sigma… 其中 W ( l ) W^{(l)} W(l) 是第 l l l 层的权重; σ ( ⋅ ) \sigma(\cdot) σ() 是激活函数,如ReLU; H ( l ) ∈ R N × D H^{(l)}\in\mathbb{R}^{N\times D} H(l)RN×D 是激活后的第 l l l 层神经元, H ( 0 ) = X H^{(0)}=X H(0)=X


GCN用于半监督图分类

作者提出了简单、灵活且高效的图上操作算法GCN,可以在数据 X X X 和 邻接矩阵 A A A 上调整GCN模型来放宽基于图的半监督学习中通常做的某些假设限制。
用于半监督学习的多层GCN的整体模型如图1所示。
Kipf-GCN《Semi-Supervised Classification With Graph Convolutional Networks》论文详解_第1张图片
图1:用于半监督学习的GCN示意图(a) 输入节点的维度为 C C C,输出节点的维度为 F F F,图结构在训练和测试中共享(也就是transductive,这在论文相关文献的4.2节及GraphSage中均有提及!), Y i Y_i Yi是带标签数据,从数据集介绍可以看到,很多数据集90%的数据都是无标签数据。(b) 在使用5%有标签的Cora数据集上训练的两层GCN上隐藏层激活的t-SNE可视化,颜色表示文档类别。

在无向图上进行半监督节点分类

使用两层GCN进行节点分类。首先,可以在预处理过程中求出 A ^ = D ~ − 1 2 A ~ D ~ − 1 2 \hat{A}=\tilde{D}^{-\frac1 2}\tilde{A}\tilde{D}^{-\frac1 2} A^=D~21A~D~21 ,则前向传播模型的形式为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ Z=f(X,A)=softm… 其中, A ∈ R N × N A\in\mathbb{R}^{N\times N} ARN×N X ∈ R N × C X\in\mathbb{R}^{N\times C} XRN×C W ( 0 ) ∈ R C × H W^{(0)}\in\mathbb{R}^{C\times H} W(0)RC×H W ( 1 ) ∈ R H × F W^{(1)}\in\mathbb{R}^{H\times F} W(1)RH×F H H H 是输入到隐层的feature maps个数, F F F 是输出层的每个结点的维度。所以 Z ∈ R N × F Z\in\mathbb{R}^{N\times F} ZRN×F 代表了 N N N 个节点在 F F F 个类别上的概率,比如Cora有2708个节点,7个类别,则 N = 2708 ,   F = 7 N=2708,\,F=7 N=2708,F=7

最终的损失函数为多分类交叉熵损失函数:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathcal{L}=-\… 其中, Y L \mathcal{Y_L} YL 是有标签的节点索引。


GCN贡献

(1) 提出了逐层传播的图学习算法,即GCN;
(2) 展示了GCN如何用于图中节点的快速且可扩展的半监督分类;
(3) 在数据集上的分类精度和效率达到了SOTA。

GCN局限性

内存要求: GCN对内存需求随着数据集的大小而线性增长。
不支持有向图和带有特征的边: GCN目前不自然地支持边特征,并且仅限于无向图(加权或未加权)。
假设限制: GCN隐式地假设局部性(对于具有K层的GCN,依赖于K阶邻域)以及自连接与边缘对相邻节点的同等重要性。
此外,在GraphSage中,也表明基于transductive的GCN难以泛华到其他的图,因为GCN要求在训练期间图中的所有节点都存在,不会自然地泛化到看不见的节点。

附录(作者简介)

Kipf和Welling都是大神级的人物。
Kipf的简历显示,他分别以3.93/4.0、3.97/4.0的高分绩点从埃尔朗根-纽伦堡大学获得物理学本科和硕士学位,目前为谷歌大脑的高级研究科学家。
Max Welling教授是阿姆斯特丹大学机器学习的研究主席,也是微软研究院的杰出科学家。CIFAR和ELLIS的研究员及创始董事会成员。他之前担任过高通科技公司副总裁,加州大学欧文分校教授。


  1. 关于谱图理论-图傅里叶变换-谱卷积等谱图领域知识的理解 ↩︎ ↩︎

  2. David K. Hammond, Pierre Vandergheynst, and Remi Gribonval. Wavelets on graphs via spectral graph theory. Applied and Computational Harmonic Analysis, 30(2):129–150, 2011. ↩︎

你可能感兴趣的:(专栏03-图神经网络,GCN,图神经网络,图卷积网络)