image.png
MixGCF: An Improved Training Method for Graph Neural Network-based Recommender Systems https://keg.cs.tsinghua.edu.cn/jietang/publications/KDD21-Huang-et-al-MixGCF.pdf
1. 背景
GNN在协同过滤相关方法中达到了最优的效果,从隐式反馈中负采样是协同过滤中需要面临的一大难题。当前在基于图的协同过滤方法中,负采样方法探索的还比较少。本文提出了即插即用的MixGCF负采样方法。
2. 方法
如图所示为MixGCF的总体概览,对positive mixing和hop mixing的流程进行可视化,具体流程我们后面介绍。
难样本挖掘其实在图像等领域早就有了,这里的难负样本就是通过挖掘和正样本相近似的负样本用于训练,从而使得正负样本之间的边界更加分明。本文的positive mixing就是通过在负样本中加入正样本的信息,从而使得生成的新的负样本更靠近正样本,成为难负样本。生成难负样本的方式作者借鉴了mixup方法,公式如下,其中
表示第
跳的正样本embedding,这里的“跳(hop)”可以理解为GNN的第
层。
表示负样本的embedding,
表示embedding的融合系数,从均匀分布中采样得到。
通过positive mixing可以得到候选集合
,即对每一层GNN得到的embedding,都可以生成一个难负样本的候选embedding。而hop mixing的作用就是聚合。通过图中的池化操作对不同层的候选embedding进行聚合,公式如下,其中
表示最终生成的难负样本的embedding,可以发现pooling中的embedding来自不同的层,通过采样得到每一层的一个候选embedding,这些embedding可以来自同一个样本,也可以不是。然后对其进行池化。其中
具体可以采用sum-based pool,concat-based pool等。
本文采用上式进行采样,采样后得到每一层的embedding,然后进行上述的池化。其中
函数计算第
层的embedding和user的embedding的相似度,返回和user最相似的item的embedding。然后将该embedding和当前层
中所有embedding
做内积,选取得分最高的embedding作为当前层的embedding。
本文采用BPR损失来衡量正负样本对之间的关系,其中
分别表示用户embedding,生成的难负样本embedding和正样本的embedding。
3. 实验结果
在开头也说了,本文所提的是一种即插即用的采样方法,因此实验中和不同的采样方法进行了对比,并且将采样方法和不同的基于图的模型进行结合,然后实验。可以发现结果都有明显的提升。
4. 总结
本文所采用的的思想,一方面采用mixup,用插值的方式得到难负样本,这类方法其实在图像相关的方法中很常见,不过将其应用于图相关的协同过滤方法可能还是第一次。另一方面,利用池化将不同层的embedding进行结合,然后得到新的embedding。应用上的创新,将其他领域的知识迁移到了推荐领域。