这篇发表在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结果。
先前的基于图的半监督学习方法,其标签信息通过基于图的显式正则化在图上平滑,如通过在损失函数中使用图拉普拉斯正则化项:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathcal{L}=\m… 这里,
式(1)依赖于 图中连接的节点可能共享相同标签 的假设。 但这种假设可能会限制建模能力,因为图的edges 不一定编码节点相似性,可能包含其他信息。
与上述方法不同的事,作者提出直接使用神经网络模型 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)
图上的谱卷积定义为谱域中图顶点 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 … 其中 ,
(2)式的计算开销很大,因为与 U U U 相乘的复杂度为 O ( N 2 ) \mathcal{O}(N^2) O(N2),并且,对于大型图来说,计算 L L L 的特征分解非常昂贵。
为了缓解计算开销大的问题,作者借鉴了 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)=2xTk−1(x)−Tk−2(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~=λmax2L−IN。由于(4)式只与拉普拉斯矩阵有关,所以计算复杂度为 O ( ∣ E ∣ ) \mathcal{O}(|\mathcal{E}|) O(∣E∣),即与边的数量呈线性关系。
图卷积神经网络可以通过堆叠多个(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~=λmax2L−IN,其依旧需要用到特征值,也就是需要进行特征分解,这就导致了高的计算开销,为了降低计算复杂度,作者提出 λ m a x ≈ 2 \lambda_{max}\approx2 λmax≈2 来避免矩阵分解,这种做法是有一定的理论依据的, 通过查证,发现经典书籍《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 λmax≤2 ,所以作者使用出 λ m a x ≈ 2 \lambda_{max}\approx2 λmax≈2 简化没有问题。
所以(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+D−21AD−21 的特征值和特征向量的范围是 [ 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 x∈RN 的向量化形式为 X ∈ R N × C X\in\mathbb{R}^{N\times C} X∈RN×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} Z∈RN×F。
这个卷积操作的复杂度为 O ( ∣ E ∣ F C ) \mathcal{O}(|\mathcal{E}|FC) O(∣E∣FC)。
最终,逐层传播的多层图卷积网络为:
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,可以在数据 X X X 和 邻接矩阵 A A A 上调整GCN模型来放宽基于图的半监督学习中通常做的某些假设限制。
用于半监督学习的多层GCN的整体模型如图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} A∈RN×N, X ∈ R N × C X\in\mathbb{R}^{N\times C} X∈RN×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} Z∈RN×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 是有标签的节点索引。
(1) 提出了逐层传播的图学习算法,即GCN;
(2) 展示了GCN如何用于图中节点的快速且可扩展的半监督分类;
(3) 在数据集上的分类精度和效率达到了SOTA。
内存要求: 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的研究员及创始董事会成员。他之前担任过高通科技公司副总裁,加州大学欧文分校教授。
关于谱图理论-图傅里叶变换-谱卷积等谱图领域知识的理解 ↩︎ ↩︎
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. ↩︎