文章目录

  • Abstract
    • 补充:如何理解 inductive learning 与 transductive learning?
  • 1. Introduction
  • 2. Related Work
    • 图卷积网络(GCNs)
    • 图注意网络(GATs)
  • 3. Methods
    • 3.1 Challenges of Applying Convolutional Operations on Graph Data
    • 3.2 Learnable Graph Convolutional Layers
      • k-largest Node Selection
      • 1-D Convolutional Neural Networks
    • 3.3 Learnable Graph Convolutional Networks
    • 3.4 Sub-Graph Training on Large-Scale Data
  • 4. Experimental studies
    • 4.1 Datasets
      • Transduction Learning
      • Inductive Learning
    • 4.2 Experimental Setup
      • Transduction Learning
      • Inductive Learning
    • 4.3 Analysis of Results
      • Transduction Learning
      • Inductive Learning
    • 4.4 LGCL versus GCN Layers
    • 4.5 Sub-Graph versus Whole-Graph Training
    • 4.6 Performance Study of k
  • 5 Conclusions and future work
  • 参考

本文是发表在2018年在KDD会议上的一篇文章,以大规模可学习图卷积神经网络为研究内容,作者来自于华盛顿大学。

论文核心:将图结构数据变换到网格状数据中,使用传统的一维卷积进行卷积。变换的方式是:针对每个特征的大小,对邻居结点进行排序,取这个特征前k大的数作为它邻居这类特征的k个值。如果邻居不够,那就用0来补。这样就能得到该顶点的邻居信息,组成一个矩阵,然后使用一维卷积。

原文链接:Large-Scale Learnable Graph Convolutional Networks
github 链接:https://github.com/divelab/lgcn/
代码分析:https://www.jianshu.com/p/a099dfd46c61

Abstract

卷积神经网络在网格数据上取得了很大的成功,但是在学习像图这样的数据的时候就面临着很多的挑战。CNN中,可学习的局部滤波器可以自动地捕获高层次的特征。滤波器的计算需要感受野内有固定数量的单元。
然而,在图结构中,邻居单元的数量不固定,而且邻居也不有序,所以阻碍了卷积的操作。论文提出了可学习图卷积层(learnable graph convolutional layer LGCL)来解决这些挑战。
基于值的排序,LGCL为每个特征自动地选择固定数量的邻居结点,以此将图结构数据变换到1维的网格结构中,然后就可以在图上使用常规的卷积操作了。为了能让模型在大规模的图上训练,提出了一个子图训练方法来减少过多的内存和计算资源的开销。在顶点分类任务上,不论是transductive learning还是 inductive learning,论文中的方法在Cora, Citeseer, Pubmed citation network, and protein-protein interaction network 数据集上都表现得都更好一些。结果展示出了子图训练方法比前人的方法更高效。

补充:如何理解 inductive learning 与 transductive learning?

Transductive Learning(直推学习): 如果训练时用到了测试集或验证集样本的信息(或者说,测试集和验证集在训练的时候是可见的),我们把这种学习方式叫做transductive learning,反之,称为inductive learning,这是一对互补概念。

在GCN中,与其他类型的数据不同,图数据中的每一个节点可以通过边的关系利用其他节点的信息,这样就产生了一个问题,如果训练集上的节点通过边关联到了预测集或者验证集的节点,那么在训练的时候能否用它们的信息呢? 通常训练节点收集邻居信息的时候,用到了测试或者验证样本,所以它是transductive的。

Inductive learning(归纳学习):指训练时,不使用测试集或验证集样本的信息(或者说,测试集和验证集在训练的时候是不可见的),则为inductive learning。显然,我们所处理的大多数机器学习问题都是inductive learning, 因为我们刻意的将样本集分为训练/验证/测试,并且训练的时候只用训练样本。

1. Introduction

众所周知,深度学习领域,卷积神经网络CNN功能强大,无论是在图像识别,自然语言处理,机器翻译等领域,都有很出彩的表现。大规模减少权值参数的同时,避免了人工特征提取。然而,传统卷积核是应用在网格样式(grid-like)的数据上,图片也是由一个个规则的像素矩阵构成的。因此,常规卷积需要网格化数据。其实,网格数据在一定程度上,是一种特殊类型的图数据。

当面对现实世界中普遍存在的网络结构样式的图数据时,由于每个节点的邻居节点数目不同,邻居节点之间没有自然的顺序关系,强大的CNN神器要想在graph上发挥作用,受到严重的限制。图数据的应用主要在于节点分类问题,基于图中网络关系和节点自身特征对节点进行分类预测。传统的方法是进行graph embedding等操作,这也是一个重要的研究领域。图1是一个图数据示意图。有七个节点,每个节点3个特征,每个节点的邻居数量不同,并且邻居之间没有排序。

图卷积在两个方面本质上不同于常规卷积操作。

  • 每一个具有不同数量相邻节点的节点都具有一个不同大小和权重的过滤器
  • 过滤器中的权重对于在感受野中的所有相邻节点都是相同的,因为它们是由相邻节点的数量决定的。

因此,权重不会被学习

图注意网络(GATs)[28]利用attention机制[1]通过测量其特征向量与中心节点特征向量之间的相关性,获得相邻节点的不同可训练权重。然而图注意机制与直接在局部滤波器中学习权值的常规卷积运算仍有不同,而且注意机制在特征向量对方面需要额外的计算,从而导致实际中对内存和计算资源的需求过大。

two major contributions

  • 提出了可学习的图卷积层(LGCL),以实现对图的规则卷积运算。注意,先前的研究修改了原始卷积运算,使其适合于图形数据。相反,此文的LGCL转换图形以使用规则卷积。实验表明,基于LGCL的模型在transductive Learning(直推学习)和 inductive 节点分类任务上都取得了较好的性能。
  • 由于观察到了之前的方法的另一个局限性,即以前的方法的训练过程以整个图的邻接矩阵为输入。当图中有大量节点时,这就需要过多的内存和计算资源,在实际任务中通常是这样。为了克服这一局限,开发了一种子图训练方法,它是一种简单而有效的方法,可以对大规模图形数据进行深度学习方法的训练。子图训练方法可以显著减少所需的内存和计算资源量,模型性能损失可以忽略不计。

2. Related Work

图卷积网络(GCNs)

最近的一些研究试图将卷积运算应用于图形数据。在[15](2017. Semi-supervised classification with graph convolutional networks ) 中引入了图卷积网络 (GCN),并在多个节点分类任务中实现了最新的性能。作者定义并使用了一种类似卷积的运算,称为谱图卷积。这使得CNN可以直接在图形上操作。基本上,GCN中的每一层通过考虑相邻节点的特征来更新图中每个节点的特征向量的表示。具体来说,GCN的逐层正向传播操作可以表示为

X(l+1)=f(Xl,A)=σ(D~−1/2A~D~−1/2X(l)W(l))(1)X^{(l+1)} =f(X^l,A)=\sigma (\tilde D^{-1/2} \tilde A \tilde D^{ − 1/2} X^{(l)}W^{(l)} ) \qquad (1) X(l+1)=f(Xl,A)=σ(D~1/2A~D~1/2X(l)W(l))(1)

  • XXX是所有节点的特征向量构成的特征矩阵(每一行表示一个节点的特征)
  • 其中,XlX^lXlX(l+1)X^{(l+1)}X(l+1)分别是lll层的输入和输出矩阵,XlX^lXl也是第lll层对于所有节点的embedding。对于这两个矩阵,行数相同,对应于图中的节点数;而列数可能不同,这取决于输入和输出特征空间的尺寸。
  • AAA是图的邻接矩阵
  • A~=A+IN\tilde A = A + I_NA~=A+IN带有自环的无向图的邻接矩阵。
  • INI_NIN 是单位矩阵。
  • D~ii=∑jA~ij\tilde D_{ii} = \sum_j \tilde A_{ij}D~ii=jA~ij是带有自环的无向图的度矩阵,是一个对角矩阵。
  • W(l)W^{(l)}W(l) 是一个可训练权重矩阵或参数矩阵。
  • σ(⋅) 激活函数,例如Relu。

我们可以看到,这种操作相当于每个节点都有一个局部过滤器,其感受野由节点本身及其所有相邻节点组成。一般来说,一般图中的节点具有不同数量的相邻节点,感受野的大小也不同,从而产生不同的局部过滤器。这是常规卷积运算的一个关键区别,在卷积运算中,对网格数据中的每个位置应用相同的局部滤波器进行扫描。此外,虽然对图形数据使用不同大小的局部滤波器似乎是合理的,但值得注意的是,D~−1/2A~D~−1/2\tilde D^{-1/2} \tilde A \tilde D^{−1/2}D~1/2A~D~1/2 中没有可训练的参数。另外,每个相邻的节点在加权和中得到相同的权重,这使得它成为一个简单的平均值,而CNN则通过学习局部过滤器中的权重(过滤器中的权重不同),GCN中不可训练的聚合操作限制了GCNs对通用图数据的能力

图注意网络(GATs)

从这个角度来看,图注意网络(GATs)[28]试图在使用注意机制[1,27]聚合相邻特征向量时启用可学习的权重。与GCNs一样,每个节点仍然有一个局部过滤器,其中每个节点的感受野覆盖节点本身及其所有相邻节点。在进行特征向量加权和时,通过测量其特征向量与中心节点特征向量之间的相关性,每个相邻节点接收到一个不同的权重
在数学上,对于一个节点iii及其相邻节点jjj,层llll+1l+1l+1之间的相关度量过程由下式给出:

eli,j=al(Wlxli,Wlxlj)αli,j=softmax(eli,j)(2)\begin{aligned} & e_l^{i,j}=a_l(W_l x_l^i,W_l x_l^j) \\ & \alpha_l^{i,j}=softmax(e_l^{i,j}) \\ \end{aligned} \qquad (2) eli,j=al(Wlxli,Wlxlj)αli,j=softmax(eli,j)(2)

  • 其中,xlix_l^ixlixljx_l^jxlj分别是XlX_lXl中的第iii行和第jjj行,代表了在第lll层网络中,第iii个和第jjj个节点的feature vectors
  • WlW_lWl是一个可共享的线性转换
  • ala_lal表示单层前馈神经网络
  • αli,j\alpha_l^{i,j}αli,j是节点iii特征聚合操作中节点jjj的权重

GCN中的算数平均聚合用特征向量加权和取代。尽管如此,GATs为不同的相邻节点提供不同的可训练权重,但学习过程不同于常规CNNs,CNNs直接学习局部过滤器中的权重。此外,注意力机制需要在一个节点与其所有相邻节点之间进行额外的计算,这将在实践中导致内存和计算资源问题。

3. Methods

在这一部分中,介绍了可学习图卷积层(LGCL)和通用图数据的子图训练策略。在此基础上,提出了大规模可学习图卷积网络(LGCNS)

3.1 Challenges of Applying Convolutional Operations on Graph Data

为了在图上应用常规卷积运算,需要克服两个主要的挑战,这两个挑战是由一般图和类网格数据之间的两个主要差异造成的。

  • 首先,对于一个普通图中的不同节点,相邻节点的数量通常是不同的
  • 其次,不能在一般图中对相邻节点进行排序,因为它们之间没有排名信息
    例如,在社交网络中,网络中的每个人都可以被视为一个节点,边表示人与人之间的友谊。显然,每个节点的相邻节点的数量不同,因为人们可以有不同数量的朋友。同时,如果没有额外的排名信息,很难对这些朋友进行排序。

类似网格的数据可以看作是一种特殊的图形数据类型,其中每个节点都有固定数量的有序邻居。当卷积运算直接应用于像图像这样的网格数据时,可以分析为什么上面提到的两个特征差异对于执行常规卷积是必要的。为了理解有一个固定数量的具有排序信息的相邻节点的需要,考虑一个3×3大小的卷积滤波器扫描一个图像。可以把图像看作一个特殊的图形,把每个像素看作一个节点。扫描过程中,计算涉及一个中心节点和3×3−1=8个相邻节点。这8个节点通过在特殊图形中有连接它们的边成为中心节点的邻居。同时,我们可以根据这些相邻节点相对于中心节点的相对位置来排序。这对于卷积运算至关重要,因为在扫描过程中必须保持滤波器中的权重与图中节点之间的对应关系。例如,3×3过滤器中的左上角权重应始终与中心节点左上角的相邻节点相乘。没有这样的排序信息,卷积运算的输出就不再具有确定性。从上面的讨论中可以看出,直接对通用图数据应用常规卷积运算是一个挑战。为了解决这两个难题,这篇论文提出了一种将通用图转换为类网格数据的方法

3.2 Learnable Graph Convolutional Layers

为了让传统卷积可以在图上可用,作者提出了LGCL。遵循第2节中定义的符号,LGCL的layer-wise传播规则写为:

X~l=g(Xl,A,k)Xl+1=c(X~l)(3)\begin{aligned} & \tilde{X}_l = g(X_l, A, k) \\ & X_{l+1} = c(\tilde{X}_l) \\ \end{aligned} \qquad (3) X~l=g(Xl,A,k)Xl+1=c(X~l)(3)

  • g(⋅)g(⋅)g()是一个k-largest Node Selection函数,将图结构数据映射到网格结构
  • c(⋅)c(⋅)c()表示1维常规的CNN,将顶点信息聚合,为每个顶点输出了一个新的特征向量
k-largest Node Selection

作者提出了一个新的方法称为k-largest Node Selection,将图结构映射到网格数据上,其中kkk是LGCL的超参数。在这个操作之后,每个顶点的邻居信息聚合,表示成一个有(k+1)(k+1)(k+1)个位置的1维的网格状。变换后的数据会输入到CNN中来生成新的特征向量。

假设有行向量xl1,xl2,...,xlNx_l^1,x_l^2,...,x_l^Nxl1,xl2,...,xlNXl∈RN×CX_l \in \mathbb{R}^{N \times C}XlRN×C,表示NNN个顶点的图,每个顶点有CCC个特征。顶点iii的特征向量是xlix_l^ixli,它有nnn个邻居。通过在邻居矩阵中的一个简单查找,可以获得这些邻居的下标,i1,i2,...,ini_1,i_2,...,i_ni1,i2,...,in。对它们的对应的特征向量xli1,xli2,...,xlinx_l^{i_1},x_l^{i_2},...,x_l^{i_n}xli1,xli2,...,xlin进行拼接,得到Mli∈Rn×CM_l^i \in \mathbb{R}^{n \times C}MliRn×C。假设n≥kn \geq knk,就没有泛化上的损失。如果n&lt;kn &lt; kn<k,则可以用使用全为0的列,给MliM_l^iMli加padding。k-largest Node Selection是在MliM_l^iMli上做的:对于每一列,排序得到nnn个值,然后选最大的kkk个数,就可以得到一个k×Ck \times Ck×C的输出矩阵。因为MliM_l^iMli表示特征,这个操作等价于为每个特征选择kkk个最大值。通过在第一行插入xlix_l^ixli,输出变为M~li∈R(k+1)×C\tilde{M}^i_l \in \mathbb{R}^{(k+1) \times C}M~liR(k+1)×C。如图2左部分。通过对每个顶点重复这个操作,g(⋅)g(⋅)g()XlX_lXl变为X~l∈RN×(k+1)×C\tilde{X}_l \in \mathbb{R}^{N \times (k + 1) \times C}X~lRN×(k+1)×C

1-D Convolutional Neural Networks

k-largest Node Selection部分讲述了将图状网络转化成了网格状态。然后再通过几个一维CNN模型c(⋅)c(⋅)c(),就实现了对每个顶点进行的特征聚合和特征过滤。整个LGCL过程如图2所示。图2中左边是k-largest Node Selection,右边是1-D Convolutional Neural Networks。

图2. LGCL的示意图。考虑一个有6个相邻节点的节点。每个节点有三个特征,由三分量的特征向量表示。该层选择邻近区域中的k=4个节点,并使用一维CNN为中心节点生成一个有五个特征的新向量表示,中心节点颜色以橙色编码。左侧部分描述了从相邻节点为每个特征选择k最大值的过程。从图中可以看出有6个邻居。由于k=4,对于每个特征,根据排序从邻域中选择四个最大值。例如,第一个特征的选择过程的结果是{9、6、5、3}来自于{9、6、5、3、0、0}的前4个(所以这里的节点并不是真是邻居节点特征,是经过加工之后的,有max-pooling的感觉,不仅解决了数目标准化为4们还按照大小顺序排好序)。通过对其他两个特征重复相同的过程,最后包括橙色节点本身,可以得到(k+1)三分量的特征向量,将它们连接起来,得到一个具有(k+1)positions(看图中行数)和3个通道的网格状结构的一维数据(每种特征是一列,一个通道)。然后,应用一维CNN生成最终特征向量。具体来说,使用两个卷积核大小为(k/2+1)且没有填充的卷积层。输出通道数分别为4和5个。在实践中,一维CNN可以是任何CNN模型,只要最终输出是一个向量,作为中心节点的新特征表示

补充:

  • 根据输入特征通道数=卷积核通道数,输出特征通道数=卷积核个数。可知,第一个卷积的卷积核通道数是3,个数是4;第二个卷积运算卷积核通道数为4,个数是5
  • 从graph 到 grid-like结构数据具体操作,是对一阶邻居节点每一维度特征降序排列,构成特征矩阵,取前k行。结合中心节点本身的特征即为一个的特征矩阵。
  • 通常来说k值的选择和网络结构有关,网络结构中节点的邻居较多则k值选择较大,对于非常稀疏的大量孤立节点存在的网络,k取得值很小,邻居节点间特征传播没有意义
  • 作者对邻居节点的特征做了降序排列,这样的做法有两个好处,一是尽量保留数值较大的激活值,二是通过降序排列使邻居节点之间的位置不敏感。
  • 如果将N,(k+1),CN,(k+1),CN(k+1)C分别看作是batch size,spatial size,通道数,那么X~l\tilde{X}_lX~l可以看作是1维网格状的结构。因此,k个最大顶点选择函数g(⋅)g(⋅)g()成功地将图结构变换为网格结构。
  • 图2只是对一个顶点进行特征聚合和特征过滤的过程,实际中需要对所有顶点都进行类似的操作,同时也可以使得每个顶点有固定数量的有序邻居。

3.3 Learnable Graph Convolutional Networks

越深的网络一般会产生越好的结果。然而,之前在图上的深度模型,如GCN(2017. Semi-supervised classification with graph convolutional networks ),只有两层。随着深度的增加,它们的性能有有所下降[2017. Semi-supervised classification with graph convolutional networks ]。作者表明此文的LGCL可以构造的很深,构造出图顶点分类的可学习的图卷积网络。并且基于densely connected convolutional networks(DCNNs),构造了LGCNs。(DCNNs获得了ImageNet分类任务最好的成绩)

在LGCN中,先用一个 图嵌入(graph embedding) 层来生成顶点的低维表示,因为原始输入一般都是高维特征,比如Cora数据集。第一层的图嵌入层本质上就是一个线性变换,表示为:

X1=X0W0X_1=X_0W_0 X1=X0W0

  • X0∈RN×C0X_0 \in \mathbb{R}^{N \times C_0}X0RN×C0表示高维的输入
  • W0∈RC0×C1W_0 \in \mathbb{R}^{C_0 \times C_1}W0RC0×C1将特征空间的维度从C0C_0C0映射到了C1C_1C1
  • 结果就是,X1∈RN×C1X_1 \in \mathbb{R}^{N \times C_1}X1RN×C1C1&lt;C0C_1&lt;C_0C1<C0。或者,使用一个GCN层来做图嵌入。
  • 如第二部分描述的,GCN层中的参数数量等价于传统的图嵌入层中参数的数量。

在图嵌入层后,堆叠多个LGCL,多少个取决于数据的复杂程度。因为每个LGCL只能聚合一阶邻居的信息,也就是直接相连的邻居顶点,堆叠LGCL可以从一个更大的顶点集中获得信息,这也是传统CNN的功能。为了提升模型的性能,帮助训练过程,还使用skip connections来拼接LGCL的输入和输出。最后,在softmax激活前使用一个全连接层。

就像LGCN的设计理念,k以及堆叠的LGCL的数量是最重要的超参数。顶点的平均度是选择k的一个重要参数。LGCL的数量应该依赖任务的复杂度,比如类别的个数,图的顶点数等。越复杂的模型需要越深的模型。

3.4 Sub-Graph Training on Large-Scale Data

大部分图上的深度学习模型都有另一个限制。在训练的时候,输入的是所有顶点的特征向量以及整个图的邻接矩阵。图的规模大的时候这个矩阵就会变大。这些方法在小尺度的图上表现的还可以。但是对于大规模的图,这些方法一般都会导致内存和计算资源极大的开销,限制了这些模型的一些应用

其他类型的数据集也有相似的问题,比如网格数据。举个例子,图像分割上的深度模型通常使用随机切片的方式来处理大的图片。受到这种策略的启发,作者随机的将图“切分”,用得到的小图进行训练。然而,尽管一张图片的一个矩形部分很自然地包含了像素的邻居信息,但是如何处理图中顶点的不规则连接还是一个问题。

作者提出了子图选择算法来解决大规模图上计算资源的问题,如算法1所示。给定一个图,先采样出一些初始顶点。从它们开始,使用广度优先搜索算法,迭代地将邻接顶点扩充到子图内。经过一定次数的迭代后,初始顶点的high-order邻居顶点就会被加进去。注意,在算法1中使用一个简单的参数NmN_mNm。实际上在每个迭代中,可以将NmN_mNm设置为不同的值。图4给出了子图选择过程的一个例子。

算法1 图4
输入:邻接矩阵AAA,节点数量NNN,子图sizeNsN_sNs
初始节点NinitN_{init}Ninit,每一轮迭代扩展的节点最大数量NmN_mNm
输出:刚才选的集合S作为一个子图
图4. 一个子图选择过程的例子。
步骤如下:
(1)随机采样,得到初始节点Ninit=3N_{init} = 3Ninit=3个(图中三个橘色节点)
;最终想获得一个Ns=15N_s = 15Ns=15个节点的子图;
(2)在第一次迭代中,使用BFS选择这三个节点的first-order邻居
,不包括这三个节点自己。在这些邻居节点中,随机选择Nm=5N_m = 5Nm=5
个节点(蓝色);
(3)在下一次迭代中,从蓝色的邻居中选择Nm=7N_m = 7Nm=7个节点(绿色)
,不包括之前选择的节点;注意,两个迭代中的NmN_mNm变化了,这在
实践中是一个灵活的选择

(4) 经过两次迭代,一共选择了3+5+7=15(Ns=15N_s = 15Ns=15)个节点,
得到了所需的子图。这些节点以及相应的邻接矩阵将在训练迭代中形成对LGCN的输入。
  • 之所以用BFS就是因为之前的k-largest Node Selection进行了排序
  • candidateNodes \ S 表示两个集合的差运算
  • S表示当前子图节点集合

有了这样的随机“裁剪”子图的操作,就可以在大型图上训练深层模型了。此外,还可以利用mini-batch训练策略来加速学习过程。在每次训练迭代中,都可以使用所提出的子图选择算法对多个子图进行抽样,并将它们放到一个mini-batch中。相应的特征向量和邻接矩阵构成网络的输入。

4. Experimental studies

在这一部分中,作者评估了论文中提出的大规模可学习图卷积网络(LGCNS)在节点分类任务下的transductive and inductive learning settings。此文的工作,除了与现有最先进的模型进行比较外,还进行了一些性能研究,以研究如何选择超参数。并对基于该子图选择算法的训练策略进行了实验分析。实验结果表明,LGCNS具有较好的性能,子图训练比全图训练更有效。代码在https://github.com/divelab/lgcn/。

4.1 Datasets

在实验中,作者主要关注的是在transductive and inductive learning配置下的节点分类任务。

Transduction Learning

在Transduction Learning下,可以在训练期间访问和获取未标记的测试数据。具体来说,对于节点分类问题,图中只有一部分节点被标记。测试节点也在同一个图中,在训练期间可以访问,包括它们的特征和连接,但标签除外。这意味着训练过程了解的内容包含测试节点的图形结构。作者使用三个标准的基准数据集进行Transduction Learning实验,分别是Cora,Citeseer,和Pubmed[23],如表1所示。这三个数据集是引用网络,节点和边分别表示文档和引用,每个节点的特征向量对应于文档的a bag-of-word representation。对于这三个数据集,采用与GCN[15](2017. Semi-supervised classification with graph convolutional networks ) 中相同的实验设置。每个类使用20个节点进行训练,500个节点用于验证,1000个节点用于测试。

Inductive Learning

对于归纳学习,在训练过程中没有测试数据,这意味着训练过程没有了解测试图的结构。在归纳学习任务中,通常有不同的训练、验证和测试图。在训练期间,模型只使用训练图,而不访问验证和测试图。作者使用蛋白质-蛋白质相互作用(PPI)数据集[31],其中包含20个训练图、2个验证图和2个测试图。由于验证和测试图是分开的,所以训练过程不使用它们。每个图平均有2372个节点,每个节点有50个特征,包括位置、基序基因和特征。每个节点都有来自121个类的多个标签。

4.2 Experimental Setup

这部分描述了在Transduction Learning和Inductive Learning环境下的实验设置。

Transduction Learning

在Transduction Learning任务中,作者采用了如图3所示的所提到的LGCN模型。由于Transduction Learning数据集采用高维的词袋表示作为节点的特征向量,因此输入经过一个图嵌入层来减小维度。这里,使用一个GCN层作为图形嵌入层。embedding输出的维度为32。然后应用LGCLs,每个LGCLs使用k=8并生成8分量的特征向量。对于Cora,Citeseer,和Pubmed,分别堆叠2、1和1个LGCLs。作者在skip connections中使用concatenation。最后,使用全连接的层作为分类器进行预测。在全连接层之前,对相邻节点的特征向量进行简单的求和。Dropout[25]分别应用于每层的输入特征向量和邻接矩阵,其rate分别为0.16和0.999。所有的Transduction Learning任务中的LGCN模型都使用子图训练策略。子图大小设置为2000。

Inductive Learning

对于归纳学习,除了一些超参数外,还使用了与上述相同的LGCN模型。对于图嵌入层(GCN),输出特征向量的维数为128。实验中将两个LGCLs叠加为k=64。采用子图训练策略,子图初始节点大小分别为500和200。每层应用0.9的dropout率。

对于Transduction Learning和Inductive Learning LGCN的模型,共享以下配置。对于所有层,只使用Identity激活函数(恒等激活函数,f(x)=xf(x)=xf(x)=x),这意味着网络中不涉及非线性变换。为了避免过度拟合,采用了λ=0.0005的L2L_2L2正则化。训练期间,使用学习率为0.1的Adam优化器[14]。LGCNs中的权重通过 Glorot initialization 进行初始化[7]。实验中还采用基于验证精度的early
stopping strategy,最多可训练1000个epochs。

4.3 Analysis of Results

表2和表3分别总结了Transduction和Inductive学习配置的实验结果。

Transduction Learning

对于Transduction学习实验,作者像参考文献中[15]中一样报告了节点分类精度。表2提供了与其他图模型的比较。根据结果,此文中的LGCN模型在Cora、Citeseer和Pubmed数据集上的性能比当前最先进的GCN分别高出1.8%、2.7%和0.6%。

Inductive Learning

对于归纳学习实验,文中报告了micro-averaged F1 scores,如[9]。从表3可以看出,作者的LGCN模型比GraphSAGE-LSTM有16%的提升。在训练过程中没有观察到测试图的结构,LGCN模型仍能得到很好的推广。

上述结果表明,在不同数据集的节点分类任务中,所提出的基于通用图的LGCN模型始终产生新的最先进的性能。这些结果证明了在变换后的图形数据上应用规则卷积运算的有效性。此外,通过k-largest Node Selection提出的变换方法是有效的。

4.4 LGCL versus GCN Layers

从上述实验可以看出,LGCN模型采用了比GCN更深入的网络架构,这可以解释性能的改进。然而,之前的研究表明,随着层数的增加,GCN的性能会随着层数的增加而降低。此外,作者还进行了另一个实验,用GCN层代替LGCN模型中的所有LGCLs,称为LGCNsub−GCN\rm LGCN_{sub}-GCNLGCNsubGCN模型。所有其他设置保持不变,以确保比较的公平性。表4提供了LGCNsub\rm LGCN_{sub}LGCNsubLGCNsub−GCN\rm LGCN_{sub}-GCNLGCNsubGCN的比较结果。结果表明,LGCNsub\rm LGCN_{sub}LGCNsubLGCNsub−GCN\rm LGCN_{sub}-GCNLGCNsubGCN具有更好的性能,表明LGCL比GCN层更有效。

4.5 Sub-Graph versus Whole-Graph Training

在上述实验中,文中使用了子图训练策略学习LGCN模型,以节省内存和训练时间。然而,由于子图选择算法从整个图中抽取一些节点作为子图,这意味着用这种方法训练的模型在训练过程中不会了解整个图的结构。同时,在Transduction学习任务中,测试节点的信息可能被忽略,从而增加了性能损失的风险。为了解决这一问题,作者对Transduction学习任务进行了实验,将子图训练策略与以前的全图训练策略进行了比较。通过实验,展示了使用子图训练策略的优点,模型性能损失可以忽略不计

对于算法1中描述的子图选择过程,该算法从随机选择的一些初始节点开始。在Transduction学习任务中,只从带有训练标签的节点中抽取初始节点,以确保可以进行训练。具体来说,在为Cora、Citeseer和Pubmed数据集选择子图时分别抽取140、120和60个初始节点。对于子图选择算法中的每个迭代,不设置NmN_mNm来限制扩展到子图中的节点数。对于所有三个数据集,子图中的最大节点数设置为2000,这对于我们手头的GPU来说是一个可行的大小。

为了进行比较,文中使用相同的LGCN模型进行实验,但是使用与GCN相同的整图训练策略对它们进行训练,这意味着输入是整个图的表示。作者将这些模型表示为LGCNwhole\rm LGCN_{whole}LGCNwhole,与使用子图训练策略的LGCNsub\rm LGCN_{sub}LGCNsub相比。这两个模型与GCN的比较结果见表5。表中节点数表示一次训练迭代使用的节点数,时间是使用单个TITAN Xp GPU运行100个epoch的训练时间。

可以看出,Cora、Citeseer和Pubmed数据集的训练子图中节点的实际数目分别为644、442和354,远小于最大子图大小2000。这表明Cora、Citeseer和Pubmed数据集中的节点是稀疏连接的。具体地说,从带有训练标签的几个初始节点开始,通过扩展相邻节点形成连接的子图,只选择一小组节点。虽然这些数据集通常被视为单个大型图,但整个图实际上是由几个相互之间没有连接的独立子图组成的。子图训练策略利用了这一事实,有效地利用了带有训练标签的节点。由于只有初始节点具有训练标签,并且其所有连接信息都包含在选定的子图中,因此子图训练中的信息丢失量最小化,从而导致可忽略的性能损失。通过比较LGCNsub\rm LGCN_{sub}LGCNsubLGCNwhole\rm LGCN_{whole}LGCNwhole 的节点分类精度可以证明这一点。根据结果,与LGCNwhole\rm LGCN_{whole}LGCNwhole模型相比,LGCNsub\rm LGCN_{sub}LGCNsub模型在Cora数据集上的性能损失仅为0.5%,而在Citeseer和PubMed数据集上的性能损失相同。

在研究了性能损失的风险后,指出了子图训练策略在训练速度方面的巨大优势。通过子图训练LGCNsub\rm LGCN_{sub}LGCNsub将节点数较少的子图作为输入,与整个图相比,可以大大提高训练效率,从表5的结果可以看出,改进是显著的。虽然GCN需要更简单的计算,但是它的运行时间比大型图形数据集(如Pubmed)上的LGCN模型要长得多。大型数据通常采用强大的深度模型,使得子图训练策略在实际应用中具有一定的实用价值。子图训练策略允许使用更复杂的层,如所提议的LGCLs,而不需要考虑长时间的训练。因此,文中的大型LGCNs子图训练策略不仅有效而且非常有效。

4.6 Performance Study of k

如第3.3节所述,在LGCNs中选择超参数k时,图的平均节点度数是有帮助的。在这一部分中,作者进行了实验,以展示k的不同值如何影响LGCN模型的性能。试验中改变LGCNs中k的值,并观察Cora、Citeseer和Pubmed数据集上的节点分类精度。k的值是从2、4、8、16和32中选择的,它们涵盖了一个合理的整数值范围。

图5描绘了不同k值下LGCN模型的性能变化,如图所示,当选择k=8时,LGCN模型在所有三个数据集上都达到了最佳性能。在Cora、Citeseer和Pubmed数据集中,平均节点度数分别为4、5和6。这表明,最佳k通常比数据集中的平均节点度数大一点。当k太大时,LGCN模型的性能会下降。一个可能的解释是,如果k比图中的平均节点度大得多,在k最大的节点选择过程中使用了太多的零填充,这会影响以下一维CNN模型的性能。对于PPI数据集上的归纳学习任务,也探讨了k的不同值,当平均节点度为31时,k=64为最佳性能。这与上面的结果是一致的。

5 Conclusions and future work

在这项工作中,作者提出了可学习的图卷积层(LGCL),它将一般的图数据转换成网格结构的数据,并使用常规卷积操作。转换是通过一个新的k-最大节点选择过程进行的,该过程使用节点特征值之间的排序。基于LGCL,作者构建了更深层次的网络,称为可学习图卷积网络(LGCNs),用于图上的节点分类任务。实验结果表明,无论是在Transduction学习还是inductive学习环境下,所提出的LGCN模型都比以前的方法具有更好的性能。LGCN模型在四个不同的数据集上获得了最新的最先进的结果,证明了LGCLs的有效性。

此外,作者还提出了一种子图选择算法,从而产生了子图训练策略,可以解决大规模图形数据对内存和计算资源的过度需求问题。通过子图训练,提出的LGCN模型既有效又高效。实验结果表明,子图训练策略在训练速度上具有显著优势,并且性能损失可以忽略不计。新的训练策略非常有用,因为它可以有效地使用更复杂的模型。

基于这项工作,作者讨论了未来工作的几个可能方向。首先,他们的方法主要解决节点分类问题。在实践中,许多其他有趣的任务可以被定义为图分类问题,其中每个图都有一个标签。虽然它们与图像分类任务类似,但当前的图卷积方法(包括此文中的方法)不能对图执行向下采样(down-sampling),例如对图数据执行pooling操作。文中指出,需要一个有效减少节点数量的层,这对于图分类是必要的。其次,此文的方法主要应用于像引文网络这样的通用图数据。对于其他数据(如文本),论文中的方法可能也很有用,因为可以将文本数据视为图数据。作者最后指明将在未来探索这些方向。

参考

Node Classification on Pubmed
Large-Scale Learnable Graph Convolutional Networks(LGCN)论文ppt下载

[LGCN论文笔记]:Large-Scale Learnable Graph Convolutional Networks相关推荐

  1. 【LGCN】如何理解Large-Scale Learnable Graph Convolutional Networks?

    论文:Large-Scale Learnable Graph Convolutional Networks?, 代码:https://github.com/divelab/lgcn/ 摘要 卷积神经网 ...

  2. 【论文】时空预测模型Spatio-Temporal Graph Convolutional Networks

    STGCN流量预估模型论文解读 <Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traf ...

  3. 基于图卷积的价格推荐论文(Price-aware Recommendation with Graph Convolutional Networks)

    基于图卷积的价格推荐论文概述 ICDE2020非常好的文章 Price-aware Recommendation with Graph Convolutional Networks paper lin ...

  4. 【论文导读】- EvolveGCN: Evolving Graph Convolutional Networks for Dynamic Graphs(EvolveGCN:用于动态图的演化图卷积网络)

    文章目录 论文信息 摘要 evolving graph convolutional network 图卷积网络 (GCN) 权重更新 Evolving Graph Convolution Unit ( ...

  5. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  6. 论文浅尝 | GEOM-GCN: Geometric Graph Convolutional Networks

    论文笔记整理:毕祯,浙江大学硕士,研究方向:知识图谱.自然语言处理. 动机 消息传递神经网络(MPNN)已成功应用于现实世界中的各种应用中.但是MPNN聚合器的两个基本弱点限制了它们表示图结构数据的能 ...

  7. GCN论文笔记——HopGAT: Hop-aware Supervision Graph Attention Networks for Sparsely Labeled Graphs

    [论文笔记]HopGAT: Hop-aware Supervision Graph Attention Networks for Sparsely Labeled Graphs 作者:纪超杰,王如心等 ...

  8. 论文笔记 EMNLP 2020|Edge-Enhanced Graph Convolution Networks for Event Detection with Syntactic Relation

    文章目录 1 简介 1.1 动机 1.2 创新 2 背景知识 3 方法 4 实验 1 简介 论文题目:Edge-Enhanced Graph Convolution Networks for Even ...

  9. 【论文笔记】FCN:Fully Convolutional Networks for Semantic Segmentation

    <Fully Convolutional Networks for Semantic Segmentation>,CVPR 2015 文章目录 1. 概览 2. 主要亮点 2.1 全卷积化 ...

最新文章

  1. 前端开发神器之ngrok
  2. 我的面试(四)补充1
  3. 如何阅读学术论文、聆听学术报告 —— 叶志明
  4. linux下构建Zabbix网络监控平台
  5. QML 界面切换的几种方法
  6. Gradle实战:发布aar包到maven仓库
  7. POJ 1258 Agri-Net (最小生成树)
  8. 堆排序算法讲解视频java版_堆排序算法的讲解及Java版实现
  9. Mysql数据库的mysql Schema 究竟有哪些东西 手工注入的基础要领
  10. 好用的文献论文管理软件 EndNote X 9.3.3 Mac版
  11. php 金额转大写,php实现将人民币金额转大写的办法
  12. pspice学习笔记(4)--各类符号详解
  13. Word在试图打开文件时错误,如何解决
  14. Mac OS X中virtualenv里python shell无法使用光标键问题的解决
  15. 微信小程序参数二维码生成朋友圈分享图片
  16. 脉冲神经网络克服了类脑计算的硬件障碍,让AI更节能
  17. T1113 整理药名
  18. 华为月薪11万招工程师,看到要求我傻眼了!
  19. 【TEST】NOI-Linux可用 gedit c++精简配置 附Emacs日常配置
  20. 如何下载视频网站中video标签中的视频资源以blob:http开头的地址的资源

热门文章

  1. DIY作品 | LED矩阵电子沙漏
  2. 万物上云时代,中国移动云电脑引领混合办公新潮流
  3. Second Dinner 工作室正与漫威合作,开发一款漫画改编游戏
  4. YiLu代理引擎已禁用,是怎么回事?
  5. LSTM内部结构及前向传播原理——LSTM从零实现系列(1)
  6. win10找不到d3dx9_43.dll,无法正常启动0xc000007b
  7. kindeditor php 漏洞,kindeditor=4.1.5 文件上传漏洞 | CN-SEC 中文网
  8. 继美国澳洲之后,华为英国再受挫,被质疑安全问题
  9. 腾讯开源启动疯狂模式
  10. Android端实现深度学习