XSimGCL: Towards Extremely Simple Graph Contrastive Learning for Recommendation
XSimGCL: 面向极简图对比学习的推荐框架
来源:TKDE 2022
摘要:本文是SIGIR 2022 SimGCL的改良版,为同一作者所著。在本文中,作者质疑了对比学习作为推荐的辅助任务使用管道方法与推荐主任务分离的必要性,并提出了XSimGCL框架,该框架取消了把增强嵌入和原嵌入分别通过encoder的流程,让所有嵌入只需要通过一次encoder,大大节省了时间成本。在经过对嵌入的改良后,XSimGCL在公共数据集上的效果甚至优于SimGCL。(该方法为SimGCL提出的补充方法,新的内容很少)
1 模型
与SGL相比,SimGCL要简单得多,因为不再需要常数图的增强。然而,SimGCL繁琐的架构使它并不完美。对于每个计算,它需要三次正向/向后传递来获得损失,然后反向传播loss来更新输入节点嵌入。虽然在基于cl的推荐系统中,将推荐任务和对比任务的管道分开似乎是一种惯例,但作者质疑这种体系结构的必要性。
当使用CL时,相关视图之间的互信息既不过高也不是过低。然而,在SimGCL的体系结构中,给定同一节点的一对视图,两个节点之间的互信息总是非常高,因为两个对应的嵌入都包含来自邻居的L跳的信息。由于它们之间的微小差异,相互对比它们在学习一般特征方面可能效果较差。事实上,这对于许多基于cl的推荐模型来说也是一个普遍存在的问题。很自然地想,如果我们对比不同的层嵌入会怎么样?它们共享一些共同的信息,但在聚集的邻居和添加的噪声上有所不同。此外,考虑到添加噪声的幅度足够小,我们可以直接使用扰动表示来进行推荐任务。这些噪声类似于广泛使用的dropout技巧,并且只应用于训练中。在测试阶段,模型切换到无噪声的普通模式。
上图为SimGCL和XSimGCL的框架对比。显然,新的体系结构在小批计算中只有一次向前/向后传递。我们将这种新方法命名为XSimGCL。XSimGCL的扰动表示学习与SimGCL相同。XSimGCL的联合损失的计算公式为:
其中,l∗表示要与最后一层进行对比的那一层。对比两个中间层是可以的,但在论文中的实验表明,涉及到最后一层会导致最佳的性能。
剩余部分与SimGCL相同,可移步至SimGCL查看详情。
2 实验
复杂性分析:
实验结果:
超参数设置: