近年来,从图像分类到视频处理再到语音识别和自然语言处理,深度学习已经变革了多项机器学习任务。这些任务中的数据通常表示在欧几里得空间中。然而,越来越多的应用使用非欧几里得域生成的数据,并将它们表示为具有复杂关系和相互依赖关系的图。虽然图数据的复杂性对现有机器学习算法提出了重大挑战,但最近许多研究开始将深度学习方法扩展到图数据。
本文综述了数据挖掘和机器学习领域中的图神经网络(GNN),并按照新的方法对图神经网络的最新进展进行了分类。在关注图卷积网络的同时,他们还回顾了最近开发的其他架构,例如图注意力网络、图自编码器,图生成网络以及图时空网络等。我们还进一步讨论了图神经网络在多个领域的应用并总结了不同学习任务现有算法的开源代码及基准。最后,我们提出了这一快速发展领域的研究方向。
在这一节,我们提供基础图概念的定义。为了方便查询,我们在表 1 总结了常用的符号。
表 1:常用符号。
这一部分内容给出了图神经网络的分类方法。我们考虑到了所有能与神经架构组合成图神经网络的可微图模型,把图神经网络最终分类为:图卷积网络、图注意力网络、图自编码器、图生成网络和图时空网络。这些网络中,图卷积网络在捕捉架构依存关系上扮演着核心角色。如下图 3 所示,属于其他类别的方法部分使用图卷积网络作为基础。表 2 总结了每个类别的代表性方法。
图 3:图神经网络分类
表 2:图神经网络代表性论文
下图 4 展示了图卷积网络节点表征学习的过程。
图 4:有多层 GCN 层的图卷积网络变体。通过从邻域聚合特征信息,一个 GCN 层把每个节点的隐藏表征进行压缩。在特征聚合之后,非线性置换被应用到生成的输出上。通过多层堆叠,每个节点的最终隐藏表征从后续邻域获得信息。
下图 5 展示了多个建立在 GCN 上的图神经网络模型。
图 5:建立在 GCN 上的不同图神经网络模型。
下图展示了图卷积网络和图注意力网络在聚合邻近节点信息方面的区别。
表 3:图卷积网络的总结。Node-level 输出与节点回归和分类任务相关,Edge-level 输出与边分类和链接预测任务相关,Graph-level 输出与图分类任务相关。
端到端训练框架。图卷积网络可以以(半)监督或纯无监督的方式在端到端学习框架中训练,依赖于学习任务和可用的标签信息。
节点级分类的半监督学习。给定部分节点被标记的单个网络,图卷积网络可以学习到一个鲁棒的模型,高效识别未标记节点的类别标签 [14]。为此,可以通过堆叠一系列的图卷积层和 softmax 层来建立端到端框架进行多类别分类。图级分类的监督学习。给定一个图数据集,图级分类旨在预测整个图的类别标签 [55], [56], [74], [75]。这一任务的端到端学习可以利用一个结合了图卷积层和池化步骤的框架实现 [55], [56]。图嵌入的无监督学习。如果图中无可用类别标签,我们可以在一个端到端框架中以完全无监督的方式学习图嵌入。这些算法通过两种方式利用边级(edge-level)信息。一种简单的方法是采用自编码器框架,其中编码器使用图卷积层将图嵌进潜在表征中,然后使用解码器重构图结构 [59], [61]。另一种方法是利用负采样方法,采样一部分节点对作为负对(negative pair),而图中已有的节点作为正对(positive pair)。然后在卷积层之后应用 logistic 回归层,以用于端到端学习 [24]。
这一章概览图卷积网络(GCN),这是很多复杂图神经网络模型的基础。GCN 方法分为两类,分别基于谱和空间。基于谱的方法通过从图信号处理的角度引入滤波器来定义图卷积,其中图卷积运算被解释为从图信号中去除噪声 [76]。基于空间的方法将图卷积表征为聚合来自近邻的特征信息。虽然 GCN 在节点级别上运行,但是图池化模块可以与 GCN 层交替,将图粗粒化为高级子结构。如图 5a 所示,这种架构设计可用于提取图级表征、执行图分类任务。下文会分别介绍、基于空间的 GCN 和图池化模块。基于谱的 GCN 部分介绍了其背景、方法等,这些方法包括 Spectral CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet (1stChebNet) 和 Adaptive Graph Convolution Network (AGCN)。基于空间的 GCN 分为两类:Recurrent-based Spatial GCN 和 Composition Based Spatial GCN。前者包括图神经网络(Graph Neural Networks,GNN)、门控图神经网络(Gated Graph Neural Networks,GGNN)和 Stochastic Steady-state Embedding (SSE)。后者涉及了:Message Passing Neural Networks (MPNN)、GraphSage。此外,这部分还介绍了这两大类之外的空间 GCN 变体,包括 Diffusion Convolution Neural Networks (DCNN)、PATCHY-SAN、Large-scale Graph Convolution Networks (LGCN)、Mixture Model Network (MoNet)。
这一章还从效率、通用性和灵活性方面,对比了基于谱的 GCN 和基于空间的 GCN,认为基于空间的 GCN 更具优势,也因此吸引了更多研究兴趣。
这部分概述了图卷积网络之外的其他图神经网络,包括图注意力神经网络、图自编码器、图生成模型和图时空网络。下表总结了每个类别下的主要方法。
表 4:图卷积网络之外的其他图神经网络概览。该表根据网络的输入、输出、目标任务和是否基于 GCN 总结了每种网络下的多种方法。输入列代表每种方法适合分布式图 (A)、有向图 (D) 还是时空图 (S)。
注意力机制几乎成为序列任务中的标配。它的价值在于能够聚焦于对象最重要的部分。该机制被证明在多项任务中有用,如机器翻译和自然语言理解。由于注意力机制的模型容量越来越大,图神经网络在聚合信息、集成多个模型的输出、生成重要性导向的随机游走时,可以从注意力机制中获益良多。这部分介绍了图注意力网络的多种方法,包括图注意力网络(Graph Attention Network,GAT)、门控注意力网络(Gated Attention Network,GAAN)、图注意力模型(Graph Attention Model,GAM)、注意力游走(Attention Walks)。注意力机制对图神经网络的贡献有三部分,即在聚合特征信息时向不同近邻分配注意力权重、根据注意力权重集成多个模型,以及使用注意力权重引导随机游走。尽管我们把 GAT 和 GAAN 分类为图注意力网络的两种方法,但是它们都可以作为基于空间的卷积网络。二者的优势是它们可以适应性地学习近邻的重要性权重(如图 6 所示)。但是,由于我们必须计算每对近邻之间的注意力权重,因此计算成本和内存消耗会快速增长。
图自编码器是一类网络嵌入方法,旨在通过神经网络架构将网络顶点表征到低维向量空间。典型的解决方案是使用多层感知机作为编码器来获取节点嵌入,解码器重建节点的近邻统计,如正逐点互信息(positive pointwise mutual information,PPMI)或一阶、二阶接近度(proximities)[42]。最近,研究人员尝试在设计图自编码器时用 GCN 作为编码器、结合 GCN 和 GAN,或者结合 LSTM 和 GAN。这部分介绍了基于 GCN 的自编码器和其他变体。基于 GCN 的自编码器部分介绍了:图自编码器(Graph Auto-encoder,GAE)、对抗正则化图自编码器(Adversarially Regularized Graph Autoencoder,ARGA)。其他变体包括:具备对抗正则化自编码器的网络表征(Network Representations with Adversarially Regularized Autoencoders,NetRA)、用于图表征的深度神经网络(Deep Neural Networks for Graph Representations,DNGR)、结构化深度网络嵌入(Structural Deep Network Embedding,SDNE)、深度递归网络嵌入(Deep Recursive Network Embedding,DRNE)。DNGR 和 SDNE 仅基于拓扑结构学习节点嵌入,而 GAE、ARGA、NetRA 和 DRNE 需要基于拓扑信息和节点内容特征学习节点嵌入。图自编码器的一个挑战是邻接矩阵的稀疏性,会导致解码器正条目(positive entry)的数量远远少于负条目。为了解决这个问题,DNGR 重建了一个较稠密的矩阵——PPMI 矩阵,SDNE 对邻接矩阵的零条目进行惩罚,GAE 重新调整邻接矩阵中项的权重,NetRA 将图线性化为序列。
图生成网络的目标是基于一组可观察图来生成图。其中的很多方法都是领域特定的。例如,在分子图生成方面,一些研究将分子图的表征建模为字符串 SMILES [94], [95], [96], [97]。在自然语言处理中,生成语义图或知识图通常需要一个给定的句子 [98], [99]。最近,研究人员又提出了多个通用方法。一些研究将生成过程看成节点或边的形成 [64], [65],而另一些则使用生成对抗训练 [66], [67]。该领域的方法要么使用 GCN 作为构造块,要么使用不同的架构。这部分介绍了基于 GCN 的图生成网络和其他图生成网络。前者包括:分子生成对抗网络(Molecular Generative Adversarial Networks,MolGAN)和深度图生成模型(Deep Generative Models of Graphs,DGMG);后者涉及 GraphRNN(通过两级循环神经网络使用深度图生成模型)和 NetGAN(结合 LSTM 和 Wasserstein GAN 从基于随机游走的方法中生成图)。
图 9:MolGAN 框架图示。
图时空网络同时捕捉时空图的时间和空间依赖。时空图具备全局图结构,每个节点的输入随着时间而改变。例如在交通网络中,使用每个传感器作为节点来连续记录某条道路的交通流动速度,其中交通网络的边由传感器对之间的距离决定。图时空网络的目标是预测未来节点值或标签,或预测时空图标签。近期研究探索了仅使用 GCN、结合 GCN 和 RNN 或 CNN,以及专用于图结构的循环架构。这部分介绍了基于 GCN 的图时空网络和其他图时空网络。前者包括:Diffusion Convolutional Recurrent Neural Network (DCRNN)、CNN-GCN、时空 GCN(Spatial Temporal GCN,ST-GCN)。其他方法有 Structural-RNN,一种循环结构化框架。DCRNN 的优势是能够处理长期依赖,因为它具备循环网络架构。尽管 CNN-GCN 比 DCRNN 简单一些,但 CNN-GCN 能够更高效地处理时空图,这要归功于 1D CNN 的快速实现。时空 GCN 将时间流作为图的边,这导致邻接矩阵的大小呈平方增长。一方面,它增加了图卷积层的计算成本。另一方面,要捕捉长期依赖,图卷积层必须多次堆叠。StructuralRNN 在同一个语义组内共享相同的 RNN,从而改善了模型效率,但是 StructuralRNN 需要人类先验知识来分割语义组。
图神经网络应用广泛。下面将首先介绍在文献中频繁使用的基准数据集。接着将报告各种方法在四种常用数据集上的基准性能,并列出可用的图神经网络开源实现。最后,我们将介绍图神经网络在各个领域的实际应用案例。
表 6:各种方法在四种最常用数据集上的基准性能。以上列出的方法都使用相同的训练、验证和测试数据集进行评估。
表 7:开源实现概览。
本文按领域介绍了 GNN 的应用,包括计算机视觉、推荐系统、交通、化学等。
加深网络。深度学习的成功在于深度神经架构。例如在图像分类中,模型 ResNet 具有 152 层。但在图网络中,实证研究表明,随着网络层数增加,模型性能急剧下降 [147]。根据论文 [147],这是由于图卷积的影响,因为它本质上推动相邻节点的表示更加接近彼此,所以理论上,通过无限次卷积,所有节点的表示将收敛到一个点。这导致了一个问题:加深网络是否仍然是学习图结构数据的好策略?
感受野。节点的感受野是指一组节点,包括中心节点和其近邻节点。节点的近邻(节点)数量遵循幂律分布。有些节点可能只有一个近邻,而有些节点却有数千个近邻。尽管采用了采样策略 [24], [26], [27],但如何选择节点的代表性感受野仍然有待探索。
可扩展性。大部分图神经网络并不能很好地扩展到大型图上。主要原因是当堆叠一个图卷积的多层时,节点的最终状态涉及其大量近邻节点的隐藏状态,导致反向传播变得非常复杂。虽然有些方法试图通过快速采样和子图训练来提升模型效率 [24], [27],但它们仍无法扩展到大型图的深度架构上。
动态性和异质性。大多数当前的图神经网络都处理静态同质图。一方面,假设图架构是固定的。另一方面,假设图的节点和边来自同一个来源。然而,这两个假设在很多情况下是不现实的。在社交网络中,一个新人可能会随时加入,而之前就存在的人也可能退出该社交网络。在推荐系统中,产品可能具有不同的类型,而其输出形式也可能不同,也许是文本,也许是图像。因此,应当开发新方法来处理动态和异质图结构。