Jie Zhou a,1 , Ganqu Cui a,1 , Shengding Hu a , Zhengyan Zhang a , Cheng Yang b , Zhiyuan Liu a,*,Lifeng Wang c , Changcheng Li c , Maosong Sun a
a Department of Computer Science and Technology, Tsinghua University, Beijing, China
b School of Computer Science, Beijing University of Posts and Telecommunications, China
c Tencent Incorporation, Shenzhen, China
清华大学\北京邮电\腾讯的综述
AI Open 期刊 2020。截至2022-3-4谷歌学术上有1744个引用
GNN图神经网络的介绍
这是我在GNN看的第一篇survey.这篇文章是从设计者的角度去分析GNN的架构设计.但是感觉不是很适合我这样没有基础的GNN初学者去阅读,更适合于有一定基础的同学用来捋一捋对GNN的理解.
总体来说,对于我而言,这篇文章看完后,我对于GNN的发展脉络,以及经典方法这几个方面的了解还不是很充分(经典方法有涉及,但是看完印象不是很深刻),后面会找一些其他的survey来了解这几个问题.
当然图相关的前置需要的知识可以大致有一个了解,
对于GNN的主要研究方法也有一个模糊的认识
Lots of learning tasks require dealing with graph data which contains rich relation information among elements.
大量的学习任务需要处理元素间关系信息丰富的图数据。
Modeling physics systems, learning molecular fifingerprints, predicting protein interface, and classifying diseases demand a model to learn from graph inputs.
建模物理系统、学习分子指纹、预测蛋白质界面和对疾病分类需要一个模型来从图形输入中学习。
In other domains such as learning from non-structural data like texts and images, reasoning on extracted structures (like the dependency trees of sentences and the scene graphs of images) is an important research topic which also needs graph reasoning models.
在其他领域,如从文本和图像等非结构性数据中学习,对提取的结构(如句子的依赖树和图像的场景图)进行推理是一个重要的研究课题,也需要图推理模型。
Graph neural networks (GNNs) are neural models that capture the dependence of graphs via message passing between the nodes of graphs.
图神经网络(GNNs)是一种通过图节点之间的消息传递来捕获图的依赖性的神经模型。
In recent years, variants of GNNs such as graph convolutional network (GCN), graph attention network (GAT), graph recurrent network (GRN) have demonstrated ground-breaking performances on many deep learning tasks.
近年来,图卷积网络(GCN)、图注意网络(GAT)、图循环网络(GRN)等一般神经网络的变体在许多深度学习任务中都表现出了突破性的性能。
In this survey, we propose a general design pipeline for GNN models and discuss the variants of each component, systematically categorize the applications, and propose four open problems for future research.
在本综述中,我们提出了一个GNN模型的一般设计pipeline,并讨论了每个组件的变体,系统地分类了应用程序,并提出了四个有待未来研究的问题。
从designer的角度去介绍这个GNN
这篇文章主要是从图神经网络的动机设计角度出发的。
图神经网络是针对图的,图是一种 non-Euclidean data structure ,而cv中的图像则大部分是 Euclidean data structure 的结构,这种结构的区别导致了CNN到GNN的一些困难。
很早就有人开做图方向的神经网络.
最早是用RNN来处理directed acyclic graph(有向无环图),后面又有RNN和前馈神经网络用来处理 cycles(环).[1998-2009这样的时间段].但是这些方法大部分是在图上建立state transition并做迭代直至收敛.这样的方法限制了他们的可扩展性和表征能力.
而最近(2015左右)由于DNN,特别是CNN的突破,带来了GNN的又一个春天.
CNN的具有提取多尺度空间特征并组合他们生成高度的expressive representation(表征能力的表征)的能力.
问题在于CNN只能操作Euclidean data structure,比如images\texts等.但是这些可以看做是图的instance.
所以有一种直观的做法就是把CNNS给generalize到图.
这样的做法的问题在于,很难在图上定义局部卷积核以及池化操作,这是从non-Euclidean data structure到Euclidean data structure转化CNN的一个难点.
这方面的做法一般称作是geometric deep learning(2017),现在也是一个热门研究方向
这方面的思想来自于graph representation learning(图表征学习)(2018年左右)
在图分析领域,传统的机器学习方法通常依赖于手工设计的特征,并受到其不灵活性和高成本的限制。
**而这类的GNN方法,学习了用低维向量来表示图的节点、边或子图的方法。**表征学习和词嵌入的相关方法如下:
[提到的方法]
DeepWalk(2014)-最早的graph embedding method,使用SkipGram(2013)生成随机walks
node2vec(2016)
LINE(2015)
TADW(2015)
…
但是这类方法有两个缺点:
首先,编码器中的节点之间不共享参数,这导致了计算效率低下,因为这意味着参数的数量随节点的数量呈线性增长。
其次,直接嵌入方法缺乏泛化的能力,这意味着它们不能处理动态图,也不能推广到新的图。
当然也有其他的变体,可以聚合图中的信息,从而对由元素及其依赖构成的输入输出进行建模.
有其他的几篇综述(2017/2019)也讲了GNN.然而,它们主要关注在图上定义的卷积算子,而我们则研究GNN中的其他计算模块,如跳过连接和池化算子。
我们的论文提供了一个不同的分类法,我们主要关注经典的GNN模型。此外,我们还总结了针对不同的图类型的GNN的变体,并提供了GNN在不同领域的应用程序的详细摘要。
我们分别在第4.2节、第4.3节和第8.1.6节中总结了异构图、动态图和组合优化的GNN。
贡献:
- We provide a detailed review over existing graph neural network models. We present a general design pipeline and discuss the variants of each module. We also introduce researches on theoretical and empirical analyses of GNN models.
- 我们提供了一个详细的回顾,以对现有的图神经网络模型。我们提出了一个通用的设计管道,并讨论了每个模块的变体。我们还介绍了对GNN模型的理论分析和实证分析的研究。
- We systematically categorize the applications and divide the applications into structural scenarios and non-structural scenarios. We present several major applications and their corresponding methods for each scenario.
- 我们系统地对应用程序进行分类,并将应用程序划分为结构场景和非结构场景。我们为每个场景介绍了几个主要的应用程序及其相应的方法。
- We propose four open problems for future research. We provide a thorough analysis of each problem and propose future research directions.
- 我们提出了未来研究的四个开放问题。我们对每个问题进行了全面的分析,并提出了未来的研究方向。
这一节简略的介绍GNN的设计思路:
the pipeline contains four steps:
作者把GNN的基本设计的pipline如图进行了展示
这一节介绍了第二节提到的计算模块的一些instantiations,就是一些常见的方法
这一块介绍了很多不同的方法,但是每一块我看的都很吃力,感觉每一个都得有点基础才能看的比较清晰.
卷积操作的设计相对比较多,最常见的分三种(准确来说是两种,谱卷积核空间卷积,但是我把注意力单独分一类):
recurrent操作是较为新颖的一个研究方向,和卷积操作的主要区别是:recurrent操作中,在不同的层中会共享一部分参数
一个就是resnet那样的操作原理,然后有一些变体
这一节介绍了针对不同结构和不同大小的图,所设计的一些GNN的变体.
也就是这一节是按照图的不同来介绍不同的分类方法
在第三节中是假设使用的最简单的图结构,从而介绍一些GNN的方法.而在这一节里面则考虑不同的图的类型和大小来介绍GNN的变体.
有向图,很好理解,除了可以在卷积中使用非对称的邻接矩阵,另外的一种方法是对于正反方向的边(节点的出边和入边)采用不同的处理(比如对一个节点的入边和出边采用不同的权重矩阵)
什么是异构图:
异构图注意力网络 - 知乎 (zhihu.com)
下面这个就是一个异构图:
其中,节点的类型+边的类型 > 2,所以就是一个异构图
图的另一种变体是动态图,其中图的结构,例如边和节点的存在,会随着时间的推移而不断变化。
所以这里就有一个额外的时间序列需要处理.
在数学中,超图(Hypergraph)是一种广义上的图,它的一条边可以连接任意数量的顶点。形式上,超图{\displaystyle H}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYHsnxn4-1646794728301)(https://wikimedia.org/api/rest_v1/media/math/render/svg/75a9edddcca2f782014371f75dca39d7e13a9c1b)]是一个集合组{\displaystyle H=(X,E)}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jo2J8AZJ-1646794728303)(https://wikimedia.org/api/rest_v1/media/math/render/svg/a6b45f3b01656aea8afd2786abe31e83f4643830)],其中{\displaystyle X}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QJaOdOH8-1646794728304)(https://wikimedia.org/api/rest_v1/media/math/render/svg/68baa052181f707c662844a465bfeeb135e82bab)]是一个有限集合,该集合的元素被称为节点或顶点,{\displaystyle E}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tf5eNa7t-1646794728305)(https://wikimedia.org/api/rest_v1/media/math/render/svg/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b)]是{\displaystyle X}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GRhkxgst-1646794728305)(https://wikimedia.org/api/rest_v1/media/math/render/svg/68baa052181f707c662844a465bfeeb135e82bab)]的非空子集的集合,被称为超边或连接。因此,{\displaystyle E}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nlp6zLth-1646794728306)(https://wikimedia.org/api/rest_v1/media/math/render/svg/4232c9de2ee3eec0a9c0a19b15ab92daa6223f9b)]是{\displaystyle {\mathcal {P}}(X)\setminus {\emptyset }}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-judZAQBW-1646794728307)(https://wikimedia.org/api/rest_v1/media/math/render/svg/657a34eec16a1788178f8f9a6876d2a98b1bf45e)]的一个子集,其中{\displaystyle {\mathcal {P}}(X)}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MWFBGhA2-1646794728308)(https://wikimedia.org/api/rest_v1/media/math/render/svg/f5ed5b6b7f1ad70cba0f7b3cf4603bf627321b5b)]是{\displaystyle X}[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O0bHGtnH-1646794728309)(https://wikimedia.org/api/rest_v1/media/math/render/svg/68baa052181f707c662844a465bfeeb135e82bab)]的幂集。
尽管图的边各有一对节点,而超边是节点的任意集合,因而能包含任意数量的节点。然而,通常的研究更倾向于每个超边连接的节点数相同的超图:k-均匀超图(每个超边都连接了k个节点)。因此,2-均匀超图就是图,3-均匀超图就是三元组的集合,依此类推。
超图 - 维基百科,自由的百科全书 (wikipedia.org)
白话来说,一般的图是顶点+连接两个顶点的边组成的,但是超图中的一个边可以;连接多个顶点
什么是超图(Hypergraph)?_为之,则难者亦易矣;不为,则易者亦难矣。-CSDN博客_什么是超图
Signed graphs
有符号图是具有有符号边的图,即一条边可以是正的,也可以是负的
针对图的尺寸大小,除了采样的操作,还有一些别的方法来避免’neighbor explosion’问题
主要针对无监督学习情况下,给出一些变体.主要是基于auto-encoders和contrastivr learning
这两个方向在19和20还是有很多研究
文章以异构图为例子,展示了一个GNN的具体例子.模型结构来自于GPT-GNN
按照我自己的理解,其他人的方法在学习的时候可以按照这个思路去看,一步一步分析他模型设计的思路.但是自己设计新方法应该不是这样的一个流程.
这一节分析GNN的理论基础/数学解释和基于经验的直觉.
深度学习的理论分析一直是一个比较困难的方向,这里可以简单了解一下GNN的理论性的几个主要方向
介绍GNN的应用场景.
一些实例:
总结:
可解释性也是神经模型的一个重要研究方向。但gnn也是黑盒子,缺乏解释。只有少数方法(Yingetal.,2019;巴尔达萨尔和阿兹普尔,2019)被提出来生成GNN模型的示例级解释。将GNN模型应用于具有可信解释的真实应用程序是很重要的。与CV和NLP领域类似,图上的可解释性也是研究的一个重要方向
图预训练。基于神经网络的模型需要大量的标记数据,而获得大量的人类标记数据的成本也很高。提出了自监督的方法来指导模型从未标记的数据中学习,这些数据很容易从网站或知识库中获得。这些方法在CV和NLP领域取得了巨大的成功(Krizhevesk等,2012;Devlin等,2019年)。最近,有工作集中在图形的预训练(Qiu等,2020;Hu等,2020b,2020e;Zhang等,2020),但他们有不同的问题设置,关注不同的方面。该领域仍存在许多需要研究的开放性问题,如训练前任务的设计、现有的GNN模型在学习结构或特征信息方面的有效性等。
复杂的图形结构。图结构在现实生活中是灵活和复杂的。我们提出了各种工作来处理复杂的图结构,如动态图或异构图,如我们之前讨论过的。随着互联网上社交网络的快速发展,肯定会出现更多的问题、挑战和应用场景的出现,并且需要更强大的模型。
在过去的几年中,图神经网络已经成为在图领域的机器学习任务的强大和实用的工具。这一进展要归功于在表达能力、模型灵活性和训练算法方面的进步。在这项调查中,我们对图神经网络进行了全面的回顾。对于GNN模型,我们引入了按计算模块、图类型和训练类型分类的其变体。此外,我们还总结了一些一般的框架,并介绍了一些理论分析。在应用程序分类法方面,我们将GNN应用程序划分为结构场景、非结构场景和其他场景,然后对每个场景中的应用程序进行了详细的回顾。最后,我们提出了四个有待解决的问题,表明了图神经网络的主要挑战和未来的研究方向,包括鲁棒性、可解释性、预训练和复杂结构建模。
附录里面收集了一些常用的数据集和几个开源的代码,复现的时候可以参考
结构,如动态图或异构图,如我们之前讨论过的。随着互联网上社交网络的快速发展,肯定会出现更多的问题、挑战和应用场景的出现,并且需要更强大的模型。
在过去的几年中,图神经网络已经成为在图领域的机器学习任务的强大和实用的工具。这一进展要归功于在表达能力、模型灵活性和训练算法方面的进步。在这项调查中,我们对图神经网络进行了全面的回顾。对于GNN模型,我们引入了按计算模块、图类型和训练类型分类的其变体。此外,我们还总结了一些一般的框架,并介绍了一些理论分析。在应用程序分类法方面,我们将GNN应用程序划分为结构场景、非结构场景和其他场景,然后对每个场景中的应用程序进行了详细的回顾。最后,我们提出了四个有待解决的问题,表明了图神经网络的主要挑战和未来的研究方向,包括鲁棒性、可解释性、预训练和复杂结构建模。
附录里面收集了一些常用的数据集和几个开源的代码,复现的时候可以参考