图神经网络(Graph Neural Networks)概述

论文:A Comprehensive Survey on Graph Neural Networks算法

一篇关于图神经网络的综述文章,着重介绍了图卷积神经网络(GCN),回顾了近些年的几个主要的图神经网络的的体系:图注意力网络、图自编码机、图生成网络、图时空网络。网络

1、介绍

传统的机器学习所用到的数据是欧氏空间(Euclidean Domain)的数据,欧氏空间下的数据最显著的特征就是有着规则的空间结构,好比图片是规则的正方形栅格,语音数据是一维序列,这些数据可以经过一维或二维的矩阵进行表示,进行卷积操做是则较为搞笑。同时,存在一个核心的假设:样本之间是相互独立的。数据结构

可是,在现实生活中许多数据都是不具有规则的空间结构,便是非欧氏空间下的数据,如电子交易、推荐系统等抽象出来的图谱,图谱中每一个节点与其余节点的链接不是固定的。图神经网络能够对非欧氏空间的数据进行建模,捕获数据的内部依赖关系。图神经网络是不规则的、无序的。框架

二、图神经网络 VS 图嵌入

图嵌入:将图转换到保存图信息的低维空间,将图表示为或多组低维向量。图嵌入的输出是表示整个图或者部分图的低维向量。而后将输出的低维向量应用到其余机器学习方法中。机器学习

三、图神经网络的分类

能够把图神经网络分为了五类:图卷积网络(Graph Convolutional Networks)、图注意力网络(Graph Attention Networks)、图自编码机(Graph Auto-encoder)、图生成网络(Graph Generative Networks)、图时空网络(Graph Spatial-Temporal Networks)。异步

四、图卷积网络(Graph Convolutional Networks, GCN)

由传统的卷积神经网络引伸出的图卷积网络,图卷积方法可分为两种,基于频谱的方法和基于空间的方法。基于频谱的方法,从图信号处理的角度,引入滤波器来定义图卷积,所以基于频谱的图卷积可理解为从图信号中去除噪声。基于空间的图卷积方法,经过聚集邻居节点的信息来构建图卷积。当图卷积在节点级运做时,能够将图池化模块和图卷积进行交错叠加,从而将图粗化为高级的子图。ide

4.一、基于频谱的图卷积网络

在该类图卷积方法中,图被假设为无向图,无向图能够经过正则化拉普拉斯矩阵进行表示,拉普拉斯矩阵是图的一种表示方式,其定义以下:函数

其中D为图的度矩阵,是一个对角阵,W为图的邻接矩阵,标准拉普拉斯矩阵的表示以下:学习

标准拉普拉斯矩阵是一个实对称半正定矩阵,所以能够被特征分解为:编码

其中?是一个对角阵,对角线上的值为排序后的特征值,U为特征值对应的特征向量矩阵。拉普拉斯矩阵的特征向量构成了一个标准正交空间,所以:

 

对于图中的每个节点的特征向量x而言,对其作图傅里叶变换,将其映射的一个标准的正交空间里。

傅里叶变换:

逆傅里叶变换:

对于输入的信号x而言,其图卷积能够表示为:

表示哈达玛积,定义以下:

所以,基于频谱的图卷积的关键在于滤波器的选择,也就是g的选择。

基于频谱的图卷积算法有:Spectral CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet、Adaptive Graph Convolution Network。

频谱卷积依赖于拉普拉斯矩阵的特征分解,有三个缺陷:

一、对于图的任何扰动都会使得特征值发生变化

二、所学到的滤波器是依赖于域的,因此不能拓展应用到不一样结构的图中

三、特征分解的时间复杂度是N的三次方,所以对于数据量较大的图而言,计算很是耗时。

4.二、基于空间的图卷积网络

基于空间的图卷积网络模仿传统的卷积神经网络中的卷积运算,根据节点的空间关系定义图的卷积。对于图卷积而言,将图中的节点与其邻居节点进行聚合,获得该节点的新表示。为了探索节点接收域的深度与广度信息,一般将多个图卷积层叠加在一块儿,根绝卷积层的叠加方式的不一样,能够将基于空间的图卷积划分为:基于递归的空间图卷积、基于合成的空间图卷积。基于递归的图卷积使用相同的图卷积层对图进行更新,基于组合的图卷积使用不一样的卷积层对图进行更新。

基于递归的空间图卷积网络主要思想是更新图节点的潜在表示直至到达稳定。经过对递归函数施加约束,使用门递归单元体系、异步地、随机地更新节点的潜在表示。基于组合的空间图卷积经过堆叠多个不一样的图卷积层来更新节点的表示。基于递归的方法试图得到节点的稳定状态,基于组合的方法试图获取图中更高阶的邻域信息。

与传统的深度学习中的卷积核相似,在基于空间的图卷积中,图卷积算子的定义以下:

h??表示节点?在?层特征信息

c??表示归一化因子,好比节点的度数

W?表示节点直接的权重

h??表示节点?在?层特征信息

图卷积的卷积操做有三步:

一、每一个节点将自身的特征信息传递给邻居节点

二、每一个节点将邻居节点及自身的特征信息进行聚集,对局部结构进行进行融合

三、与传统的深度学习中的激活函数相似,在图卷积咱们一样要加入激活函数,对节点的信息作非线性变换,加强模型的表达能力

所以,图卷积网络的关键是学习到一个函数,将当前节点的特征信息与其邻居节点的特征信息进行聚集。

五、其余图神经网络

5.一、图注意力网络

与图卷积网络最大的不一样是,图注意力网络引入了注意力机制,给与哪些较为重要的节点更大的权重。在端到端的框架中,注意力权重和神经网络参数共同被学习获得。下图展现了图卷积网络与图注意力网络在聚集邻居节点的信息时候的不一样。在图卷积网络中,节点与节点之间的权重的计算方式以下:

而在图注意力网络中,节点之间的权重是参数化的,在网络中学习获得,所以,更为重要的节点之间会被赋予更大的权重。

5.二、图自编码机

是一种非监督学习框架,目标是经过编码机学习到低维的节点向量,而后经过解码机重构出图数据。图自编码机是一种常见的图嵌入方法,能够被应用到有属性信息的图中和无属性信息的图中。

5.三、图生成网络

目标是从数据中生成合理的结构?由于图是一种较为复杂的数据结构,因此要想从数据中生成指定经验分布的图是很是具备挑战性的。

5.四、图时空网络

时空网络图有区别于其余种类的图数据,在该图数据中,图不只由V、E、A组成,增长了一个X属性,表示的是图在时间维度上的属性变化。

目标是从时空图中学习到不可见的一些模式,这在交通预测、人类的活动预测中变得愈来愈重要。好比,在道路交通网络就是一种时空图,图的数据在时间维度上是连续的,用图时空网络构建道路交通预测模型,咱们就能够更加准确地预测出交通网络中的交通状态。

图时空网络的关键在于考虑同一时间下的空间与事物的关联关系。许多如今的方法使用GCN结合CNN或者RNN对这种依赖关系进行建模。

六、框架

在图神经网络,图的结构和节点的信息做为输出,根据不一样的图分析任务,图的输出可分为如下几种

·节点级输出:该类输出和节点的回归和分类相关。由于图卷积网络会给出图数据节点的潜在表示,因此通常,在GCN的后面会增长感知层或者softmax层。

·边级输出:该类输出和边的分类和链接预测任务相关。为了可以预测一个边的链接强度,额外添加一个函数,以两个节点的潜在表示做为输入。

·图级输出:该类输出通常与图的分类任务相关。为了可以从一个图中得到一个更为紧凑的表示,一个池化层会被用于压缩一个图生成一张子图(部分节点和边会被移除)。

端到端的训练框架

·半监督学习-节点级分类任务:给定一个网络,在网络中,部分节点是有标签的,部分节点是无标签的。图卷积网络能够学习到一个鲁棒的模型,能够有效的识别出哪些没有标签的节点的类标签。在端到端的识别框架中,能够将若干个图卷积网络进行堆叠,而后最后跟一个softmax层完成多分类任务。

·有监督学习-图级分类任务:给定一个图数据集,图级的分类旨在预测整个图的类别标签。该任务能够经过结合图卷积网络和池化操做完成。经过图卷积网络,在每一个单个的图中,每一个节点能够获得一个固定长度的表示,而后对图中的全部节点的表示进行池化操做,咱们能够获得一个图的简化表示。最后,添加一个线性层和softmax层,咱们就能够构建出图分类的端到端学习框架。

·无监督学习-图嵌入若是在图中,没有有标签的数据可用的时候,咱们能够经过纯粹的无监督的端到端学习框架学习到图的嵌入。这些算法主要以两种方式利用边的信息。一种是采用自编码机框架,编码机经过图卷积层将图嵌入到潜在的表示中,并在此基础上解码机对图进行重构。另一种是采用负抽样法,对图中的部分节点进行抽样,做为负对,已存在的有链接的节点做为正对。而后在卷积层后面添加一个logistic回归层。