论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)
Posted xiaopihaierletian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)相关的知识,希望对你有一定的参考价值。
前言
近年来,深度学习促进了很多机器学习任务的发展,这些任务很多都表示在规则的欧几里得空间中表示。但是图作为具有复杂关系和对象之间相互依赖,其数据是从非欧几里得域生成的,最近也有很多关于图数据深度学习方法的研究。
在本篇文章中,作者总结了目前主要的图神经网络模型,并提出了一种新的分类方法将目前的图神经网络分为以下四种:循环图神经网络(RecGNN),卷积图神经网络(ConvGNN),图自动编码器(GAE)和时空图神经网络(STGNN)
一、图神经网络和其他模型的比较
与图嵌入相比
图嵌入是指将图中的节点信息(包括拓扑信息和节点内容信息)映射为一个低维的向量,以便用于后续的图任务。图神经网络与图嵌入的主要区别是:图神经网络是为一组任务而设计的一种神经网络模型,它可以用于处理包括但不限于图嵌入的一系列问题,例如使用GAE可以解决图嵌入的问题。而图嵌入除了可以用图神经网络的方法来处理外,还可以通过矩阵分解、随机游走等一系列非神经网络的方法来处理。
与图核相比
图核技术主要是用来解决图分类问题,它与图神经网络的区别就是图核中的参数是不可以学习的,并且他受到计算复杂度的瓶颈制约。近年来图神经网络基于提取图表示的方法进行图分类取得了很好的成果,比基于图核方法更加有效。
二、图模型训练框架
图模型上的任务
- 节点水平: 在节点水平上的任务通常是进行节点的回归和节点分类任务。RecGNN和ConvGNN可以通过图上节点信息的传播和卷积很好的获取节点的表示,最后使用多层感知机或softmax作为输出层来以端到端的方式进行节点水平的任务。
- 边水平: 在边水平上的任务通常是边分类任务和链接预测任务,将来自GNN的两个节点的隐藏表示作为输入,输出是对这两个节点之间是否有连接做出预测,或对节点之间的边属性进行分类。
- 图水平: 在图水平上的任务通常是进行图分类任务,为了获得图水平上的表示,GNN通常对图进行池化(pooling)和读出(readout)操作,最后利用softmax来获得图属性预测。
训练框架
- 用于节点级分类的半监督学习
给定单个网络,其中部分节点被标记而其他节点保持未标记,ConvGNN 可以学习一个强大的模型,该模型有效地识别未标记节点的类标签 [22]。为此,可以通过堆叠几个图卷积层和一个用于多类分类的 softmax 层来构建端到端框架。
- 图级分类的监督学习
图级分类旨在预测整个图的类标签,虽然图卷积层负责精确的高级节点表示,但图池层起着下采样的作用,每次都将每个图粗化为一个子结构。读出层将每个图的节点表示折叠成一个图表示。通过将多层感知器和 softmax 层应用于图形表示。
- 图嵌入的无监督学习
图的嵌入通常是没有可以用的类标签,此时要想获得一个好的图嵌入,就需要以纯无监督的方式来学习图嵌入,通常用GAE(图自动编码器)来生成图的嵌入,其中编码器来生成图的嵌入,然后解码器通过输入图嵌入来重新构建图结构。
另一种流行的方法是利用负采样方法,将部分节点对采样为负对,而图中带有链接的现有节点对是正对。然后,应用逻辑回归层来区分正负对。
GNN的一些经典算法
三、循环图神经网络(RGNN)
RGNN应用一组相同的参数来循环作用于节点上来提取节点的高级表示。它通过反复交换邻域的信息来获得节点的高级表示,早期的循环神经网络表示如下:
它通过提取上一层的隐藏表示,节点自身的信息、节点邻域的信息以及连接该节点的边的信息来重构在该层的节点表示。为了确保收敛,循环函数 f (·) 必须是收缩映射,它在将两点投影到潜在空间后收缩两点之间的距离。
在此基础上衍生出了GraphESN,Gated GNN(GGNN)、SSE等一系列循环神经网络。
- GraphRDN实现了一个收缩状态转换函数来循环更新节点状态,直到全局图状态达到收敛。
- GGNN使用了门控循环单元(GRU)来作为循环函数,将循环次数减少为一个固定的次数,这样可以不需要再限制参数来保证收敛。但是他需要在所有节点上多次运行循环函数,并且要将中间状态存储起来,因此它不使用于大型图。
- SSE通过随机和异步的方式交替地对一批节点进行状态更新和一批节点进行梯度计算。为了保持稳定,它的循环函数定义为历史状态和新状态的加权平均值,如下:
四、卷积图神经网络
ConvGNN与RecGNN很像,但是区别在于RecGNN通过收缩约束来迭代节点的状态,使得全局状态达到收敛,而ConvGNN使用固定数量的层在每层中具有不同权重来解决循环相互依赖关系。ConvGNN主要有频域(spectral)和空域(spatial)两种形式。
GNN 在执行节点级任务时必须是等变函数,在执行图级任务时必须是不变函数。简单来说,就是节点顺序发生变化时,节点的表示也应该按照节点的顺序进行相应变化。而图的表示不应该随着节点顺序变化而发生变化。
如上图所示,RecGNN每次迭代使用的参数相同,而ConvGNN每层都有不同的权重。
频域卷积
频域上的卷积主要是一种通过归一化的拉普拉斯矩阵特征向量构成的向量空间,将图信号投影到该向量空间中进行处理的方法。
频域卷积的缺点很明显,首先就是图上很小的扰动都会导致特征向量的变化,从而影响全局的变化。另外,频域卷积只能处理无向图而不能够处理其他的复杂图,最后就是频域卷积涉及到特征向量,时间复杂度较高。
空域卷积
图上的空域卷积类似于空间的图卷积,它将中心节点的表示与其相邻节点的表示进行卷积,以得出中心节点的更新表示。
由于节点的邻居数量可以从一到一千甚至更多不等,因此获取节点邻居的全部大小是低效的。GraphSage采用采样为每个节点获取固定数量的邻居。它通过以下方式执行图卷积:
其中 SN 是节点 v 的邻居的随机样本。
Graph attention network(GAT)认为节点的邻居对中心节点的重要性程度不同,因此采用了注意力机制来学习邻域节点对它的重要性程度,它的定义如下:
其中 α 是一个学习参数用来表示两个节点之间的重要性程度。
图池化模型
- 池化(pooling) 池化操作通常是讲通过对节点进行下采样来生成更小的表示,以减少计算复杂度和防止过拟合,池化操作通常采用mean/max/sum等方法。
- 读出(readout) 读出操作主要是基于节点表示来生成图级的表示,是将所有的节点信息聚集最后生成一个对于图的表示,它与池化操作基本相同。
五、图自动编码器(GAE)
GAE主要有两个方面的应用,分别是图嵌入和图生成。
图嵌入
GAE由一个编码器和一个解码器组成,编码器将图信息嵌入到低维表示,之后解码器通过输入图嵌入将图进行解码,尽可能的还原图中原来的信息。根据编码器输入、编码器、解码器以及最终还原目标的不同,衍生出了许多不同的GAE,如下表格所示:
图生成
对于多个图,GAE 能够通过将图编码为隐藏表示并解码给定隐藏表示的图结构来学习图的生成分布。大多数用于图生成的GAE都是为了解决分子图生成问题而设计的,它可以进行一些分子预测、药物预测等任务。主要有顺序生成和全局直接生成两种方式。
- 顺序生成: 顺序生成就是通过迭代一步一步将节点和边添加到生成的图中,直到满足某个标准为止,但是由于它是逐步生成的,因此可能会丢失一些结构信息。
- 全局直接生成方法:全局方法一次输出一个图形。图变分自动编码器(GAE)将节点和边的存在建模为独立随机变量。但是由于它一次要输出整个图形,因此它对内存的要求比较高,不能运用在大型图的生成。
六、时空图(STGNN)
在现实生活中,图的结构总是动态变换的,因此需要在考虑图的结构信息时同时考虑图的时间信息。此类别下的方法旨在对动态节点输入进行建模,同时假设连接节点之间的相互依赖关系。可以应用于预测下一时刻的交通状态等。主要遵循两个方向:基于 RNN 的方法和基于CNN的方法。
- 基于RNN的方法:该方法就是同时考虑该时刻的节点状态信息与节点在上一时刻的隐藏表示,来获得该时刻的节点隐藏表示,形式如下:
但是RNN的缺点很明显,它必须按时间进行迭代,不能很好的进行并行运算,从而使得运行时间较长,同时它还存在梯度爆炸/消失的问题。
- 基于CNN方法。作为替代解决方案,基于 CNN 的方法以非递归方式处理时空图,具有并行计算、稳定梯度和低内存要求的优点。如下所示,基于 CNN 的方法将 1-D-CNN 层与图卷积层交错以分别学习时间和空间依赖性。
以上是关于论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)的主要内容,如果未能解决你的问题,请参考以下文章
论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)
论文笔记:A Comprehensive Survey of Regression Based LossFunctions for Time Series Forecasting
数据聚类|深度聚类A Comprehensive Survey on Deep Clustering: Taxonomy, Challenges综述论文研读
数据聚类|深度聚类A Comprehensive Survey on Deep Clustering: Taxonomy, Challenges综述论文研读
A Comprehensive Survey on Graph Anomaly Detection with Deep Learning——前言
A Comprehensive Survey on Graph Anomaly Detection with Deep Learning——前言