【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

题目:《A Comprehensive Survey on Graph Neural Networks》2019年


前言

概述四种图神经网络:

  1. 循环图神经网络(recurrent graph neural network)
  2. 卷积图神经网络(convolutional graph neural network)
  3. 图自编码器(graph autoencoder)
  4. 图时空网络(graph spatial-temporal network):
    一种属性图,节点属性随时间改变。

“应用、基准数据集、模型评估、潜在研究方向”加以介绍。


提示:以下是本篇文章正文内容。

一、图神经网络的由来?

答:深度学习可以探索欧式数据的隐藏模式,但是用图形式表示的应用越来越多。

例如:
1.电子商务中,利用“用户-产品”间的图数据进行个性化推荐。
2.化学中,分子被建模为图形,其生物活性需要被识别以进行药物发现。

答:图的不规则性:一个图的无序节点数量可变,一个图的节点有不同数量的邻居。导致一些重要操作(如卷积)在image中容易实现,在graph中很难实现。

答:机器学习的一个核心假设是:实例彼此独立。而图中的每个实例(节点)之间有连接,因此不独立。

故将神经网络扩展至图数据,研究图神经网络算法。

图卷积可视为二维卷积的推广(左图:二维卷积)
利用节点的邻域信息的加权平均进行图卷积。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3

二、四种网络

1.定义

答:
1.循环图神经网络RecGNNs:
图中的节点不断和其邻居节点交换信息(信息扩散机制),直至状态平衡。
反复利用同一组参数,获得高层节点表示。
2.卷积图神经网络ConvGNNS:
图中节点利用自身特征信息和邻居特征信息生成节点。
高级节点融合了多个图卷积层。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3
3.图自动编码器GAEs:
无监督学习。将节点 / 图编码到一个向量空间,利用编码信息重构图数据。
用于学习图嵌入graph embedding:通过重构图的结构信息,学习节点潜在表示。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3

和图生成分布模型graph generation distributios:逐级生成节点与边 / 一次生成。
4.时空图神经网络STGNNs:
从时空图中学习潜在模式。
应用:交通速度预测、驾驶员动机预测、人类动作识别。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3

2.输入输出

答:根据不同输入(节点信息 / 图结构),图神经网络的分析任务不同。
1.输入节点信息:
与节点回归和节点分类任务相关。循环神经网络和图卷积网络可以利用网络传播获得高层节点的潜在表示。
利用多感知器 / max层作为输出层,可以实现端到端的节点级任务。
2.输入边信息:
与边分类和链路预测任务相关。利用两个节点(一条边)的潜在表示,可以预测一条边的标签 / 连接强度。
3.输入图结构:
与图分类任务相关。
为了获得更紧密的表示,一般与池化操作和readout操作使用。

3.训练模式

答:训练模式取决于可用信息。
1.节点级分类的半监督学习:
网络中部分节点有标签。卷积神经网络可以学习出一个模型,用来预测剩余节点的标签。
可用两个图卷积层和一个用于多分类的softmax层构建该端到端网络。
2.图级分类的监督学习:
图分类用于预测整个图的类标签。
可用图卷积层、图池化层、readout层实现。
卷积层提取高层节点表示。
池化层用于向下采样。每次采样都将一个图粗化为一个子图。
读出层利用每个图的所有节点表示,利用多感知机和softmax层,得到该图的图表示。
3.图嵌入的无监督学习:
当图中没有类标签可用时,有两种方法获得边信息。
(1)使用自动编码器,利用图卷积层将图嵌入到一个潜在表示。之后利用解码器重建图结构。
(2)采用负抽样方法。将部分节点对作为负抽样对,图中有连接的节点对作为正采样对。之后用逻辑回归层区分正负。

三、循环神经网络

  1.GNN为了保证收敛,recurrent函数必须是压缩映射。该函数将两节点映射到隐层空间后,将节点之间的距离将缩短。
  当满足收敛准则时,最后一步节点的隐藏层状态将被转发到readout层。
  2.图形回声状态网络graphESN由编码器和输出层组成。编码器随机初始化,不需要训练。
  编码器实现了一个收缩的状态转移函数,周期性更新节点状态,直到全局图状态收敛。然后,将固定的节点状态作为输入,用来训练输出层。
  3.门控图神经网络GGNN采用门控循环单位作为recurrent循环函数,将循环减少到固定数量。不需要约束参数来保证收敛。
  节点隐藏层状态由之前的状态和相邻节点的更新状态决定。使用时间反向传播算法BPTT学习模型参数。该方法不适用于大型图的节点遍历循环。
  4.随机稳态嵌入SSE可用于大型图。采用随机和异步的方式周期性更新节点隐藏层状态。也可以对一批节点实现状态更新和梯度计算。
  为了保持稳定,递归函数被定义为历史状态和新状态的加权平均。

四、卷积图神经网络

1.定义

  卷积图神经网络与循环图神经网络密切相关。它没有使用收缩函数让迭代节点收敛,而是使用固定数量的,带权值的层处理循环依赖关系。

2.分类

  卷积神经网络分为两类:基于频谱和基于空间。
  (1)基于频谱利用图信号处理中的滤波器定义图卷积操作,从图信号中去除噪声。假设滤波函数是一组可学习的参数,并且该参数只适用于同结构的图。
  改进了的ChebNet定义的滤波器可以不管图的大小,独立提取局部特征。
  适应性图卷积网络AGCN通过学习图的隐层结构,将两个节点的特征信息作为输入。
  双图卷积神经网络DGCN利用两个平行的图卷积层,这两层共享参数,通过从图中利用随机游走进行采样,获得节点和节点同时出现的信息。例如共同出现的频率。
  (2)基于空间与循环图神经网络相同,通过信息传播定义图卷积操作。每个节点可以被视为对邻居节点特征信息的聚合。
  扩散图卷积神经网络DGCN将图卷积视为扩散过程。假设一个信息从一个节点以一定的概率传递到邻近节点。
  分区图卷积神经网络PGCN根据类似最短路径的某些条件,将一个节点的邻居节点分为Q组。根据每一组定义的邻居,构造邻接矩阵。对不同组分别进行卷积操作,再求和。
  消息传递神经网络MPNN将卷积操作视为消息传递过程,信息沿着边直接从一个节点传递到另一个节点。
  由于节点的邻居节点数量级可能相差很大,全部采用会效率低,因此GrapgSage对全部邻居节点采样。使得每个节点的邻居节点数量相同。GrapgSage有两个图卷积层,采用负采样的方式保留图结构信息。为了节省内存,避免将所有的节点和边以及中间过程保存。对每个节点为根的树按相同大小采样。对每个树,采取从上至下分层聚合每一层隐藏节点的方式计算根节点的隐藏表示。
  图注意力神经网络GAT通过端到端的神经网络结构,利用注意力机制,学习获得节点的不同权值。每个节点的重要性不同。保证节点的邻居节点的权值和为1。
  混合模型网络MoNet通过引入节点伪坐标,确定节点和邻居节点的相对位置,从而为不同的邻居节点分配不同的权值。
  大规模图卷积网络LGCN根据节点特征对邻居节点排序,将其邻域组成一个特征矩阵,矩阵每一列排序,后将矩阵前q行作为节点的输入数据。
  快速学习图卷积神经网络Fast-GCN中,每个图卷积层的采样到的节点数量相同。独立的对每一层进行节点采样,层之间的连接不够紧密。将卷积操作视为节点在一定概率下的嵌入函数的积分变换。
  Cluster-GCN使用图聚类算法对一个子图进行采样,并对采样子图中的节点进行卷积操作。由于对子图的邻域进行搜索,限制了邻域的范围,所以该方法能够处理更大的图。

3.比较

  基于频谱和基于空间的卷积神经网络的比较

  1.通过设计不同的图信号滤波器,可以构造不同的基于频谱的图卷积神经网络。
  2.空间模型比光谱模型的效率、通用性和灵活性更好。
 光谱需要进行特征向量计算 / 同时处理整个图。空间模型通过信息传递直接在图中进行卷积操作。只需要计算一批节点,更适用于大型图。
  3.基于傅里叶变换的光谱模型对新图的推广效果差。对于一个固定的图,任何对图的扰动都会导致特征基的改变。而空间模型对每个结点进行局部图卷积操作。权重可以在不同的位置和结构共享。
  4.光谱模型只能用于无向图。

五、图池化操作

1.定义

  图神经网络的节点特征生成之后,根据任务和节点在网络中的不同角色。需要对其进行选择使用。全部计算运算量过大。

2.作用

  减小图大小的基本操作。

  1.对节点进行下采样,减少参数的数量,生成更小的节点表示,避免过拟合、置换不变性和计算复杂度。
  2.readout操作基于节点表示来生成图表示。与池化操作的机制相似。利用池化操作推广至所有应用于图神经网络的各种下采样策略。

3.算法

  1.Graclus算法:一种特征分解方法,用于计算原始图的聚类版本。也可用于粗化图的池化操作。
  2.mean / max / sum 池化:对最后一个卷积层的节点进行均值 / 最大值 / 求和操作,是实现下采样最原始和有效的方法。因为计算速度很快。
  在网络开始时进行mean / max / sum操作可以有效减小计算代价。
  3.即使使用注意力机制,约简操作(如池化)也不成功。因为它使得嵌入操作效率低下:如论图的大小如何,都会生成固定大小的嵌入。
  于是Set2Set方法随着输入的增大增大内存。使用LSTM在约简之前将有序信息集成到内存嵌入中。
  4.ChebNet:通过对节点的重新排列。输入图通过Graclus算法粗化成多个层次。将输入图和粗化版本的节点重新排列成一个平衡二叉树。从上至下任意聚合平衡二叉树,将相似节点排列在一起。最后对重新排列的节点进行池化操作,从而提高了池化效率。
  5.DGCNN中使用的SortPooling:通过对节点的重新排列。根据节点在图结构中的角色,按有意义的顺序进行排序,排序之后进行池化操作。
  6.DiffPool:上述方法考虑图的特征,忽略了图结构信息。该方法学习到一个聚类,第k层的节点矩阵取决于节点特征和拓扑结构,对图的每一层实现层次表示。同时考虑图的特征信息和结构信息。
  7.SAGPool:同时考虑节点特征和图结构,采用自注意力方式学习池化操作。

六、有关图神经网络的理论

1.节点的接受域receptive field

  决定某一节点节点表示的一组节点。空间图卷积神经网络的卷积层被证明是有限的,因此图中的每个节点的接受域都是图中的所有节点。即空间图卷积神经网络能够通过叠加局部图的卷积层来提取整个图的全部信息。

2.VC维度

  模型复杂度的一种度量。定义为模型可以粉碎的最多节点数。经证明,当图卷积神经网络的激活函数为sigmoid函数或正切双曲函数时,图卷积神经网络的模型复杂度随着节点数n而增加。

3.图的同构

  如果两个图的拓扑结构相同,则两个图同构。
  Weisfeiler-Lehman检验可以通过两个非同构图的嵌入,证明两个图不同构。
  图卷积神经网络和GraphSage无法判断两个图不同的图结构。
  经证明,若图卷积神经网络的聚合函数和readout函数是单映射的,在区分不同图时,判断能力的上限和WL检验相同。

4.等变形Equivariance和不变性invariance

  等变性:函数从一个具有对称性的空间映射到另一个具有对称性的空间。应用对称变换然后计算函数所得到的结果,和计算函数然后应用变换得到的结果是一样的。
  不变估计:是评判估计量性能的准则之一。在一些参数估计问题中,当样本作某种特定变换时,可以要求估计量经受与之相应的一定变换。

  (1)执行节点级任务时,图卷积神经网络必须具有等变性。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3
  (2)执行图级任务时,图卷积神经网络必须具有不变性。
【论文阅读】图神经网络(针对图数据的深度学习方法)综述 day1、2、3
  为了达到等变性或不变性,图卷积神经网络不能改变节点的排序。经证明,图数据具有置换不变性和等线性变换的特征。

七、图自编码器GAEs

1.定义

  是一种将节点映射到潜在特征空间(有损压缩),并从潜在特征表示中解码图信息的深层神经网络。
  可以用来实现网络嵌入或生成新的图。

2.网络嵌入network embedding

  1.网络嵌入是一种保留了节点拓扑结构的低维向量表示。用编码器将节点转换为网络嵌入,用解码器将网络嵌入转换为PPMI矩阵或图的邻接矩阵(表示图拓扑信息的矩阵),以获得图的拓扑信息。
  2.早期使用多层感知器构建图自编码器GAEs,来实现网络嵌入学习。
  用于图表示的深度神经网络DNGR通过堆栈式降噪自编码器,利用多层感知器,编码和解码PPMI矩阵,获得图表示。
  当前,结构深度神经网络SDNE采用堆栈式自编码器同时保留节点的一阶和二阶相似度。一阶通过最小化当前节点和相邻节点的网络嵌入之间的距离,二阶通过最小化输入节点和其重构输入之间的距离。

  上述两种方法DNGR和SDNE只考虑了图的拓扑结构,即节点对之间的连通性。忽略了节点自身的属性。
  图自编码器GAEs利用图卷积神经网络对结构信息和属性信息同时编码,由两层图卷积层构成。

  图自编码器的解码器通过重构图邻接矩阵,解码图结构信息。由于自编码器容量有限,简单重构图邻接矩阵会导致过拟合。GANs通过重构的邻接矩阵和原始的邻接矩阵,最小化负交叉熵来训练。
  VGAE变分图自编码器是GAE的变分版本。优化了变分下界。编码器获得数据的分布信息后,需要融入一些随机性,例如高斯噪声,融合之后,再用解码器解码。
  深度递归网络嵌入DRNE假设一个节点的网络嵌入应当近似于其邻域网络嵌入的聚合。采用LSTM网络对节点的邻居进行聚合。

3.图生成graph generation

  1.通过多个图的输入,GAEs通过编码器编码出的隐层表示,可以学到图的生成模式的概率分布。大多数用于图生成的GAEs都是为了解决分子图生成问题,主要用于医药行业。这些方法以顺序的方式 / 全局的方式构造一个新图。
  (1)顺序方式:指逐步提出节点和边来生成图。迭代地向增长的图中增加节点和边。直到满足一定条件。例如用深度卷积神经网络作为编码器,循环神经网络作为解码器,对SMILES分子图的生成过程进行表示。
  假设一个图的概率是所有可能节点排列的概率之和。

  DeepGMG生成节点和边基于节点状态和由RecGNN增长图的图状态。
  GraphRNN分为图级RNN和边级RNN。图级RNN每次增加一个新节点。边级RNN生成一个二进制序列,表示新节点与序列中之前生成的节点是否有连接。
  (2)全局方法:一次生成一个图。图变分自编码器GraphVAE将节点和边是否存在,定义为变量。该方法通过自编码器定义的后验概率和解码器定义的生成分布概率,优化变分下界。以卷积图神经网络为编码器,多感知器为解码器,输出一个带有邻接矩阵、节点属性和边属性的生成图。
  分子生成对抗网络MoIGAN将卷积图神经网络、GANs和强化学习目标结合,生成具有期望属性的图。由一个生成器和一个鉴别器组成,二者相互竞争提高生成器的真实性。生成器先提出一个假图和其特征矩阵,鉴别器将假样本从经验数据中区分出来。此外,在鉴别器鉴别的同时引入奖励机制,根据外部评价器,鼓励生成的图具有特定的属性。
  NetGAN将LSTM和Wasserstein GANs结合,通过随机游走的方法生成图。NetGAN训练一个生成器在LSTM网络中生成假的随机游走,并让鉴别器来鉴别。
  顺序生成由于循环,可能会丢失结构信息。
  全局无法应用于大型图。

八、时空图神经网络

1.定义

  为动态输入节点建模,假定节点之间具有相互依赖关系。例如,交通网络的节点是路上的传感器,且边权值由两个传感器之间的距离决定。由于一条道路的交通可能受相邻道路的影响,因此还要考虑时空依赖性。

2.算法

  (1)STGNNs:同时获得图的时间和空间依赖性。该方法可以预测未来的节点值和标签,或预测时空图所属的标签类。
  分为两类:基于RNN的方法和基于CNN的方法。

   a.基于RNN:通过过滤输入和利用图卷积传递到循环单元的隐层状态,获得时空依赖关系。该方法具有迭代耗时和梯度爆炸问题。
   b.基于CNN:具有并行计算、梯度稳定、低内存需求的优点。将一维CNN层和图形卷积层交织,分别学习时间和空间的相关性。
  CGCN将一维CNN和ChebNet或GCN结合。通过叠加一个门控一维CNN、一个图形卷积层和另一个门控一维GNN来构造时空块。

  上述方法都是用预定义的图结构。假设预定义的图结构反映了节点之间的真正关系。

  根据时空图快照,可以从多个图中学习到隐层静态图结构,Graph WaveNet使用自适应图邻接矩阵来进行图卷积操作。
  隐层静态图结构可以帮助发现网络中实体之间可解释和稳定的互联关系。
  某些情况下,学习隐层动态空间相关性有助于提高模型精度。例如交通网络中两条路之间的旅行时间取决于当前的交通情况。
  GaAN采用注意力机制,通过基于RNN的方法学习时空动态相关性。给定当前节点输入,使用注意力函数更新节点之间的边权值。

九、未来发展

  1.模型深度增加
  2.网络的可扩展性会破坏图的完整性。两者的权衡问题。抽样会错过对一个节点有影响的邻居节点;聚类会丢失一个明显的图结构信息。
  3.当前图神经网络很难直接应用于异构图。
  4.设计新的图卷积方法来适应动态图。

上一篇:数据分析45讲——day1(笔记)


下一篇:5款最好用的AngularJS程序构建框架