摘要:本文咱们将次要介绍各种典型的图神经网络的网络架构和训练方法。
本文咱们将 次要介绍各种典型的图神经网络的网络架构和训练方法。文章《A Comprehensive Survey on Graph Neural Networks》[1]提供了一个全面的图神经网络 (GNNs) 概述,并且将最新的图神经网络分为四类,即递归图神经网络(RecGNNs)、卷积图神经网络(ConvGNNs)、图主动编码器(GAEs) 和时空图神经网络(STGNNs)。在图神经网的理论利用中,卷积图神经网络的应用最为宽泛,因而,本文将重点介绍 ConvGNNs 一类网络模型,如上图 GNN Roadmap 所示。
1. 欧式空间卷积
在讲卷积图神经网络(非欧空间做卷积)之前,咱们先来回顾下卷积神经网络(欧式空间做卷积)的过程。有一张如下图所示的 6 6 的 image,咱们在做卷积的时候,通常会应用一个固定大小的卷积核,比方 3 3,而后依据设置的步长滑动整张 6 * 6 的 image,在每一次滑动之处与原图相应地位做内积。如下图为卷积核滑动两次之后的后果。
然而对于非欧空间的图构造,咱们无奈找到一个固定大小的卷积核去滑动整个图区域,如下图所示。
这时咱们就要针对图的非凡构造,借助欧式空间的卷积办法和图结构特征,提出两种卷积图神经网络的卷积计划:
计划一:
参考 CNN 的思维,对每个节点的街坊进行某种形式的加权求和,即 Spatial-based convolution。
计划二:
参考传统的信号处理的办法,对原始信号进行解决,引入滤波器来定义图卷积,图卷积运算被解释为从图信号中去除噪声,即 Spectral-based convolution。
本篇咱们将次要介绍基于空间的卷积图神经网络办法和对应的典型的网络架构。
2. Spatial-based Convolution
在讲基于空间的卷积图神经网络办法之前,咱们先引入两个术语:
lAggregate:
用以后层的某节点街坊状态特色更新下一层该节点的状态特色(下左图)。比方下图,咱们想要将(下标代表节点的索引,上标代表以后在第几层卷积操作)通过图卷积的形式转变成,咱们能够通过某种加权求和的形式将 Layer i 的以及的街坊节点的 feature 整合起来,从而失去的 feature,其它节点一样的情理,最初失去 Layer i+ 1 的 hidden state。
lReadout:
把所有节点的状态特色集合起来代表整个图的状态特色(下右图)。即采纳某种 sum 或者 average 的形式将所有 nodes 的 feature 形象成一个 hidden state,并以此代表整张图的 feature。
2.1 图神经网络(Neural Network for Graphs,NN4G)[2]
NN4G 在图神经网络畛域算是比拟早(2009)的提出的卷积图神经网络模型,其通过间接将节点的邻域信息相加来进行图卷积,表达式如下:
其中示意图中某个节点的索引,K 代表以后所在的卷积层数。示意节点的所有街坊。是激活函数,比方 Relu,和是待学习的模型参数,即下图中的,下图中 Hidden Layer 1 中的的取得是将以及其街坊的信息进行相加,并通过加权的形式整合 input layer 在该节点的信息,转成矩阵模式就是:
其中矩阵就是图网络的邻接矩阵。
而 readout 层则通过对每一层的所有节点信息的取均匀,即下图中所有紫色节点,从而取得每一层图的 representation,并对每一层的信息通过求和均匀的形式进行整个图的 representation 更新,即:
对于 NN4G,其具体的计算过程能够用上面这幅图概括。NN4G 也是卷积图神经网络的代表性构造,后续的卷积图神经网络都是或多或少的在 NN4G 的根底上做一些简略的批改(Aggregate)而取得。所以了解 NN4G 的运算流程对于了解基于空间的卷积图神经网络至关重要。
2.2 扩散卷积神经网络(Diffusion Convolutional Neural Network, DCNN)[3]
DCNN 在 Aggregate 阶段给出了不一样的办法,DCNN 将图卷积视为扩散过程,它假如信息以肯定的转移概率从一个节点转移到邻近的节点,使信息散布在几轮后达到平衡。如下图所示,第一层的 的后果是与 间隔为 1 的节点的 featue 的求和均匀,同理第二层的 则是与 间隔为 2 的节点的 featue 的求和均匀,这样咱们对每一层的卷积操作能够用以下公式示意:
其中 K 表示层数,代表转移矩阵,是节点度矩阵,A 是邻接矩阵,就代表了卷积所能观测到的节点街坊范畴,时示意对间隔为 1 的街坊节点的卷积,时示意对间隔为 2 的街坊节点的卷积。当咱们计算出了每一层的节点的 feature 的时候,咱们须要对每一层的节点 feature 进行 concatenation 成一个矩阵,而后通过一些线性变换对每个节点在不同层的 feature 做特色变换,如下图所示,最终失去整张图或者每个节点的特色矩阵。
2.3 混合模型(Mixture Model Networks, MoNET)[4]
通过上述模型,咱们能够发现,当计算某个节点在某一层的 hidden state 的时候,对于该节点的所有街坊上述算法都是厚此薄彼。然而理论状况可能是任何两个节点之间的关系是有区别的。比方在一副社交关系图谱中,某个个体和其所连贯的所有个体亲密关系通常不会雷同。这就须要一种新的 aggregate 形式来解决。
MoNET 同样是定义了一种新的 Aggregate 的形式,在 Aggregate 阶段不是简略的对街坊节点 feature 的均匀求和,而是通过加权的形式,权重的计算则是通过掂量节点之间的度的间隔形式,即:
当然这里只是提出了一种权重的计算形式,理论实现中能够抉择不同的权重实现形式。其中 示意节 x 的度,图中的 w 则是特色变换(比方 NN),通过 NN 对节点 feature 进行编码,最初对某一节点的街坊节点特色加权求和。
2.4 图采样聚合模型(Graph Sample and aggregate, GraphSAGE)[5]
GraphSAGE 次要是通过对街坊节点采样的办法对节点信息进行更新,即图中的 Step 1,而后再对这些采样的节点信息进行某种形式的聚合,次要有 MeanPoolingLSTM 三种 aggregate 的办法,即图中的 Step 2,Step 3 则是利用聚合信息进行以后节点 label 或者街坊节点的预测,预测的形式有两种,一种是无监督学习形式。无监督学习基于图的损失函数心愿邻近的顶点具备类似的向量示意(公式的前半部分),同时让拆散的顶点的示意尽可能辨别(公式的后半局部),损失函数如下:
其中 是的邻近节点,是负采样样本的散布,即对远离节点 的节点的采样,是负采样的个数,是待学习的节点特色。第二种是有监督学习形式,监督学习模式依据工作的不同间接设置指标函数即可,如最罕用的节点分类工作应用穿插熵损失函数等。
2.5 图留神神经网络(Graph Attention Networks, GAT)[6]
注意力机制曾经在传统神经网络 CNN 和 RNN 中有了胜利的实际,并且应用 attention 后模型的性能在特定工作上都有不少的晋升。GAT 是将 attention 机制实现在卷积图神经网络之中。这里的 attention 就是一种用来计算节点与街坊之间权重的形式,最初通过加权求和的形式更新节点的 feature,节点间权重的计算公式如下:
其中 是模型更新之后的权重表达式,是节点 v 绝对于节点 u 的 attention 值,w 是模型学习的参数。
下图就是 GAT 模型的图卷积层的更新过程,其中 e(energy)就是 attention 的权重。
3. 总结
本篇博文次要介绍了 Spatial-based Convolution(基于空间的卷积图神经网络),以 NN4G 为根底,别离介绍了 DCNN,MONET,GrapgSAGE,GAT 等卷积图神经网络构造以及其实现的形式。对于想要在图神经网络进行实际的同学,能够先学习一些开源的图神经网络框架。目前完成度较好的图神经网络框架次要是基于 PyTorch 和 MXNet 的 DGL (Deep Graph Library)和 PyG (PyTorch Geometric)。
参考文献
[1] ] Wu Z , Pan S , Chen F , et al. A Comprehensive Survey on Graph Neural Networks[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019.
[2] A. Micheli, “Neural Network for Graphs: A Contextual Constructive Approach,” in IEEE Transactions on Neural Networks, vol. 20, no. 3, pp. 498-511, March 2009, doi: 10.1109/TNN.2008.2010350.
[3] https://arxiv.org/abs/1511.02136
[4] https://arxiv.org/pdf/1611.08…
[5] https://arxiv.org/pdf/1706.02…
[6] https://arxiv.org/pdf/1710.10…
[7]https://mp.weixin.qq.com/s?__…
[8]. http://speech.ee.ntu.edu.tw/~…
本文分享自华为云社区《深入浅出图神经网络应用场景》,原文作者:就挺忽然。
点击关注,第一工夫理解华为云陈腐技术~