经典论文阅读-15:GCN

195 阅读11分钟

使用图卷积网络做半监督分类

论文地址:[PDF] Semi-Supervised Classification with Graph Convolutional Networks | Semantic Scholar

摘要

我们展示一种可扩展方法来对图结构数据做半监督学习,该方法基于卷积神经网络的一种高效变体,可直接操作图数据。我们选择卷积架构的灵感来自谱图卷积里的局部一阶相似性。我们方法可根据图中边数量规模线性扩展,学到的隐藏层表示既可编码图结构又可编码节点特征。基于引文网络与知识图片数据集做了大量实验,演示我们方法与相关方法相比,性能提升巨大。

简介

考虑图中节点分类问题,图中只有一小部分节点有标签。该问题可使用基于图的半监督学习方法解决,通过一些显示图正则化方法使图中标签分布平滑。

L=L0+λLregLreg=i,jAijf(Xi)f(Xj)2=f(X)TΔf(X)L=L_0+\lambda L_{reg}\\ L_{reg}=\sum_{i,j}A_{ij}||f(X_i)-f(X_j)||^2=f(X)^T\Delta f(X)

其中 L0L_0 表示监督误差,即图中带标签部分节点的误差。f()f(\cdot) 表示神经网络类型的可导函数,λ\lambda 为权重因子,X 是节点特征矩阵,Δ=DA\Delta=D-A 表示未归一化的拉普拉斯矩阵,A 表示无向图邻接矩阵,D 表示度矩阵。上述公式依赖假设:图中连接节点共享同样的标签。然而,这个假设可能约束了建模能力,因为图边可能不表示节点相似度,而包含其他额外信息。

本文,我们直接使用神经网络模型 f(X,A)f(X,A) 编码图结构,基于所有带标签节点训练目标函数 L0L_0 ,因此避免在损失函数中做显式基于图的正则化。基于图邻接矩阵的条件 f()f(\cdot) 将允许模型发布来自监督误差 L0L_0 的梯度信息,允许模型学习带标签节点和不带标签节点的表示。

我们的贡献有两点:第一,我们推出一种简单、效果好的神经网络模型层级传播规则,可直接用于图结构数据,并展示如何从谱图卷积的一阶相似性中获得灵感。第二,演示这种基于图的神经网络模型如何用于快速可扩展的半监督图节点分类。基于各种数据集的大量实验展示了我们模型与其他方法相比,在分类准确率和允许效率方面都有重大提升。

图上快速估计卷积

本节介绍下文使用的某种基于图的神经网络模型 f(X,A)f(X,A) 的理论灵感。考虑多层图卷积网络 Graph Convolutional Network GCN 具有以下层级传播规则。

Hl+1=σ(D~12A~D~12HlWl)H^{l+1}=\sigma(\tilde D^{-\frac 1 2}\tilde A\tilde D^{-\frac 1 2}H^lW^l)

此处,A~=A+IN\tilde A = A + I_N 是无向图 G 的邻接矩阵加上自环连接。INI_N 是单位矩阵。D~ii=jA~ij\tilde D_{ii}=\sum_j\tilde A_{ij}WlW^l 是某层的训练参数矩阵。σ\sigma 表示激活函数,如 ReLU()=max(0,)ReLU(\cdot)=max(0,\cdot)HlRN×DH^l\in\mathbb R^{N\times D} 为第 l 层的激活矩阵,H0=XH^0=X 。下面展示这种传播规则如何受图上局部谱过滤的一阶相似性所激励。

谱图卷积

考虑图上谱卷积,定义为信号 xRNx\in\mathbb R^N 乘过滤器 gθ=diag(θ)g_\theta=diag(\theta) ,参数 θ\theta 来自傅立叶域。

gθx=UgθUTxg_\theta \star x=Ug_\theta U^Tx

其中 U 是归一化图拉普拉斯矩阵 L=IND12AD12=UΛUTL=I_N-D^{-\frac 1 2}AD^{-\frac 1 2}=U\Lambda U^T 的特征向量矩阵,对应的对角特征值矩阵 Λ\Lambda 和图傅立叶变换 UTxU^Tx 。我们可将 gθg_\theta 理解为拉普拉斯矩阵的特征向量的某个函数。该等式计算复杂度非常高,因为特征向量矩阵相乘那部分时间复杂度为 O(N2)O(N^2) 。而且,在大图上计算拉普拉斯矩阵的特征分解也可能非常耗时。为了解决该问题,Hammond 等人建议使用切比雪夫多项式的截断展开 K 项来近似该等式。

gθ(Λ)=k=0KθkTk(Λ~)g_{\theta'}(\Lambda)=\sum_{k=0}^K\theta_k'T_k(\tilde \Lambda)

其中放缩 Λ~=2λmaxΛIN\tilde \Lambda=\frac 2 \lambda_{max} \Lambda-I_Nλmax\lambda_{max} 表示拉普拉斯矩阵最大特征值。θRK\theta'\in\mathbb R^K 表示切比雪夫系数向量。切比雪夫多项式递归定义为 Tk(x)=2xTk1(x)Tk2(x),T0=0,T1=xT_k(x)=2xT_{k-1}(x)-T_{k-2}(x),T_0=0,T_1=x

现在回到信号与过滤器的卷积定义公式,我们得到如下公式。

gθxk=0KθkTk(L~)xg_{\theta'}\star x \approx \sum_{k=0}^K\theta_k'T_k(\tilde L)x

其中 L~=2λmaxLIN\tilde L=\frac 2 \lambda_{max} L-I_N 。现在该公式是 K 局部的了,因为它是拉普拉斯矩阵的 K 阶多项式,只依赖节点的最大 K 步邻居关系。该公司复杂度为 O(|E|),与关系数线性相关。Defferard 等人使用 K 局部卷积定义图卷积神经网络。

层级线性模型

图卷积神经网络模型可通过堆叠多层符合上一节卷积公式的卷积层构成,每个卷积层后都跟着一个点级非线性化层。现在想象我们将卷积层数限制为 K=1,得到线性函数 L,因此模型变成图拉普拉斯谱方法。

通过这种方式,我们也可涵盖多种卷积核,将其堆叠多层,同时我们也不限于切比雪夫多项式给定参数。直觉地,我们期望这种模型可以缓解幂律图中局部结构过拟合问题,如社交网络、引文网络、知识图谱和许多其他真实世界网络数据。此外,对于某固定计算负载,这种层级线性公式允许我们构建深度模型,众所周知,提升模型深度可提升模型建模容量。

在该 GCN 线性公式中,我们进一步估计 λmax=2\lambda_{max}=2 ,因为我们期望神经网络参数可以适应训练时数据规模的改变。基于该估计,卷积公式如下。

gθxθ0x+θ1(LIN)x=θ0xθ1D12AD12xg_{\theta'}\star x \approx \theta_0'x + \theta_1'(L-I_N)x=\theta_0'x-\theta_1'D^{-\frac 1 2}AD^{-\frac 1 2}x

公式中有两个自由参数 θ0,θ1\theta_0',\theta_1' 。过滤器参数可在整个网络上共享。连续使用该形式过滤器,可快速卷积节点的 k 阶邻居,k 为连续过滤运算数量或神经网络模型中卷积层数量。

实际上,我们可进一步约束参数数量,来解决过拟合问题,同时减少每层运算数量。如此得到以下公式。

gθxθ(IN+D12AD12)xg_{\theta} \star x \approx \theta (I_N+D^{-\frac 1 2}AD^{-\frac 1 2})x

只有一个自由参数 θ=θ0=θ1\theta=\theta_0'=-\theta_1' 。注意 IN+D12AD12I_N+D^{-\frac 1 2}AD^{-\frac 1 2} 中特征值取值范围为 [0, 2] 。

在深度神经网络中重复应用此操作将导致数值不稳定,产生梯度爆炸/消失问题。为了缓解词问题,我们引入以下正则化技巧:IN+D12AD12D~12A~D~12I_N+D^{-\frac 1 2}AD^{-\frac 1 2}\to\tilde D^{-\frac 1 2}\tilde A\tilde D^{-\frac 1 2} 其中 A~=A+IN,D~ii=jAij\tilde A=A+I_N,\tilde D_{ii}=\sum_jA_{ij}

我们可泛化该定义到信号 XRN×CX\in\mathbb R^{N\times C} ,C 为输入通道,输出 F 个过滤器运算后的特征图。

Z=D~12A~D~12XΘZ=\tilde D^{-\frac 1 2}\tilde A\tilde D^{-\frac 1 2}X\Theta

其中 ΘRC×F\Theta\in\mathbb R^{C\times F} 为过滤器参数矩阵,ZRN×FZ\in\mathbb R^{N\times F} 为卷积后信号矩阵。过滤运算复杂度为 O(EFC)O(|E|FC)

半监督节点分类

介绍过图上高效传播信息的简单灵活模型 f(X,A)f(X,A) 后,我们可以回到半监督节点分类问题上。如在简介中强调的那样,我们可以放松某些基于图的半监督学习假设,使符合条件的模型 f(X,A)f(X,A) 可用在数据 X 和低层图结构的邻接矩阵 A 上。我们期望该设置在邻接矩阵包含节点 X 表达不了的信息的场景中能有特殊效果,如引文网络中文档之间的引用链接、知识图谱中的关系。整个多层 GCN 半监督学习模型结构图下图所示。

pic1.png

例子

接下来,我们考虑一个两层 GCN 半监督节点分类模型,和一个具有对称邻接矩阵 A 的图结构。首先在预处理阶段计算 A^=D~12A~D~12\hat A=\tilde D^{-\frac 1 2}\tilde A\tilde D^{-\frac 1 2} 。然后模型的前向计算形式如下。

Z=f(X,A)=softmax(A^Relu(A^XW0)W1)Z=f(X,A)=softmax(\hat ARelu(\hat AXW^0)W^1)

其中,W0RC×HW^0\in\mathbb R^{C\times H} 是输入-隐藏权重矩阵,其输出 H 个特征图。W1RH×FW^1\in\mathbb R^{H\times F} 是隐藏-输出权重矩阵。最后使用 Softmax 激活函数输出概率。对于半监督多标签分类,在所有带标签样本上计算交叉熵误差。

L=lYLf=1NYlflnZlfL=-\sum_{l\in \mathcal{Y}_L}\sum_{f=1}^NY_{lf}lnZ_{lf}

其中 YL\mathcal Y_L 为具有标签的节点集。

使用梯度下降训练神经网络权重 W0,W1W^0,W^1 ,本文使用随机批量梯度下降,在每个训练迭代中使用全量数据训练,只要数据集可放在内存里。使用邻接矩阵 A 的稀疏表示,内存需要只有 O(|E|) ,即与关系数量线性相关。训练过程中的随机性来自 Dropout 。我们把高效内存扩展和最小批随机梯度下降留给后续研究。

实现

实践中,我们使用 TensorFlow 实现基于 GPU 的代码,使用稀疏-密集矩阵相乘加速计算。

相关研究

我们模型的灵感既来自基于图的半监督学习领域,也来自最近的神经网络操作图的研究。下边,我们提供这两个领域相关研究的简短概述。

基于图的半监督学习

近几年大量使用图表示的半监督学习方法被提出,大多数可分为两大类:显示正则化图拉普拉斯矩阵的方法和图嵌入方法。

最近研究注意力转到学习图嵌入的模型,启发自 skip-gram 模型。DeepWalk 通过预测节点局部邻居学习嵌入,使用随机游走在图中采样。LINE 和 node2vec 扩展 DeepWalk,使用更多配置的随机游走采样。然而,所有这些方法都用多步骤流水线处理,先随机游走采样,再半监督学习,每个步骤都要分别优化。Planetoid 缓解了这个问题,通过在学习嵌入的过程中注入标签信息。

图神经网络

图上操作的神经网络之前由 Gori 等人提出,其模型为某种 RNN。该框架需要重复应用收缩映射做传播函数,直到节点表示到达稳定状态。该约束后来被 Li 等人提出的 RNN 训练中原始图的温和参与缓解。Duvenaud 等人提出图上类似卷积的传播规则,其方法应用于图级分类。他们的方法需要学习节点度相关权重矩阵,不能扩展到有广泛节点度分布的大型图上。我们的方法在每层各使用一个权重矩阵,对邻接矩阵的不同节点度做恰当归一化处理。

其他最近提出的使用图神经网络做节点分类的相关方法,时间复杂度为 O(N2)O(N^2) ,应用范围有限。还有方法将局部图转换为序列数据,输入一维卷积神经网络中处理,这需要在预处理阶段定义节点序。

我们的方法基于谱图卷积神经网络,最早由 Bruna 等人提出,后来 Defferrard 等人将其扩展为快速局部卷积。对比这些研究,我们考虑在大规模网络上做直推式节点表示进行节点分类。我们展示了在该场景下,有许多简化手段可用于谱图卷积计算,提升伸缩性、计算速度与分类效果。

实验

我们对模型做了许多测试:引文网络上的半监督文档分类、从知识图片抽出的二部图上做半监督实体分类、评估多种图传播模型、在随机图上做运行时分析。

数据集

我们按照 Yang 等人的实验步骤,在引文网络 Cora、Citeseer、Pubmed 与知识图谱中抽出的二部图 NELL 网络上做测试。

  • 引文网络:数据集中包含文档与文档之间的引用关系,文档包含稀疏的词袋特征向量,表示文档主题。每个文档有一个分类标签,全标签类型在 10 以内。

  • NELL:从知识图谱中抽出来的二部图,每个节点具有稀疏的特征向量,是表示十分与其他节点有关联的 one-hot 编码,该特征向量有 61278 维 。

结果

讨论

模型缺点:

  • 内存需要:本文模型训练使用 Full-Batch 梯度下降,需要将数据集全放在内存里。Mini-Batch 随机梯度下降可缓解该问题。然而,生成 Mini-Batch 的过程也要考虑 GCN 模型深度,K 层卷积表示需要采样节点的 K 阶邻居子图,要求该批子图可放在内存中。对于大型密度图数据集,可能需要更多的估计手段。

  • 有向边与边特征:本文模型不考虑边的方向与边的特征,只处理无向图。而知识图谱之类的图中边的方向与属性都非常重要。

  • 限制性假设:通过一系列估计方法,我们隐式假设了局部性和自环与邻接关系的等重要性。而在某些图中,不同类型的关系可能具有不同权重。