文章目录
摘要
大量的学习任务需要处理含有丰富元素间关系信息的图数据。物理系统建模,学习分子指纹,预测蛋白质界面,分类疾病需要一个模型从图形输入学习。在其他领域,如从文本和图像等非结构化数据中学习,对提取的结构进行推理,如句子的依赖树和图像的场景图,是一个重要的研究课题,也需要图形推理模型。图神经网络(GNNs)是一种连接主义模型,它通过图节点之间的消息传递来捕获图的依赖性。与标准神经网络不同,图神经网络保留了一种状态,可以表示任意深度的邻域信息。虽然原始gnn很难训练为不动点,但最近在网络架构、优化技术和并行计算方面的进展使它们能够成功学习。近年来,基于图神经网络变体的系统,如**图卷积网络(GCN)、图注意网络(GAT)、门控图神经网络(GGNN)**在上述许多任务上都表现出了突破性的性能。本文对已有的图神经网络模型进行了详细的回顾,对其应用进行了系统的分类,并提出了四个有待进一步研究的问题。
1 引言
图是一种为一组对象(节点)及其关系(边)建模的数据结构。最近,由于图的强大表达能力,利用机器学习分析图的研究受到了越来越多的关注,即图可以作为外延大量系统在各个领域包括社会科学(社交网络)[1]、[2]、自然科学(物理系统[3],[4]和蛋白质-蛋白质相互作用网络[5]),知识图谱[6]和许多其他研究领域[7]。图分析作为一种独特的非欧氏机器学习数据结构,主要关注节点分类、链接预测和聚类。图神经网络(GNNs)是一种基于深度学习的基于图域的方法。GNN以其令人信服的性能和高可解释性成为近年来应用广泛的图分析方法。在下面的段落中,我们将说明图神经网络的基本动机。
GNNs的第一个动机根源于卷积神经网络,CNN有提取多尺度局部空间特征并将其组合构建具有高度表达性的表示形式的能力,在几乎所有机器学习领域都取得了突破,开启了深度学习[9]的新时代。随着我们对cnn和图的深入,我们发现了cnn的关键:局部连接,共享权值和多层[9]的使用。这对于解决图域问题也具有重要意义,因为1)图是最典型的局部连通结构。2)与传统的谱图理论[10]相比,共享权降低了计算成本。3)多层结构是处理分层模式的关键,它捕获了各种大小的特征。而cnn只能对图像(二维网格)、文本(一维序列)等规则的欧几里得数据进行操作,而这些数据结构可以看作是图的实例。因此,将CNNs泛化到图上是很简单的。如图1所示,局部卷积滤波器和池化算子难以定义,这阻碍了CNN从欧几里得域到非欧几里得域的转换。
另一个动机来自于图嵌入,它学习了用低维向量表示图节点、边或子图。在图分析领域,传统的机器学习方法通常依赖于人工设计的特征,并受到其不灵活和成本高的限制。DeepWalk[17]是第一种基于表示学习的图嵌入方法,它遵循了表示学习的思想,并在生成的随机漫步上应用了SkipGram模型[16],它被认为是第一种基于表示学习的图嵌入方法。类似的方法node2vec[18]、LINE[19]、TADW[20]也取得了突破。然而,这些方法有两个严重的缺点[12]。首先,编码器中的节点之间没有参数共享,这导致计算效率低下,因为这意味着参数的数量与节点的数量呈线性增长。其次,直接嵌入方法缺乏泛化能力,既不能处理动态图形,也不能泛化新图形。
基于cnn和图嵌入技术,提出了图神经网络(graph neural network, GNNs)从图结构中聚合信息。因此,它们可以为由元素及其依赖性组成的输入和/或输出建模。此外,图神经网络可以用RNN核同时模拟图上的扩散过程。
在接下来的部分,我们解释为什么图神经网络值得研究的根本原因。首先,标准的神经网络如CNNs和RNNs不能很好地处理图输入,因为它们将节点的特征按特定顺序堆叠。然而,图中没有节点的自然顺序。为了完整地呈现一个图,我们应该遍历所有可能的顺序,作为像CNNs和RNNs这样的模型的输入,这在计算时是非常冗余的。为了解决这个问题,GNNs分别在每个节点上传播,忽略节点的输入顺序。换句话说,GNNs的输出对于节点的输入顺序是不变的。其次,图中的一条边表示两个节点之间的依赖信息。在标准的神经网络中,依赖信息只是作为节点的特征。但是,GNNs可以在图结构的指导下进行传播,而不是将其作为特性的一部分使用。一般来说,gnn通过其邻域状态的加权和来更新节点的隐藏状态。第三,推理是高级人工智能的一个非常重要的研究课题,人类大脑中的推理过程几乎是基于从日常经验中提取的图形。标准的神经网络已经显示出通过学习数据分布来生成合成图像和文档的能力,但它们仍然不能从大量的实验数据中学习推理图。然而,GNNs探索从场景图片和故事文档等非结构化数据生成图表,这可以成为进一步高级人工智能的强大神经模型。最近,一个未经训练的具有简单架构的GNN在[21]上也有很好的表现。
关于图神经网络的研究已有一些比较全面的综述。[22]提出了一个统一的框架MoNet,将CNN架构推广到非欧几里域(图和流形),该框架可以推广图[2]、[23]上的几种谱方法,以及流形[24]、[25]上的一些模型。[26]提供了一个全面的回顾几何深度学习的问题,困难,解决方案,应用和未来的方向。[22]和[26]的研究重点是将卷积推广到图或流形上,而本文只研究了在图上定义的问题,并研究了在图神经网络中使用的其他机制,如门机制、注意机制和跳跃连接。[27]提出了消息传递神经网络(MPNN),该网络可以推广几种图神经网络和图卷积网络方法。[28]提出了结合多种“自我注意”方式的非局部神经网络(NLNN)。然而,在原稿中,模型并没有在图上明确定义。针对具体的应用领域,[27]和[28]仅仅给出了如何利用其框架推广其他模型的例子,并没有对其他图神经网络模型进行综述。[29]对图形注意力模型进行了回顾。[30]提出了图网络(GN)框架,该框架对其他模型有很强的推广能力。然而,图网络模型是高度抽象的,[30]只给出了一个粗略的应用分类。[31]和[32]是GNN的最新研究成果,主要研究GNN的模型。[32]将gnn分为五类:图卷积网络、图注意网络、图自动编码器、图生成网络和图时空网络。我们的论文与[32]有不同的分类。在第2.2.2节中,我们介绍了图卷积网络和图注意网络,因为它们有助于传播步骤。我们在2.2.1节中介绍了图形时空网络,因为模型通常用于动态图形。我们在第2.2.3节中介绍图形自动编码器,因为它们是在无监督的方式下训练的。最后,我们介绍了图生成网络在图生成中的应用(见3.3.1节)。
在这篇论文中,我们提供了一个彻底的回顾不同的图神经网络模型以及一个系统的分类的应用。总而言之,本文对图神经网络进行了广泛的研究,有以下贡献。:
- 我们对现有的图神经网络模型进行了详细的回顾。我们介绍了原始模型,它的变体和几个通用框架。我们研究了这一领域中的各种模型,并提供了统一的表示方式来表示不同模型中的不同传播步骤。通过识别相应的聚合器和更新器,可以很容易地使用我们的表示来区分不同的模型。
- 我们系统地对应用程序进行了分类,并将其分为结构化应用程序、非结构化应用程序和其他应用程序。我们给出了几个主要的应用程序以及每个场景对应的方法。
- 我们提出了四个有待进一步研究的问题。图神经网络存在过平滑和尺度问题。对于动态图形的处理和非结构化感知数据的建模,目前还没有有效的方法。我们对每个问题进行了深入的分析,并提出了未来的研究方向。
2 模型
2.1 GNN
GNN的目标是学习嵌入
h
v
∈
R
s
h_v∈R^s
hv∈Rs的状态,该状态包含每个节点的邻域信息。
局限性 虽然实验结果表明,GNN是一种强大的结构化数据建模体系结构,但仍存在原有GNN的一些局限性。首先,对于不动点,迭代更新节点的隐藏状态是低效的。如果放宽不动点的假设,我们可以设计一个多层的GNN来得到节点及其邻域的稳定表示。其次,GNN在迭代中使用相同的参数,而目前流行的神经网络在不同的层中使用不同的参数,这是一种分层特征提取方法。此外,节点隐藏状态的更新是一个循序渐进的过程,这得益于GRU和LSTM等RNN内核。第三,在原始的GNN中,边缘也存在一些不能有效建模的信息特征。例如,知识图中的边具有关系的类型,根据不同的边的类型,通过不同的边传播的消息应该是不同的。此外,如何学习边缘的隐藏状态也是一个重要的问题。最后,如果我们只关注节点的表示而不关注图的表示,那么不动点是不合适的,因为在不动点上的表示分布在值上是平滑的,用于区分每个节点的信息较少。
2.2 GNN变体
在本小节中,我们将介绍几种图神经网络的变体。第2.2.1节关注的是操作在不同图类型上的变体。这些变体扩展了原始模型的表示能力。第2.2.2节列出了一些关于传播步骤的修改(卷积,门机制,注意机制和跳跃连接),这些模型可以学习到更高质量的表示。第2.2.3节描述了使用高级训练方法的变体,这提高了培训效率。图2概述了图神经网络的不同变体。
2.2.1 图类型
在原始的GNN中,输入图由带有标签信息的节点和无向边组成,这是最简单的图格式。然而,世界上有许多不同的曲线图。在这一小节中,我们将介绍一些用于为不同类型的图建模的方法。
-
有向图 无向边可以看作是两条有向边,表明两个节点之间存在一种关系。然而,有向边比无向边能带来更多的信息。例如,在一个知识图中,边从头实体开始,到尾实体结束,头实体是尾实体的父类,这表明我们应该区别对待来自父类和子类的信息传播过程。DGP
-
异构图 图的第二种变体是异构图,其中有多种节点。处理异构图最简单的方法是将每个节点的类型转换为一个与原始特征相连接的单热点特征向量。而且,GraphInception[36]在异构图上的传播中引入了元路径的概念。使用元路径,我们可以根据节点类型和距离对邻居进行分组。对于每个邻居组,GraphInception将其视为同构图中的子图来进行传播,并将来自不同同构图的传播结果连接起来,以进行集合节点表示。最近,[37]提出了利用节点级和语义级注意的异构图注意网络(HAN)。该模型能够同时考虑节点重要性和元路径
-
带有边信息的图 在图的另一种变体中,每条边都有额外的信息,如权值或边的类型。我们列出两种方式来处理这类图:首先,我们可以将图转换成两偶图原边也成为节点和一个原边分成两个新的边缘这意味着有两个边缘之间的边缘节点和开始/结束节点
。 -
动态图 图的另一种变体是动态图,它具有静态的图结构和动态的输入信号。为了捕获这两种信息,DCRNN[40]和STGCN[41]首先通过GNNs收集空间信息,然后将输出输入序列模型,如序列到序列模型或cnn。不同的是,Structural-RNN[42]和ST-GCN[43]同时收集空间和时间信息。它们使用时间连接扩展静态图结构,因此可以在扩展图上应用传统的gnn。
2.2.2 传播类型
传播步骤和输出步骤在模型中对于获取节点(或边)的隐藏状态至关重要。如下表所示,传播步骤在原始图神经网络模型的基础上有几个主要的修改,而研究者通常在输出步骤中遵循一个简单的前馈神经网络设置。GNN不同变体的比较见表2。这些变体利用不同的聚合器从每个节点的邻居收集信息,以并用特定的更新器更新节点的隐藏状态。
卷积
人们对在图域中推广卷积越来越感兴趣。这方面的进展通常分为谱方法和非谱(空域)方法。光谱方法使用图形的光谱表示。卷积运算是在傅里叶域中通过计算图的拉普拉斯特征分解来定义的。
然而,在上述所有的光谱方法中,学习到的滤波器依赖于拉普拉斯特征基,而拉普拉斯特征基依赖于图的结构,也就是说,在特定结构上训练的模型不能直接应用到具有不同结构的图上。
非谱方法直接在图上定义卷积,作用于空间上的近邻居。非谱方法的主要挑战是定义具有不同大小邻域的卷积运算,并保持cnn的局部不变性。
注意力
跳跃连接
2.2.3 训练方法
原有的图卷积神经网络在训练和优化方法上存在一些缺陷。具体地说,GCN需要全图拉普拉斯函数,这对于大型图来说是非常耗费计算的。此外,一个节点在第L层的嵌入是通过其所有邻居在第L−1层的嵌入来递归计算的。因此,单个节点的接受域相对于层数呈指数增长,计算单个节点的梯度花费很大。最后,将GCN独立训练为一个固定的图,缺乏归纳学习的能力。
采样
- GraphSage是对原始GCN的全面改进
- PinSage提出了基于重要性的抽样方法。该方法通过模拟从目标节点开始的随机漫步,选取归一化访问次数最高的T个节点。
- FastGCN进一步改进了采样算法。FastGCN不采样每个节点的邻居,而是直接采样每个层的接收字段。FastGCN使用重要性抽样,其重要性因子计算如下:
接受域控制
数据增强
无监督训练
2.3 通用框架
除了图神经网络的不同变体之外,还提出了几种通用框架,旨在将不同的模型集成到一个单一的框架中。[27]提出了消息传递神经网络(MPNN),将各种图神经网络和图卷积网络方法统一起来。[28]提出了非局部神经网络(NLNN)。它统一了几种“自我注意”式方法[66]、[68]、[90]。[30]提出了图网络(GN),该网络将MPNN和NLNN方法统一起来,并将交互网络[4],[91],神经物理引擎[92],CommNet [93], structure2vec [7], [94], GGNN[59],关系网络[95],[96],深度集[97]和点网络[98]等多种方法结合起来。
3 应用
图神经网络已经在监督、半监督、非监督和强化学习设置的广泛问题领域中进行了探索。在本节中,我们将应用简单地划分为三种场景:(1)数据具有明确关系结构的结构场景,如物理系统、分子结构和知识图;(2)关系结构不明确的非结构化场景包括图像、文本等;(3)其他应用场景,如生成模型和组合优化问题。注意,我们只列出了几个有代表性的应用程序,而没有提供完整的列表。应用程序的摘要可在表3中找到。
3.1 结构化场景
在下面的小节中,我们将介绍GNN在结构场景中的应用,在结构场景中,数据自然地在图结构中执行。例如,gnn被广泛应用于社交网络预测[1]、[2]、流量预测[71]、[144]、推荐系统[77]、[84]和图表示[76]。具体来说,我们将讨论如何用对象关系图来建模现实世界的物理系统,如何预测分子的化学性质和蛋白质的生物相互作用性质,以及知识图中关于知识库(OOKB)实体的推理方法。
3.2 非结构化场景
3.3 其他场景
4 开放性问题
虽然神经网络在不同的领域取得了巨大的成功,但值得注意的是,GNN模型不足以在任何条件下为任何图形提供令人满意的解。在这一部分,我们将提出一些有待进一步研究的问题。
浅层结构 传统的深度神经网络可以堆叠数百层以获得更好的性能,因为更深的结构具有更多的参数,这显著提高了表达能力。然而,图形神经网络总是很浅,大多数不超过三层。如[82]中的实验所示,堆叠多个GCN层将导致过度平滑,也就是说,所有顶点都将收敛到相同的值。虽然一些研究人员已经设法解决了这个问题[59],[82],但它仍然是GNN的最大局限。设计真正的深GNN对未来的研究是一个令人兴奋的挑战,并将对理解GNN做出相当大的贡献。
动态图 另一个具有挑战性的问题是如何处理具有动态结构的图。静态图是稳定的,因此它们可以被可行地建模,而动态图引入了变化的结构。当边缘和节点出现或消失时,GNN不能自适应地改变。动态GNN正在被积极研究,我们相信这是通用GNN的稳定性和适应性的一个重要里程碑。
非结构化场景 尽管我们已经讨论了GNN在非结构性场景中的应用,但我们发现没有从原始数据生成图形的最佳方法。在图像领域,一些工作利用CNN获得特征地图,然后对它们进行上采样以形成作为节点的超像素[63],而其他工作直接利用一些对象检测算法来获得对象节点。在文本领域[129],一些工作使用句法树作为句法图,而另一些采用完全连通图。因此,找到最佳的图形生成方法将提供GNN可以做出贡献的更广泛的领域。
大规模图 对于几乎所有的图嵌入算法来说,如何在像社交网络或推荐系统这样的网络规模条件下应用嵌入方法是一个致命的问题,GNN也不例外。扩展GNN很困难,因为在大数据环境中,许多核心步骤都是计算密集型的。关于这种现象有几个例子:首先,图形数据不是规则的欧几里得,每个节点都有自己的19个邻域结构,因此不能应用批处理。然后,当有数百万个节点和边时,计算图拉普拉斯也是不可行的。此外,我们需要指出,缩放决定了一个算法是否能够应用于实际应用。一些工作已经提出了解决这个问题的方法[77],我们正在密切关注进展。
5 结论
在过去的几年里,图形神经网络已经成为图形领域机器学习任务的强大而实用的工具。这一进步归功于表达能力、模型灵活性和训练算法的进步。在本调查中,我们对图神经网络进行了全面的回顾。对于GNN模型,我们介绍了它的变体,按照图形类型、传播类型和训练类型进行分类。此外,我们还总结了几种通用框架来统一表示不同的变体。在应用程序分类方面,我们将GNN应用程序分为结构化场景、非结构化场景和其他场景,然后对每个场景中的应用程序进行详细的回顾。最后,我们提出了四个有待解决的问题,指出了图形神经网络的主要挑战和未来的研究方向,包括模型深度、可扩展性、处理动态图形和非结构场景的能力。