Graph Convolutional Networks 图卷积神经网络
理论来源:
- Kipf & Welling (ICLR 2017), Semi-Supervised Classification with Graph Convolutional Networks
- Defferrard et al. (NIPS 2016), Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
GCNs :定义
图卷积模型,其目的是在一改图G=( V, E )上学习一个信号/特征的函数。 V:结点 E:路径
模型的输入:
- 每个节点 i 的特征描述 Xi ; 总的来说就是一个 N*D的特征矩阵 X 。( N 是节点个数 , D是输入特征的数量)
- 图结构在矩阵上的具有代表的描述; 通常是以临界矩阵 A 的形式。
模型输出:节点级输出 Z (N×F特征矩阵,其中F是每个节点的输出特征数量)图级输出可以通过引入某种形式的池化操作来建模(参见: Duvenaud et al., NIPS 2015).
然后可以将每个神经网络层写为非线性函数:
:X为输入
:Z为输出
: 网络的层数
然后特定的模型就在与如何选择不同的:以及 模型的参数。
GCNs :举一个栗子
例如,我们考虑下面一个非常简单的分层传播规则形式:
: l-th 个神经网络层的权重矩阵。 : 一个类似与ReLu的非线性激活层
尽管这个模型非常简单,但其能力已经非常强大。
但是首先,让我们解决这个简单模型的两个局限性:对于每个节点,与A的乘法意味着,我们加权所有相邻节点的所有特征向量,而不是节点本身(除非图中存在自环)。 我们可以通过在图中执行自循环来“解决”此问题:我们只需将对角矩阵添加到A。
第二个主要限制是A通常不会被标准化,因此与A的相乘将完全改变特征向量的尺度(我们可以通过查看A的特征值来理解这一点)。 规范化A以使所有行总和为1,即,其中D是对角节点度矩阵,摆脱了这个问题。 现在与相乘对应于取相邻节点特征的平均值。 实际上,当我们使用对称归一化即时,dynamics变得更加有趣(因为这不再等于对相邻节点的平均)。 结合这两个技巧,我们基本上得出了Kipf & Welling (ICLR 2017):中引入的传播规则:
其中,其中 I 是对角矩阵,D̂是Â的对角节点度矩阵。
GCNs :Embedding the karate club network
Karate club graph, 颜色表示通过基于模块的聚类获得的社区 (Brandes et al., 2008).
让我们看一下我们的简单GCN模型,如何在著名的图形数据集:Zachary's karate club network(请参见上图)。
我们采用具有随机初始化权重的3层GCN。 现在,即使在训练权重之前,我们也只需将图的邻接矩阵和(即恒等矩阵,因为我们没有任何节点特征)插入模型中。 现在,三层GCN在正向传递过程中执行三个传播步骤,并有效地卷积每个节点的三阶邻域(所有节点最多相距3个“跳跃”)。 值得注意的是,模型产生了这些节点的嵌入,它们非常类似于图的社区结构(请参见下图)。 请记住,我们已经完全随机地初始化了权重,并且尚未执行任何训练更新(到目前为止)!
karate club network中节点的GCN嵌入(具有随机权重)。