图神经网络 基础、前沿与应用 第三章 图神经网络 阅读笔记

发布时间 2023-04-08 08:28:53作者: 小染子

导读

传统的深度学习技术已经在图像等欧式数据文本和信号等序列数据上取得巨大的成功。但也有很多领域数据需要用复杂的图结构来表达,这些图结构的数据可以编码复杂的点对关系,以学习更丰富的信息表征;另一面,原始数据(图像或连续文本)的结构和语义信息中纳入特定领域知识可以捕捉数据之间更细粒度的关系
当GNN用于为随时间演化、多关系和多模态的高度结构化数据建模时,仍然面临许多挑战。要在图和其他高度结构化的数据(如序列、树、图)之间建立映射模型也非常困难。图结构数据面临的一个挑战是,它们的空间局部性和结构不像图像或文本数据那么强。图结构数据自然不适合高度规则化的神经结构,比如CNN和RNN。
图提供了一种强大的抽象,可以用来编码任意类型的数据,如多维数据。

图神经网络概述

图神经网络基础

图神经网络方法

图神经网络是专门设计的用于在图结构数据上进行操作的神经网络架构图神经网络的目标通过聚合邻居节点的表征及其在前一次迭代中的表征来迭代更新节点表征。GNN可以进一步划分为有监督的GNN和无监督的GNN。学习到节点表征之后,GNN的一个基本任务就是将节点分类到一些预定义的类别中。在训练GNN时仍面临一个严重的问题——过平滑问题,即所有的节点都有类似的表征

图神经网络的可扩展性

图的大小可以有大约1亿个节点和10亿条边。因为需要大量的内存,所以大多数GNN方法不能直接应用于这些大规模的图数据结构,即大多数GNN需要在内存中存储整个邻接矩阵和中间层的特征矩阵。有各种策略来应对,比如节点抽样、层抽样、图抽样等。

图神经网络的可解释性

一般来说,GNN的解释结果可以是重要的节点、边,也可以是节点或边的重要特征
基于白盒近似的方法利用模型内部的信息(如梯度、中间特征和模型参数)来提供解释。
基于黑盒近似的方法则放弃了对复杂模型内部信息的使用,而是利用内在可解释的简单模型(比如线性回归和决策树)来适应复杂模型
大多数现有的工作很耗时,这就造成处理大规模的图成为瓶颈,需要在不影响解释准确性的情况下开发更有效的方法。

图神经网络的对抗鲁棒性

深度学习模型可以被故意愚弄、逃避、误导和窃取。研究GNN鲁棒性的标准方法是构造输入图数据的一个微小变化,然后观察是否导致预测结果产生较大变化(比如节点分类准确性)。

图神经网络前沿

图分类和链接预测

由于GNN模型中的每一层都只产生节点级表征,因此需要图池化层来进一步计算基于节点级表征的图级特征。图级特征总结了输入图结构的关键特征,是图分类的关键组成部分图池化层分为:简单的平面池化基于注意力的池化基于聚类的池化其他类型的池化
另一个长期存在的图学习问题是链接预测任务,其目的是预测任何一对节点之间现在缺失或未来可能形成的链接。由于GNN可以从图结构和辅助信息(比如节点特征和边特征)中共同学习,因此GNN在链接预测方面具有巨大的优势。基于GNN进行链接预测的常见方法有两种——基于节点的方法基于子图的方法

图生成和图转换

基于图建立概率模型的图生成问题是一个处于概率论和图论交叉点上的经典研究问题。这些深度学习模型在成功捕捉图数据中的复杂依赖关系和生成更真实的图方面更有优势。用于图生成的基于GNN的代表性学习范式有三种,分别是GraphVAEGraphGAN深度自回归方法
图转换问题可以表述为条件图生成概率,其目标是学习输入源图和输出目标图之间的转译映射。其他领域中比如机器翻译和图像风格转换问题都和图转换问题有关。根据被转换的图信息,问题可以分为四类:节点级转换边级转换节点-边共同转换以及涉及图的转换

图匹配和图结构学习

图匹配指的是寻找两个输入图之间的对应关系,旨在衡量两个图结构的相似性,而不是改变原来的图
图结构学习的目的是通过联合学习隐含的图结构和图节点表征来产生优化的图结构。我们往往将学习到的图结构视为一种转变。即使没有提供初始图,但只要提供显示数据点之间相关性的矩阵,就可以使用图结构学习。

图神经网络应用

GNN被用来解决不同的任务,但它们都包括两个重要步骤——图构建和图表征学习。图构建旨在将输入数据转换或表示为结构化数据。在图的基础上,图表征学习则针对下游任务,利用GNN来学习节点嵌入或图嵌入。

图构建

图构建对于捕捉输入数据中对象之间的依赖关系非常重要。有些任务需要预先定义节点和边的语义,以充分表达输入数据的结构信息。

具有显式图结构的输入数据

推荐系统中,用户与物品的相互作用形成了一个图,其中用户与物品的偏好被视为用户和物品的节点之间的。药物开发任务中,分子也表示为一个,其中每个节点表示一个原子,每条表示两个原子之间的。蛋白质中每个节点有一个氨基酸,每条代表氨基酸之间的相互作用
城市交通网络可以建模为具有预测交通速度属性的有向图,节点是路段,边是交叉口路段的宽度、长度和方向被表示为节点的属性,交叉口的类型、是否有交通灯或收费站被表示为边的属性。

具有隐式图结构的输入数据

计算机视觉任务有三种图构建方式:
  • 第一种是将图像或视频帧分割成规则的网格,每个网格可作为视觉图的一个顶点。
  • 第二种是先得到预处理的结构,在直接借用顶点表征,如场景图的生成。
  • 第三种是利用语义信息来表示视觉顶点,比如将具有相似特征的像素分配给同一个顶点
视觉图像中的边缘可以捕捉到两种信息,第一种是空间信息,在生成场景图和人类骨架时,自然会选择视觉图中节点之间的边来表示它们的位置连接。第二种是时间信息,为了表示视频,模型不仅要在帧的内部建立空间关系,也要捕捉相邻帧之间的时间联系
自然语言处理中,主要有:
  • 文本图:将单词、句子、段落或文件视为节点,并通过单词共现、位置或文本相似性来构建边。
  • 句法图:强调一条句子中单词之间的语法依赖关系,如依赖图和成分图。
  • 知识图谱:是数据图,旨在积累和传达现实世界的知识。

图表征学习

在得到输入数据的图表示后,下一步是应用GNN来学习图表征。一些特殊的任务需要在GNN的架构上进行额外的设计,以更好地处理具体问题。比如推荐系统中,PinSage旨在将一个节点的前k个计数节点作为其感受野并进行加权聚合。KGCN旨在通过在知识图谱中聚合对应的实体邻域来提高物品的表征。