摘要
近年来,深度学习已经改变了许多机器学习的任务,从图像分类和视频处理到语音识别和自然语言处理等。这些任务的数据通常来说都是欧式数据。然而,越来越多应用的数据是非欧式的并且被呈现为有着数据之间复杂关系和相互依赖关系的图结构。
图数据的复杂性给现有的机器学习算法带来了重大的挑战。最近,出现了许多关于图数据的深度学习方法的研究。本文对图神经网络GNNs在数据挖掘和机器学习方面的应用做了全面阐述。
我们提出了一种新的分类方法将最前沿的GNNs分为了四类:【分类】
recurrent graph neural networks(循环图神经网络),convolutional graph neural networks(卷积图神经网络),graph autoencoders(图自编码),spatial-temporal graph neural networks(图时空网络)。
我们将讨论图神经网络在各个领域的应用,并且总结开源代码,基准点数据,图数据网络模型的发展。最后我们提出了这个快速发展的领域的潜在研究方向。
简介
最近神经网络的成功推动了模式识别和数据挖掘的研究,许多机器学习任务,例如目标检测,机器翻译,语音识别,曾经都严重依赖棘手的特征工程提取数据集的特征,现在已经被端到端的学习模式彻底改变,也就是卷积神经网络(CNN),长短时记忆网络(LSTM),和自编码(AE)。深度学习在许多领域的成功部分归功于快速发展的计算资源(如GPU)和大量训练数据,部分归功于深度学习从欧氏数据(如图像、文本和视频)中提取有效的数据表示。以图像分析为例,图像为欧式空间的规则表示,CNN能够利用图像数据的平移不变性,局部连结性和组合性,也就是CNN能够为各种图像分析任务提取整个数据集共享的局部特征。
深度学习在欧式数据上取得了巨大的成功,但是,越来越多的应用需要对非欧式数据进行分析。例如,【应用】
在电子商务中,一个基于图的学习系统能够利用用户与商品之间的交互做出非常准确的推荐;在化学中,需要识别被建模为图结构的分子的生物活性以发现新的药物;在引文网络中,论文需要通过被引用的关系相互连接,然后通过挖掘关系被分成不同的组。【难点】
图是不规则的,每个图的无序节点大小是可变的,且每个结点有不同数量的邻居结点,因此一些重要的操作如卷积能够在图像数据上轻易计算,但是不适用于图数据,可见图数据的复杂性给现有的机器学习算法带来了巨大的挑战 。此外,现有的机器学习算法假设数据之间是相互独立的,但是,图数据中每个结点都通过一些复杂的连接信息与其他邻居相关,这些连接信息用于捕获数据之间的相互依赖关系,包括,引用,关系,交互。
近年来,人们对扩展基于图数据的深度学习越来越感兴趣。在深度学习CNN,LSTM,深度AE的驱动下,为了处理复杂的图数据,新的泛化的和定义的重要的算子在过去的几年获得了快速的发展。例如,图1说明了图卷积算子是如何受标准2-D卷积算子的启发的。一个图像可以被看作是一个特殊的图,其中每个像素和和相邻的像素相连接。和2-D卷积类似,图卷积可以表现为一个结点和其邻居结点的权重之和。
贡献:
新的分类法:我们提出了一个新的图神经网络的分类方法。图神经网络被分为了四类:循环图神经网络,卷积图神经网络,图自编码,图时空网络。
综合汇报:我们提供了针对图数据的现代深度学习技术的最综合概述。对于每种图神经网络,我们对其具有代表性的模型提供了详尽的描述,做了必要的对比,并且总结了相应的算法。
丰富的资源:我们收集了图神经网络的大量资源,包括前沿模型,基准数据集,开源代码,部分应用。这份研究可以当作一个手边的指导,用来理解,使用和开发不同的深度学习方法为各种现实生活应用。
背景:
1 GNN简史
图神经网络的表示法最早在Gori等(2005)[16]中提出,在Scarselli等(2009)[17]中进一步阐述。这些早期的研究通过迭代的方式,利用循环神经结构传播邻居信息,直到达到一个稳定的不动点,来学习目标节点的表示。这些过程计算代价大,因此很多研究在克服这些困难[18],[19].本文推广图神经网络术语表示所有的针对图数据的深度学习方法。
受CNN在计算机视觉领域巨大成功的启发,很多方法致力于重新定义卷积算子,这些方法都属于图卷积网络(GCN)。Bruna et al.(2013)首次基于谱图理论[20]设计了一种图卷积的变体,自此,基于谱图的卷积网络[12]、[14]、[21]、[22]、[23]的改进、扩展和逼近越来越多。但是谱图方法一般同时处理整个图,而且难以并行处理或缩放,所以近年来基于空间的图卷积[24], [25], [26], [27]发展越来越快。这些方法通过聚集节点信息直接在图域进行卷积。结合抽样策略,计算可以在批节点而不是整个图[24],[27]上进行,能够减少计算复杂度。
近年来,除了图形卷积网络外,还出现了许多新的图形神经网络。这些方法包括图注意网络(GAN)、图的自动编码器(GAE)、图的生成网络(GGN)和图时空网络(GSTN)。
1.2 GNN的相关研究
相关的GNN综述很少,Bronstein et al.[8]使用几何深度学习的符号,概述了非欧式域的深度学习方法,包括图形和流形。因为是先驱性工作,所以漏掉了几个重要的基于空间的方法,包括[15]、[19]、[24]、[26]、[27]、[28]。此外,本研究未涵盖一些新开发的架构,而这些架构对于GCN同样重要。本文对图注意网络(GAN)、图的自动编码器(GAE)、图的生成网络(GGN)和图时空网络(GSTN)等学习范式进行了综合评述。 Battaglia等人[29]将位置图网络作为构建块学习关系数据,使用统一的框架对部分神经网络做了回顾。但是,这个泛化的网络高度抽象,对原始论文中的方法阐述不足。Lee等人[30]对GNN的分支GAT部分进行了总结。最近,张[31]等对GNN做了一个最近的研究,但是缺少对GGN和GSTN的研究。综上,现有GNN方面的综述都不完整。
2 GNNs vs 网络嵌入
GNN的研究与图嵌入或网络嵌入密切相关,是数据挖掘和机器学习社区日益关注的另一个课题。网络嵌入
致力于在一个低维向量空间进行网络节点表示,同时保护网络拓扑结构和节点的信息,便于后续的图分析任务,包括分类,聚类,推荐等,能够使用简单现成的机器学习算法(例如,使用SVM分类)。同时,GNNs
是用端到端的方式解决图相关的任务的深度学习模型。 许多GNNs明确的提取出高层次的表示。 GNNs和网络嵌入的主要区别是:GNNs是为了各种任务而设计的一组神经网络模型,而网络嵌入覆盖了针对相同问题的各种方法。因此,GNNs可以通过图自编码框架解决网络嵌入问题。另一方面,网络嵌入包含了其他的非深度学习方法,例如矩阵分解,随机游走。
许多网络嵌入算法都是典型的无监督算法,它们可以大致分为三种类型[32],即,矩阵分解[38]、[39]、随机游走[40]、深度学习。基于深度学习的网络嵌入属于GNN,包括图自编码算法,基于无监督训练的图卷积神经网络。图2描述了网络嵌入和GNN的区别。