Open Ringssss opened 3 months ago
感谢您对我们工作的关注!
PolyGCL训练过程中使用的是全图(所有节点)的拓扑和属性信息,输出的表征也是N*D维度的所有节点表征,在第二阶段,用训练得到的表征喂入下游分类器进行节点分类任务评测。这样的设置也是图自监督学习的常用经典范式,请参考DGI的execute.py的训练阶段也是使用所有的节点而非单纯的train_mask节点。
同时,在PolyGCL训练阶段使用所有节点并不会涉及到测试节点标签泄露的问题,因为PolyGCL的自监督训练阶段只涉及全图的拓扑结构A和属性信息X,不涉及节点标签y。在第二阶段基于固定的表征训练下游分类器时才涉及训练、测试和验证集的划分,而此时由于表征已经被固定住了因此测试标签的梯度无法回传到PolyGCL,也就不存在测试节点标签的泄露问题。
以上回复可能有些简略,希望能解答您的疑问,如您对我们工作还有其他问题也欢迎通过邮箱:jy.chen@ruc.edu.cn和我交流讨论!
谢谢!完全解决了我的问题,感谢作者的回复!
您好,作者,非常有意义的工作。我想问一下为什么在PolyGCL训练的时候,使用的是所有的节点而非单纯的train_mask的节点呢?我有疑问这会不会是训练了测试了的节点呢?谢谢!