[SIGIR23]生成对比推荐论文Generative-Contrastive Graph Learning for Recommendation简介

论文名称:Generative-Contrastive Graph Learning for Recommendation

论文链接:https://le-wu.com/files/Publications/CONFERENCES/SIGIR-23-yang.pdf

Tips:本文需要一定的变分自编码器(VAE)和变分图自编码器(VGAE)的知识,可以先参阅以下论文:

https://arxiv.org/abs/1312.6114

https://arxiv.org/abs/1611.07308

Variational Autoencoders for Collaborative Filtering | Proceedings of the 2018 World Wide Web Conference

背景

        图对比学习(graph contrastive learning,GCL)技术已经在协同过滤任务中被广泛应用。GCL通过数据增强来构建不同的对比视图(view),随后通过最大化对比视图之间的互信息来提供自监督信号。

        尽管有效,但目前基于GCL的推荐系统仍然局限于数据增强技术(结构增强或特征增强)。具体来说,结构增强随机丢弃节点或者边,这很容易破坏用户-物品交互图的内在性质;特征增强为每个节点施加噪声,忽略了图中节点的特性。在真实世界的推荐系统中,不同的用户/物品具有不同的特征,数据增强应该针对这些情况进行个性化定制。

VGCL

        针对上述问题,作者提出了变分图生成-对比学习模型(Variational Graph Generative-Contrastive Learning,VGCL),其核心思想是利用变分推理思想近似输入数据点的高斯分布,并根据该分布重构所有输入数据。VGCL的模型图如下:

编码       

        在VGCL中,给定输入的用户-物品交互图\mathcal G和初始的节点嵌入表\mathbf E^{0}。变分图推理希望学习一个概率分布\mathbf Z以重构完整的输入图结构。为了实现这一点,类似于VAE,作者将每个节点i编码为一个多元高斯分布:

其中\mu\sigma^2分别是近似的均值和方差。为了探索用户-物品图的高阶结构关系,作者采用GNN来估计节点分布的参数:

其中\phi是可学习的参数。遵循之前的研究,作者选用LightGCN作为GNN模型编码用户分布的近似和方差。具体来说,给定每个节点i,其均值计算如下:

其中l代表层数,\mathcal N代表该节点的一阶邻居个数。对于初始输入层,有\mu^0=\mathbf E^0。与LightGCN相同,VGCL将来自不同层的均值进行平均,以得到最终的节点i的近似方差,随后通过一个多层感知机(MLP)计算方差:

 在实际应用中,作者采用一层MLP,即:

         在得到节点i的近似均值和方差后,需要构造节点i的变分表示\mathbf z_i,这一过程通过重参数技巧实现(reparameterization trick):

 其中\varepsilon是一个标准的高斯分布噪声。

解码(重构)

        获得了所有节点的概率分布\mathbf Z后,图生成的目标是重构原始的用户-物品交互图:

 在实际应用中,作者采用内积计算两个节点之间的概率分数:

 其中\sigma()是sigmoid激活函数。

        为了得到每个节点的不同对比视角,作者基于编码器得到的概率分布进行数据增强。与之前的工作不同,作者通过多重抽样来构造对比视角。对于任一节点i,可通过多次重参数得到对比表示:

 与结构或特征增强对比,VGCL中所有的对比表示从估计的分布中采样,其可以很好地重构输入图,而不会出现任何信息丢失。得到不同视角后,可以采用InfoNCE损失计算对比损失:

        在构建每个节点的对比视图后,考虑到相似节点在表示中跟接近,作者采用了基于聚类的对比损失。节点级的对比损失促进了每个节点对比视角的一致性,聚类级的对比损失鼓励聚类中节点对比视角的一致性。

        假设存在K_u个用户质心\mathbf C^uK_i个物品质心\mathbf C^i,给定输入的估计分布,作者采用K-means聚类算法计算两个用户(物品)被分配至同一质心的概率:

         随后,作者通过以下方式实现 聚类级别的对比损失:

 其中

 完整的对比损失是节点级对比损失和聚类级对比损失的加权和:

 优化

        对比变分图重构,作者通过证据下界(evidence lower bound,ELBO)优化编码器和解码器:

 其中第一项是编码器和解码器的重构误差,第二项是近似后验分布与先验分布的KL散度。在实践中,作者采用BPR损失优化重构误差:

         VGCL完整的损失函数定义如下:

         VGCL完整的训练过程定义如下:

 实验

        为了验证VGCL的可行性,作者下以下三个数据集进行了实验:

         对比实验结果如下:

        消融实验结果如下:

         VGCL在模型大小、时间复杂度以及推荐性能方面展现出强大的优势,但VGCL模型较为复杂,存在过多的超参数(节点级对比的温度系数、聚类级对比的温度系数、用户聚类的质心数、物品聚类的质心数、总对比损失的权重、聚类级对比损失的权重,此外还包括一些传统的超参数,例如学习率、GCN层数、正则化系数等)。需要指出的是,VGCL在调参方面存在一些困难,因为其温度系数的调整非常细微(0.01量级),如下图所示:

此外质心数的调参需要网格搜索,两个超参数在不同的设置下存在过大的差异性,如下图所示:

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值