Gcn Experiment

Posted by Packy on July 18, 2019

Kipf和Welling还证明了GCN如何用于半监督分类[1]。在半监督学习中,我们希望使用标记和未标记的示例。到目前为止,我们已经隐含地假设整个图表是可用的,即我们处于转换环境中。换句话说,我们知道所有节点,但不知道所有节点标签。

在我们看到的所有规则中,我们聚合在节点邻域上,因此共享邻居的节点往往具有相似的特征表示。如果图表具有同音性,即连接的节点倾向于相似(例如,具有相同的标签),则该属性非常有用。Homophily发生在许多真实网络中,特别是社交网络表现出强烈的同质性。

正如我们在一篇文章中看到的那样,即使随机初始化的GCN也可以通过使用图形结构在同构图中实现节点的特征表示之间的良好分离。我们可以通过在标记节点上训练GCN来更进一步,通过更新在所有节点上共享的权重矩阵,有效地将节点标签信息传播到未标记节点。这可以通过以下方式完成[1]:

  1. 通过GCN执行前向传播。
  2. 在GCN的最后一层上逐行应用sigmoid函数。
  3. 计算已知节点标签上的交叉熵损失。
  4. 反向传播损失并更新每层中的权重矩阵W.

扎卡里的空手道俱乐部

简而言之,Zachary的空手道俱乐部是一个小型社交网络,管理员和空手道俱乐部的教练之间会发生冲突。任务是预测空手道俱乐部的每个成员选择的冲突的哪一方。网络的图形表示可以在下面看到。每个节点代表空手道俱乐部的成员,并且成员之间的链接指示他们在俱乐部外进行交互。管理员和讲师分别标有A和I.

img

扎卡里的空手道俱乐部

img

至关重要的是,只标记了教师和管理员的标签,并且网络中的其余节点是已知的,但未标记!GCN可以在图形卷积期间找到标记和未标记节点的表示,并且可以在训练期间利用这两种信息源来执行半监督学习。

具体地,半监督学习在GCN中发生,因为它通过聚合节点的标记和未标记邻居来产生节点的潜在特征表示。在训练期间,我们然后反向传播监督的二进制交叉熵损失以更新在所有节点上共享的权重。然而,这种损失取决于标记节点的潜在特征表示,而标记节点又取决于标记节点和未标记节点。因此,学习成为半监督。

可视化功能

如上所述,存储每个时期的特征表示,这允许我们在训练期间看到特征表示如何改变。在下面我考虑两个输入特征表示。

表示1

在第一表示,我们简单地使用稀疏34×34 的单位矩阵,作为特征矩阵X,即,图中的各节点的一个热编码。该表示具有可以在任何图中使用的优点,但是导致网络中的每个节点的输入参数,其需要大量的存储器和计算能力用于大型网络上的训练并且可能导致过度拟合。值得庆幸的是,空手道俱乐部网络非常小。使用该表示对网络进行5000个历元的训练。

0 表 示 法 1 在 空 # 过 俱 乐 部 芊 的 分 类 過 崾

使用表示法1在空手道俱乐部中的分类错误

通过对网络中的所有节点进行集体分类,我们可以获得上面显示的网络中的错误分布。这里,黑色表示错误分类。尽管近一半(41%)的节点被错误分类,但与管理员或教师(但不是两者)紧密相连的节点往往被正确分

类。

Epoch 55D  0 表 示 法 1 训 间 恃 征 表 示 的 变 化

使用表示法1训练期间特征表示的变化

在左侧,我已经说明了在训练期间特征表示如何变化。节点最初是紧密集群的,但随着训练的进行,教师和管理员被拉开,用它们拖动一些节点。

虽然管理员和讲师的表示方式完全不同,但他们拖动的节点不一定属于他们的社区。这是因为图形卷积在特征空间中嵌入了共享邻居的节点,但是共享邻居的两个节点可能无法同等地连接到管理员和教师。具体地,使用单位矩阵作为特征矩阵导致每个节点的高度局部表示,即,属于图的相同区域的节点可能紧密地嵌入在一起。这使得网络难以以归纳方式在远程区域之间共享公共知识。

0 表 示 法 1 在 空 # 过 俱 乐 部 芊 的 分 类 過 崾

表示2

我们将通过添加两个不特定于网络的任何节点或区域的功能来改进表示1,但衡量与管理员和教师的连接性。为此,我们计算从网络中的每个节点到管理员和教师的最短路径距离,并将这两个特征连接到先前的表示。

也许可能会考虑这种作弊行为,因为我们会在图表中注入有关每个节点位置的全局信息; 应该(理想地)由features组件中的图卷积层捕获的信息。但是,图形卷积层始终具有局部视角,并且捕获此类信息的能力有限。尽管如此,它仍然是理解GCN的有用工具。

使用表示法1在空手道俱乐部中的分类错误

和以前一样,我们共同对网络中的所有节点进行分类,并绘制上面显示的网络中的错误分布。这次,只有四个节点被错误分类; 代表性1的重大改进!仔细检查特征矩阵后,这些节点要么与教师和管理员等距(在最短路径意义上),要么离管理员更近,但属于教师社区。使用表示2训练GCN 250个时期。

以前一样,我们共同对网络中的所有节点进行分类,并绘制上面显示的网络中的错误分布。这次,只有四个节点被错误分类; 代表性1的重大改进!仔细检查特征矩阵后,这些节点要么与教师和管理员等距(在最短路径意义上),要么离管理员更近,但属于教师社区。使用表示2训练GCN 250个时期。

使用表示2训练期间特征表示的变化

如左图所示,节点最初再次非常紧密地聚集在一起,但在训练甚至开始之前,它们在某种程度上分成了社区!随着培训的进行,社区之间的距离也会增加。

下一步是什么?

在这篇文章中,我已经深入解释了GCN中的聚合如何执行,并展示了如何将其表示为加权和,使用均值,和和谱规则作为示例。我真诚地希望您会发现这个框架对于在您自己的图形卷积网络中聚合期间可能需要哪些权重非常有用。

我还展示了如何在MXNet中实施和训练GCN,使用Zachary的空手道俱乐部作为一个简单的示例网络,使用谱图卷积对图形进行半监督分类。我们看到如何使用两个标记的节点,GCN仍然可以在表示空间中实现两个网络社区之间的高度分离。

虽然有关图形卷积网络的更多信息,我希望将来有时间与您分享,这是(目前)系列中的最后一篇文章。如果您有兴趣进一步阅读,我想结束以下我发现非常有趣的论文:

  1. 大图上的归纳表示学习在** ** 本文中,Hamilton等人提出了几种新的聚合函数,例如,使用最大/平均汇集或多层感知器。此外,他们还提出了一种简单的方法来进行GCN的小批量培训,大大提高了培训速度。
  2. FastGCN:通过重要性采样使用图形卷积网络进行快速学习** ** Hamilton等人提出的小批量方法的一个缺点是,批处理中的节点数量由于递归而在指定的聚合数量中呈指数增长。陈等人。al,提出他们的FastGCN方法,通过独立地执行图卷积层的批量训练来解决这个缺点。
  3. N-GCN:用于半监督节点分类的多尺度图卷积** ** 当FastGCN解决训练递归图卷积网络的问题时,N-GCN挑战了GCN需要递归的前提!Abu-El-Haija等人。而是提出一种具有多个(N)GCN的扁平架构,其输出连接在一起。每个GCN捕获不同距离的邻域(基于随机游走语义),从而避免递归聚合。感谢 Binny Mathew引起我的注意。