【2018/AAAI】Deeper Insights into Graph Convolutional Networks for Semi-Supervised Learning
TL;DR
文章中对于GCN进行了进一步思考, 解释了GCN在semi-supervised learning中有效的原因(Laplacian smoothing). 指出了GCN的优点和缺点, 对于GCN中需要大量labeled validation set 来停止训练和挑选模型的问题, 文中提出了co-training和self-training的方法, 效果有所提升.
Dataset/Algorithm/Model/Experiment Detail
文章中先通过一系列的推导, 证明GCN就是一种特殊形式的Laplacian smoothing. Laplacian smoothing 就是当前顶点的feature是其neighbors feature的加权求和.
比较了GCN layer和FCN layer性能的提升程度, 结果如下图所示, 证明GCN确实非常有效:
但是多个layers的GCN容易产生over-smoothing的问题, 如下图所示, 所以目前使用的GCN比较shallow.
解释了GCN的本质及其有效性的原因之后, 指出了GCN的优点和缺点:
优点:
- the graph convolution – Laplacian smoothing helps making the classification problem much easier;
- the multi-layer neural network is a powerful feature extractor.
缺点:
- the graph convolution is a localized filter, which performs unsatisfactorily with few labeled data;
- the neural network needs considerable amount of labeled data for validation and model selection.
为了弥补GCN的缺点, 文中提出了co-training和 self-training的方法.
co-training:
通过partially absorbing random walks算法选择每个class中有标签的node的最近邻的neighbors, neighbors很有可能与node属于相同的class, 再将labeled neighbors添加到training set中训练.算法如下所示:self-training:
经过有labeled node预训练得到的GCN, 再来预测unlabeled nodes的label, 对于可能性大于某阈值的node, 重新加入到训练集中训练GCN.算法如下所示:
Experiments
Thoughts
文中对GCN的解释可以让我们更加深入的理解GCN的原理以及GCN的适用范围, 提出的训练方法确实能够减少labeled data, 但是同时也增加了训练的复杂度. 想法可以借鉴, 但是在人脸识别样本数量大用不到这种training tricks. 可以考虑在few-shot learning中使用.
除此之外, 对于很多network, 我们不知道class的数量, 这种情况下如何设计model? 这是一个需要解决的问题.