survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open

Graph neural networks: A review of methods and applications

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的理解.

  1. 第二节先介绍总统的GNN的架构
  2. 345节则按照图的类型\大小和损失函数来分别介绍GNN的架构.
    1. (或者说是针对GNN中不同类型的问题,介绍常见的应对方案)
  3. 第六节则是用了一个例子介绍GNN的设计
    1. 本调查的其余部分组织如下。在第2节中,我们提出了一个通用的GNN设计管道。根据管道,我们将详细讨论审查GNN模型变体的每一步。详情见第3节至第6节。
    2. 这一部分我个人认为更像是一个工程化的流程介绍,(如何针对一个问题去使用GNN解决)
  4. 789节则是一些GNN相关研究方法的一个汇总,我阅读时比较宽泛,主要了解一下现在有哪些方向在使用GNN,已经GNN的哪些方向已经有较为突出的成果.
    1. 在第7节中,我们回顾了在GNN的理论和实证分析上的研究工作。
    2. 在第8节中,我们将介绍图神经网络应用于结构场景、非结构场景和其他场景的几个主要应用。
    3. 在第9节中,我们提出了图神经网络的四个开放问题以及几个未来的研究方向。
      1. 这部分基本上是大部分神经网络的通病
  5. 最后,我们在第10节中总结了这个survey。

总体来说,对于我而言,这篇文章看完后,我对于GNN的发展脉络,以及经典方法这几个方面的了解还不是很充分(经典方法有涉及,但是看完印象不是很深刻),后面会找一些其他的survey来了解这几个问题.

当然图相关的前置需要的知识可以大致有一个了解,

对于GNN的主要研究方法也有一个模糊的认识

Abstract

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,并讨论了每个组件的变体,系统地分类了应用程序,并提出了四个有待未来研究的问题。

  1. 介绍了GNN的gengral design pipeline
  2. 讨论了几个变体
  3. 分类了应用
  4. 提出后续研究的四个问题

从designer的角度去介绍这个GNN

1-Introduction

这篇文章主要是从图神经网络的动机设计角度出发的。

图神经网络是针对图的,图是一种 non-Euclidean data structure ,而cv中的图像则大部分是 Euclidean data structure 的结构,这种结构的区别导致了CNN到GNN的一些困难。

1-1-动机一:

很早就有人开做图方向的神经网络.

最早是用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),现在也是一个热门研究方向

1-2-动机二[这部分与embedding相关性比较大,不是很明白]

这方面的思想来自于graph representation learning(图表征学习)(2018年左右)

在图分析领域,传统的机器学习方法通常依赖于手工设计的特征,并受到其不灵活性和高成本的限制。

**而这类的GNN方法,学习了用低维向量来表示图的节点、边或子图的方法。**表征学习和词嵌入的相关方法如下:

[提到的方法]

DeepWalk(2014)-最早的graph embedding method,使用SkipGram(2013)生成随机walks

node2vec(2016)

LINE(2015)

TADW(2015)

但是这类方法有两个缺点:

首先,编码器中的节点之间不共享参数,这导致了计算效率低下,因为这意味着参数的数量随节点的数量呈线性增长。

其次,直接嵌入方法缺乏泛化的能力,这意味着它们不能处理动态图,也不能推广到新的图。

当然也有其他的变体,可以聚合图中的信息,从而对由元素及其依赖构成的输入输出进行建模.

1-3-与其他survey的区别[这里提到了很多其他的survey]

有其他的几篇综述(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.
  • 我们提出了未来研究的四个开放问题。我们对每个问题进行了全面的分析,并提出了未来的研究方向。

2-General design pipeline of GNNs

这一节简略的介绍GNN的设计思路:

the pipeline contains four steps:

  1. fifind graph structure
    1. 分成显示和隐式的包含图结构[我的理解是,有的直接就是图结构的数据,有的则是非图结构的数据,比如image,需要转化成图才能做图卷积]
  2. specify graph type and scale
    1. 图的分类和大小,分类主要按照下面三种进行了分类:
      1. 有向图无向图/同构异构图/动态静态图/
    2. 图大小,没有一个明确的区分,什么图大什么图算小
  3. design loss function
    1. 一种是直观的,按照图的数据结构,区分图相关的任务:
      1. node/edge/graph,很直观
    2. 另外一种是按照数据的标签分类:
      1. 监督/半监督/半监督的transductive setting/半监督的inductive setting/无监督,也比较直观
  4. build model using computational modules.
    1. 介绍GNN中常见的计算的模块
      1. Propagation Module(传播模块),介绍了三个常见的
        1. convolution operator
        2. recurrent operator
        3. skip connection
      2. Sampling Module(采样模块)
      3. Pooling Module(池化模块)

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第1张图片

作者把GNN的基本设计的pipline如图进行了展示

3-Instantiations of computational modules

这一节介绍了第二节提到的计算模块的一些instantiations,就是一些常见的方法

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第2张图片

这一块介绍了很多不同的方法,但是每一块我看的都很吃力,感觉每一个都得有点基础才能看的比较清晰.

3-1-卷积操作

卷积操作的设计相对比较多,最常见的分三种(准确来说是两种,谱卷积核空间卷积,但是我把注意力单独分一类):

  1. spectral approaches(谱操作)
    1. [这一节对我而言需要补充一部分知识,而且需要的背景知识比较多,理解起来对我还有一点难度]
    2. 作者按照上图介绍了集中具有不同filters的谱spectral方法(我暂时没能理解,后面补)
  2. basic spatial approaches(空间操作)
    1. 空间方法,基于图的拓扑结构,直接在图上定义卷积
    2. 最直接问题是:
      1. 如何对variable数量的邻接元素定义卷积
      2. 如何保存局部不变性(loacl invariance)
      3. 然后按照上图介绍了几个空间卷积的方法,没看
  3. Attention-based spatial approches(基于注意力机制的空间操作)
    1. 与我们前面提到的操作相比,基于注意的算子为邻居分配不同的权值,从而可以缓解噪声,获得更好的效果
    2. 然后按照上图介绍了几个基于注意力机制的空间卷积的方法,没看
  4. 其他不是很好分类的其他空间方法的框架
    1. 直接没看,都是一个一个方法的介绍

3-2-recurrent操作

recurrent操作是较为新颖的一个研究方向,和卷积操作的主要区别是:recurrent操作中,在不同的层中会共享一部分参数

  1. Convergence-based methods
  2. Gate-based methods

3-3-skip connection操作

一个就是resnet那样的操作原理,然后有一些变体

3-4-采样

  1. 因为GNN的聚合操作引入节点的neighborhood的信息,多了几层过后相关的邻居节点的数量就和随着深度指数级增加,也叫"neighbor explosion"问题.所以可以采样处理.
  2. 采样操作,分成以下三种:
    1. 对node 采样
      1. 从节点的领域中选择子集,非常直观
    2. 对 layer 采样
      1. layer sampling retains a small set of nodes for aggregation in each layer to control the expansion factor
      2. 层采样保留了每一层的一组小节点进行聚合,以控制膨胀因子
      3. 这一段描述比较简单,也不是很明白具体是什么意思
    3. 对 子图 采样
      1. Rather than sampling nodes and edges which builds upon the full graph, a fundamentally different way is to sample multiple subgraphs and restrict the neighborhood search within these subgraphs.
      2. 不同于对建立在完整图基础上的节点和边进行采样,另外的一种方法是对多个子图进行采样,并限制在这些子图内的邻域搜索
      3. 这个好像相对清晰一点.不过还是讲的比较浅,理解不是很直观.我的理解来说就是找子图.
    4. [我个人的很直觉化的疑问:没有对边的采样吗?]

3-5-池化

  1. Direct pooling modules
  2. 使用不同的nodes选择策略,才能够nodes中选出graph级别的表征.
  3. 这个定义看得我不明不白,不过我看到说max/mean/sum/attention操作都是,那就和distill讲的操作差不多
  4. Hierarchical pooling modules
    1. 前面提到的方法直接从节点中学习图表示,它们不研究图结构的层次属性。接下来,我们将讨论遵循分层池模式并按层学习图表示的方法

4-Variants considering graph type and scale

这一节介绍了针对不同结构和不同大小的图,所设计的一些GNN的变体.

也就是这一节是按照图的不同来介绍不同的分类方法

在第三节中是假设使用的最简单的图结构,从而介绍一些GNN的方法.而在这一节里面则考虑不同的图的类型和大小来介绍GNN的变体.

4-1-有向图

有向图,很好理解,除了可以在卷积中使用非对称的邻接矩阵,另外的一种方法是对于正反方向的边(节点的出边和入边)采用不同的处理(比如对一个节点的入边和出边采用不同的权重矩阵)

4-2-异构图

什么是异构图:

image-20220307181721184

异构图注意力网络 - 知乎 (zhihu.com)

下面这个就是一个异构图:

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第3张图片

其中,节点的类型+边的类型 > 2,所以就是一个异构图

  1. 基于meta-path的方法
    1. 大多数处理这种图类型的方法都利用了元路径的概念。元路径是一种路径方案,它决定了路径中每个位置的节点类型,例如φ1→ψ1φ2→ψ2φ3⋯→ψLφLþ1,其中L是元路径的长度。在训练过程中,元路径被实例化为节点序列。通过连接一个元路径实例的两个端节点,该元路径捕获了可能不直接连接的两个节点的相似性。因此,一个异构图可以简化为几个同构图,并在上面应用图学习算法。
  2. 基于边的方法
    1. 不使用meta-path,而是在采样/聚合/…的过程中采用不同的变体
  3. 针对relation graphs的方法
    1. 一些图的边缘可能包含比类型更多的信息,或者类型的数量可能太大,这给应用基于元路径或元关系的方法带来了困难。这类图就称作relaton graphs.
  4. 针对 multiplex graphs(多路图)的方法
    1. 在更复杂的场景中,图中的一对节点可以与不同类型的多个边相关联。通过查看不同类型的边下,图可以形成多层,其中每一层代表一种类型的关系。因此,多路图也可以称为多视图图(多维图).例如,在YouTube中,两个用户之间可以有三种不同的关系:分享、订阅、评论。边缘类型并不假定是相互独立的,因此简单地将图分解为具有一种边类型的子图可能不是最优解。

4-3-动态图

图的另一种变体是动态图,其中图的结构,例如边和节点的存在,会随着时间的推移而不断变化。

所以这里就有一个额外的时间序列需要处理.

4-4-其他图类型

  1. 超图

在数学中,超图(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)

白话来说,一般的图是顶点+连接两个顶点的边组成的,但是超图中的一个边可以;连接多个顶点

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第4张图片

什么是超图(Hypergraph)?_为之,则难者亦易矣;不为,则易者亦难矣。-CSDN博客_什么是超图

  1. Signed graphs

    有符号图是具有有符号边的图,即一条边可以是正的,也可以是负的

4-5-大尺寸的图

针对图的尺寸大小,除了采样的操作,还有一些别的方法来避免’neighbor explosion’问题

5-Variants for different training settings

主要针对无监督学习情况下,给出一些变体.主要是基于auto-encoders和contrastivr learning

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第5张图片

这两个方向在19和20还是有很多研究

6-A design example of GNN

文章以异构图为例子,展示了一个GNN的具体例子.模型结构来自于GPT-GNN

  1. Find graph structure.
    1. 这个例子中,主要研究了在知识图谱和推荐系统上的应用。在知识图谱中,图的结构是显式的。在推荐系统中,用户、项目和评论可以看作是节点,它们之间的交互可以看作是边,因此图的结构也很容易构造。
    2. 这就是一个找到图的节点的例子,或者说是如何把一个具体的问题做成GNN的问题
  2. Specify graph type and scale.
    1. 这个例子是在异构图上做的,因此应该考虑节点和边的类型并合并到最终的模型中。由于知识图谱和推荐系统图包含数百万个节点,因此模型应进一步考虑效率问题。总之,该模型应关注大规模的异构图
    2. 这一步一个是问题分析,就是发现这个问题下,需要一种针对大规模的异构图的方法
  3. Design loss function.
    1. 由于(Huetal.,2020b)中的下游任务都是节点级的任务(例如,学术图中的纸场预测),因此模型应该在训练前的步骤中学习节点表示。在训练前步骤中,没有标记数据可用,因此设计了一个自监督图生成任务来学习节点嵌入。在微调步骤中,根据每个任务的训练数据对模型进行精细化,从而应用每个任务的监督损失。
    2. 这一步是分析针对的是什么层级的问题(node/edge/global graph),以及标签级别(有监督/半监督/无监督)
  4. Build model using computational modules.
    1. 最后,利用计算模块建立了该模型。对于传播模块,作者使用了我们之前提到的卷积算子HGT(Huetal.,2020a)。HGT将节点和边的类型合并到模型的传播步骤中,并在体系结构中添加了跳过连接。对于抽样模块,采用了专门设计的抽样方法HG抽样(Huetal.,2020a),这是女性的异质版本(Zouetal.,2019)。由于该模型侧重于学习节点表示,因此不需要池化模块。HGT层是多层堆叠的,以学习更好的节点嵌入。
    2. 模型的结构设计部分的分析

按照我自己的理解,其他人的方法在学习的时候可以按照这个思路去看,一步一步分析他模型设计的思路.但是自己设计新方法应该不是这样的一个流程.

7-Analyses of GNNs

这一节分析GNN的理论基础/数学解释和基于经验的直觉.

深度学习的理论分析一直是一个比较困难的方向,这里可以简单了解一下GNN的理论性的几个主要方向

  1. Theoretical aspect-从不同的角度总结了图神经网络的理论基础和解释
    1. Graph signal processing 图信号角度-光谱域/图形信号处理/拉普拉斯平滑/低通滤波/去噪/信噪比/…
    2. Generalization 泛化能力-基于CNN的泛化边界分析/神经网络边界/泛化边界/attention对泛化性的帮助
    3. Expressivity 表达能力-…/局部依赖的GNN不能学习到全局图特性/有限深度宽度下的研究/动态系统?
    4. Invariance 不变性 - 排列不变或等变线性层来建立不变的gnn/进一步证明了用高阶张量化可以得到通用不变gnn的结果/建立排列不变性和图同构检验之间的联系/利用sigma-algebra来描述gnn的表达性。
    5. Transferability 迁移性 - gnn的一个确定性特征是,参数化与图无关,这表明了具有性能保证的跨图的转移能力(即所谓的可转移性)[神奇]/…
    6. Label effificiency - 这个是主动学习相关的内容
  2. Empirical aspect - 除了理论分析外,还需要对gnn进行实证研究,以便更好地进行比较和评价
    1. Evaluation-没有看到什么重点,我还需要一些深入的知识才看得懂在描述什么内容
    2. Benchmarks-介绍了几个大的benchmark的数据集

8-Applications

介绍GNN的应用场景.

  1. 一类是结构化的场景,其中有显示的数据结构关系,比如图形挖掘/物理系统/化学场景,以及工业化中的知识图谱/交通网络/推荐系统
  2. 另外一些则是隐式结构甚至不存在图结构.比如图像和文本.
    1. 这里有两种场景方法
      1. 使用其他领域的信息来提高非结构化的效果,比如使用知识图谱来应对图像问题中的zero-shot问题
      2. 把非结构化任务中的问题和关系进行定义,转化成GNN的问题

一些实例:

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第6张图片

总结:

survey-Graph-neural-networks--A-review-of-methods-and-applications_2020_AI-Open_第7张图片

  1. 结构化中的应用
    1. Graph Mining 图挖掘
      1. 图匹配
      2. 图聚类
    2. Physics 物理世界建模
    3. 化学与生物学
      1. 不是很了解的方向
    4. Knowledge graph 知识图谱
    5. Generative models 生成模型
    6. Combinatorial optimization 组合优化
      1. 传统的经典研究领域了,GNN居然能做这个,神奇
    7. Traffific networks 交通网络
    8. Recommendation systems 推荐系统
    9. Other Applications in structural scenarios
      1. 好多领域在用,股票预测/市场预测/路由优化/图表征/…
  2. 非结构化的应用
    1. image
      1. one-shot/few-shot 有一些工作使用图神经网络来帮助做这部分工作,这部分就是用0样本或者非常少的样本去做学习,有不少和domain adaption相关的工作
      2. visual reasoning 视觉推理 计算机视觉系统通常需要通过合并空间信息和语义信息来进行推理。因此,为推理任务生成图是很自然的。比如VQA之类的工作/目标检测/交互检测/区域检测/…
      3. Semantic Segmentation 语义分割 除了图像的语义分割,也有基于RGB-D和点云的语义分割
    2. Text(这一块我接触的少,不是很熟悉)
      1. 文本分类
      2. 序列标注
      3. 神经机器翻译
      4. 关系提取
      5. 事件提取
      6. 事实验证
    3. 程序源代码

9-Open problems

9-1-鲁棒性

  1. GNN也是基于神经网络的一种模型,同样也遭受对抗攻击的影响.对图神经网络的攻击会考虑到结构特征
  2. 攻防
    1. Zügner, D., Akbarnejad, A., Günnemann, S., 2018. Adversarial attacks on neural networks for graph data. In: Proceedings of KDD, pp. 2847–2856.(攻)
    2. Dai, H., Li, H., Tian, T., Huang, X., Wang, L., Zhu, J., Song, L., 2018b. Adversarial attack on graph structured data. In: Proceedings of ICML, pp. 1115–1124.(攻)
    3. Zhu, R., Zhao, K., Yang, H., Lin, W., Zhou, C., Ai, B., Li, Y., Zhou, J., 2019a. Aligraph.Proceedings of the VLDB Endowment 12 (12), 2094–2105.(防)
  3. 综述
    1. Sun, L., Wang, J., Yu, P.S., Li, B., 2018. Adversarial Attack and Defense on Graph Data: A survey. arXiv preprint arXiv:1812.10528.

9-2-可解释性

可解释性也是神经模型的一个重要研究方向。但gnn也是黑盒子,缺乏解释。只有少数方法(Yingetal.,2019;巴尔达萨尔和阿兹普尔,2019)被提出来生成GNN模型的示例级解释。将GNN模型应用于具有可信解释的真实应用程序是很重要的。与CV和NLP领域类似,图上的可解释性也是研究的一个重要方向

9-3-图预训练

图预训练。基于神经网络的模型需要大量的标记数据,而获得大量的人类标记数据的成本也很高。提出了自监督的方法来指导模型从未标记的数据中学习,这些数据很容易从网站或知识库中获得。这些方法在CV和NLP领域取得了巨大的成功(Krizhevesk等,2012;Devlin等,2019年)。最近,有工作集中在图形的预训练(Qiu等,2020;Hu等,2020b,2020e;Zhang等,2020),但他们有不同的问题设置,关注不同的方面。该领域仍存在许多需要研究的开放性问题,如训练前任务的设计、现有的GNN模型在学习结构或特征信息方面的有效性等。

9-4-复杂图结构

复杂的图形结构。图结构在现实生活中是灵活和复杂的。我们提出了各种工作来处理复杂的图结构,如动态图或异构图,如我们之前讨论过的。随着互联网上社交网络的快速发展,肯定会出现更多的问题、挑战和应用场景的出现,并且需要更强大的模型。

10-Conclusion

在过去的几年中,图神经网络已经成为在图领域的机器学习任务的强大和实用的工具。这一进展要归功于在表达能力、模型灵活性和训练算法方面的进步。在这项调查中,我们对图神经网络进行了全面的回顾。对于GNN模型,我们引入了按计算模块、图类型和训练类型分类的其变体。此外,我们还总结了一些一般的框架,并介绍了一些理论分析。在应用程序分类法方面,我们将GNN应用程序划分为结构场景、非结构场景和其他场景,然后对每个场景中的应用程序进行了详细的回顾。最后,我们提出了四个有待解决的问题,表明了图神经网络的主要挑战和未来的研究方向,包括鲁棒性、可解释性、预训练和复杂结构建模。

11-附录

附录里面收集了一些常用的数据集和几个开源的代码,复现的时候可以参考

结构,如动态图或异构图,如我们之前讨论过的。随着互联网上社交网络的快速发展,肯定会出现更多的问题、挑战和应用场景的出现,并且需要更强大的模型。

10-Conclusion

在过去的几年中,图神经网络已经成为在图领域的机器学习任务的强大和实用的工具。这一进展要归功于在表达能力、模型灵活性和训练算法方面的进步。在这项调查中,我们对图神经网络进行了全面的回顾。对于GNN模型,我们引入了按计算模块、图类型和训练类型分类的其变体。此外,我们还总结了一些一般的框架,并介绍了一些理论分析。在应用程序分类法方面,我们将GNN应用程序划分为结构场景、非结构场景和其他场景,然后对每个场景中的应用程序进行了详细的回顾。最后,我们提出了四个有待解决的问题,表明了图神经网络的主要挑战和未来的研究方向,包括鲁棒性、可解释性、预训练和复杂结构建模。

11-附录

附录里面收集了一些常用的数据集和几个开源的代码,复现的时候可以参考

你可能感兴趣的:(GNN,综述,人工智能,神经网络,机器学习)