在文本、图像等非结构化数据领域,需要对提取的结构进行推理,例如the dependency tree of sentences,the scene graph of images 等,同时也需要建立图推理模型(graph reasoning models)。图神经网络(GNNs)是通过图节点之间的信息传递来获取图的依赖性的连接模型。与标准神经网络不同,图神经网络可以以任意深度表示来自其邻域的信息。这篇综述文章详细的论述了现有的图神经网络模型、分类应用,并提出了四个开放的问题,为今后的研究奠定基础。
Introduction
数据类型可以分为两大类,分别是:欧几里德结构数据(Euclidean Structure Data) 以及 非欧几里德结构数据(Non-Euclidean Structure Data)。直观上看,排列整齐的、可以定义“几何距离”的数据称为欧几里得结构数据,否则,就定义为非欧几里得结构数据。
关于 Non-Euclidean Structure Data:CSDN-专业IT技术社区-登录
图分析作为机器学习中一种独特的非欧氏数据结构研究方法,主要研究节点分类、链路预测和聚类。图神经网络(GNNs)是一种基于深度学习的在图域上运行的方法。下面介绍GNNs的由来。
- GNNs的第一个启发来源于卷积神经网络(CNNs)。CNN善于提取多尺度的局部空间特征,并将其组合起来构造有效表征的方式,从而在几乎所有的机器学习领域取得了突破,并开启了深度学习的新时代(Deep Learning),其主要特征包括:局部链接、共享权重及多层结构的使用。这些对于解决图领域上的问题具有重要价值,在于:1)图是最典型的局部链接结构;2)与传统图谱理论相比,共享权降低了计算量;3)多层结构是处理层次模式的关键,它能捕捉多种特征。然而,CNNs只能对图像(2D网格)和文本(1D序列)等规则欧氏数据进行操作,因此,需要探求CNNs对图的推广应用。这其中主要的难点在于,在非欧几里得数据领域中定义局部卷积操作与池化算子。
- GNNs的另一个启发来源于图嵌入理论的发展,图嵌入是学习用低维向量表示图的节点、边或子图。这其中一些典型算法:DeepWalk,是第一种基于表示学习的图嵌入方法,它利用representation learning 和word embedding的思想,对生成的随机游走应用SkipGram模型实现节点的表示。node2vec、LINE和 TADW 等类似方法也取得了突破性进展。但这类方法有两个明显缺点:一是编码器之间没有参数共享,意味着计算效率底下,参数的数量将随着节点数量线性增长;二是这种直接嵌入的方法缺乏模型泛化能力,不能处理动态图或推广到新图。
为此,基于CNNs和图嵌入技术,提出了一种从图结构中集合信息的图神经网络(GNNs)。然后,解释下图神经网络值得研究的基本原因:
- 首先,标准的神经网络如CNNs和RNNs不能很好地处理图形输入,因为它们是按照特定的顺序对节点的特征进行叠加的,而图天生不具备顺序的概念。为了完整地表示一个图,我们需要遍历所有可能的顺序作为模型的输入,如CNNs和RNNs,这在计算时是非常多余的。为了解决这个问题,GNNs在每个节点上分别传播,忽略节点的输入顺序,换句话说,GNNs的输出对于节点的输入顺序是不变的。
- 其次,图的边表示两个节点职期间的依赖关系信息。在标准神经网络中,这种依赖信息仅被视为节点的特征。但GNN可以利用这种图结构进行传播,而不必将其用作特征的一部分。通常,GNN通过其邻域状态的加权总和来更新节点的隐藏状态。
- 最后,推理是高级人工智能的一个非常重要的研究课题,而人脑的推理过程几乎都是基于从日常经验中提取的图结构。标准的神经网络可通过学习数据的分布来生成合成图像和文档的,但无法从大型实验数据中学习到推理图(the reasoning graph)。GNN试图从诸如场景图片和故事文档之类的非结构化数据生成图形,这可以成为进一步高级AI的强大神经模型。最近,已经证明具有简单架构的未经训练的GNN也会表现良好(Mean-field theory of graph neural networks in graph partitioning)
关于图神经网络已经有一些比较全面的综述:
[1] Geometric deep learning on graphs and manifolds using mixture model cnns 将CNN推广到非欧式结构数据。 Geodesic convolutional neural networks on riemannian manifolds、Learning shape correspondence with anisotropic convolutional neural networks 提出了一些基于流形的模型。 Geometric deep learning: going beyond euclidean data 对几何深度学习进行了全面的回顾. 这些研究专注于将卷积推广到图或流形,但是在本文仅关注在图上定义的问题,并研究了图神经网络中使用的其他机制,例如门机制,注意力机制和跳过连接机制。
[2] Neural message passing for quantum chemistry 提出了消息传递神经网络(MPNN),它可以推广到几种图神经网络和图卷积网络方法; Non-local neural networks 提出了一种non-local神经网络(NLNN),该网络将几种“self-attention”式的方法统一起来。这两个研究着眼于特定的应用领域,仅给出了如何使用其框架来概括其他模型的示例,并且未提供对其他图神经网络模型的评论。
[3] Attention models in graphs: A survey 回顾了图注意力模型。Relational inductive biases, deep learning, and graph networks 提出了图网络(GN)框架,该框架可以推广到其他模型。然而,图网络模型是高度抽象的,上述研究也仅给出了应用的粗略分类。
[4] Deep learning on graphs: A survey 和 A comprehensive survey on graph neural networks 是关于GNN上比较新的综述,将GNN分为五类:图卷积网络,图注意力网络,图自动编码器,图生成网络和图时空网络。
Models
这部分介绍图神经网络中各种模型。GNN是非欧几里得结构上的有用工具,已有大量文献提出了各种方法来尝试提升该模型。
在图中,每个节点是由其节点的特征和相关节点来定义的。GNN的目的是学习一个状态嵌入
, 其包含了每个节点的邻域信息。状态嵌入
是节点v的s维向量,可用于产生输出
(例如节点标签)。定义函数 f 为局部转移函数(local transition function),该函数在所有节点之间共享,并根据输入邻域更新节点状态。函数 g 为局部输出函数(local output function),用以描述输出是如何产生的。那么,状态
和输出
可以按如下定义:
(1)
(2)
其中,
为节点v的特征,
为它的边的特征,
为其邻居节点的状态,
为其邻居节点的特征。将上式拓展到所有节点:
(3)
(4)
其中,F--global transition function, G--global output function.
H 的值是等式(3)的不动点。
补充 : 巴纳赫不动点定理,可以参考 张楚珩:【泛函基础 1.4】Banach 不动点定理
在如此这般的条件下,对函数 F 存在一个点 x 使得 F(x)=x。盗用一个直观解释:比如你搅一杯咖啡,前提是没有咖啡溅出,那么杯子里面一定有一个点维持不动!可以把你搅咖啡看做一种映射,那么根据不动点理论,就是,一定有一个点经过这种映射之后维持原状。
有了不动点定理的支持,GNN使用如下经典的迭代方程对H求解:
(5)
表示H的第t次迭代值。 可以证明,对于任意初始H(0), (5)式可以快速收敛到(3)式的解。注意到,f和g中描述的计算可以理解为前馈神经网络。
当我们搭建好了GNN的框架后,下一个问题是如何学习f和g的参数。通过有监督学习的方式,用特定节点的信息(
)进行计算, p是目标节点的个数:
(6)
该式可以基于梯度下降的策略求解:
- 节点v的状态 由(1)式迭代更新,直到T时刻达到(3)的不动点解 .
- 梯度权重W 由(6)计算得出
- 权重W根据最后一步中计算出的梯度进行更新
Limitations
尽管实验结果表明GNN是对于结构数据表现很好,但是原始GNN仍然存在一些局限性:
首先,对于不动点,原始GNN迭代更新节点隐藏状态的效率不高。如果放宽不动点的假设,我们可以设计多层GNN以获得节点及其邻域的稳定表示。
其次,GNN在迭代中使用相同的参数,而大多数流行的神经网络在不同的层中使用不同的参数(分层的特征提取方法)。此外,节点隐藏状态的更新是一个顺序过程,可以借鉴RNN内核(如GRU和LSTM)。
第三,边也有一些信息性特征,但这些特征无法在原始GNN中有效建模。 例如,知识图谱的边具有关系的类型,并且通过不同边缘传播的消息应根据其类型而有所不同。 那么,如何学习边的hidden states 也是一个重要的问题。
最后,如果我们关注节点的表示而不是图的结构,则不太适合使用不动点理论,因为不动点上的表示分布在值上将非常平滑、对于区分每个节点的信息量较小。