本文作者:Yangkun Wang
文章来源:https://cf020031308.github.io/papers/2021-bag-of-tricks-of-semi-supervised-classification-with-graph-neural-networks/
这篇文章总结了三个广泛用于图神经网络节点分类任务的涨点技巧,例如在 OGB 榜单中可见到不少模型使用了 Label Reuse。
## 0. DropEdge
是另一篇文章中提出的,类似神经网络中的 Dropout,将图网络中的边随机去掉一些,以避免过拟合和过度平滑。在这篇文章里只引用了一下这个方法。
## 1. Label Usage
主流的基于深度学习的研究都是端到端的模式,标签信息只用来计算损失函数,目前已有一些方法将标签信息也利用起来作为模型输入的一部分,以获得更好的结果。如 C&S。
这些方法通常是结合 GNN 和 LPA(标签传播算法),但 LPA 基于相邻相似的假设,不一定是最优的。
这篇文章总结的 Label Usage 包含两部分:
Lable as Input. 将训练数据中的标签分出一部分来(one-hot 向量),与特征拼接作为输入(没有标签信息的地方全 0,这些位置下面还要用到)。剩下的没有输入标签的仍作为训练数据;
Label Reuse. 用上一步训练好的模型迭代若干步,在每一次迭代中,将输出的预测软标签赋给最初没有标签信息的位置(论文是这些位置全部放预测软标签,看
ogbn-arxiv
的有些实现中有监督数据的位置还是用真实硬标签)。

Label as Input 阶段可以看作学习一个模型,能根据其它节点的特征和标签、中心节点的特征,来预测中心节点的标签,这比传统端到端的模式有更多的可利用信息(其它节点的标签)。
Label Reuse 阶段类似 LPA,通过一定的迭代步数不断更新标签的预测值,但不受限于 LPA 相邻相似的假设。
## 2. Logarithmic Cross Entropy





