图神经网络(GNN)热度持续上升,之前我们曾介绍了清华两篇综述论文,参见:深度学习时代的图模型,清华发文综述图网络,和清华大学图神经网络综述:模型与应用。最近,IEEE Fellow、Senior Member 和 Member Zonghan Wu 等人又贡献了一篇图神经网络综述文章。这篇文章介绍了 GNN 的背景知识、发展历史、分类与框架、应用等,详细介绍了各种模型与方法,包括公式、模型图示、算法等,希望对大家有所帮助。
引言
深度网络的最新进展推进了模式识别和数据挖掘领域的研究。目标检测、机器翻译、语音识别等许多机器学习任务曾高度依赖手工特征工程来提取信息特征集合,但多种端到端深度学习方式(即卷积神经网络、长短期记忆网络和自编码器)改变了这种状况。深度学习在多个领域的成功主要归功于计算资源的快速发展(如 GPU)、大量训练数据的收集,还有深度学习从欧几里得数据(如图像、文本和视频)中提取潜在表征的有效性。例如 CNN 可以利用平移不变性、局部连通性和图像数据语意合成性,从而提取出与整个数据集共享的局部有意义的特征,用于各种图像分析任务。
尽管深度学习已经在欧几里得数据中取得了很大的成功,但从非欧几里得域生成的数据已经取得更广泛的应用,它们需要有效分析。例如,在电子商务领域,一个基于图的学习系统能够利用用户和产品之间的交互以实现高度精准的推荐。在化学领域,分子被建模为图,新药研发需要测定其生物活性。在论文引用网络中,论文之间通过引用关系互相连接,需要将它们分成不同的类别。
图数据的复杂性对现有机器学习算法提出了重大挑战,因为图数据是不规则的。每张图大小不同、节点无序,一张图中的每个节点都有不同数目的邻近节点,使得一些在图像中容易计算的重要运算(如卷积)不能再直接应用于图。此外,现有机器学习算法的核心假设是实例彼此独立。然而,图数据中的每个实例都与周围的其它实例相关,含有一些复杂的连接信息,用于捕获数据之间的依赖关系,包括引用、朋友关系和相互作用。
最近,越来越多的研究开始将深度学习方法应用到图数据领域。受到深度学习领域进展的驱动,研究人员在设计图神经网络的架构时借鉴了卷积网络、循环网络和深度自编码器的思想。为了应对图数据的复杂性,重要运算的泛化和定义在过去几年中迅速发展。例如,图 1 展示了受标准 2D 卷积启发得到的图卷积。本文旨在对这些方法进行全面概述,受众包括想要进入这一快速发展领域的研究人员和想要对比图神经网络算法的专家。
图 1:2D 卷积 vs. 图卷积
图神经网络简史
图神经网络的概念首先由 Gori 等人(2005)[16] 提出,并由 Scarselli 等人(2009)[17] 进一步阐明。这些早期的研究以迭代的方式通过循环神经架构传播邻近信息来学习目标节点的表示,直到达到稳定的固定点。该过程所需计算量庞大,而近来也有许多研究致力于解决这个难题。在本文中,图神经网络代表的是所有用于图数据的深度学习方法。
受到卷积网络在计算机视觉领域所获巨大成功的激励,近来出现了很多为图数据重新定义卷积概念的方法。这些方法属于图卷积网络(GCN)的范畴。Bruna 等人(2013)提出了关于图卷积网络的第一项重要研究,他们基于谱图论(spectral graph theory)开发了一种图卷积的变体。自此,基于谱的图卷积网络不断改进、拓展、进阶。由于谱方法通常同时处理整个图,并且难以并行或扩展到大图上,基于空间的图卷积网络开始快速发展。这些方法通过聚集近邻节点的信息,直接在图结构上执行卷积。结合采样策略,计算可以在一个批量的节点而不是整个图中执行,这种做法有望提高效率。
除了图卷积网络,近几年还开发出了很多替代的图神经网络。这些方法包括图注意力网络(GAT)、图自编码器、图生成网络以及图时空网络。关于这些方法的分类细节详见第三章。
图神经网络相关研究。Bronstein 等人用符号几何深度学习概述了非欧几里得领域的深度学习方法,包括图和流形。虽然这是对图卷积网络的第一次回顾,但这一项研究遗漏了几个基于空间的重要方法,包括 [15], [19], [24], [26], [27], [28],这些方法更新了最新的基准。此外,这项调查没有囊括很多新开发的架构,这些架构的重要性不亚于图卷积网络。
对于另一项研究,Battaglia 等人 [29] 将图网络定位为从关系数据中学习的构建块,并在统一的框架下回顾了部分图神经网络。然而,他们整体的框架是高度抽象的,失去了每种方法在原论文中的见解。Lee 等人 [30] 对图注意力模型(一种图神经网络)进行了部分调查。最近,Zhang 等人 [31] 提出了一项关于图深度学习的最新调查,却忽略了对图生成网络和图时空网络的研究。总之,现有的研究没有一个对图神经网络进行全面的回顾,只覆盖了部分图卷积神经网络且检查的研究有限,因此遗漏了图神经网络替代方法的最新进展,如图生成网络和图时空网络。
图神经网络 vs. 网络嵌入。对图神经网络的研究与图嵌入或网络嵌入紧密相关,这也是数据挖掘和机器学习社区日益关注的一个话题 [32] [33] [34] [35], [36], [37]。网络嵌入旨在通过保留网络拓扑架构和节点内容信息,将网络顶点表示到低维向量空间中,以使任何后续的图分析任务(如分类、聚类和推荐)都可以通过使用简单的现成学习机算法(如用于分类的支持向量机)轻松执行。许多网络嵌入算法都是无监督算法,它们大致可分为三组 [32],即矩阵分解 [38], [39]、随机游走 [40] 和深度学习方法。用于网络嵌入的深度学习方法同时还属于图神经网络,包括基于图自编码器的算法(如 DNGR [41] 和 SDNE [42])和具有无监督训练的图卷积神经网络(如 GraphSage [24])。图 2 描述了本文中网络嵌入和图神经网络的区别。