ICLR 2017
ABSTRACT
我们提出了一种在图结构数据上进行半监督学习的可扩展方法,该方法基于直接在图上操作的卷积神经网络的一个有效变体。我们通过谱图卷积的局部一阶近似来激励我们卷积结构的选择。我们的模型在图的边数上有线性扩展,并学习了编码局部图结构和节点特征的隐藏层表征。在引文网络和知识图谱数据集的一些实验中,我们证明了我们的方法在很大程度上优于相关方法。
1 INTRODUCTION
我们考虑对图(如引文网络)中的节点(如文件)进行分类的问题,其中标签只对一小部分节点可用。这个问题可以被看作是基于图的半监督学习,其中标签信息通过某种形式的明确的基于图的正则化对图进行平滑处理(Zhu等人,2003;Zhou等人,2004;Belkin等人,2006;Weston等人,2012),例如,在损失函数中使用图拉普拉斯正则化项。
$L =L_0+\lambda L_{reg}~,~ with~ L_{reg}= \sum_{i,j}A_{ij}||f(X_i)-f(X_j)||^2=f(X)^T \varDelta f(X)~~~(1)$
这里,$$L_0$$表示对图的标记部分的监督损失,$$f( \cdot )$$可以是一个类似神经网络的可微分函数,$$\lambda$$是一个权重因子, $$X $$是一个节点特征向量 $$X_i$$的矩阵。 $$∆ = D - A $$表示无向图 $$G = (V, E) $$的非归一化图拉普拉斯矩阵,有 $$N $$个节点$$v_i∈V$$,边$$(v_i, v_j)∈E$$,邻接矩阵$$A∈R^{N×N}$$(二进制或加权)和程度矩阵 $$D_{ii} = \sum_j A_{ij} $$。公式1的表述依赖于这样一个假设,即图中的连接节点可能共享相同的标签。然而,这个假设可能会限制建模能力,因为图的边不一定要编码节点的相似性,但可能包含额外的信息。
在这项工作中,我们直接使用神经网络模型$$f(X, A)$$对图结构进行编码,并对所有带标签的节点进行监督目标$$L_0$$训练,从而避免了损失函数中明确的基于图的正则化。在图的邻接矩阵上设置条件$$f( \cdot )$$将使模型能够分配来自监督损失$$L_0$$的梯度信息,并使其能够学习有标签和无标签的节点的表示。
我们的贡献有两个方面。首先,我们为直接在图上操作的神经网络模型引入了一个简单且良好的层级传播规则,并展示了它如何从谱图卷积的一阶近似中得到激励(Hammond等人,2011)。其次,我们展示了这种基于图的神经网络模型的形式如何用于快速和可扩展的图中节点的半监督分类。在一些数据集上的实验表明,我们的模型在分类精度和效率(以壁时钟时间衡量)上都比最先进的半监督学习方法要好。
2 图上的快速近似卷积
在这一节中,我们为一个特定的基于图的神经网络模型$$f(X, A)$$提供理论动机,我们将在本文的其余部分使用该模型。我们考虑一个多层图卷积网络(GCN),其层间传播规则如下:
$\begin{split}H^{l+1} = \sigma\left(\widetilde{D}^{-\frac{ 1 }{2}} \widetilde{A}\widetilde{D}^{-\frac{ 1 }{2}}H^{(l)}W^{(l)}\right)~~~(2)\\end{split}$
这里,$$\widetilde{A}=A+I_N$$ 是无向图$$G$$的邻接矩阵,增加了自连接。$$I_N$$是单位矩阵,$$\widetilde{D}{ii}= \sum_j \widetilde{A}{ij}$$,$$W^{(l)}$$是针对特定层的可训练权重矩阵。 $$σ(\sdot)$$表示激活函数,如$$ReLU(\sdot) = max(0,~ \sdot)$$。$$H^{(l)}∈R^{N×D}$$是第$$l$$层的激活矩阵;$$H^{(0)}=X$$。在下文中,我们证明这个传播规则的形式可以通过图上的局部频谱滤波器的一阶近似来实现(Hammond等人,2011;Defferrard等人,2016)。
before reading
将传统傅里叶变换引入谱图理论
传统的傅里叶变换定义为:
$ F(\omega) = \mathcal{F}[f(t)] = \int f(t) e^{-i\omega t} ,dt$
基函数:$e^{-i\omega t}$,为什么?
1.欧拉公式
$ e^{ix}=(cos(x)+isin(x))$
$ e^{i\pi} + 1 = 0$
- $e^{-i\omega t}$, 是拉普拉斯算子的特征函数(满足特征方程),$\omega$就和特征值有关。
广义的特征方程定义为:
$AV=\lambda V$ ,其中$A$是一种变换.$V$ 是特征向量或者特征函数(无穷维的向量),$\lambda $是特征值。
$ \varDelta e^{-i\omega t} = \frac{\partial^2}{\partial t^2} e^{-i\omega t} = -\omega^2 e^{-i\omega t}$
拉普拉斯算子:$ \varDelta$, n维欧几里德空间中的一个二阶微分算子。
在谱图理论中:
$L$ 是拉普拉斯矩阵, $V$ 是其特征向量,自然满足下式 :
$LV=\lambda V$
离散积分就是一种内积形式,仿上定义Graph上的傅里叶变换:
$ F(\lambda_l) = \hat{f}[\lambda_l] = \sum_{i=1}^{N} f(i) u^*_l(i) $
$f$是图上的$N$维向量,$f(i)$为图中的各个顶点,$ u_l(i)$表示第$l$个特征向量的第$i$个分量,在特征值$\lambda_l$下,$f$在图中的傅里叶变换就是与$\lambda_l$对应的特征向量$ u_l$进行内积。
利用矩阵乘法将Graph上的傅里叶变换推广到矩阵形式:
$ \begin{bmatrix} \hat{f}(\lambda_1) \ \hat{f}(\lambda_2) \ \ldots \ \hat{f}(\lambda_N) \end{bmatrix} = \begin{bmatrix} u_1(1) & u_1(2) & \ldots & u_1(N) \ u_2(1) & u_2(2) & \ldots & u_2(N) \ \ldots \ u_N(1) & u_N(2) & \ldots & u_N(N) \end{bmatrix} \begin{bmatrix} f(1) \ f(2) \ \ldots \ f(N) \end{bmatrix} $
即$f$在Graph上傅里叶变换的矩阵形式为:
$\hat{f} = U^Tf$
同理$f$在Graph上傅里叶逆变换的矩阵形式为:
$f = U \hat{f}$
图上的卷积运算
卷积运算:
$(f*g)G = \int{-\infty}^{+\infty} f(x)g(\tau-x)dx$
傅里叶逆变换:
$f(t) = \frac{1}{2\pi} \int_{-\infty}^{+\infty} F(\omega) e^{i\omega t} ,d \omega$
卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积,即对于函数$f(t)$与卷积核$h(t)$两者的卷积是其函数傅立叶变换乘积的逆变换:
$f*h = \mathcal{F}^{-1}[\hat{f}(\omega)\hat{h}(\omega)] = \frac{1}{2\pi} \int_{-\infty}^{+\infty} \hat{f}(\omega)\hat{h}(\omega) e^{i\omega t} ,d \omega$
类比$f$在图上的傅里叶变换:
$\hat{f}(\omega) = U^Tf$
$\hat{h}(\lambda_l)=\sum_{i=1}^{N} h(i)u^*_l(i)$
将卷积核$h(t)$的傅里叶变换写成对角矩阵:
$\hat{h}(\omega) = \begin{bmatrix} \hat{h}(\lambda_1) & & \ & \ddots & \ & & \hat{h}(\lambda_n) \end{bmatrix}$
$\hat{f}(\omega) 和 \hat{h}(\omega)$的乘积为:$\begin{bmatrix} \hat{h}(\lambda_1) & & \ & \ddots & \ & & \hat{h}(\lambda_n) \end{bmatrix} U^Tf$
将上式乘以$U$求两者傅立叶变换乘积的逆变换,则求出卷积:
$f*h=U\begin{bmatrix} \hat{h}(\lambda_1) & & \ & \ddots & \ & & \hat{h}(\lambda_n) \end{bmatrix} U^Tf$
2.1谱图卷积
矩阵的谱分解,特征分解,对角化都是同一个概念
我们考虑图上的频谱卷积,定义为信号$$x∈R^N$$(每个节点的标量)与滤波器$$g_θ=diag(θ)$$的乘法,参数$$θ∈R^N$$的傅里叶域,即:
$ g_θ \star x = U g_θ U^T x ~~~(3)$
note: 拉普拉斯矩阵:$L = D - A(半正定)$
其中$$U$$是归一化图拉普拉斯矩阵的特征向量,矩阵$$L = I_N - D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}} = UΛU^T(普分解)$$,$$Λ$$是其特征值的对角线矩阵,$$U^Tx$$是$$x$$的图傅里叶变换。我们可以把$$g_θ$$理解为**$$L$$的特征值的函数**,即$$g_θ(Λ)$$。评估公式3在计算上很麻烦,因为与特征向量矩阵$$U$$的乘法是$$O(N^2)$$。此外,首先计算$$L$$的特征分解对于大型图来说可能是非常昂贵的。为了规避这个问题,Hammond等人(2011)提出,$$g_θ(Λ)$$可以通过**$$Chebyshev$$多项式$$T_k(x)$$**的截断扩展很好地近似到$$K$$阶。
$ g_{θ^{\prime}} (\varLambda) \approx \sum_{k=0}^K θ^{\prime}_kT_k(\widetilde{\varLambda}) ~~~(4)$
通过一个重新缩放的$$\widetilde{\varLambda} = \frac{2}{λ_{max}} \varLambda -I_N$$ .$$ λ_{max}$$表示$$L$$的最大特征值。 $$θ^\prime∈R^K$$现在是切比雪夫系数的一个向量。切比雪夫多项式递归定义为$$T_k(x)=2xT_{k-1}(x)-T_{k-2}(x)$$,其中$$T_0(x)=1$$,$$T_1(x)=x$$,读者可参考Hammond等人(2011)对这种近似方法的深入讨论。
回到我们对信号$$x$$与滤波器$$g_{θ^{\prime}}$$的卷积的定义,我们现在有:
$ g_{θ^{\prime}} \star x \approx \sum_{k=0}^K θ^{\prime}_kT_k(\widetilde{L})x ~~~(5)$
$$\widetilde{L} = \frac{2}{λ_{max}} L - I_N$$;注意到$$(UΛU^T)^k = UΛ^kU^T$$,就可以轻松验证。请注意,这个表达式现在是$$K-localized$$的,因为它是拉普拉斯的$$K$$阶多项式,也就是说,它只取决于离中心节点($$K$$阶邻域)最大$$K$$步的节点。评估公式5的复杂性为$$O(|E|)$$,即与边的数量成线性关系。Defferrard等人(2016)使用这种K-localized卷积来定义图上的卷积神经网络。
2.2分层线性模型
因此,一个基于图卷积的神经网络模型可以通过堆叠公式5形式的多个卷积层来建立,每个层后面都有一个点状的非线性。现在,设想我们将层间卷积操作限制在$$K=1$$(见公式5),即一个对$$L$$而言是线性的函数,因此是图拉普拉斯谱上的线性函数。$T_1(x)=x$
这样,我们仍然可以通过堆叠多个这样的层来恢复一类丰富的卷积滤波函数,但我们并不局限于切比雪夫多项式等给出的明确参数化。我们直观地期望,这样的模型可以缓解节点度分布非常宽的图的局部邻域结构的过拟合问题,如社交网络、引文网络、知识图和许多其他现实世界的图数据集。此外,在固定的计算预算下,这种分层线性表述允许我们建立更深的模型,这种做法已知可以提高一些领域的建模能力(He等人,2016)。
在GCN的这种线性表述中,我们进一步近似$$λ_{max}≈2$$,因为我们可以预期神经网络参数将在训练过程中适应这种规模的变化。在这些近似下,公式5简化为:
before reading
$K=1,λ_{max}≈2,\widetilde{L} = \frac{2}{λ_{max}} L - I_N L = I_N - D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}} = UΛU^T$
$g_{θ^{\prime}} \star x \approx \sum_{k=0}^1 θ^{\prime}_kT_k(\widetilde{L})x = θ^{\prime}_0 T_0(\widetilde{L})x + θ^{\prime}_1 T_1(\widetilde{L})x = θ_0^{\prime} x + θ^{\prime}_1\widetilde{L}x$
$g_{θ^{\prime}} \star x \approx θ_0^{\prime} x + θ_1^{\prime} (L-I_N)x = θ_0^{\prime} x - θ_1^{\prime} D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}}x ~~~(6)$
两个自由参数$$θ_0^{\prime}和θ_1^{\prime}$$。滤波器的参数可以在整个图中共享。这种形式的滤波器的连续应用可以有效地卷积一个节点的第k阶邻域,其中k是神经网络模型中连续的过滤操作或卷积层的数量。
在实践中,进一步限制参数的数量,以解决过拟合问题,并尽量减少每层的操作数量(如矩阵乘法),可能是有益的。这就给我们留下了以下表达方式。
$g_{θ} \star x \approx θ(I_N+D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}})x ~~~(7)$
有一个参数$$θ=θ_0^{\prime}=-θ_1^{\prime}$$。注意,$$I_N + D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}}$$现在的特征值在[0, 2]范围内。因此,在深度神经网络模型中使用该算子时,重复应用该算子会导致数值不稳定和梯度爆炸/消失。为了缓解这个问题,我们引入以下正则化技巧:$$I_N +D^{-\frac{ 1 }{2}} AD^{-\frac{ 1 }{2}} → \widetilde{D}^{-\frac{ 1 }{2}} \widetilde{A}\widetilde{D}^{-\frac{ 1 }{2}} $$,其中 $$\widetilde{A} = A + I_N $$,$$\widetilde{D}{ii}= \sum_j \widetilde{A}{ij}$$ 。
我们可以把这个定义推广到具有$$C$$个输入通道(即每个节点都有一个$$C$$维特征向量)和$$F$$个过滤器或特征图的信号$$X∈R^{N×C}$$,具体如下:
$ Z = \widetilde{D}^{-\frac{ 1 }{2}} \widetilde{A}\widetilde{D}^{-\frac{ 1 }{2}} X \Theta ~~~(8)$
其中$$Θ∈R^{C×F}$$现在是一个滤波器参数矩阵,$$Z∈R^{N×F}$$是卷积信号矩阵。这个过滤操作的复杂度为$$O(|E|F C)$$,因为$$\widetilde{A}X$$可以有效地表示为稀疏矩阵与密集矩阵的乘积。
3.半监督节点分类
在介绍了一个简单而灵活的模型$$f(X, A)$$用于图上的有效信息传播后,我们可以回到半监督节点分类的问题上。正如介绍中所概述的,我们可以通过对数据$$X$$和底层图结构的邻接矩阵$$A$$进行调节,来放松基于图的半监督学习中的某些典型假设。我们希望这种设置在邻接矩阵包含数据$$X$$中不存在的信息的情况下特别强大,比如引文网络中文档之间的引文链接或知识图谱中的关系。整个模型,一个用于半监督学习的多层GCN,在图1中被示意性地描述出来。
图1:左图:用于半监督学习的多层图形卷积网络(GCN)示意图,该网络有$$C$$个输入通道,输出层有$$F$$个特征图。图形结构(边缘显示为黑线)在各层之间共享,标签用$$Y_i$$表示。右图:$$t-SNE$$(Maaten & Hinton,2008)可视化了在Cora数据集(Sen等人,2008)上使用5%的标签训练的两层GCN的隐藏层激活。颜色表示文档类别。
3.1示例
在下文中,我们考虑在具有对称邻接矩阵$$A$$(二进制或加权)的图上进行半监督的节点分类的两层GCN。我们首先在预处理步骤中计算出$$\hat{A} = \widetilde{D}^{-\frac{ 1 }{2}} \widetilde{A}\widetilde{D}^{-\frac{ 1 }{2}}$$。然后我们的前向模型采取简单的形式:
$Z = f(X,A)=softmax(\hat{A} ReLU(\hat{A}XW^{(0)})W^{(1)})~~~(9)$
这里,$$W^{(0)}∈R^{C×H}$$是一个具有$$H$$个特征图的隐藏层的输入到隐藏的权重矩阵。$$W^{(1))}∈R^{H×F}$$是一个隐藏到输出的权重矩阵。softmax激活函数,定义为$$softmax(x_i)=\frac{1}{Z} exp(x_i),Z=\sum_i exp(x_i)$$,被逐行应用。对于半监督的多类分类,我们然后评估所有标记的例子的交叉熵误差。
$ L=\sum_{l∈Y_L} \sum_{f=1}^F Y_{lf} lnZ_{lf}~~~(10)$
其中$$Y_L$$是具有标签的节点索引集。
神经网络的权重$$W^{(0)}和W^{(1)}$$是用梯度下降法训练的。在这项工作中,我们在每次训练迭代中使用完整的数据集进行批量梯度下降,只要数据集适合内存,这就是一个可行的选择。使用$$A$$的稀疏表示,内存要求是$$O(|E|)$$,即线性于边的数量。训练过程中的随机性是通过dropout引入的(Srivastava等人,2014)。我们将内存效率的扩展与小批量随机梯度下降留给未来的工作。
3.2 实现
在实践中,我们利用TensorFlow(Abadi等人,2015),通过稀疏密集的矩阵乘法,对公式9进行有效的基于GPU的实现。评估公式9的计算复杂度为$$O(|E|CHF)$$,即与图边的数量成线性关系。
4 RELATED WORK
我们的模型从基于图的半监督学习领域和最近在图上操作的神经网络的工作中获得了灵感。在下文中,我们将对这两个领域的相关工作进行简要概述。
4.1基于图的半监督学习
近年来,人们提出了大量使用图表示的半监督学习方法,其中大部分可分为两大类:使用某种形式的显式图拉普拉斯正则化的方法和基于图嵌入的方法。图拉普拉斯正则化的突出例子包括标签传播(Zhu等人,2003)、流形正则化(Belkin等人,2006)和深度半监督嵌入(Weston等人,2012)。
最近,人们的注意力转移到了学习图嵌入的模型上,其方法受到了skip-gram模型(Mikolov等人,2013)的启发。DeepWalk(Perozzi等人,2014)通过预测节点的本地邻域,从图上的随机行走中采样来学习嵌入。LINE(Tang等人,2015)和node2vec(Grover和Leskovec,2016)用更复杂的随机行走或广度优先搜索方案扩展了DeepWalk。然而,对于所有这些方法来说,需要一个包括随机行走生成和半监督训练的多步骤管道,其中每个步骤都必须单独优化。Planetoid(Yang等人,2016)通过在学习嵌入的过程中注入标签信息,缓解了这一问题。
4.2图上的神经网络
Gori等人(2005);Scarselli等人(2009)曾介绍过在图上操作的神经网络,作为一种循环神经网络的形式。他们的框架要求反复应用收缩图作为传播函数,直到节点表示达到一个稳定的固定点。后来在Li等人(2016)的研究中,通过在原图神经网络框架中引入循环神经网络训练的现代实践,这一限制得到了缓解。Duvenaud等人(2015)在图上引入了一个类似卷积的传播规则和图级分类的方法。他们的方法需要学习特定于节点度的权重矩阵,这对具有宽节点度分布的大图来说是不适用的。而我们的模型每层使用一个权重矩阵,并通过对邻接矩阵的适当归一化来处理不同的节点度(见第3.1节)。
最近,Atwood & Towsley(2016)介绍了一种基于图的神经网络的节点分类的相关方法。他们报告了$$O(N^2)$$的复杂性,限制了可能的应用范围。在一个不同但相关的模型中,Niepert等人(2016)将图局部转换为序列,并将其输入传统的一维卷积神经网络,这需要在预处理步骤中定义一个节点排序。
我们的方法是基于谱图卷积神经网络,在Bruna等人(2014)中引入,后来由Defferrard等人(2016)用快速局部卷积进行了扩展。与这些工作相比,我们在这里考虑的是在规模大得多的网络中进行过渡性节点分类的任务。我们表明,在这种情况下,Bruna等人(2014)和Defferrard等人(2016)的原始框架可以引入一些简化(见第2.2节),以提高大规模网络的可扩展性和分类性能。
5 实验
我们在大量实验中测试了我们的模型:引用网络中的半监督文档分类、从知识图中提取的二部图中的半监督实体分类、各种图传播模型的评估以及对随机图的运行时分析。
5.1数据集
我们严格遵循Y ang等人(2016)的实验设置。数据集的统计数据总结在表1中。在引文网络数据集--Citeseer、Cora和Pubmed(Sen等人,2008)中,节点是文献,边是引文链接。标签率表示用于训练的标签节点的数量除以每个数据集中的节点总数。NELL(Carlson等人,2010;Y ang等人,2016)是一个从知识图谱中提取的双方图数据集,有55864个关系节点和9891个实体节点。
引文网络 我们考虑三个引文网络数据集。Citeseer、Cora和Pubmed(Sen等人,2008)。这些数据集包含每个文档的稀疏词包特征向量和文档之间的引文链接列表。我们将引文链接视为(无定向)边,并构建一个二进制的对称邻接矩阵A。每个文档都有一个类别标签。在训练中,我们每个类别只使用20个标签,但所有的特征向量。
NELL NELL是一个从(Carlson等人,2010)介绍的知识图中提取的数据集。知识图谱是一组实体,用有向的、标记的边(关系)连接。我们遵循Y ang等人(2016)中描述的预处理方案。我们为每个实体对$$(e1,r,e2)$$分配单独的关系节点$$r1$$和$$r2$$,作为$$(e1,r1)和(e2,r2)$$。实体节点由稀疏的特征向量来描述。我们通过为每个关系节点分配一个唯一的one-hot向量来扩展NELL中的特征数量,有效地导致每个节点有61,278个稀疏的特征向量。这里的半监督任务考虑了训练集中每类只有一个标记的例子的极端情况。我们从这个图中构建一个二进制的对称邻接矩阵,如果节点i和j之间存在一条或多条边,设置条目$$A_{ij}=1$$。
随机图 我们模拟不同大小的随机图数据集,用于测量每个epoch的训练时间的实验。对于一个有$$N$$个节点的数据集,我们创建一个随机图,均匀地随机分配$$2N$$条边。我们把身份矩阵$$I_N$$作为输入的特征矩阵$$X$$,从而隐含地采取了一种无特征的方法,模型只被告知每个节点的身份,由一个唯一的one-hot向量指定。我们为每个节点添加虚拟标签$$Y_i=1$$。
5.2实验设置
除非另有说明,我们按照第3.1节所述,训练一个两层的GCN,并在1,000个标记的例子的测试集上评估预测的准确性。我们在附录B中提供了使用多达10层的深层模型的额外实验。我们选择了与Y ang等人(2016)相同的数据集拆分,并为超参数优化增加了500个标记的验证集(所有层的丢弃率、第一个GCN层的L2正则化系数和隐藏单元的数量)。我们不使用验证集的标签进行训练。
对于引文网络数据集,我们只在Cora上优化超参数,对Citeseer和Pubmed使用同一组参数。我们使用Adam(Kingma & Ba, 2015)对所有模型进行了最多200个epochs(训练迭代)的训练,学习率为0.01,早停的窗口大小为10,即如果连续10个epochs的验证损失没有减少,我们就停止训练。我们使用Glorot & Bengio(2010)中描述的初始化方法来初始化权重,并相应地对输入特征向量进行(行-)标准化。在随机图数据集上,我们使用32个单元的隐藏层大小,并省略了正则化(即既没有dropout也没有L2正则化。
5.3基线模型
我们与Y ang等人(2016)的相同基线方法进行比较,即标签传播(LP)(Zhu等人,2003)、半监督嵌入(SemiEmb)(Weston等人,2012)、流形正则化(ManiReg)(Belkin等人,2006)和基于跳格的图嵌入(DeepWalk)(Perozzi等人,2014)。我们省略了TSVM(Joachims,1999),因为它不能适应我们的一个数据集中的大量类。
我们进一步与Lu & Getoor (2003)提出的迭代分类算法(ICA)结合两个逻辑回归分类器进行比较,一个单独用于本地节点特征,一个使用本地特征和Sen等人(2008)描述的聚合算子进行关系分类。我们首先使用所有标记的训练集节点来训练本地分类器,并使用它来引导未标记的节点的类标签来进行关系分类器的训练。我们用随机节点排序对所有未标记的节点(使用本地分类器引导的)进行10次迭代分类(关系分类器)。二级正则化参数和聚合运算符(计数与道具,见Sen等人(2008))是根据每个数据集的验证集性能分别选择的。
最后,我们与Planetoid(Y ang等人,2016)进行了比较,我们总是选择他们表现最好的模型变体(反导与归纳)作为基线。
6 RESULTS
6.1半监督节点分类
结果总结在表2中。报告中的数字表示分类准确率,以百分比表示。对于ICA,我们报告了随机节点排序下100次运行的平均准确率。所有其他基线方法的结果都取自Planetoid论文(Yang等人,2016)。Planetoid*表示在他们的论文中提出的变体中,对各自的数据集来说是最好的模型。
我们进一步报告了我们的方法(包括验证误差的评估)和Planetoid的训练时间(以秒为单位),直到收敛(括号内)。对于后者,我们使用了作者提供的实施方案3,并在与我们的GCN模型相同的硬件(带GPU)上进行训练。我们在与Y ang等人(2016)相同的数据集分割上训练和测试了我们的模型,并报告了随机权重初始化的100次运行的平均精度。我们对Citeseer、Cora和Pubmed使用了以下几组超参数:0.5(丢弃率)、5-10-4(二级正则化)和16(隐藏单元数);对NELL使用了0.1(丢弃率)、1-10-5(二级正则化)和64(隐藏单元数)。
此外,我们报告了我们的模型在10个随机抽取的数据集分割上的表现,这些数据集的大小与Y ang等人(2016)的数据集大小相同,用GCN(rand. splits)表示。这里,我们报告了在测试集拆分上的预测准确率的平均值和标准误差,单位为百分比。
6.2传播模型的评估
我们在引文网络数据集上比较了我们提出的每层传播模型的不同变体。我们遵循上一节所述的实验设置。结果总结在表3中。我们的原始GCN模型的传播模型用正则化技巧表示(黑体)。在所有其他情况下,两个神经网络层的传播模型被替换为传播模型下指定的模型。报告中的数字表示在随机权重矩阵初始化下重复运行100次的平均分类精度。在每层有多个变量$$Θ_i$$的情况下,我们对第一层的所有权重矩阵施加L2正则化。
6.3每个epoch的训练时间
这里,我们报告了在模拟随机图上100个历时的平均训练时间(前向传播、交叉熵计算、反向传播)的结果,以秒为单位的壁时钟时间。关于这些实验中使用的随机图数据集的详细描述,见第5.1节。我们比较了在TensorFlow(Abadi等人,2015)中的GPU和只用CPU实现4的结果。图2总结了这些结果。
7 讨论
7.1 半监督模型
在这里展示的实验中,我们的半监督节点分类方法比最近的相关方法要好得多。基于图-拉普拉斯正则化的方法(Zhu等人,2003年;Belkin等人,2006年;Weston等人,2012年)很可能由于其假设边仅仅编码了节点的相似性而受到限制。另一方面,基于Skip-gram的方法受到限制,因为它们是基于一个难以优化的多步骤管道。我们提出的模型可以克服这两个局限性,同时在效率方面(以壁钟时间衡量)仍然优于相关方法。与ICA(Lu & Getoor, 2003)等只聚合标签信息的方法相比,每一层中邻近节点的特征信息的传播提高了分类性能。
我们进一步证明,与天真的一阶模型(公式6)或使用切比雪夫多项式的高阶图卷积模型(公式5)相比,所提出的重正态传播模型(公式8)既能提高效率(减少参数和操作,如乘法或加法),又能在一些数据集上有更好的预测性能。
7.2 限制和未来工作
在这里,我们描述了当前模型的几个局限性,并概述了在未来的工作中如何克服这些局限性。
内存要求 在目前采用全批梯度下降的设置中,内存需求随着数据集的大小而线性增长。我们已经表明,对于不适合GPU内存的大型图,在CPU上训练仍然是一个可行的选择。小批量随机梯度下降可以缓解这个问题。然而,生成迷你批次的程序应该考虑到GCN模型中的层数,因为对于具有K层的GCN来说,$$K$$阶邻域必须存储在内存中,以实现精确程序。对于非常大的和密集连接的图数据集,可能需要进一步的近似。
有向边和边特征 我们的框架目前并不自然地支持边缘特征,只限于无向图(加权或未加权)。然而,NELL的结果表明,通过将原始有向图表示为无向二叉图,并增加代表原始图中边的节点,可以同时处理有向边和边的特征(详见5.1节)。
限制性假设 通过第2节介绍的近似值,我们隐含地假设了局部性(对于具有$$K$$层的GCN来说,依赖于$$K$$阶邻域)和自连接与邻域节点的边的同等重要性。然而,对于某些数据集来说,在$$\widetilde{A}$$的定义中引入一个权衡参数$$λ$$可能是有益的:
$\widetilde{A} = A + λI_N~~~(10)$
这个参数现在起着类似于典型的半监督设置中监督和非监督损失的权衡参数的作用(见公式1)。然而,在这里,它可以通过梯度下降来学习。
8结论
我们提出了一种新的图结构数据半监督分类方法。我们的GCN模型使用了一种有效的分层传播规则,该规则基于图上谱卷积的一阶近似。在大量网络数据集上的实验表明,所提出的GCN模型能够以一种有助于半监督分类的方式对图结构和节点特征进行编码。在这种情况下,我们的模型在计算效率上显著优于最近提出的几种方法。
A 与WEISFEILER-LEHMAN算法的关系
图结构数据的神经网络模型最好能够学习图中节点的表示,同时考虑到图结构和节点的特征描述。1-dim Weisfeiler-Lehman(WL-1)算法(Weisfeiler & Lehmann, 1968)为给定的图和(可选择的)离散初始节点标签的唯一分配提供了一个经过充分研究的框架。
这里,$$h^{(t)}_i$$表示节点$$v_i$$的着色(标签分配)(在迭代t),$$N_i$$是它的相邻节点索引集(不管图是否包括每个节点的自连接)。$$hash(\sdot)$$是一个哈希函数。关于WL-1算法的深入数学讨论,请参见Douglas(2011)等。
我们可以将算法1中的哈希函数替换为具有可训练参数的神经网络层式可微函数,如下所示:
$\begin{split}h^{l+1}i = \sigma\left(\sum{j∈N_i} \frac{1}{c_{ij}}h_j^{(l)}W^{(l)}\right)~~~(12)\\end{split}$
其中$$c_{ij}$$是为边$$(v_i,v_j)$$适当选择的归一化常数。此外,我们现在可以把$$h^{(l)}_i$$看作是第$$l$$个神经网络层中节点i的激活量的向量。$$W^{(l)}$$是一个特定层的权重矩阵,$$σ(\sdot)$$表示一个可分的非线性激活函数。
通过选择$$c_{ij} = \sqrt{d_id_j}$$,其中$$d_i = |Ni|$$表示节点$$v_i$$的度,我们以矢量形式恢复我们的图卷积网络(GCN)模型的传播规则(见公式2)。
这宽泛地说允许我们将我们的GCN模型解释为图上1-dim Weisfeiler-Lehman算法的可微调和参数化泛化。
A.1具有随机权重的节点嵌入
从与Weisfeiler-Lehman算法的类比中,我们可以理解,**即使是一个未经训练的具有随机权重的GCN模型也可以作为图中节点的强大特征提取器。**作为一个例子,考虑以下3层的GCN模型。
$ Z = tanh(\hat{A} tanh(\hat{A} tanh(\hat{AXW^{(0)}})W^{(1)})W^{(2)})~~~(13)$
权重矩阵$$W^{(l)}$$使用Glorot & Bengio(2010)中描述的初始化方式随机初始化。$$\hat{A}、X和Z$$的定义同第3.1节。
我们在Zachary的空手道俱乐部网络上应用这个模型(Zachary, 1977)。该图包含34个节点,由154条(无定向和无权)边连接。每个节点都由四个类别之一来标记,这些类别是通过基于模块的聚类得到的(Brandes等人,2008)。见图3a的说明。
图3:左图:Zachary的空手道俱乐部网络(Zachary, 1977),颜色表示通过基于模块的聚类得到的社区(Brandes等人,2008)。右图。从一个未经训练的3层GCN模型(公式13)中得到的嵌入,随机权重应用于空手道俱乐部网络。
我们采取无特征的方法,设置$$X=I_N$$,其中$$I_N$$是$$N×N$$的单位矩阵。$$N$$是图中的节点数。注意,节点是随机排序的(即排序不包含任何信息)。此外,我们选择隐藏层的维数为4,并选择二维输出(以便输出可以立即在二维图中被可视化)。
图3b显示了从一个未经训练的GCN模型中获得的节点嵌入(输出Z)的一个代表性例子,该模型适用于空手道俱乐部网络。这些结果与从DeepWalk(Perozzi等人,2014)获得的嵌入相当,后者使用了更昂贵的无监督训练程序。
A.2半监督节点嵌入
在这个应用于空手道俱乐部网络的GCN的简单例子上,观察嵌入在半监督分类任务的训练中是如何反应的是很有趣的。这样的可视化(见图4)提供了对GCN模型如何利用图结构(以及在以后的层中从图结构中提取的特征)来学习对分类任务有用的嵌入的洞察力。
我们考虑以下的半监督学习设置:我们在我们的模型(公式13)之上添加一个$$softmax$$层,并且每类只使用一个标记的例子进行训练(即总共有4个标记的节点)。我们使用$$Adam$$(Kingma & Ba, 2015)进行300次训练迭代,交叉熵损失的学习率为0.01。
图4显示了节点嵌入在若干次训练迭代中的演变。该模型成功地根据最小的监督和图形结构,线性地分离了社区。整个训练过程的视频可以在我们的网站上找到。
图4:经过若干次半监督训练,从GCN模型得到的空手道俱乐部网络节点嵌入的演变。颜色表示类别。训练期间提供标签的节点(每类一个)被突出显示(灰色轮廓)。节点之间的灰色链接表示图边。
B 模型深度实验
在这些实验中,我们研究了模型深度(层数)对分类性能的影响。我们报告了在Cora、Citeseer和Pubmed数据集(Sen等人,2008)上使用所有标签的5倍交叉验证实验的结果。除了标准的GCN模型(公式2),我们还报告了一个模型变体的结果,其中我们在隐藏层之间使用剩余连接(He等人,2016),通过使模型能够携带前一层输入的信息来促进更深的模型的训练。
$\begin{split}H^{(l+1)} = \sigma\left(\widetilde{D}^{-\frac{ 1 }{2}} \widetilde{A}\widetilde{D}^{-\frac{ 1 }{2}}H^{(l)}W^{(l)} +H^{(l)}\right)~~~(14)\\end{split}$
在每个交叉验证分割上,我们使用Adam优化器(Kingma & Ba, 2015)训练了400个epoch(没有提前停止),学习率为0.01。其他超参数选择如下。0.5(丢弃率,第一层和最后一层),$$5\sdot10-4$$(L2正则化,第一层),16(每个隐藏层的单元数量)和0.01(学习率)。结果总结在图5中。
图5:模型深度(层数)对分类性能的影响。标记表示5倍交叉验证的平均分类精度(训练与测试)。阴影区域表示标准误差。我们展示了标准GCN模型(虚线)和隐藏层之间添加了剩余连接(He等人,2016)的模型(实线)的结果。
对于这里考虑的数据集,最好的结果是用2层或3层的模型获得。我们观察到,对于超过7层的模型,在不使用残差连接的情况下进行训练会变得很困难,因为每增加一层,每个节点的有效上下文大小都会随着其K阶邻域的大小而增加(对于有K层的模型)。此外,由于参数的数量随着模型深度的增加而增加,过拟合可能成为一个问题。