Graph Contrastive Learning with Model Perturbation
论文地址:https://openreview.net/pdf?id=rfvuuHmqHOQ
https://openreview.net/forum?id=rfvuuHmqHOQ
这篇文章借鉴了无增强的图对比学习,提出了对模型进行扰动的图对比学习方法PerturbGCL。在此之前,已经有无增强的图对比学习方法了,例如2022年提出的SimGRACE.
SimGRACE添加的是Gaussian noise扰动,PerturbGCL还额外添加了data-driven的adaptive noise perturbation.也就是说,PerturbGCL不仅有weight perturbation,还有weight Prune.
论文题目中说是Model Perturbation,但是更准确地是perturb GNN architectures.为了达到这个目的,PerturbGCL同时从message passing和model weight这两个角度入手,分别使用randMP和weightPrune这两个扰动策略。因此,用上述提出的模型扰动来模拟数据增强的效果。
在方法层面,这篇文章提出的方法并不难理解。PerturbGCL以GraphCL为基础,在其基础上进行构建。GraphCL是一种传统的图对比学习方法,它的输入是2个不同增广后的图像,并被输入到网络中(网络的参数和结构是一模一样的)。与之相反,PerturbGCL的输入是原始的graph,但是输入到2个不同的网络分支中。网络的第一个分支是传统的GNN,没有经过改动,但是网络的第2个分支发生了变化,改变了消息传播的过程,并改变了模型的权重参数(disturbs the message propagation process and model weights)。
为了扰动message propagation过程,改变模型权重,作者分别提出了2个对应的模块:randMP和weightPrune.
randMP
消息传递是GNN体系结构的一个关键组件,因为它提供了从多跳邻居聚合特征的灵活性。在图G上执行k次MP相当于基于节点v的k跳局部子图更新节点v的表示。有鉴于此,k可以自然地被视为扰动因子,其中不同的k值为同一节点生成不同但语义相关的表示。
进行不同次数的消息传递
weightPrune
通过prune目标编码器的模型参数来创建扰动分支。具体地说,用表示目标分支的权重,用
表示剪枝分支的mask,这个mask与
具有相同的size.在每一轮迭代中,根据预先定义的剪枝系数
来修剪目标分支。这个剪枝系数与权重值的大小有关,如果它们的幅度排名低于
,则mask权重。通过改变
,我们可以在一定程度上控制目标分支的失真程度。之后,目标分支和扰动分支将分别使用
和
作为模型权重来生成图表征,然后将其送到对比损失中。由于掩码指示符
是从最新的目标模型不断更新的,因此这两个分支将在训练期间共同进化。