只做原理简单介绍

基础概念回顾

端点以及对应的边组成的集合成为图,记作:GCN - 图3
其中 V 表示的是端点,E 表示的是边。

临接矩阵

里面包含,图端点的临接关系。如果图GCN - 图4中包括GCN - 图5个端点,那么临接矩阵GCN - 图6将是GCN - 图7矩阵。
无向图的临接矩阵:
GCN - 图8

注意对于无向图,主对角线为0(不讨论自己和自己的相邻)

度矩阵

某个端点的度表示的与之相连的边的数量,再细分又有入度和出度。
度矩阵是一个对角阵:
image.png


GCN网络

图表征

设图为GCN - 图10,其特征如下:

  • 每个端点GCN - 图11的特征有GCN - 图12维向量表示,端点个数为GCN - 图13,所以所以特征表示为GCN - 图14,其为GCN - 图15大小的矩阵;
  • 其临接矩阵为GCN - 图16

类比神经网络层,假设每层特征提取函数如下:
GCN - 图17
GCN - 图18

GCN的目的就是希望,利用图的形式在特征之间构造连接,从而实现特征的组合。

一个简单的特征提取函数

GCN - 图19
其中:GCN - 图20是非线性函数

其中GCN - 图21就是需要学习的参数,其 size 为GCN - 图22; 有了(2)现在我们的首要目的是确定GCN - 图23,即如何综合各个特征,从而引出图卷积。

如何理解GCN - 图24

其中的GCN - 图25其实就是将处于临接的特征进行求和产生新的特征,但是这样做的一个弊端是,求和前后数据在scale上产生较大差异,比较好的方法就是引入归一化,所以产生如下公式:
GCN - 图26
其中的GCN - 图27表示的是度矩阵,可以看到这样就能够很好的实现平均操作;

值得一提的是:CNN的GCN - 图28卷积操作,同样可以看做是每个节点和临接节点的加权和!

实际特征提取函数GCN - 图29

  • 首先直接采用GCN - 图30会导致自身特征没有被引入,所以需要用GCN - 图31代替;
  • 然后将GCN - 图32利用GCN - 图33代替(此时已并非平均之意),当然由于GCN - 图34已经被GCN - 图35替换,所以对应的GCN - 图36,其中GCN - 图37GCN - 图38的度矩阵(相对于对角数据分别加1罗GCN - 图39

GCN - 图40

GCN 理解 blog 中我们看到,在此公式之前,还有一系列相对较为复杂的图卷积形式。 激活函数的选取,可以是诸如Relu之类的。


图卷积示例

利用图卷积实现对车流量的预测
Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting
利用图结构对人体结构进行建模,并利用图卷积实现对人体动作的分类
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition