【Pytorch神经网络理论篇】 26 基于空间域的图卷积GCNs(ConvGNNs):定点域+谱域+图卷积的操作步骤


图卷积网络(Graph Convolutional Network,GCN)是一种能对图数据进行深度学习的方法。图卷积中的“图”是指数学(图论)中用顶点和边建立的有相关联系的拓扑图,而积指的是“离散卷积”,其本质就是一种加权求和,加权系数就是卷积核的权重系数。

图结构数据是具有无限维的一种不规则数据,每一个顶点周围的结构可能都是独一无二的,没有平移不变性使得传统的CNN、PNN无法在上面工作。


1 GCN

如果说CNN是图像的特征提取器,那么GCN便是图数据的特征提取器。

CNN可以直接对矩阵数据进行操作,而GCN操作方式有两种:谱域和顶点域。

1.1 基于谱域的图处理

谱域是谱图论中的术语。谱图论源于天文学,在天体观测中,可通过观察光谱的方式来观察距离遥远的天体。同样,图谱也是描述图的重要工具。

谱图论研究如何通过几个容易计算的定量来描述图的性质。通常的方法是将图结构数据编码成一个矩阵,然后计算矩阵的特征值。这个特征值也称为图的谱。被编码后的矩阵可以理解成图的谱域。

谱是方阵特有的性质,对于任意非欧氏空间数据,必须先通过计算其定量的描述生成方阵,才可以进一步求得谱。

GCN使用图结构中的度矩阵和邻接矩阵来表示图的谱域,这就是基于谱域实现。

GCN对矩阵的拉普拉斯变换,则是对图结构提取特征(谱)的一种方法。

1.2 基于定点域/空间域的图处理

指由图的本身结构所形成的空间,直接按照图的结构,根据相邻顶点间的关系以及每个顶点自己的属性,逐个顶点地进行计算。

1.3 基于顶点域的图卷积

基于顶点域的图卷积处理会比谱域的方式更加直观,也容易理解。

1.3.1 图卷积公式

 1.3.2 图卷积的操作步骤(从顶点的角度)

图卷积的操作就是在整个图上对每个顶点都按照上式(10-1)的描述执行一遍。从顶点的角度来看,主要可以分成以下3个步骤:

 1、发射(send):每一个顶点将自身的特征信息经过变换后发送给邻居顶点。这一步是对顶点的特征信息进行抽取变换,如图10-2所示。

2、接收(receive):每个顶点将邻居顶点的特征信息聚合。这一步是对顶点的局部结构信息进行融合,如图10-3所示。

3、变换(transform):将前面的信息聚合之后进行非线性变换,增加模型的表达能力,如图10-4所示。

使用GCN从图数据中提取的特征可以用于对图数据执行多种任务,如顶点分类、图分类(graph classification)和边预测(Iinkprediction),还可以顺便得到图的垂入表示。

1.3.4 图卷积的特性

  1. 局部参数共享:算子是适用于每个顶点(圆圈代表算子)的,处处共享。
  2. 感受域与层数成正比:最开始的时候,每个顶点包含直接邻居的信息,在计算第二层时,就能把邻居顶点的信息包含进来,这样参与运算的信息就更多、更充分。层数受域就更广,参与运算的信息就更多(特征一层层地抽取,每多一层就会更抽象、更高级)。

猜你喜欢

转载自blog.csdn.net/qq_39237205/article/details/123873187#comments_21877436