Graphic Convolution Network(GCN)

1 定义

1.1输入

  • 对于节点i的特征描述为xi,构成整个图的特征矩阵X ,N行D列,N为节点数,D为特征数
  • 对于图的结构描述也为矩阵,一般为邻接矩阵A

1.2输出

  • 输出结果为节点层次的矩阵Z,N行F列,F为每个节点的输出特征数
  • 要输出图层次的结果则需引入一些池化操作,见Duvenaud et al.

1.3神经网络

  • 神经网络的每一层都可以写作如下非线性函数,其中Graphic Convolution Network(GCN), L为神经网络层数,模型差别就在于函数f()上

                                             Graphic Convolution Network(GCN)

2 简单示例

令神经网络层的前向传播函数为

                               Graphic Convolution Network(GCN)

其中,Graphic Convolution Network(GCN)为第Graphic Convolution Network(GCN)层网络的权重矩阵,Graphic Convolution Network(GCN)为**函数,如ReLu**器,这个模型很简单,但是很有用。但这个模型也有2个缺陷:

  • 矩阵A直接相乘意味着对于每一个节点,我们将全部节点的全部特征都提取出来,而并非关注的这个节点本身(除非图中有自环出现)。我们可以通过向图中添加自环来解决这个问题,即将A矩阵和I矩阵直接相加。
  • 矩阵A并未标准化,A经过矩阵乘法后,会彻底改变特征矩阵的数量级,可以通过标准化矩阵解决这个问题,即Graphic Convolution Network(GCN),D为A的对角矩阵,使每一列的和为1。

如果是非对称矩阵,结果会更有意思,把上面两种技巧结合起来,就是Kipf & Welling (ICLR,2017)所用的前向传播函数

                                          Graphic Convolution Network(GCN)

其中Graphic Convolution Network(GCN)Graphic Convolution Network(GCN)Graphic Convolution Network(GCN)的对角矩阵

3 模型应用(ZACHARY问题)

Graphic Convolution Network(GCN)

           Karate club graph, colors denote communities obtained via modularity-based clustering (Brandes et al., 2008).

 

ZACHARY空手道俱乐部是ZACHARY对美国一个空手道俱乐部长期观测构建的一个社交网络,常用于复杂网络社团结构的分析,测试聚类算法的划分精度。其中,节点为俱乐部成员,边代表成员之间的关系(联系密切的成员之间才有边),共有34个节点,78条边。该俱乐部关于在是否提高俱乐部收费问题上产生了分析,最终分裂成为以俱乐部主管和俱乐部教练为中心的两个团体,分别为节点1和节点34。

我们用上述模型对ZACHARY问题进行聚类分析,网络一共有3层,每层的权重随机分配,输入邻接矩阵和特征矩阵X=I(因为我们对于这些节点的特征一无所知,只知道节点之间的关系)。在随机分配参数,没有训练的情况下,模型的输入结果已经和上图很接近了,如下图所示。

Graphic Convolution Network(GCN)

                                         GCN embedding (with random weights) for nodes in the karate club network​​​​

 

 

4 半监督学习

用半监督学习算法对每一类中的一个节点打上标签,然后开始训练若干步,结果如下所示:

Semi-supervised classification with GCNs: Latent space dynamics for 300 training iterations with a single label per class. Labeled nodes are highlighted.

模型自动在二维空间生成可视化图像。三层的GCN在每一类只有一个标签节点的情况下,成功划分了社区团体。本模型没有考虑节点的特征。