GCN演变及改进整理
作者:互联网
目录
Adaptive Graph Convolution Network (AGCN)
Dual Graph Convolutional Network(DGCN)
Neural Network for Graphs (NN4G)
Contextual Graph Markov Model (CGMM)
Diffusion Convolutional Neural Network (DCNN)扩散卷积神经网络
Diffusion Graph Convolution(DGC) 扩散图卷积
Message Passing Neural Networks (MPNN) 信息传递神经网络
Graph Isomorphism Network (GIN) 图同构网络
Graph Attention Network (GAT)图注意力网络
Gated Attention Network (GAAN)-门控注意力网络
一.演变
1.Spectral CNN
Bruna等人,第一次提出谱卷积神经网络。他们简单地把 看作是一个可学习参数的集合:。并且假设图信号是多维的,图卷积层顶定义为:
第一代的参数方法存在着一些弊端,主要在于:
(1)计算复杂:如果一个样本一个图,那么每个样本都需要进行图的拉普拉斯矩阵的特征分解求U矩阵计算复杂;每一次前向传播,都要计算 三者的乘积,特别是对于大规模的graph,计算的代价较高,需要 的计算复杂度
(2)是非局部性连接的
(3)卷积核需要N个参数,当图中的节点N很大时是不可取的
由于以上的缺点第二代的卷积核设计应运而生。
2.Chebyshev谱CNN(ChebNet)
Defferrard等人提出ChebNet,定义特征向量对角矩阵的切比雪夫多项式为滤波器,也就是
就是利用Chebyshev多项式拟合卷积核的方法,来降低计算复杂度。
现在,相比于第一种Spectral CNN:
·此表达式现在是K-localized,具有局部连接性,因为它是拉普拉斯算子中的Kth-阶多项式,即它仅取决于离中央节点(Kth阶邻域)最大K步的节点
·的复杂度是O(|E|),即与边数E呈线性关系,整个运算的复杂度是 O ( K ∣ E ∣ ) 。当graph是稀疏图的时候,计算加速尤为明显,这个时候复杂度远低于O(n^2) 。
3.CayleyNet
CayleyNet进一步应用了参数有理复合函数的Cayley多项式来捕获窄的频带。CayleyNet的谱图卷积定义为:
CayleyNet在保留空间局部性的同时,说明ChebNet可以看作是CayleyNet的一个特例。
4.一阶ChebNet(1stChebNet)-GCN
一阶ChebNet源于论文(T. N. Kipf and M.Welling, “Semi-supervised classification with graph convolutional networks,” in Proceedings of the International Conference on Learning Representations, 2017)。这篇论文基于前面的工作,正式成为GCN的开山之作,后面很多变种都是基于这篇文章的。
该篇论文贡献有两点:
1.作者对于直接操作于图结构数据的网络模型根据频谱图卷积(Hammond等人于2011年提出的Wavelets on graphs via spectral graph theory)使用一阶近似简化计算的方法,提出了一种简单有效的层式传播方法。
2.作者验证了图结构神经网络模型可用于快速可扩展式的处理图数据中节点半监督分类问题,作者通过在一些公有数据集上验证了自己的方法的效率和准确率能够媲美现有的顶级半监督方法。
GCN的优点
1)、权值共享,参数共享,从AXW 可以看出每一个节点的参数矩阵都是W,权值共享;
2)、具有局部性Local Connectivity,也就是局部连接的,因为每次聚合的只是一阶邻居;
上述两个特征也是CNN中进行参数减少的核心思想
3)、感受野正比于卷积层层数,第一层的节点只包含与直接相邻节点有关的信息,第二层以后,每个节点还包含相邻节点的相邻节点的信息,这样的话,参与运算的信息就会变多。层数越多,感受野越大,参与运算的信息量越充分。也就是说随着卷积层的增加,从远处邻居的信息也会逐渐聚集过来。
4)、复杂度大大降低,不用再计算拉普拉斯矩阵,特征分解
GCN的不足
1)、扩展性差:由于训练时需要需要知道关于训练节点、测试节点在内的所有节点的邻接矩阵 A A A,因此是transductive的,不能处理大图,然而工程实践中几乎面临的都是大图问题,因此在扩展性问题上局限很大,为了解决transductive的的问题,GraphSAGE:Inductive Representation Learning on Large Graphs 被提出;
2)、局限于浅层:GCN论文中表明,目前GCN只局限于浅层,实验中使用2层GCN效果最好,为了加深,需要使用残差连接等trick,但是即使使用了这些trick,也只能勉强保存性能不下降,并没有提高,Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning一文也针对When GCNs Fail ?这个问题进行了分析。虽然有一篇论文:DeepGCNs-Can GCNs Go as Deep as CNNs?就是解决GCN局限于浅层的这个问题的,但个人觉得并没有解决实质性的问题,这方面还有值得研究的空间。
3)、不能处理有向图:理由很简单,推导过程中用到拉普拉斯矩阵的特征分解需要满足拉普拉斯矩阵是对称矩阵的条件;
二.GCN的改进
1.邻接矩阵的探索
Adaptive Graph Convolution Network (AGCN)
自适应GCN(AGCN)为了探索图拉普拉斯矩阵为指明的隐藏结构,(R. Li, S. Wang, F. Zhu, and J. Huang, “Adaptive graph convolutional neural networks,” in Proceedings of the AAAI Conference on Artificial Intelligence, 2018)提出了自适应图卷积网络(AGCN)。AGCN利用所谓的残差图来扩充图,残差图是通过计算节点对的距离来构造的。尽管AGCN能够捕获互补关系信息,但是以 O(N^2) 的计算量为代价。自适应图卷积网络(AGCN)通过图的邻接矩阵学习未知的隐藏结构关系。它通过一个以两个节点的特征为输入的可学习的距离函数来构造一个所谓的残差图邻接矩阵。
Dual Graph Convolutional Network(DGCN)
对偶图卷积网络(DGCN)引入了一种对偶图卷积结构,该结构具有两个并行的图卷积层。虽然这些对偶层共享参数,他们使用归一化了的邻接矩阵Ā和归一化了的积极点态互信息(PPMI)的共生矩阵提取节点随机游走。DGCN通过对偶图卷积层的集成输出,无需叠加多个图卷积层即可捕获局部和全局结构信息。
2. 空间域的GCNs(ConvGNNs)
Neural Network for Graphs (NN4G)
NN4G是第一个提出的基于空间的ConvGNNs。NN4G通过直接累加节点的邻域信息来实现图的卷积。它还应用剩余连接和跳跃连接来记忆每一层的信息。因此,NN4G的下一层节点状态为
可以看出,形式和GCN类似。主要区别在于NN4G使用了非标准化邻接矩阵,这可能会导致数值不稳定问题。
Contextual Graph Markov Model (CGMM)
CGMM提出了一种基于NN4G的概率模型。在保持空间局部性的同时,CGMM还具有概率可解释性。
Diffusion Convolutional Neural Network (DCNN)扩散卷积神经网络
DCNN将图卷积看作一个扩散过程。它假设信息以一定的转移概率从一个节点转移到相邻的一个节点,使信息分布在几轮后达到均衡。DCNN将扩散图卷积定义为
Diffusion Graph Convolution(DGC) 扩散图卷积
由于DCNN扩散过程的平稳分布是概率转移矩阵的幂级数的总和,因此扩散图卷积(Diffusion Graph Convolution, DGC)将每个扩散步骤的输出相加,而不是拼接。它定义扩散图卷积为
利用转移概率矩阵的幂意味着,遥远的邻居对中心节点提供的信息非常少。
PGC-DGCNN
PGC-DGCNN(On filter size in graph convolutional networks ,SSCI 2018)增加了基于最短路径的远距离邻居的贡献。它定义了一个最短路径邻接矩阵。如果从节点 v 到节点 u的最短路径长度为 j,则 ,否则为0。PGC-DGCNN使用超参数 r 控制感受域的大小,引入了一个图卷积操作,如下所示
三.其余一些网络
Message Passing Neural Networks (MPNN) 信息传递神经网络
信息传递神经网络(MPNNs)(Neural message passing for quantum chemistry,ICML 2017)概述了基于空间的卷积神经网络的一般框架。它把图卷积看作一个信息传递过程,信息可以沿着边直接从一个节点传递到另一个节点。MPNN运行K-step消息传递迭代,让信息进一步传播。定义消息传递函数(即空间图卷积)为
在得到每个节点的隐含表示后,可以将传递给输出层来执行节点级的预测任务,或者传递给readout函数来执行图级的预测任务。readout函数基于节点隐含表示生成整个图的表示。它通常被定义为
·R(⋅)表示有参数的readout函数
Graph Isomorphism Network (GIN) 图同构网络
然而,图同构网络(GIN)发现,MPNN框架下的方法不能根据生成的图embedding来区分不同的图结构。为了修正这个缺点,GIN通过一个可学习的参数 调整中心节点的权重。它通过下式来计算图卷积
GraphSage
由于一个节点的邻居数量可能从1个到1000个甚至更多,因此获取一个节点邻居的完整大小是低效的。GraphSage(Inductive representation learning on large graphs,NIPS 2017)引入聚合函数的概念定义图形卷积。聚合函数本质上是聚合节点的邻域信息,需要满足对节点顺序的排列保持不变,例如均值函数,求和函数,最大值函数都对节点的顺序没有要求。图的卷积运算定义为:
GraphSage没有更新所有节点上的状态,而是提出了一种batch训练算法,提高了大型图的可扩展性。GraphSage的学习过程分为三个步骤。首先,对一个节点的K-跳邻居节点取样,然后,通过聚合其邻居节的信息表示中心节点的最终状态,最后,利用中心节点的最终状态做预测和误差反向传播。如图所示k-hop,从中心节点跳几步到达的顶点。
Graph Attention Network (GAT)图注意力网络
图注意网络(GAT)(ICLR 2017,Graph attention networks)假设相邻节点对中心节点的贡献既不像GraphSage一样相同,也不像GCN那样预先确定(这种差异如图4所示)。GAT在聚合节点的邻居信息的时候使用注意力机制确定每个邻居节点对中心节点的重要性,也就是权重。定义图卷积操作如下:
表示节点 v v v和它的邻居节点 u u u之间的连接的权重,通过下式计算
softmax函数确保节点 v v v的所有邻居的注意权值之和为1。GAT进一步使用multi-head注意力方式,并使用||concat方式对不同注意力节点进行整合,提高了模型的表达能力。这表明在节点分类任务上比GraphSage有了显著的改进。
Gated Attention Network (GAAN)-门控注意力网络
GAAN(Gaan:Gated attention networks for learning on large and spatiotemporal graphs,2018)也利用multi-head注意力的方式更新节点的隐层状态。与GAT为各种注意力设置相同的权重进行整合的方式不同,GAAN引入self-attention机制对每一个head,也就是每一种注意力,计算不同的权重,规则如下:
标签:Network,演变,卷积,Graph,矩阵,GCN,改进,节点 来源: https://blog.csdn.net/qq_60272314/article/details/120467382