论文地址:https://arxiv.org/pdf/1901.00596.pdf

摘要 

  •         深度学习近年来彻底改变了许多机器学习任务,从图像分类和视频处理到语音识别和自然语言理解。这些任务中的数据通常表示在欧几里德空间中。然而,越来越多的应用程序从非欧几里德域生成数据,并表示为具有复杂关系和对象之间相互依赖性的图。图数据的复杂性给现有的机器学习算法带来了重大挑战。
  •         最近,出现了许多关于扩展图形数据的深度学习方法的研究。在本次调查中,我们提供了数据挖掘和机器学习领域中图形神经网络(GNN)的全面概述。我们提出了一种新的分类法,将最先进的图形神经网络划分为不同的类别。我们专注于图形卷积网络,我们回顾了最近开发的替代架构; 这些学习范例包括图形注意网络图形自动编码器图形生成网络图形时空网络。我们进一步讨论了图神经网络在各个领域的应用,并总结了现有算法在不同学习任务中的开源代码和基准。
  •         最后,我们在这个快速发展的领域提出了潜在的研究方向。

关键词:深度学习,图形神经网络,图形卷积网络,图形表示学习,图形自动编码器,网络嵌入

1. 介绍

        最近神经网络的成功推动了模式识别和数据挖掘的研究。许多机器学习任务,如目标检测[1]、[2]、机器翻译[3]、[4]、语音识别[5]等,都曾严重依赖于手工制作的特征工程来提取信息特征集。,卷积神经网络(CNNs)[6],长短时记忆(LSTM)[7]和自动编码器。深度学习在许多领域的成功部分归功于快速发展的计算资源(如GPU)和大量训练数据的可用性,部分归功于深度学习从欧几里德数据(如图像、文本和视频)中提取潜在表示的有效性。以图像分析为例,在欧几里德空间中,图像可以表示为规则网格。卷积神经网络(CNN)能够利用图像数据[8]的平移不变性、局部连通性和组合性,从而提取出与整个数据集共享的局部有意义的特征,用于各种图像分析任务。

       虽然深度学习在欧几里德数据上取得了巨大成功,但是有越来越多的应用程序从非欧几里德域生成数据并需要进行有效分析。例如,在电子商务中,基于图形的学习系统能够利用用户和产品之间的交互[9],[10],[11]来制作高度准确的推荐。在化学中,分子的模型图和生物活性需要被确定用于药物发现[12],[13]。在引文网络中,论文通过引用相互联系,需要将它们分为不同的组[14],[15]。图数据的复杂性给现有的机器学习算法带来了重大挑战。这是因为图表数据不规则。每个图都有一个可变大小的无序节点,图中的每个节点都有不同数量的邻居,导致一些重要的操作(例如卷积),这些操作很容易在图像域中计算,但不能直接应用于图域了。此外,现有机器学习算法的核心假设是实例彼此独立。然而,对于图形数据不是这种情况,其中每个实例(节点)通过一些复杂的链接信息与其他(邻居)相关,这些链接信息用于捕获数据之间的相互依赖性,包括引用,友谊和交互。

        近年来,人们对扩展图形数据的深度学习方法越来越感兴趣。在深度学习成功的推动下,研究人员借鉴卷积网络、递归网络和深度自编码的思想,设计了图神经网络工作的体系结构。为了处理图形数据的复杂性,在过去的几年里,对重要操作的新的概括和定义得到了迅速的发展。例如,图1说明了一种图形卷积是如何受到标准2D卷积的启发的本调查的目的是为想要进入这个快速发展领域的感兴趣的研究人员和想要比较图神经网络算法的专家提供这些方法的全面概述。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图1:2D卷积与图形卷积。

  • 图1(a):二维卷积。与图类似,图像中的每个像素都被视为一个节点,其中邻居由过滤器的大小决定。二维卷积对红色节点及其邻节点的像素值进行加权平均。节点的邻居是有序的,并且具有固定的大小。
  • 图1(b):图形卷积。为了得到红色节点的隐藏表示,图解卷积运算的一个简单解决方案是获取红色节点的节点及其邻居的特征值平均值。与图像数据不同,节点的邻居是无序的并且大小可变。

                                                                            

      图形神经网络的简史   图形神经网络的符号首先在Gori等人的文章中概述。(2005)[16],并在Micheli(2009)[17]和Scarselli等人进一步阐述。(2009)[18]。这些早期研究通过迭代方式通过递归神经架构传播邻居信息来学习目标节点的表示,直到达到稳定的固定点。这个过程计算成本很高,最近越来越多的努力克服这些挑战[19],[20]。在我们的调查中,我们概括了图神经网络这个术语来代表所有的图数据深度学习方法。受计算机视觉领域中卷积网络的巨大成功的启发,最近出现了许多方法,最近出现了大量重新定义图形数据卷积表示法的方法。这些方法属于图卷积网络(GCNs)的范畴。

  •         Bruna等人(2013)首次提出了对GCNs的突出研究,该研究基于频谱图理论[21]开发了一种图形卷积的变体。从那时起,基于频谱的图卷积网络[12]、[14]、[22]、[23]、[24]得到了越来越多的改进、扩展和逼近。
  •        由于频谱方法通常同时处理整个图,且难以并行或缩放到大型图,因此基于空间的图卷积网络近年来发展迅速。这些方法通过聚集相邻节点的信息,直接在图域中进行卷积。结合采样策略,可以在一批节点中进行计算,而不是整个图[25]、[28],具有提高效率的潜力。
  •        近年来,除了图卷积网络外,许多替代的图神经网络也得到了发展。这些方法包括图形注意网络、图形自动编码器、图形生成网络和图形时空网络。关于这些方法分类的详细信息在第3节中给出。

      图神经网络的相关研究。关于图神经网络这一课题,现有的研究综述非常有限。Bronstein等人使用几何深度学习符号[8]对非欧氏域的深度学习方法(包括图和流形)进行了概述。本研究虽然是对图形卷积网络的首次综述,但忽略了几个重要的基于空间的方法,包括[15]、[20]、[25]、[27]、[28]、[29],它们更新了最先进的基准。此外,本研究并未涵盖许多新开发的架构,而这些架构对于绘制卷积网络图同样重要。本文综述了图形注意网络、图形自动编码器、图形生成网络和图形时空网络等学习范式。巴塔利亚等等。[30]位置图网络作为学习关系数据的构件,在统一的框架下回顾了部分图神经网络。然而,他们的广义框架是高度抽象的,失去了对每个方法从其原始文件的见解。Lee等人[31]对图注意模型(graph attention model)进行了部分研究,图注意模型是图神经网络的一种。最近,Zhang等人在[32]上发表了一份最新的关于图的深度学习的调查,缺少了关于图生成和时空网络的研究。总之,没有一个现有的调查提供了一个全面的概述图神经网络,只覆盖的一些图像卷积神经网络和检查数量有限的作品,从而错过了最近发展的替代神经网络图,如图生成网络和图时空网络。

      图神经网络与网络嵌入的关系  图神经网络的研究与图嵌入或网络嵌入密切相关,是数据挖掘和机器学习领域日益关注的另一个课题。网络嵌入旨在代表网络顶点到一个低维向量空间,通过维护网络拓扑结构和节点内容信息,以便任何后续图像分析任务,如分类、聚类,推荐可以很容易地使用简单的现成的机器学习算法(例如,支持向量机分类)来执行。许多网络嵌入算法都是典型的无监督算法,可以大致分为三组[33],即,矩阵分解[39],[40],随机游动[41],和深度学习方法同时进行网络嵌入的深度学习方法属于图神经网络,包括基于图自编码器的算法(如DNGR[42]和SDNE[43])和无监督训练的图卷积神经网络(如,GraphSage [25])。

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图2 描述了本文中网络嵌入与图神经网络的区别。

 

我们的论文做出了显著的贡献,总结如下:

  1. 新的分类   针对图数据深度学习的研究日益增多,提出了一种新的图神经网络分类方法。在这个分类中,gnn被分为五组:图卷积网络、图注意网络、图自动编码器、图生成网络和图时空网络。我们指出了图神经网络和网络嵌入的区别,并绘制了不同图神经网络结构之间的联系。
  2. 全面审查   本调查提供了最全面的现代图形数据深度学习技术概述。对于每种类型的图神经网络,我们都对代表性算法进行了详细的描述,并对相应的算法进行了必要的比较和总结。
  3. 丰富的资源  该调查提供了丰富的图神经网络资源,包括最先进的算法,基准数据集,开源代码和实际应用。这项调查可以作为一个实践指南,帮助理解、使用和开发不同的深度学习方法,以适应不同的实际应用。
  4. 未来的发展方向  本研究也强调了现有算法的局限性,并指出了这一快速发展领域可能的发展方向

文章组织:文章的其余部分组织如下。

  • 第2节定义了一系列与图形相关的概念。
  • 第3节阐明了图神经网络的分类。
  • 第4节和第5节概述了图神经网络模型。
  • 第6节展示了跨不同领域的应用程序。
  • 第7节讨论了当前的挑战并提出了未来的方向。第8节总结全文。

                                                                           表1:常用符号。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

       T:时间序列中的总时间步长。

                                                                     

2. 定义           

       在本节中,我们将提供基本图形概念的定义。为了便于检索,我们总结了表1中常用的符号。

    定义1(图):

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

   定义2(有向图):

          有向图是所有边都从一个节点指向另一个节点的图。对于有向图gif.latex?A_%7Bij%7D%5Cneq%20A_%7Bji%7D ;无向图所有的边都是无向的,对于无向图gif.latex?A_%7Bij%7D%3D%20A_%7Bji%7D

   定义3(时空图):

          时空图是特征矩阵X随时间演化的带属性图。 gif.latex?G%3D%28V%2CE%2CA%2CX%29, 其中gif.latex?X%5Cin%20R%5E%7BT%5Ctimes%20N%5Ctimes%20F%7D  ,其中T为时间步长。                   
                        

3. 图神经网络分类和框架   

在本节中,我们将介绍图神经网络的分类。我们考虑任何可微的图模型,这些模型将神经结构合并为图神经网络。

      将图神经网络分为:

  1. 图卷积网络
  2. 图注意网络
  3. 图自动编码器
  4. 图生成网络
  5. 图时空网络

其中,图卷积网络在捕获结构依赖关系方面起着核心作用。如图3所示,其他类别下的方法部分使用图卷积网络作为构建块。我们在表2中总结了每个类别的代表性方法,并在下面简要介绍了每个类别。                      

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图3:图神经网络分类           

                                                                                                                            

                                                                      表2 :图神经网络的代表性文献

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

  3.1 GNN的分类

     图卷积神经网络(GCNs,Graph Convolution Networks) :图卷积网络(GCNs)将卷积运算从传统数据(图像或网格)推广到图数据。关键是学习一个函数gif.latex?f,将其自身的特征gif.latex?X_%7Bi%7D与邻居的特征gif.latex?X_%7Bj%7D聚合,生成节点gif.latex?v_%7Bi%7D的表示,其中gif.latex?j%5Cin%20N%28v_%7Bi%7D%29图4显示了学习节点表示的GCNs过程。图卷积网络在构建其他复杂的图神经网络模型中起着核心作用,包括基于自编码器的模型、生成模型和时空网络等。图5展示了几个构建在GCNs上的图神经网络模型。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图4:   一种具有多个GCN层[14]的图卷积网络的变体。

                                                          

GCN层通过聚合来自其邻居的特性信息来封装每个节点的隐藏表示。在特征聚合后,对输出结果进行非线性变换。通过叠加多个层,每个节点的最终隐藏表示形式将接收来自更远的邻域的消息。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图 5(a)图卷积网络与池模块用于图分类[12]。

                                                               

文献[12]Convolutional neural networks on graphs with fast localized spectral filtering 篇论文实现的MINIST数据集分类,师姐用的这篇构建的。(可以看看代码,如何构图,如何输入,如何分类?)可以研究下,代码是tensorflow构建的。再找找有没有直接网络输入是图的pytorch实现,我想输入叶子师姐的图。

GCN层[14]之后是池化层,用于将图粗化为子图,以便粗化图上的节点表示表示更高的图级表示。为了计算每个图形标签的概率,输出层是一个带有SoftMax函数的线性层。(网络输入是一个图?节点分类?可以输入多个图进行图分类吗?找相关的论文及实现)

下面MLP介绍参考链接:https://www.cnblogs.com/kexianting/p/8516899.html

MLP(Multi-Layer Perception),即多层感知器,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。

  • 输入层没什么好说,你输入什么就是什么,比如输入是一个n维向量,就有n个神经元。
  • 隐藏层的神经元怎么得来?首先它与输入层是全连接的,假设输入层用向量X表示,则隐藏层的输出就是f(W1X+b1),W1是权重(也叫连接系数),b1是偏置,函数f 可以是常用的sigmoid函数或者tanh函数.最后就是输出层,
  • 输出层与隐藏层是什么关系?其实隐藏层到输出层可以看成是一个多类别的逻辑回归,也即softmax回归,所以输出层的输出就是softmax(W2X1+b2),X1表示隐藏层的输出f(W1X+b1)。

因此,MLP所有的参数就是各个层之间的连接权重以及偏置,包括W1、b1、W2、b2。对于一个具体的问题,怎么确定这些参数?求解最佳的参数是一个最优化问题,解决最优化问题,最简单的就是梯度下降法了(SGD):首先随机初始化所有参数,然后迭代地训练,不断地计算梯度和更新参数,直到满足某个条件为止(比如误差足够小、迭代次数足够多时)。这个过程涉及到代价函数、规则化(Regularization)、学习速率(learning rate)、梯度计算等。

     

       图注意网络(Graph Attention Networks)与图卷积网络(GCNs)相似,它寻求一个聚合函数来融合图中相邻的节点、随机游动和候选模型,从而学习一种新的表示形式。关键的区别在于,图形注意网络使用注意机制,将更大的权重分配给更重要的节点、路径或模型。注意权值与神经网络一起学习。图6说明了图卷积网络与图注意网络在汇聚邻居节点信息方面的区别。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图卷积网络[14]                                                            图注意网络[15]
图卷积网络与图注意网络的区别。
 

  • 图卷积网络[14]在聚集过程中,显式地将非参数权值aij = 1√deg(vi)deg(vj)赋给vi的邻居vj。(没搞懂)
  • 图注意网络[15]通过端到端神经网络结构隐式捕获权值aij,使更重要的节点获得更大的权值。(节点获取权值?)

       图形自动编码器(Graph Auto-encoders)是一种无监督学习框架,其目的是通过编码器学习低维节点向量,然后通过解码器重构图形数据。图自动编码器是学习图嵌入的一种常用方法,无论是对于没有带属性信息的普通图[42]、[43]还是带属性的图[64]、[65]。对于普通图,许多算法通过构造一个具有丰富的信息[42]新的矩阵(即,点态互信息矩阵)或将邻接矩阵输入自编码模型,捕获一阶和二阶信息[43]。对于属性图,图的自编码模型往往采用GCN[14]作为编码的构建块,通过链路预测解码器重构结构信息[62],[64]。 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图5(b)   图形自动编码器与GCN[62]

       编码器使用GCN层为每个节点获取潜在的重定向。解码器计算由编码器产生的节点潜在表示之间的成对距离。在应用非线性激活函数后,解码器重构了图的邻接矩阵。

       图生成网络(Graph Generative Networks)旨在从数据中生成可信的结构。生成给定经验分布的图从根本上来说是具有挑战性的,主要是因为图是复杂的数据结构。为了解决这个问题,研究人员探索了将生成过程作为形成节点和边缘的交替因素[67],[68],采用生成对抗训练[69],[70]。图生成网络的一个有前途的应用领域是化合物合成。在化学图中,原子被视为节点,化学键被视为边。其任务是发现新的具有一定化学和物理性质的可合成分子。

       图时空网络(Graph Spatial-temporal Networks)的目标是从时空图中学习不可见的模式,时空图在交通预测、人类活动预测等方面的应用越来越重要。例如,底层道路交通网络是一个自然的图,其中每个关键位置都是一个节点,其交通数据被持续监控。通过建立有效的图时空网络模型,可以准确预测整个交通系统的交通状况[73],[74]。图时空网络的关键思想是同时考虑空间依赖性和时间依赖性。目前的许多方法都是利用GCNs与一些RNN[73]或CNN[74]一起捕获依赖关系,对时间依赖关系进行建模。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

图5(c)有GCN的时空网络图[74]。

GCN层之后是1D-CNN层。GCN层作用于At和Xt来捕获空间依赖关系,而1D-CNN层沿时间轴在X上滑动来捕获时间依赖关系。输出层是一个线性变换,为每个节点生成一个预测。 

  3.2 框架

图神经网络,尤其是图卷积网络(GCNs),试图通过图谱理论或空间局域性来定义图卷积,复制CNN在图数据方面的成功。以图结构和节点内容信息为输入,GCN的输出可以通过以下机制之一专注于不同的图分析任务:

  1. 节点级:输出与节点回归和分类任务相关。由于图卷积模块直接给出节点的潜在表示,因此GCN的最后一层是多感知器层或softmax。我们在4.1节和4.2节中回顾图形卷积模块。
  2. 边级:输出与边缘分类和链接预测任务相关。为了预测边缘的标签/连接强度,一个 additional function将以图卷积模块中两个节点的潜在表示作为输入。
  3. 图级:输出与图分类任务相关。为了在图级获得紧凑的表示,使用池模块将图粗化为子图,或者对节点表示进行求和/平均。我们将回顾第4.3节中的图形池模块。

在表3中,我们列出了主要GCNs方法的输入和输出的详细信息。特别地,我们总结了每个GCN层和每个方法的最终层之间的输出机制。输出机制可能涉及多个池操作,这些操作将在第4.3节中讨论。

                                                                      表3:图卷积网络总结

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

 

端到端训练框架。图卷积网络可以在端到端学习框架内以(半)监督或完全无监督的方式进行训练,这取决于当前的学习任务和标签信息。

  • 节点级分类的半监督学习:图卷积网络可以学习一个鲁棒模型,该模型能够有效地识别未标记节点[14]的类标签。为此,可以通过叠加几个图卷积层和一个用于多类分类的softmax层来构建端到端框架。(输入是一张图,可以多张图吗?)
  • 图级分类的监督学习:给定一个图数据集(如何构建?),图级分类的目的是预测整个图[58]、[59]、[77]、[78]的类标签。该任务的端到端学习可以使用一个框架来完成,该框架结合了图形卷积层和池化过程[58]、[59]。具体地说,通过应用图卷积层,我们得到了每个图中每个节点维数固定的表示形式。然后,我们可以通过池化得到整个图的表示,它总结了图中所有节点的表示向量。最后,通过应用linear layers和softmax layer,我们可以建立一个端到端的图分类框架。(结合图5(a理解图5a给出了一个例子。
  • 图嵌入的无监督学习:图嵌入的无监督学习。当图中没有可用的类标签时,我们可以学习以完全无监督的方式嵌入到端到端框架中的图。这些算法以两种方式利用边缘级信息。一种简单的方法是采用一种自动编码器框架,编码器利用图形卷积层将图形嵌入到潜在表示中,然后利用解码器重构图形结构[62]、[64]。另一种方法是利用负抽样方法,该方法将部分节点对作为可对进行抽样,而图中有链接的现有节点对为正对。然后在卷积层之后应用逻辑回归层进行端到端学习[25]。

 

4 图卷积网络

在本节中,我们回顾图卷积网络(GCNs),许多复杂的图神经网络模型的基础。GCNs方法分为基于光谱的和基于空间的两类。基于频谱的方法通过从图信号处理的角度引入滤波器来定义图卷积[79],其中图卷积运算被解释为从图信号中去除噪声。基于空间的方法将图卷积表示为对邻居特征信息的聚合。当GCNs在节点级运行时,图池模块可以与GCN层交错,从而将图粗化为高级子结构。如图5a所示,这种架构设计可以用来提取图级表示,并执行图分类任务。下面,我们将分别介绍基于频谱的GCNs、基于空间的GCNs和图池模块。

  4.1 基于频谱的图卷积网络

基于谱的方法在图形信号处理方面具有坚实的基础[79]。我们首先介绍了图形信号处理的基本知识背景,然后回顾了基于频谱的GCNs的代表性研究。

 4.1.1 背景

在基于频谱的模型中,假设图是无向的。无向图的鲁棒数学表示是标准化图拉普拉斯矩阵,定义为:

20190614215455720.png

       其中D是节点度的对角矩阵,2019061421555188.png。归一化图拉普拉斯矩阵具有实对称正半定的性质,因为这个属性,归一化的拉普拉斯算子矩阵可以被分解为20190614215747336.png20190614215843615.png是特征值排序的特征向量矩阵,Λ是特征值的对角矩阵,20190614220245154.png。归一化拉普拉斯矩阵的特征向量构成一个正交空间,用数学的话说,20190614220355441.png

       在图信号处理中,图信号20190614220622444.png是图中节点的特征向量,其中gif.latex?x_%7Bi%7D是第gif.latex?i个节点的值。信号x的图傅里叶'x变换u定义为:e

20190615141229274.png

'x      i图傅里叶变换的逆变换定义为:

201906151414094.png

其中20190615142033531.png代表从图的傅里叶变换得到的结果信号。

       为了理解图的傅里叶变换,从它的定义我们可以看到它确实将输入的图信号投射到标准正交空间中,在这个空间中基由归一化图拉普拉斯矩阵的特征向量构成。变换后的信号20190615142033531.png中的元素是图信号在新空间的坐标,因此输入信号可以表示成20190615143203439.png,这就是图的逆傅里叶变换。现在输入信号x与滤波器20190615143428581.png的图卷积定义为:

20190615143502955.png

20190615145937331.png是 Hadmard乘积?

可以将滤波器定义为20190615145747771.png,图卷积的定义可简化为:?

20190615145852902.png

基于频谱的图卷积网络都遵循这个定义。关键的区别在于滤波器gθ的选择。

4.1.2 基于谱的GCNs方法

spectrum CNN:Bruna等人[21]提出了第一个谱卷积神经网络(spectrum convolution neural network, spectrum CNN)。假设滤波器2019061515103011.png是一组可学的参数并且考虑多维图形信号,他们图卷积层定义为:

20190615151125466.png

20190615151255106.png是输入信号,20190615151356305.png是节点的个数,20190615151438980.png是输入通道的个数,20190615151527851.png是输出通道的个数,20190615151651603.png可学习参数的对角矩阵,20190615151833828.png是非线性变换。

 

Chebyshev Spectral CNN (ChebNet):Defferrard等人[12]提出ChebNet, ChebNet将滤波器定义为特征值对角矩阵的Chebyshev多项式,即20190615152202813.png,式中20190615152307733.png

切比雪夫多项式由20190615152551519.png20190615152629593.png递归定义。

因此,图信号x与定义的滤波器2019061515292065.png的卷积定义为:

20190615153103394.png

从式4中,ChebNet隐式地避免了对图的傅里叶基的计算,将复杂度20190615154002945.png降低为20190615154045707.png。由于20190615154339695.png20190615154657384.png的i阶的多项式,多项式,20190615154804655.png在每个节点上计算。因此,ChebNet的滤波器被定位在空间中。

 

First order of ChebNet (1stChebNet 2):Kipf等人[14]提出了ChebNet的一阶近似。假设20190615155045350.png,方程(4)简化为:

20190615155135126.png

为了抑制参数的数量,避免过度拟合,1 stchebnet进一步假定20190615155704722.png,则图卷积的定义如下式:

20190615155738984.png

为了融合多维图形输入信号,1stChebNet提出了一个图卷积层,该层对方程6进行了修改:    

20190615155837473.png

由1stChebNet定义的图卷积在空间上是局域的。它在基于光谱的方法和基于空间的方法之间架起了桥梁。输出的每一行表示每个节点h通过从节点本身及其相邻节点中获取权重(权重由20190615161442309.png的行指定)聚合信息的线性变换得到的潜在表示。从基于空间的方法来看,邻接矩阵20190615161442309.png无需对称,例如它可以是20190615161605650.png这种形式,1stChebNet的主要缺点是在批量训练中,随着1stChebNet层数的增加,计算成本呈指数增长。最后一层中的每个节点都必须递归地跨前一层扩展其邻域。陈等。[48]假设方程7中的新邻接矩阵˜来自一个抽样分布。在此假设下,采用蒙特卡罗方法和方差约简技术来简化训练过程。Chen[49]等人通过采样邻域和使用historical hidden representations历史隐藏表示,将图卷积的接受域大小减小到任意小尺度。Huang[57]等人提出了一种自适应分层抽样的方法来加速1stChebNet的训练,其中下层的抽样以上层为条件。该方法也适用于显式方差约简。

 

Adaptive Graph Convolution Network (AGCN): 为了探索图拉普拉斯矩阵未指定的隐含结构关系,Li等人[23]提出了自适应图卷积网络(AGCN)。AGCN用所谓的残差图来扩充一个图,残差图是通过计算节点的成对距离来构造的。尽管AGCN能够捕获补充关系信息,但它需要昂贵的O(N2)计算。

4.1.3 总结

频谱CNN[21]依赖于拉普拉斯矩阵的本征分解。它有三个影响。首先,任何对图的扰动都会导致特征基的改变。其次,所学习的过滤器是依赖于域的,这意味着它们不能应用于具有不同结构的图。第三,特征分解需要O(N3)计算和O(N2)内存。由ChebNet[12]和1stChebNet[14]定义的过滤器被定位在空间中。学习到的权重可以在图中的不同位置共享。然而,谱方法的一个常见缺点是需要将整个图加载到内存中进行图卷积,这在处理大图时效率不高。

4.2 基于空间的图卷积网络

基于空间的方法模拟传统卷积神经网络对图像的卷积运算,根据节点的空间关系定义图的卷积。为了将图像与图形联系起来,可以将图像看作是图形的一种特殊形式,每个像素表示一个节点。如图1a所示,每个像素都直接连接到其附近的像素。在一个3×3的窗口中,每个节点的邻域是其周围的8个像素。这8个像素的位置表示节点邻居的顺序。然后对这个3×3的patch进行滤波,对每个通道的中心节点及其相邻节点的像素值进行加权平均。由于相邻节点的特定排序,可以在不同位置共享可训练权值。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

类似地,对于一般图,基于空间的图卷积将中心节点表示及其邻居表示进行聚合,得到该节点的新表示,如图1b所示。为了探索节点接受域的深度和广度,通常将多个图卷积层叠加在一起。  类似地,对于一般图,基于空间的图卷积将中心节点表示及其邻居表示进行聚合,得到该节点的新表示,如图1b所示。为了探索节点接受域的深度和广度,通常将多个图卷积层叠加在一起。

根据卷积层叠加方法的不同,将基于空间的GCNs进一步划分为recurrent—based 基于递归和composition-based 基于合成的空间GCNs两大类。基于递归的方法使用相同的图卷积层来更新隐藏表示,而基于组合的方法使用不同的图卷积层来更新隐藏表示。图7说明了这种差异。下面,我们将概述这两个分支。

 4.2.1 Recurrent-based Spatial GCNs  基于递归的空间GCNs

递归方法的主要思想是递归地更新节点的潜在表示,直到达到一个稳定的不动点。这是通过对循环函数[18]施加约束、使用门循环单元体系结构[19]、异步地、随机地更新节点潜在表示形式[20]来实现的。下面,我们将介绍这三种方法。

图神经网络(GNNs,Graph Neural Networks)是最早研究图神经网络的方法之一,它递归地更新节点的潜在表示,直到收敛[18]。换句话说,从扩散过程的角度来看,每个节点与相邻节点交换信息,直到达到均衡。为了处理非均匀图,将GNNs的空间图卷积定义为:

20190619142006832.png

    20190619142139580.png:表示节点v的标签属性    20190619142234424.png:表示节点v对应边的标签属性   20190619142331755.png:表示节点v的邻居节点在第t步的隐藏表示

    20190619142615275.png:节点v的邻居节点的标签属性

为了保证收敛,递归函数f(·)必须是一个收缩映射,在映射后收缩两点之间的距离。在f(·)为神经网络的情况下,必须对参数的雅可比矩阵施加惩罚项。GNNs使用Almeida-Pineda算法[80]、[81]对其模型进行训练。其核心思想是先运行传播过程到达不动点,然后在给定收敛解的情况下执行反向过程。

门控图神经网络(GGNNs,Gated Graph Neural Networks )采用门控递归单元(GRU)[82]作为递归函数,将递归次数减少到一定的步骤。将GGNNs的空间图卷积定义为:

2019061914295617.png

与GNNs不同,GGNNs使用时间反向传播(BPTT)来学习参数。其优点是不再需要约束参数来保证收敛性。然而,BPTT训练的缺点是它牺牲了时间和记忆的效率。这对于大型图尤其有问题,因为GGNNs需要在所有节点上多次运行递归函数,需要将所有节点的中间状态存储在内存中。                   

随机稳态嵌入(SSE,Stochastic Steady-state Embedding)。为了提高学习效率,SSE算法[20]采用异步方式随机更新节点的潜在表示。如Algorithm1所示,SSE递归估计节点潜在表示,并用采样的批数据更新参数。为了保证收敛到稳态,SSE的递归函数定义为历史状态和新状态的加权平均,

20190619143430714.png

虽然邻域信息的求和隐含地考虑了节点度,但该求和的规模是否会影响算法的稳定性仍存在疑问                    

 4.2.2 Composition Based Spatial GCNs    基于合成空间GCNs

基于合成的方法通过叠加多个图卷积层来更新节点表示。                

消息传递神经网络(MPNNs,Message Passing Neural Networks)。Gilmer[13]等人将已有的几种图卷积网络包括[12]、[14]、[19]、[21]、[56]、 [83]、[84]归纳为一个统一的框架,称为消息传递神经网络(Message Passing Neural networks, MPNNs)。MPNNs由两个阶段组成,消息传递阶段和读出阶段。消息传递阶段实际上运行基于t步空间的图卷积。通过消息函数Mt(·)和更新函数Ut(·)定义图的卷积运算

20190619144059975.png

   读出阶段实际上是一个池化操作,它根据每个节点的隐藏表示生成整个图的表示。它被定义为 :

20190619144509622.png

 通过输出函数R(·),最后表示20190619144730159.png是用于执行graph-level预测任务。作者提出了几种不同形式的Ut(·)和Mt(·)的图卷积网络。         

 GraphSage[25]引入了聚集函数的概念来定义图形卷积。聚合函数本质上聚合节点的邻域信息。它必须对节点顺序的排列(如均值、和 、和max函数)保持不变。图的卷积运算定义为:

2019061914513851.png

 GraphSage没有在所有节点上更新状态,而是提出了一种批处理训练算法,提高了大型图的可伸缩性。图形学的学习过程包括三个步骤。首先,它对节点的局部k-hop邻域进行大小固定的采样。其次,它通过聚合邻居的特性信息来获得中心节点的最终状态。最后,使用中心节点的最终状态进行预测和反向传播错误。这个过程如图8所示。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

 假设20190619145645316.png跳采样的邻域数为20190619145711620.png,则每批GraphSage的时间复杂度为2019061914572769.png。因此,计算成本随着t的增加呈指数增长。然而,在实际应用中,作者发现使用t = 2 GraphSage已经实现了高性能。

4.2.3 Miscellaneous Variants of Spatial GCNs 空间GCNs变体

扩散卷积神经网络(DCNN,Diffusion Convolution Neural Networks (DCNN) )[47]提出了一种封装图扩散过程的图卷积网络。通过将输入与转移概率矩阵的幂级数进行独立卷积,得到了一个隐藏节点表示。将DCNN的扩散卷积运算表示为:

20190619150729280.png

20190619150641360.png

DCNN模型虽然通过更高阶的转换矩阵覆盖了更大的接受域,但需要O(N2 mH)内存,在应用于大图时存在严重的问题。

patch - san[27]使用一个标准的卷积神经网络(CNN)来解决图的分类任务。为此,它将图形结构数据转换为网格结构数据。首先,它使用图形标记过程为每个图选择固定数目的节点。图标记过程本质上是对图中的每个节点进行排序,排序可以基于节点度、中心度、weisfeier - lehman颜色[85][86]等。其次,由于图中的每个节点可以有不同数量的邻居,PATCHYSAN根据每个节点的图形标签为每个节点选择并固定数量的邻居。最后,在固定大小的网格结构数据形成后,PATCHYSAN使用标准CNN学习图形的隐藏表示。在GCNs中使用标准CNN具有保持移位不变性的优点,它依赖于排序函数。因此,节点选择和排序过程中的排序标准至关重要。在PATCHY-SAN,排序是基于图形标签。然而,图标签只考虑图的结构,忽略了节点特征信息。

大规模图卷积网络(LGCN,Large-scale Graph Convolution Networks)。在后续工作中,大规模图卷积网络(LGCN)[28]提出了一种基于节点特征信息的排序方法。与PATCHY-SAN不同,LGCN使用标准CNN生成节点级输出。对于每个节点,LGCN组装其邻域的特征矩阵,并沿着每一列对该特征矩阵进行排序。将排序后的特征矩阵的前k行作为目标节点的输入网格数据。最后,LGCN对生成的输入应用一维CNN,得到目标节点的隐藏表示。虽然在PATCHYSAN中获取图形标签需要复杂的预处理,但在LGCN中对特征值进行排序不需要预处理步骤,从而提高了效率。针对大规模图的情况,LGCN提出了一种子图训练策略,将抽取的子图进行小批量训练。

混合模型网络(MoNet,Mixture Model Network (MoNet) )[26]将标准CNN与非欧几里德域上的卷积结构统一起来。在聚类邻域特征信息时,有几种基于空间的方法忽略了节点与其邻域之间的相对位置,而MoNet引入伪坐标和权函数,使得节点的邻域的权值由节点与其邻域之间的相对位置(伪坐标)决定。在这样的框架下,流形上的几种方法,如测地线CNN(GCNN)[87]、各向异性CNN(ACNN)[88]、样条CNN[89],以及图上的GCN[14]、DCNN[47]等都可以推广为MoNet的特殊实例。这些方法在莫奈框架下具有固定的权重函数。莫奈提出了一种参数可学习的高斯核函数来自由调整权函数。

4.2.4 Summary

基于空间的方法通过聚集邻居的特征信息来定义图卷积。根据图卷积层的不同叠加方式,将基于空间的方法分为两组,基于递归的和基于合成的。基于递归的方法试图获得节点的稳定状态,而基于合成的方法则试图包含更高阶的邻域信息。在每一层中,两个组都必须在训练期间更新所有节点上的隐藏状态。然而,将所有中间状态存储到内存中是低效的。为了解决这个问题,提出了几种训练策略,包括基于组合的方法的子图训练(如GraphSage[25])和基于递归的方法的随机异步训练(如SSE[20])。此外,最近基于空间的方法的发展趋向于构建更复杂的网络体系结构。例如,GeniePath[51]利用门控机制来控制节点邻居的深度和宽度。DualGCN[52]设计了两个图卷积网络,共同嵌入了图的局部一致性和全局一致性知识。Tran等[90]引入超参数来影响节点的接受域大小。

4.3 Graph Pooling Modules 图池化模块

在将卷积神经网络推广到图结构数据时,另一个关键组件图池模块也至关重要,尤其是对于图级分类任务[58],[59],[91]。Xu等人[92]认为,池化辅助GCNs在区分图结构方面与weisfeier - lehman检验一样强大[85]。与CNNs自带的原始池层类似,图池模块通过向下采样,可以很容易地从原始特征数据降低方差和计算复杂度。 mean/max/sum是实现此功能的最原始和最有效的方法,因为计算池窗口中的 mean/max/sum值非常快。

20190619152824489.png

Henaff等人的[22]证明了在网络开始时执行一个简单的max/mean池对于降低图域的维数和降低巨大的图傅里叶变换操作的代价尤为重要。

Defferrard等人优化了最大/最小池化,并在他们的方法ChebNet[12]中设计了一个有效的池策略。首先通过图5a中描述的粗化过程处理输入图。在粗化之后,将输入图的顶点及其粗化后的版本在一个平衡的二叉树中进行重构。任意在最粗级别对节点排序,然后将这种排序传播到平衡二叉树中的较低级别,最终将在最细级别生成规则排序。合并这样一个重新排列的一维信号比原始信号要有效得多。

Zhang等人还提出了一个框架DGCNN[58],该框架具有类似的池策略SortPooling,该策略通过将顶点重新排列到有意义的顺序来执行池操作。与ChebNet[12]不同,DGCNN根据顶点在图中的结构角色对顶点进行排序。空间图卷积中的图的无序顶点特征被视为连续的WL颜色[85],然后用它们对顶点进行排序。除了对顶点特征进行排序,它还通过截断/扩展图的特征张量将图的大小统一到k。如果n > k,则删除最后n - k行,否则添加k - n 0行。该方法通过解决底层图结构任务(称为置换不变量)的挑战,增强了池网络,从而提高了GCNs的性能。Verma和Zhang提出了图胶囊网络[93],进一步探讨了图数据的置换不变问题。

最近,提出了一种能够生成图的层次表示的汇聚模块DIFFPOOL[59],它不仅可以与CNNs相结合,还可以与各种图神经网络结构端到端相结合。与以前所有粗化方法相比,DIFFPOOL不仅将节点集中在一个图中,而且为跨一组广泛的输入图的层次池节点提供了一个通用的解决方案。这是通过学习第l层的一个集群分配矩阵S来实现的,该矩阵S(l)∈Rnl×nl+1。分别使用两个具有输入簇节点特征X(l)和粗邻接矩阵A(l)的单独gnn生成赋值矩阵S(l)和嵌入矩阵Z(l),分别为:

20190619153729824.png

方程16和17可以用任何标准的GNN模块实现,该模块处理相同的输入数据,但是由于它们在框架中所扮演的角色不同,参数化也不同。当20190619154314251.png生成输入节点到nl+1集群的概率分配时,20190619153913632.png产生新的嵌入。Softmax函数在式17中以行方式应用。因此,每一行S(l)对应于第l层的一个nl节点(或集群),每一列S(l)对应于下一层的一个nl。一旦我们有了Z(l)和S(l),池操作如下:

20190619154445386.png

式18使用集群嵌入Z(l),然后根据集群分配S(l)聚合这些嵌入,计算每个nl+1集群的嵌入。初始集群嵌入将是节点表示。同样,式19以邻接矩阵A(l)为输入,生成粗邻接矩阵,表示每对簇之间的连通性强度。

总之,DIFFPOOL[59]通过使用两个gnn对节点进行集群,重新定义了图形池模块。任何标准的GCN模块都可以与DIFFPOOL相结合,不仅可以提高性能,还可以加快卷积运算的速度。

4.4  Comparison Between Spectral and Spatial Models 光谱模型与空间模型的比较

基于频谱的模型作为最早的图形数据卷积网络,在许多与图形相关的分析任务中取得了令人瞩目的成果。这些模型在图形信号处理方面具有一定的理论基础,具有一定的吸引力。通过设计新的图信号滤波器[24],理论上可以设计出新的图卷积网络。然而,基于频谱的模型有几个缺点。我们从效率、通用性和灵活性三个方面来说明这一点。在效率方面,由于频谱模型要么需要执行特征向量计算[21],要么需要同时处理整个图,使得频谱模型的计算成本随着图的大小而急剧增加,这使得频谱模型难以并行或缩放到大型图。基于空间的模型具有处理大型图的潜力,因为它们通过聚集相邻节点直接在图域中执行卷积。计算可以在一批节点中执行,而不是在整个图中执行。当相邻节点数量增加时,可以开发采样技术[25]、[28]来提高效率。在通用性方面,基于谱的模型假设一个固定的图,使得它们很难推广到新的或不同的图。另一方面,基于空间的模型在每个节点上局部执行图卷积,在不同的位置和结构之间可以轻松共享权重。在灵活性方面,基于频谱的模型仅限于处理无向图。有向图上的拉普拉斯矩阵没有明确的定义,因此将基于谱的模型应用于有向图的唯一方法是将有向图转换为无向图。基于空间的模型更灵活地处理多源输入,如边缘特征和边缘方向,因为这些输入可以合并到聚合函数中(如[13]、[18]、[54]、[55]、[56])。因此,近年来空间模型越来越受到人们的关注。

 

6 APPLICATIONS 应用

图神经网络有着广泛的应用。在本节中,我们首先总结文献中经常使用的基准数据集。然后,我们报告了四种常用数据集的基准性能,并列出了图神经网络的可用开源实现。最后,给出了图神经网络在各个领域的实际应用。

6.1 Datasets 数据集

在我们的调查中,我们统计了在本研究中回顾的论文中出现的每个数据集的频率,并在表5中报告了至少两次出现的数据集。

引文网络Citation Networks 包括论文、作者及其相互关系,如引文、作者、共同作者。尽管引文网络是有向图,但在评价模型在节点分类、链接预测和节点聚类任务方面的性能时,常常将其视为无向图。有三个流行的论文引用网络数据集,Cora, Citeseer和Pubmed。Cora数据集包含2708种机器学习出版物,被分成7个类。Citeseer数据集包含3327篇科学论文,分为六个类。Cora和Citeseer中的每篇论文都用一个热向量表示,表示字典中单词的存在与否。Pubmed数据集包含了19717年的糖尿病相关出版物。Pubmed中的每篇论文都用一个术语频率逆文档频率(TF-IDF)向量表示。此外,DBLP是一个大型的引文数据库,从计算机科学文献中收集了数以百万计的论文和作者。DBLP的原始数据集可以在https://dblp.uni-trier.de上找到。DBLP纸质引文网络的处理版本由https://aminer.org/citation不断更新。 

社交网络Social Networks是由来自BlogCatalog、Reddit和Epinions等在线服务的用户交互组成的。BlogCatalog数据集是一个由博客作者及其社会关系组成的社交网络。博客的标签代表了他们的个人兴趣。Reddit数据集是由Reddit论坛上收集的帖子组成的无向图。如果两个帖子包含同一用户的评论,那么它们将被链接。每个帖子都有一个标签,表明它所属的社区。Epinions数据集是从一个在线产品评论网站收集的多关系图,在该网站上,评论者可以拥有多种类型的关系,比如信任、不信任、共同评论和共同评级。

化学分子和化合物Chemical/Biological Graph可以用原子为节点、化学键为边的化学图来表示。这类图通常用于评估图的分类性能。NCI-1和NCI-9数据集分别包含4110和4127个化合物,标记它们是否具有抑制人类癌细胞生长的活性。MUTAG数据集包含188个硝基化合物,根据它们是芳香族化合物还是异芳香族化合物进行了标记。D&D数据集包含1178个蛋白质结构,根据它们是酶还是非酶进行标记。QM9数据集包含133885个分子,标记有13种化学性质。Tox21数据集包含12707个标记为12种毒性的化合物。另一个重要的数据集是蛋白质-蛋白质相互作用网络(PPI)。它包含24个生物学图,其中节点由蛋白质表示,边缘由蛋白质之间的相互作用表示。在PPI中,每个图与一个人体组织相关联。每个节点都标有其生物状态。

为了检验图神经网络对非结构化数据的泛化能力,k近邻图(k- nn图)得到了广泛的应用。MNIST数据集包含尺寸为28×28的70000张10位数的图片。将MNIST图像转换为图的一种典型方法是根据其像素位置构造一个8-NN图。Wikipedia数据集是从Wikipedia转储文件的前一百万字节中提取的单词共现网络。单词的标签表示词性(POS)标签。20新闻组数据集由大约20,000个新闻组(NG)文本文档组成,按20种新闻类型分类。通过将每个文档表示为一个节点,并使用节点之间的相似性作为边权值来构造20个新闻组的图

非结构化图Unstructured Graphs  为了检验图神经网络对非结构化数据的泛化能力,k近邻图(k- nn图)得到了广泛的应用。MNIST数据集包含尺寸为28×28的70000张10位数的图片。将MNIST图像转换为图的一种典型方法是根据其像素位置构造一个8-NN图。Wikipedia数据集是从Wikipedia转储文件的前一百万字节中提取的单词共现网络。单词的标签表示词性(POS)标签。20新闻组数据集由大约20,000个新闻组(NG)文本文档组成,按20种新闻类型分类。通过将每个文档表示为一个节点,并使用节点之间的相似性作为边权值来构造20个新闻组的图

还有一些其他的数据集值得一提。metro - la是一个从洛杉矶县的高速公路上收集的交通数据集。MovieLens网站上的MovieLens- 1m数据集包含了6k个用户给出的100万个项目评级。它是推荐系统的基准数据集。NELL数据集是一个从永不停息的语言学习项目中获得的知识图。它由包含两个实体及其关系的三元组所表示的事实组成。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

表6:四个最常用数据集的基准性能。所列方法使用相同的训练、验证和测试数据进行评估。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

                                                                            表3:图卷积网络总结

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70

       TABLE 4: Summary of Alternative Graph Neural Networks (Graph Convolutional Networks Excluded). 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1Mzc2Mg==,size_16,color_FFFFFF,t_70 

6.2 Benchmarks & Open-source Implementations  基准测试和开源实现

在表5中列出的数据集中,Cora、Pubmed、Citeseer和PPI是最常用的数据集。它们经常被用来比较图卷积网络在节点分类任务中的性能。在表6中,我们报告了这四个数据集的基准性能,它们都使用标准的数据分割。开源实现促进了深度学习研究的基线实验工作。由于超参数数量庞大,如果不使用已发表的代码,很难获得与文献报道相同的结果。在表7中,我们提供了第4-5节中讨论的图神经网络模型的开源实现的超链接。值得注意的是,Fey等[89]在PyTorch中发布了一个名为PyTorch geometric几何3的几何学习库,它实现了包括ChebNet[12]、1stChebNet[14]、GraphSage[25]、MPNNs[13]、GAT[15]和SplineCNN在内的多个图形神经网络[89]。最近,深度图库(DGL) 4发布了,它在流行的深度学习平台(如PyTorch和MXNet)上提供了许多图神经网络的快速实现,并提供了一组函数。

6.3 Practical Applications  实际应用

图神经网络在不同的任务和领域有着广泛的应用。虽然GNNs的每一类都有其特殊的一般任务,包括节点分类、节点表示学习、图分类、图生成和时空预测等,但GNNs也可以应用于节点聚类、链路预测和图划分等[124]。在本节中,我们主要根据它们所属的一般领域介绍实际应用。

计算机视觉:图神经网络最大的应用领域之一是计算机视觉。研究人员在场景图生成、点云分类与分割、动作识别等多个方向探索了利用图结构的方法。在场景图生成中,对象之间的语义关系有助于理解视觉场景背后的语义。给定一个图像,场景图生成模型检测和识别对象,预测对象对之间的语义关系[126],[127],[128]。另一个应用程序通过生成给定场景图的真实图像来逆转这一过程[129]。由于自然语言可以被解析为语义图,其中每个单词代表一个对象,因此综合给定文本描述的图像是一个很有前途的解决方案。

在点云分类和分割中,点云是一组激光雷达扫描记录的三维点。这项任务的解决方案使激光雷达设备能够看到周围的环境,这对无人驾驶车辆通常是有益的。为了识别点云描述的对象,[130]、[131]、[132]将点云转换为k近邻图或超点图,并利用图卷积网络探索拓扑结构。在动作识别中,识别视频中包含的人类动作有助于从机器的角度更好地理解视频内容。一组解决方案检测视频剪辑中人类关节的位置。由骨骼连接的人体关节自然形成一个图形。考虑到人类关节位置的时间序列[75],[76]应用时空神经网络学习人类动作模式。此外,在计算机视觉中应用图神经网络的可能方向还在不断增加。这包括人机交互[133]、fewshot图像分类[134]、[135]、语义分割[136]、[137]、视觉推理[138]和问答[139]。

基于图的推荐系统以项目和用户为节点。通过利用项目与项目、用户与用户、用户与项目以及内容信息之间的关系,基于图的推荐系统能够产生高质量的推荐。推荐系统的关键是给一个项目对用户的重要性打分。因此,它可以转换为一个链接预测问题。目标是预测用户和项目之间缺少的链接。为了解决这个问题,Van等人[9]和Ying等人[11]等人提出了一种基于gcn的图形自动编码器。Monti等人将GCN和RNN结合起来,学习生成已知评级的基本过程。

交通拥堵已成为现代城市的一个热点社会问题。在交通网络中,准确预测交通速度、交通量或道路密度,对道路规划和流量控制具有重要意义。[29],[73],[74],[140]采用基于图的时空神经网络方法。他们模型的输入是一个时空图。在这个时空图中,节点由放置在道路上的传感器表示,边缘由阈值以上成对节点的距离表示,每个节点包含一个时间序列作为特征。目标是预测一段时间内道路的平均速度。另一个有趣的应用是出租车需求预测。这极大地帮助了智能交通系统有效地利用资源和节约能源。考虑到出租车的历史需求、位置信息、天气数据和事件特征,Yao等[141]将LSTM、CNN和LINE[142]训练的节点嵌入相结合,形成每个位置的联合表示,以预测某一位置在一段时间间隔内所需要的出租车数量。

在化学中,研究人员应用图神经网络来研究分子的图结构。在分子图中,原子是节点,化学键是边。为了学习分子指纹图谱[56][83],预测分子性质[13],推断蛋白界面[143],合成化合物[68],[69],[144],节点分类、图分类和图生成是针对分子图的三大主要任务。

另外,GNNs在程序验证[19]、程序推理[145]、社会影响预测[146]、对抗攻击预防[147]、电子健康记录建模[148]、[149]、脑网络[150]、事件检测[151]、组合优化[152]等方面也有了初步的探索。

7 FUTURE DIRECTIONS 未来的发展方向

虽然图神经网络已经证明了其在学习图数据方面的强大功能,但由于图的复杂性,仍然存在一些挑战。在本节中,我们提供了图神经网络的四个未来方向。

Go Deep  深度学习的成功在于深度的神经结构。例如,在图像分类中,一个杰出的模型ResNet[153]有152层。然而,当涉及到图形时,实验研究表明,随着层数的增加,模型性能急剧下降[110]。根据[110],这是由于图卷积的影响,它本质上是将相邻节点的表示法推得更近,因此理论上,经过无限次卷积,所有节点的表示法都会收敛到一个点。这就提出了一个问题:深入研究图表结构数据是否仍然是一种好的学习策略。

Receptive Field 接受域
节点的接受域是指包括中心节点及其相邻节点在内的一组节点。节点的邻居数服从幂律分布。有些节点可能只有一个邻居,而其他节点可能有多达数千个邻居。虽然已经采用了[25]、[27]、[28]等采样策略,但如何选择一个具有代表性的节点接受域仍有待探索。

可伸缩性
大多数图神经网络对于大型图都不能很好地扩展。其主要原因是在叠加一个图卷积的多层时,一个节点的最终状态涉及到其邻居的大量隐藏状态,导致了反向传播的高度复杂性。虽然有几种方法试图通过快速采样[48]、[49]和子图训练[25]、[28]来提高模型效率,但是它们仍然没有足够的伸缩性来处理具有大图的深层架构。

动力学和异质性
现有的图神经网络大多采用静态齐次图。一方面,假设图的结构是固定的。另一方面,图中的节点和边假设来自一个源。然而,这两个假设在很多情况下都是不现实的。在社交网络中,一个新的人可以随时进入一个网络,一个现有的人也可以退出这个网络。在一个推荐系统中,产品可能有不同的类型,而它们的输入可能有不同的形式,例如文本或图像。因此,需要开发新的方法来处理动态异构的图结构。

8 CONCLUSION

在本次调查中,我们对图神经网络进行了全面的概述。我们将图神经网络分为五类:图卷积网络、图注意网络、图自动编码器、图生成网络和图时空网络。我们提供了对类别内或类别之间的方法的全面审查、比较和总结。然后介绍了图神经网络的广泛应用。概述了图形神经网络的数据集、开放源代码和基准。最后,提出了图神经网络的四个发展方向。

 

5.3 Graph Generative Networks 

 图生成网络的目标是生成给定一组观察到的图。图生成网络的许多方法都是特定于领域的。例如,在分子图生成中,一些工作对称为SMILES[98]、[99]、[100]、[101]的分子图的字符串表示建模。在自然语言处理中,生成语义图或知识图通常以给定的句子[102]、[103]为条件。最近,提出了若干一般性的办法。一些工作将生成过程作为交替形成节点和边缘的因素[67],[68],而另一些工作采用生成对抗训练[69],[70]。这类方法要么使用GCN作为构建块,要么使用不同的体系结构。

 

Fig.9:框架MolGAN [70]。生成器首先从标准正态分布中采样初始向量。这个初始向量通过神经网络,发电机输出一个密集的邻接矩阵和相应的特征矩阵X接下来,发生器产生一个采样离散˜˜X从基于绝对分布和X最后,GCN用于推导的向量表示采样图。将此图表示形式提供给两个不同的神经网络,一个识别器和一个奖励网络分别输出0到1之间的分数,作为反馈来更新模型参数。

5.3.1基于GCN的图生成网络

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐