《Graph neural networks A review of methods and applications》笔记

《Graph neural networks: A review of methods and applications》笔记

2022.07.28
本文是记录关于图算法综述文章《Graph neural networks: A review of methods and applications》的阅读笔记

1. 摘要

提出了一个GNN模型的通用设计流程,并对一些变体(如GCN、GAT、GRT)进行了讨论,系统性地介绍了它们的原理和应用,并指出了未来具有挑战性的四个研究点

2. Introduction

2.1 图神经网络缘起
  • 传统的CNN的三大特点:局部感知、权重共享、池化在欧式数据上已经取得了巨大成功,那么将它们应用在图数据上会取得怎么样的效果?

  • 图表示学习中存在两个不足:权值不能实现共享;直接嵌入方法缺乏泛化能力,不能处理动态图,也不能泛化到新图

2.2 与其他工作比较

综述文章:

  • Bronstein et al. (2017) 与 Zhang et al. (2019a) 的工作都主要关注的是图卷积模块(而还关注了其他模块,如跳连接、池化)
  • Zhang et al. (2018b), Wu et al. (2019a), Chami et al. (2020):主要关注GNN模型方面
  • Wu et al. (2019a)将GNN分成四类:递归图神经网络、卷积图神经网络、图自编码器和时空图神经网络
  • Zhang et al. (2018b):对不同的图深度学习方法进行系统概述
  • Chami et al. (2020):提出了一种图形编码器-解码器模型,将网络嵌入模型和图形神经网络模型相结合

关注具体的图学习领域:

Sun et al. (2018) and Chen et al. (2020a) :对图上的对抗性学习方法进行了详细的概述,包括图数据攻击和防御

Lee et al. (2018a):关注图注意力模型

Yang et al. (2020) :关注异构图表示学习,其中节点或边是多种类型的

Huang et al. (2020):动态图的GNN模型

Peng et al. (2020) :总结了用于组合优化的图嵌入方法

本文贡献:

  • 本文提供了一个详细的审查现有的图神经网络模型;本文提出了一个通用的设计流程,并讨论了每个模块的变体;本文还介绍了GNN模型的理论和实验分析研究
  • 对GNN在图上的应用进行了系统的分类,将应用分为结构性场景和非结构性场景;并为每个场景介绍了几个主要的应用及其相应的方法
  • 提出了四个有待进一步研究的问题;并对每一个问题都进行了深入的分析,并提出了未来的研究方向

3.General design pipeline of GNNs

GNN总体设计流程一般包含四个步骤:(1)查找图结构(结构化 / 非结构化),(2)指定图类型和规模(无向图 / 有向图,静态图 / 动态图),(3)设计损失函数(任务类型:节点层面 / 边层面 / 图全局层面 ,训练设置:无监督 / 半监督 / 有监督,然后根据任务类型和训练设置来设计损失函数),(4)利用计算模块建立模型(Propagation、Sampling、Pooling模块)

在这里插入图片描述

4.计算模块的实例化

分别介绍Propagation(包含convolution operator、recurrent operator、skip connection)、Sampling、Pooling这三个模块的具体情况

4.1 Propagation modules
4.1.1 Propagation modules - convolution operator

如何在图上做卷积?分为两种方法:Spectral、Spatial,本节介绍了在这两种方法上实现图卷积的算法以及它们的思想

在这里插入图片描述

4.1.2 Propagation modules - recurrent operator

循环模块与卷积模块之间的主要不同在于:在层与层之间,卷积模块的权重各不相同,而循环模块中是共享权重

本节主要介绍了基于循环操作实现的一些算法,以及它们的思想

在这里插入图片描述

4.1.3 Propagation modules - skip connection

为什么要使用跳连接?以往的想法是,如果想要尽可能好的结果,就不断地添加GNN地网络层数,但实验结果表明,一味的增加网络层数可能会导致模型的表现效果变差,所以有很多方法尝试增加跳连接来使GNN更深,本节中介绍了三种使用了跳连接模块的算法。

在这里插入图片描述

4.2 Sampling modules

为什么要提出采样模块?一方面是模型越来越深的话,节点的邻居信息会出现“爆炸”的情况;另一方面是对于大规模的图,并不能都去存储和处理每个节点的所有邻居信息,所以解决以上两个问题的方法是采用采样模块,分别有节点采样、层采样、子图采样

在这里插入图片描述

4.3 Pooling modules

通常在卷积层之后是池化层,以获得更一般的特征。本节介绍两种池化模块:direct pooling modules 、 hierarchical pooling modules,以及采用这两种池化方法的算法代表

在这里插入图片描述

5.Variants considering graph type and scale

从图类型和图规模的角度出发

5.1 Directed 与 Heterogeneous

在这里插入图片描述

5.2 Dynamic

在这里插入图片描述

5.3 other graphs

在这里插入图片描述

6. Variants for different training settings

从训练设置方面考虑(分为三种:无监督 / 半监督 / 有监督)

本节中,主要介绍了无监督训练的变体,它们通常基于自编码器或对比学习的思想
在这里插入图片描述

7. A design example of GNN

本节中,以GPT-GNN模型来阐述GNN的设计流程

  • Find graph structure : 本文(GPT-GNN)重点研究了学术知识图谱和推荐系统的应用。在学术知识图谱中,图结构是明显的;在推荐系统中,用户、条目和评论可以看作是节点,它们之间的交互可以看作是边,因此图结构也很容易构建
  • Specify graph type and scale : 本文(GPT-GNN)的任务集中在异构图上,因此需要考虑节点和边的类型,并将其纳入最终的模型。由于学术图和推荐图包含数百万个节点,因此模型需要进一步考虑效率问题。总之,模型应该关注大规模异构图
  • Design loss function : 在预训练步骤,模型应该学习节点的表示,同时,因为没有标签数据可用,所以设计了自监督图生成任务来学习节点嵌入;在微调步骤,该模型基于每个任务的训练数据进行微调,使每个任务的监督损失得到应用
  • Build model using computational modules : 介绍了GPT-GNN模型采用的计算模块

8. Analyses of GNNs

本节从不同的角度总结了关于图神经网络的理论基础和解释

理论层面:图信号处理、一般化、可表达性、不变性、可转移性、标签效率性、

实验层面:评估验证、基准测试

9.图算法应用

结构化场景:图挖掘(图匹配、图聚合)、物理、生物化学(化学反应预测、蛋白质界面预测、生物工程)、知识图谱、生成模型、组合优化、交通网络、推荐系统…

非结构化场景:图像(图像分类、视觉推理、语义分割)、文本(文本分类、序列标签、机器翻译、关系提取、时间提取、事实验证)

### 10.开放性问题

本节列举了一些有待进一步研究的问题

  • 鲁棒性: 作为一种基于神经网络的模型族,GNN也容易受到对抗性攻击。与只关注特征的对图像或文本的对抗性攻击相比,对图的攻击进一步考虑了结构信息,因此考虑其鲁棒性(稳定性)是很重要的
  • 可解释性: 可解释性是神经模型的一个重要研究方向,但GNN是黑匣子,缺乏解释。将GNN模型应用于具有可解释的真实应用非常重要。与CV和NLP领域相似,图的可解释性也是一个重要的研究方向
  • 图预训练: 最近,有一些研究聚焦于图形的预训练,但他们有不同的问题设置和关注不同的方面。该领域还存在许多有待研究的开放性问题,如训练前任务的设计、已有的GNN模型对结构或特征信息学习的有效性等
  • 复杂的图结构: 图结构在实际应用中是灵活而复杂的。各种各样的工作被提出来处理复杂的图结构,如我们以前讨论过的动态图或异构图。随着互联网上社交网络的快速发展,必然会出现更多的问题、挑战和应用场景,需要更强大的模型

11.总结

  • 对图神经网络进行了系统性的介绍
  • 对于GNN模型,通过计算模块、图类型和训练类型这三个方面来介绍它的变体
  • 总结了几种一般的框架,并介绍了几种理论分析
  • 分别介绍了GNN在结构化场景、非结构化场景、其他场景的应用
  • 提出了GNN的鲁棒性、可解释性、预训练和复杂结构建模等4个开放性问题,指出了图神经网络的主要挑战和未来研究方向
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值