图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018

本文的三位作者来自华盛顿州立大学,同之前的几篇论文一样,本文也是旨在解决如何在非欧的graph中获得适用于广义卷积的子图结构,并提出模型learnable graph convolutional layer (LGCL)。LGCL根据值的排序,为每个特征自动选择固定数量的相邻节点,将图形数据转换成一维格式的网格状结构(在节点邻域矩阵上执行最大池化,得到top-k特征元素),从而可以对泛型图进行常规的卷积操作。同时,为了在大图上进行模型训练,提出了一种子图训练方法,以减少先前在图卷积上的方法所带来的过多的内存和计算资源需求。
将卷积应用到图数据上,主要需要克服两个挑战:邻居结点数量不固定;没有可以依赖的特征对邻居结点进行排序。这也是空域卷积模型都要面对的两个问题。

Model

首先,LGCL的逐层传播规则被表述为:
在这里插入图片描述
其中,A表示邻接矩阵,g(·)为选择k个最大结点的操作,将泛型图转换为网格状结构数据。c(·)代表1D的CNN操作。下面根据一个例子分别介绍g(·)和c(·)。
图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第1张图片

  • k-largest Node Selection。定义在这里插入图片描述为输入的结点的特征矩阵,C表示结点的特征维度,矩阵的行向量为在这里插入图片描述。对于一个特定的结点i,通过对邻接矩阵可以查找到结点的所有n个邻居结点,它们的特征表示为在这里插入图片描述。如果n在这里插入图片描述(n×C维)。下面就选出每一列中最大的k个特征值并得到一个k×C的矩阵。这一步相当于做了一个池化,把最大的特征选择出来。同时,结点本固有的特征也需要被考虑进来插入到矩阵的第一行,这样最后得到的维度就成了N×(k+1)×C。如Figure所示。
  • 1-D Convolutional Neural Networks。对于1D卷积,输入维度N×(k+1)×C,输出N×C或者说是N×1×C。N表示batch size,C表示input channel,所以只考虑在矩阵(k+1)×C上进行操作,在Figure2的例子中,聚合之后的特征矩阵是5*3维,k=4。每次使用k/2+1大小的卷积核,巧妙地使向量经过两次卷积之后变成一维。
    在定义了卷积操作的基础上,Figure3给出了LGCN的模型结构。
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第2张图片
    在本例中,输入中的节点具有两个特性。利用图嵌入层将输入特征向量转换为低维表示。类似于ResNet,每次LGCN layer卷积之后的结构都与上一层固有的结点特征进行拼接,最后送入全连接层进行结点的最终分类。传统的GCN效果在第二层达到最优,因此一般都只使用两层;但是LGCN允许深度的图神经网络的学习。

Sub-Graph Training on Large-Scale Data

提出了一种子图选择算法来解决大规模图数据的内存和计算资源问题,如算法1所示。给定一个图,我们首先对一些初始节点进行抽样。在此基础上,利用广度优先搜索(BFS)算法将相邻节点迭代扩展到子图中。通过多次迭代,包含初始节点的高阶邻近节点。
图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第3张图片
图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第4张图片
以上图为例,首先选择三个橙色结点作为初始结点,想要得到大小为15的子图。在第一次迭代中,使用BFS查找3个初始节点(橙色)的所有一阶相邻节点,不包括它们自己并随机选取N1=5个蓝色结点。之后在第二次迭代中,N2=7,也就是绿色结点。最终得到3+5+7=15个结点的子图,连同相应的邻接矩阵,将在一个训练迭代中形成LGCN的输入。

实验

图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第5张图片
考虑不同的任务,将实验分为两类。

  • Transduction Learning。结点分类,对于每个类,20个节点用于培训,500个节点用于验证,1000个节点用于测试(同Kipf的论文一样)。
  • Inductive Learning,图分类。
    Table2和Table3展示了在不同数据集上,LGCN的分类效果。并且在Table4对比了GCN Layer与LGCL的效果。
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第6张图片
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第7张图片
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第8张图片
    Table5讨论了LGCN训练所需耗费的时间,在全图上训练LGCN所花费的时间更大,但是采用子图训练之后有效降低了时间,并且精度只下降了5%。
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第9张图片
    最后也对k值的选择进行了探究。可见k=8在所有的数据集上都取得了最好的效果。在Cora、Citeseer和Pubmed数据集中,平均节点度分别为4、5和6。这表明,最佳k通常比数据集中的平均节点度稍大。当k太大时,LGCN模型的性能下降。一种可能的解释是,如果k比图中平均节点度大得多,那么在k最大的节点选择过程中使用了过多的补零,从而影响了以下一维CNN模型的性能。对于PPI数据集上的归纳学习任务,也探究了不同的k值,k = 64给出了最佳性能,平均节点度为31。这与我们上面的结果是一致的。
    图神经网络论文阅读(四) Large-Scale Learnable Graph Convolutional Networks, KDD2018_第10张图片

你可能感兴趣的:(GNN,Model)