欢迎移步我的个人博客
https://tkipf.github.io/graph-convolutional-networks/
卷积,因为过滤器参数通常在图中的所有位置共享
输入:
输出:
每个神经网络层都可以写成非线性函数
L是层数,具体的模型的不同只有f()函数如何选择并且参数化的 。
是神经网络第l层的权重矩阵
是非线性激活函数
该模型的两个局限性:
Karate club图,颜色表示通过基于模块化的聚类得到的群落
我们采用一个随机初始化权重的三层GCN。在训练之前,我们只需将图的邻接矩阵和X=I插入到模型中(即单位矩阵,因为我们没有任何节点特征)。
这个3层的GCN在前向传播期间执行三个传播步骤,且对每个节点的3阶邻域进行卷积(所有节点到3“跳”远)。
该模型生成了这些节点的嵌入,与图的群组结构非常相似,如下图。此时,我们还没有进行任何的训练更新。
然后有一个新的方法
由于我们的模型中的所有内容都是可微分和参数化的,所以我们可以添加一些标签,训练模型并观察嵌入的反应。我们可以使用Kipf & Welling (ICLR 2017)中引入的GCNs半监督学习算法。我们只是为每个类/社区标记一个节点(在下面的视频中突出显示的节点),并开始进行一些迭代训练。
效果视频在这里
注意,该模型直接产生了一个二维的潜在空间,我们可以立即可视化。我们观察到,3层的GCN模型能够线性地分离社区,每个类只给出一个标记的示例。假设模型没有输入节点的特征描述,这是一个不错的结果。同时,初始的节点特征是可以提供的,这正是我们在论文(Kipf & Welling, ICLR 2017)中描述的实验中所做的,以实现对大量图数据集的最新分类结果。