【大综解读】A Comprehensive Survey on Graph Neural Networks
本文主要贡献
- 新的分类模式:我们提出了一种新的图神经网络分类法。图神经网络分为四类:递归图神经网络、卷积图神经网络、图自动编码器和时空图神经网络。
- 全面的论述:我们提供了图形数据的现代深度学习技术的最全面的概述。对于每种类型的图神经网络,我们提供了代表性模型的详细描述,进行了必要的比较,并总结了相应的算法。
- 丰富的资源指导:我们收集了大量关于图神经网络的资源,包括最先进的模型、基准数据集、开源代码和实际应用。本调查可作为理解、使用和开发针对各种实际应用的不同深度学习方法的实践指南。
- 未来方向:我们讨论了图神经网络的理论方面,分析了现有方法的局限性,并就模型深度、可伸缩性权衡、异构性和动态性提出了四个可能的未来研究方向。
组织结构
第二节概述了图形神经网络的背景,列出了常用的符号,并定义了与图形相关的概念。
第三节阐明了图神经网络的分类
第四节-第七节概述了图神经网络模型
第八节提供了多领域的应用
第九节讨论了当前的挑战并提出未来的方向。
第十节总结了本文
常用符号
Λ是特征值(谱)的对角矩阵,Λii=λi
第二节主要内容
频域论文
- Spectral Networks and Locally Connected Networks on Graphs:Bruna et al.(2013)[19]首次对基于光谱的卷积gnn进行了突出的研究,该研究基于光谱图理论开发了一种图卷积。
- Deep Convolutional Networks on Graph-Structured Data:谱域
- Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering:谱域
- Semi-Supervised Classification with Graph Convolutional Networks:谱域
空域论文
- Neural Network for Graphs: A Contextual Constructive Approach:空域图卷积早期代表作品
- Diffusion-Convolutional Neural Networks:空域
- Learning Convolutional Neural Networks for Graphs:空域
GNN和Network Embedding的比较
什么是Network Embedding:
网络嵌入的目的是将网络节点表示为低维向量表示,既保留网络拓扑结构又保留节点内容信息,以便后续的任何图分析任务,如分类、聚类、推荐,可以轻松使用现成的简单机器学习算法(如支持向量机分类)进行实现。
主要区别:
gnn和网络嵌入的主要区别在于,gnn是一组神经网络模型,是为各种任务而设计的,而网络嵌入是针对同一任务而设计的各种方法。
图神经网络与图核方法的比较
图核历来是解决图分类问题的主要技术[36],[37],[38]。这些方法使用核函数来度量图对之间的相似性,这样基于核函数的算法(如支持向量机)就可以用于对图的监督学习。
第三节主要内容
递归图神经网络
Learning Steady-States of Iterative Algorithms over Graphs:递归图神经网络代表
时空图神经网络
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition:人体动作识别
Structural-RNN: Deep Learning on Spatio-Temporal Graphs.:驾驶员行为预测
Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting:交通流量预测
图神经网络主要的框架
节点级
输出与节点回归和节点分类任务有关。recgnn和convgnn可以通过信息传播/图卷积提取高级节点表示。以多感知器或softmax层作为输出层,gnn能够以端到端方式执行节点级任务。
边级别
输出与边分类和链路预测任务有关。以gnn中两个节点的隐藏表示作为输入,可以利用相似函数或神经网络来预测边的标签/连接强度。
图级别
输出与图分类任务相关。为了在图级别上获得紧凑的表示,gnn通常与池操作和读出操作相结合。
An End-to-End Deep Learning Architecture for Graph Classification:图分类
递归图神经网络和图神经网络的总结
第四节:递归图神经网络
The Graph Neural Network Model(***GNN)
节点的隐藏状态更新函数:
是随机初始化的
该状态更新函数必须是收敛的
GraphESN
提高了GNN*的训练效率
Gated Graph Neural Network (GGNN)
采用门控递归单元(GRU)作为递归函数,将递归减少到固定的步数。其优点是,它不再需要约束参数来确保收敛。
隐藏状态更新函数:
GGNN采用bp -propagation through time (BPTT)算法来学习模型参数。对于大型图来说,这可能是一个问题,因为GGNN需要在所有节点上多次运行循环函数,需要将所有节点的中间状态存储在内存中。
Stochastic Steady-state Embedding (SSE)
随机稳态嵌入(SSE)提出了一种可扩展到大图[18]的学习算法。
随机与异步:它可以选择采样一批节点用于状态更新,也可以采样一批节点用于梯度计算。
为保持稳定性,将SSE的递归函数定义为历史状态和新状态的加权平均,其形式为方程3
问题:
SSE并没有通过反复应用方程3在理论上证明节点状态会逐渐收敛到不动点。
第五节:卷积图神经网络
与递归图神经网络的区别
基于频谱的ConvGNN
输入信号x与过滤器g的卷积公式:
简化公式:
Spectral Convolutional Neural Network (Spectral CNN)
假设作为可学习的参数,考虑多通道(单个节点的特征为向量)的情况
核心公式:
该方法的问题:
- 对图的任何扰动都会导致特征基的改变。
- 其次,学习的过滤器是域相关的,这意味着它们不能应用于具有不同结构的图形。
- 特征分解的复杂度为O(n^3)
在后续工作中,ChebNet[21]和GCN[22]通过几次近似和简化降低计算复杂度为O(M)。
Chebyshev Spectral CNN (ChebNet)
卷积公式:
其中˜Λ=2Λ/λmax−in,˜Λ的值位于[−1,1]中。
下面这个公式可以优化公式7,且可以用数学归纳法证明:
改进后的卷积公式:
该公式的的优势:
- 作为对Spectral CNN的改进,ChebNet定义的过滤器参数是独立于图参数的,这意味着过滤器可以独立于图的大小来提取局部特征。
CayleyNet
优势:
CayleyNet在保持空间局部性的同时,表明ChebNet可以看作是CayleyNet的一个特例
★Graph Convolutional Network (GCN)★
GCN引入了ChebNet的一阶近似。
假设K=1,λmax=2,方程8简化为:
为了限制参数的数量并避免过度拟合,gcn进一步假设θ=θ0=−θ1
得到进一步定义的卷积公式:
为了允许多通道输入和输出,GCN将公式11修改如下:
经验证明,使用对GCN造成数值不稳定(隐藏节点状态具有非常不同的尺度)。
为了解决这个问题,GCN使用了标准化技巧:
->()
作为一种基于频谱的方法,GCN也可以解释为一种基于空间的方法。从基于空间的角度来看,GCN可以被认为是从节点的邻域中聚集特征信息。
等式12可以表示为:
hv表示H中的一行
对GCN的一系列改进
Adaptive Graph Convolutional Network (AGCN) [40]
自适应图卷积网络(AGCN)[40]学习未由图邻接矩阵指定的隐藏结构关系。
它通过一个以两个节点的特征为输入的可学习距离函数来构造所谓的残差图邻接矩阵。
Dual Graph Convolutional Network(DGCN) [41]
双图卷积网络(DGCN)[41]引入了一种双图卷积体系结构,其中两个图卷积层并行。
基于空间的ConvGNNs
图像可以被看作特殊的图:
、
Neural Network for Graphs (NN4G)
图的神经网络(NN4G)[24]是与GNN*并行提出的,是基于空间的ConvGNN的第一个工作。
节点更新函数:
多通道形式:
一个不同之处在于,NN4G使用非标准化邻接矩阵,这可能潜在地导致隐藏节点状态具有非常不同的尺度。
Contextual Graph Markov Model (CGMM)
上下文图马尔可夫模型(CGMM)[47]提出了一种受NN4G启发的概率模型。在保持空间局部性的同时,CGMM具有概率可解释性的优点。
Diffusion Convolutional Neural Network (DCNN)
扩散卷积神经网络(DCNN)[25]将图的卷积视为扩散过程。它假设信息以一定的转移概率从一个节点传递到其相邻节点之一,使信息分布在几轮后达到均衡。
卷积公式:
概率转移矩阵:
DCNN将H(1)、H(2)、···、H(K)串联在一起作为最终模型输出。
Diffusion Graph Convolution(DGC)
由于扩散过程的平稳分布是概率转移矩阵的幂级数之和,扩散图卷积(DGC)[72]对每个扩散步骤的输出进行求和,而不是级联。
卷积公式:
PGC-DGCNN
使用转移概率矩阵的幂意味着遥远的邻居对中心节点贡献的信息非常少。PGC-DGCNN[46]增加了基于最短路径的遥远邻居的贡献。
卷积公式:
问题:
最短路径邻接矩阵的计算可能非常昂贵,最大为O(N3)。
Partition Graph Convolution (PGC)
分区图卷积(PGC)[75]基于不限于最短路径的某些标准将节点的邻居划分到Q个组中。
PGC构造了Q个邻接矩阵(每组一个)
然后,PGC将具有不同参数矩阵的GCN[22]应用于每个邻居组,并对结果求和:
Message Passing Neural Network (MPNN)【一般框架】
消息传递神经网络(MPNN)[27]概述了基于空间的ConvGNN的一般框架。
它将图卷积看作一个消息传递过程,在这个过程中,信息可以直接沿着边从一个节点传递到另一个节点。
MPNN运行K步消息传递迭代,让信息进一步传播。
卷积公式:
在导出每个节点的隐藏表示之后,hv(K)可以被传递到输出层以执行节点级预测任务,或者被传递到a readout function以执行图形级预测任务。
a readout function基于节点隐藏表示生成整个图形的表示。它通常被定义为:
Graph Isomorphism Network (GIN)
图同构网络(GIN)[57]发现以前的基于MPNN的方法不能根据它们产生的图嵌入区分不同的图结构。
为了修正这一缺点,GIN通过一个可学习的参数来调整中心节点的权重,其卷积公式为:
GraphSage【一般框架】
由于一个节点的邻居数目可能从1个到1000个甚至更多不等,因此取一个节点的整个邻居的大小是低效的。GraphSage[42]采用抽样为每个节点获得固定数量的邻居。
它通过以下方式执行图形卷积:
聚集函数对不同节点应该是不变的,例如均值、和或最大函数。
★Graph Attention Network (GAT)★
图形注意网络(GAT)[43]假定相邻节点对中心节点的贡献既不像GraphSage[42]那样认为对中心节点贡献度相同,也不像GCN[22]那样预先确定(这种区别如图4所示)
GAT使用注意力机制学习两个节点之间的相对权重。
图卷积公式:
Gated Attention Network (GAAN)
GAT假设注意力头部的贡献是相等的,而门控注意力网络(GAAN)[48]引入了一种自我注意机制,该机制为每个注意力头部计算额外的注意力得分。
GeniePath
除了在空间上应用图注意力之外,GeniePath[55]进一步提出了一种类似LSTM的门控机制来控制图卷积层之间传播的信息流。
其他图注意力模型
[88]J. B. Lee, R. Rossi, and X. Kong, “Graph classification using structural
attention,” inProc. of KDD. ACM, 2018, pp. 1666–1674.
[89]S. Abu-El-Haija, B. Perozzi, R. Al-Rfou, and A. A. Alemi, “Watch
your step: Learning node embeddings via graph attention,” inProc. of
NeurIPS, 2018, pp. 9197–9207.
Mixture Model Network (MoNet)【一般架构】
混合模型网络(Monet)[44]采用了一种不同的方法来为节点的邻居分配不同的权重。它引入节点伪坐标来确定节点与其邻居之间的相对位置。一旦知道两个节点之间的相对位置,权重函数就将该相对位置映射到这两个节点之间的相对权重。通过这种方式,图形过滤器的参数可以跨不同位置共享。在Monet框架下,现有的几种manifolds方法,如测量CNN(GCNN)[90]、各向异性CNN(ACNN)[91]、样条CNN[92;还有几种现有的几种图方法,GCN[22]、DCNN[25]等,都可以通过构造非参数权函数来推广为Monet的特例。此外,Monet还提出了一种具有可学习参数的高斯核来自适应地学习权函数。
将邻居节点排序的相关图卷积方法
PATCHY-SAN
PATCHY -SAN[26]根据每个节点的图标签对其邻居进行排序,并选择topq邻居。图的标签本质上是节点得分,可以通过节点度、中心性和WeisfeilerLehman color[93]、[94]得到。由于每个节点现在都有固定数量的有序邻居,图结构数据可以转换为网格结构数据。PATCHY-SAN采用标准的一维卷积滤波器来聚合邻居特征信息,其中滤波器权重的顺序与节点邻居的顺序相对应。PATCHY-SAN的排序准则只考虑图结构,数据处理计算量大。
Large-scale Graph Convolutional Network (LGCN)
大规模图卷积网络[45]基于节点特征信息对节点的邻居进行排序。对于每个节点,LGCN由其邻域组成一个特征矩阵,并沿着每一列对该特征矩阵进行排序。将排序后的特征矩阵的前面q行作为中心节点的输入数据。
提升训练效率的模型
Fast Learning with Graph Convolutional Network (Fast-GCN)
快速学习与图卷积网络(FastGCN)[49]为每个图卷积层采样固定数量的节点,而不是像GraphSage[42]那样为每个节点采样固定数量的邻居。它将图卷积解释为节点在概率测度下的嵌入函数的积分变换。采用蒙特卡罗近似和方差减少技术来促进训练过程。由于FastGCN对每一层独立地采样节点,层间连接可能是稀疏的。
Huang等人[51]提出了一种自适应分层抽样方法,其中下层的节点抽样以上层的节点抽样为条件。与FastGCN相比,该方法实现了更高的精度,但代价是采用了更复杂的采样方案。
在另一项工作中,图卷积网络的随机训练(StoGCN)[50]使用历史节点表示作为控制变量,将图卷积的接受域大小减少到任意小的尺度。即使每个节点有两个邻居,StoGCN也能达到相当的性能。但是,StoGCN仍然需要保存所有节点的中间状态,这对于大型图来说是非常消耗内存的。
Cluster-GCN[58]使用图聚类算法对子图进行采样,并对采样子图内的节点进行图卷积。由于邻域搜索也被限制在抽样子图内,Cluster-GCN能够处理更大的图,同时使用更深层的架构,在更少的时间和更少的内存。值得注意的是,ClusterGCN提供了对现有卷积gnn训练算法的时间复杂度和存储复杂度的直接比较。我们根据表四分析其结果。
频谱模型和空间模型的比较
谱模型在图形信号处理中有一定的理论基础。通过设计新的图形信号滤波器(例如,Cayley网[23]),可以构建新的ConvGNN。然而,由于效率、通用性和灵活性问题,空间模型比光谱模型更受欢迎。
- 首先,频谱模型的效率低于空间模型。谱模型要么需要进行特征向量计算,要么需要同时处理整个图。由于空间模型通过信息传播直接在图形域中执行卷积,因此空间模型对大型图的可扩展性更强。计算可以在一批节点中执行,而不是在整个图中执行。
- 其次,依赖于图的傅立叶基的谱模型很难推广到新的图。他们假设有一个固定的图。对图的任何扰动都会导致特征基的改变。另一方面,基于空间的模型在每个节点上本地执行图形卷积,其中权重可以很容易地跨不同的位置和结构共享。
- 第三,基于谱的模型仅限于在无向图上操作。基于空间的模型更灵活地处理多源图输入,例如边输入[15]、[27]、[86]、[95]、[96]、有向图[25]、[72]、有符号图[97]和异构图[98]、[99],因为这些图输入可以容易地合并到聚集函数中。
图池化模块(Graph Pooling Modules)
在GNN生成节点特征之后,我们可以将它们用于最终任务。但是直接使用所有这些功能在计算上可能具有挑战性,因此需要一种下采样策略。根据目标和在网络中扮演的角色,该策略被赋予不同的名称:(1)池操作旨在通过对节点进行下采样以生成更小的表示来减小参数的大小,从而避免过拟合、排列不变性和计算复杂性问题;(2)读出操作主要用于基于节点表示来生成图级表示。它们的机制非常相似。在本章中,我们使用池来引用应用于GNN的所有类型的下采样策略。
在一些早期的工作中,图粗化算法使用特征分解来根据图的拓扑结构对图进行粗化。然而,这些方法都存在时间复杂度问题。Graclus算法[100]是计算原始图的聚类版本的特征分解的另一种选择。最近的一些工作[23]使用它作为池化运算来粗化图。
目前,由于在池化窗口中计算平均值/最大/和值很快,因此,平均值/最大/和合并是实现下采样的最原始和最有效的方法:
Henaff等人[20]表明在网络开始时执行简单的最大/平均合并对于降低图域中的维度和降低昂贵的图傅里叶变换操作的成本特别重要。此外,一些文献[17]、[27]、[46]也使用注意机制来增强均值/和汇集。
前述的池化方法主要考虑了图的特征,忽略了图的结构信息。最近,人们提出了一种可微池(DiffPool)[54],它可以生成图的层次表示。与所有以前的粗化方法相比,DiffPool不是简单地对图中的节点进行聚类,而是学习聚类分配矩阵S
S(k)由节点特征和图拓扑结构生成
其核心思想是学习综合的节点分配,它同时考虑了图的拓扑和特征信息,因此方程28可以用任何标准的ConvGNN来实现。
然而,DiffPool的缺点是它在池化后生成稠密图,此后计算复杂度变为O(N2)。
最近,SAGPool[102]方法被提出,它同时考虑节点特征和图拓扑,并以自注意力的方式学习池化。
总体而言,池化是减小图形大小的基本操作。如何提高池化算法的效率和计算复杂度是一个有待研究的问题。
第六节:图自编码器
GAE可用于学习网络嵌入或生成新图。表V中总结了选定的GAE的主要特性。
接下来,我们从网络嵌入和图生成两个角度对GAE进行了简要的回顾。
A. Network Embedding
网络嵌入是节点的低维矢量表示,它保留了节点的拓扑信息。
GAE学习网络嵌入,使用编码器提取网络嵌入,并使用解码器强制网络嵌入以保存图的拓扑信息,例如PPMI矩阵和邻接矩阵。
文章中介绍了不少方法,但是Network Embedding和我的下游任务关系不大,所以没有记录,如有需要,后面可以在研读记录。
B. Graph Generation
对于多个图,GAE能够通过将图编码为隐藏表示并解码给定隐藏表示的图结构来学习图的生成分布。大多数用于图生成的GAE都是为解决分子图生成问题而设计的,在药物发现中具有很高的实用价值。这些方法或者以序列方式或者以全局方式提出新的图。
文章中也介绍了不少方法,但是Graph Generation和我的下游任务关系不大,所以没有记录,如有需要,后面可以在研读记录。
总结
简单地说,序列方法是将图线性化成序列。由于周期的存在,它们可能会丢失结构信息。全局方法会同时生成一个图,但是不适用于大图。
第七节:时空图神经网络
stgnn的任务可以是预测未来的节点值或标签,或者预测时空图的标签。stgnn遵循两个方向,基于rnn的方法和基于cnn的方法。
基于RNN的方法
大多数基于rnn的方法通过使用图卷积[48],[71],[72]过滤输入和传递到循环单元的隐藏状态来捕获时空依赖性。为了说明这一点,假设一个简单的RNN采用这种形式:
插入图卷积之后:
GCRN和DCRNN
另一个并行工作使用节点级rnn和边缘级rnn来处理时间信息的不同方面。
Structural-RNN
structure-rnn[73]提出了一种递归框架,用于在每个时间步预测节点标签。它包括两种rnn,即节点rnn和边rnn。每个节点和每条边的时间信息分别通过节点rnn和边rnn。为了整合空间信息,节点rnn将边rnn的输出作为输入的一部分。由于对不同的节点和边假设不同的rnn大大增加了模型的复杂性,因此它将节点和边划分为语义组。同一语义组中的节点或边共享相同的RNN模型,节省了计算成本。
基于CNN的方法
基于rnn的方法面临耗时的迭代传播和梯度爆炸/消失问题。
基于cnn的方法以非递归的方式处理时空图,具有并行计算、稳定的梯度和低内存需求的优点。
如图2d所示,基于cnn的方法将一维cnn层与图卷积层交叉,分别学习时间和空间依赖性。
假设一个时空图神经网络的输入是一个张量:
一维cnn层沿时间轴滑动x [:,i,:]来聚合每个节点的时间信息,而图卷积层在x [i,:,:]上操作来聚合每个时间步长的空间信息。
CGCN
CGCN[74]将一维卷积层与ChebNet[21]或GCN[22]层集成。它通过将一个门控1D卷积层、一个图卷积层和另一个门控1D卷积层按顺序叠加,构造一个时空块。
ST-GCN
ST-GCN[75]使用1D卷积层和PGC层组成一个时空块(式20)。
学习静态图结构(学习静态空间依赖)
前面的方法都使用预定义的图结构。他们假设预定义的图结构反映了节点间真正的依赖关系。然而,在一个时空设置中有许多图形数据的快照,可以从数据中自动学习潜在的静态图形结构。为了实现这一点,Graph WaveNet[76]提出了一个自适应邻接矩阵来进行图卷积。自适应邻接矩阵定义为:
学习动态图结构(学习动态空间依赖)
学习潜在的静态空间依赖关系可以帮助研究者发现网络中不同实体之间可解释和稳定的关联。然而,在某些情况下,学习潜在的动态空间依赖性可以进一步提高模型的精度。例如,在一个交通网络中,两条道路之间的旅行时间可能取决于它们当前的交通状况。
GaAN
GaAN[48]采用注意机制,通过基于rnn的方法学习动态空间依赖。
注意函数用于更新边权值。
ASTGCN
ASTGCN[77]进一步包括空间注意函数和时间注意函数,通过基于cnn的方法学习潜在的动态空间依赖和时间依赖。
学习潜在空间依赖的共同缺点是需要计算每对节点之间的空间依赖权值,其代价为O(n^2)。
第八节:应用
该部分总结了基准图形数据集、评估方法和开源实现。详细介绍了GNN在各个领域的实际应用。
A. Data Sets
引文网络由论文、作者以及它们之间的关系(如引文、作者和合著者)组成。虽然引文网络是有向图,但在评估模型在节点分类、链接预测和节点聚类任务方面的性能时,它们通常被视为无向图。有三个流行的数据集,分别是CORA、Citeseer和Pubmed。CORA数据集包含2708种机器学习出版物,分为七类。Citeseer数据集包含3327篇科学论文,分成六类。Cora和Citeseer中的每篇论文都由一个热点向量表示,该向量指示词典中是否有单词。PUBMED数据集包含19717种与糖尿病相关的出版物。Pubmed中的每篇论文都由词频-逆文频(TF-IDF)向量表示。此外,DBLP是一个包含数百万篇论文和作者的大型引文数据集,这些论文和作者来自计算机科学书目。DBLP的原始数据集可以在https://dblp.uni-trier.de上找到。DBLP论文引文网络的处理版本由https://aminer.org/citation更新。
生化图化学分子和化合物可以用原子为节点,化学键为边的化学图来表示。这类图通常用于评估图的分类性能。NCI-1和NCI-9数据集分别包含4110和4127种化合物,标记为它们是否具有阻碍人类癌细胞系生长的活性。MUTAG数据集包含188种硝基化合物,根据它们是芳香族化合物还是杂芳族化合物进行标记。D&D和蛋白质数据集将蛋白质表示为图表,根据它们是酶还是非酶进行标记。PTC数据集由344种化合物组成,标记它们对雄性和雌性大鼠是否致癌。QM9数据集记录了多达9个重原子的133885个分子的13个物理性质。炼金术数据集记录了多达14个重原子组成的119487个分子的12个量子力学性质。另一个重要的数据集是蛋白质相互作用网络(PPI)。它包含24个生物图,节点由蛋白质表示,边由蛋白质之间的相互作用表示。在PPI中,每个图形都与一个人体组织相关联。每个节点都标有其生物状态。
社交网络是由BlogCatalog和Reddit等在线服务的用户互动形成的。BlogCatalog数据集是一个由博客作者及其社会关系组成的社交网络。博客作者的分类代表了他们的个人兴趣。Reddit数据集是由从Reddit论坛收集的帖子组成的无向图。如果两篇帖子包含同一用户的评论,则这两篇帖子是链接的。每个帖子都有一个标签,指明它所属的社区。
Others
值得一提的是,还有其他几个数据集。MNIST数据集包含70000张大小为28×28的图像,用10位数字进行标记。通过基于MNINST图像的像素位置构造8个最近邻图,将MNINST图像转换为图形。METR-LA是一个时空图形数据集。它包含由洛杉矶县高速公路上的207个传感器收集的四个月的交通数据。该图的邻接矩阵由传感器网络距离和高斯阈值计算。Nell数据集是从永无止境的语言学习项目中获得的知识图谱。它由涉及两个实体及其关系的三元组所代表的事实组成。
B. 评估和开源实现
节点分类和图分类是评估RecGNN和ConvGNN性能的常用任务。
节点分类 在节点分类中,大多数方法在包括CORA、Citeseer、Pubmed、PPI和Reddit在内的基准数据集上遵循训练/有效/测试的标准拆分。他们报告了多次运行的测试数据集的平均准确度或F1得分。方法的实验结果摘要可以在补充材料B中找到。
图分类 在图分类中,研究者通常采用10倍交叉验证(cv)对模型进行评价。然而,正如[132]所指出的,不同作品的实验设置是模糊的,并不是统一的。特别是,[132]提出了在模型选择和模型评估中正确使用数据分割的问题。一个经常遇到的问题是,每个折叠的外部测试集同时用于模型选择和风险评估。[132]在标准化和统一的评价框架下比较gnn。另一种程序是双cv方法,它使用外折cv进行模型评估,使用内折cv进行模型选择。我们建议读者参考[132],对GNN图形分类方法进行详细和严格的比较。
开源实现为深度学习研究中的基线实验工作提供了便利。在补充材料C中,我们提供了本文回顾的GNN模型的开源实现的超链接。值得注意的是,菲等人。[92]在PyTorch中发布了一个几何学习库,名为PyTorch Geometric4,它实现了许多GNN。最近发布了Deep Graph Library(DGL)5[133],它在PyTorch和MXNet等流行的深度学习平台上提供了许多GNN的快速实现。
C. 实际应用
GNN在不同的任务和域中有许多应用。尽管可以由每类GNN直接处理的一般任务包括节点分类、图分类、网络嵌入、图生成和时空图预测,但是诸如节点群集[134]、链接预测[135]和图划分[136]等其他与图相关的任务也可以由GNN处理。我们详细介绍了基于以下研究领域的一些应用。
计算机视觉
GNN在计算机视觉中的应用包括场景图生成、点云分类和动作识别。
识别视频中包含的人类行为有助于从机器方面更好地理解视频内容。一些解决方案检测视频剪辑中人体关节的位置。由骨骼连接的人体关节自然形成一个图形。给定人类关节位置的时间序列,[73],[75]应用STGNN来学习人类行动模式。
此外,GNN在计算机视觉中的应用方向还在不断增加。它包括人-对象交互[144]、少镜头图像分类****[145]、[146]、[147]、语义分割[148]、[149]、视觉推理[150]和问答[151]。
自然语言处理
交通流量预测
推荐系统
化学分子任务
其他
gnn的应用不限于上述领域和任务。将gnn应用于程序验证[17]、程序推理[166]、社会影响预测[167]、对抗攻击预防[168]、电子健康记录建模[169]、[170]、脑网络[171]、事件检测[172]和组合优化[173]等问题已经有了探索。
【169】Choi E, Bahadori M T, Song L, et al. GRAM: graph-based attention model for healthcare representation learning[C]//Proceedings of the 23rd ACM SIGKDD international conference on knowledge discovery and data mining. 2017: 787-795
【170】Choi E, Xiao C, Stewart W F, et al. Mime: Multilevel medical embedding of electronic health records for predictive healthcare[J]. arXiv preprint arXiv:1810.09593, 2018.
【171】Kawahara J, Brown C J, Miller S P, et al. BrainNetCNN: Convolutional neural networks for brain networks; towards predicting neurodevelopment[J]. NeuroImage, 2017, 146: 1038-1049.