文章链接:https://arxiv.org/abs/1902.11038

TL;DR

当GCN用在semi-supervised learning任务中时,由于训练labeled data数据量较少,因此很难达到比较好的结果。文章中对于数据量较少的情况下提出了一种新的训练算法Mult-Stage Self-Supervised Training Algorithm(M3S),其中主要是用Facebook提出的DeepCluster技术优化训练过程。

Dataset/Algorithm/Model

首先,给出文章中训练模型的pipeline:

graph nodes经过GCN之后产生两个分支,第一个用于DeepCluster形成文中所谓的Self-Checking Mechanism,另一个找出t个置信度比较高的节点结合Self-Checking Mechanism重新训练模型。详细的算法流程如下图所示:

至于DeepCluster技术,是一种在特征空间中找到合适的聚类中心和类别的方法,优化函数如下:

minCRd×k1Nn=1Nminyn{0,1}kF(xn)Cyn22 s.t. ynT1k=1\begin{array}{c} \min _{C \in \mathcal{R}^{d \times k}} \frac{1}{N} \sum_{n=1}^{N} \min _{y_{n} \in\{0,1\}^{k}}\left\|F\left(x_{n}\right)-C y_{n}\right\|_{2}^{2} \\\\ \text { s.t. } \quad y_{n}^{T} 1_{k}=1 \end{array}

Experiment Detail

文章中采用的数据集如下所示:

首先文章考虑了GCN 不同数量的layers对实验结果的影响,如下图所示:

很明显GCN layers数量多模型性能不能提高,然后比较了文章中提出的训练算法在不同标注数据量的程度下对于模型性能的影响:

Thoughts

文章的novelty在于使用了DeepCluster这项技术优化了训练过程。其它提到的方法和以前Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning中使用的类似,只是换了一个机制名称。就文章中的实验结果而言,只在标注数据量极小的情况下有效,其它的提升并不大而且还增加了训练的开销。

联系作者