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

论文提出VGCL模型,利用变分推理和GNN探索用户-物品图的高阶结构,通过个性化数据增强和多视角对比学习改进协同过滤。实验结果显示VGCL在推荐性能上有优势,但参数调优复杂。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文名称: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量级),如下图所示:

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

<think>好的,用户需要查找一篇关于通过图基重排序改进RAG的论文。首先,我需要确认用户的需求是什么。他们可能是在研究RAG(检索增强生成)的优化方法,特别是如何利用图结构来进行重排序,提升检索效果。用户提到“图基重排序”,这可能指的是利用图算法或图神经网络对检索到的文档进行重新排序,以提高生成质量。 接下来,我应该回忆一下相关的文献。RAG本身结合了检索和生成,但传统方法可能存在检索结果不够精准的问题,重排序技术可以优化这一点。图结构在信息检索中的应用,比如构建文档之间的关系图,或者利用图嵌入来捕捉文档间的语义关联,可能是一个研究方向。 然后,我需要检查提供的引用内容。引用[1]提到高级RAG技术,包括模块化框架,但没有直接提到图基重排序。引用[2]讨论了RAG的发展和应用场景,但同样没有具体提到图方法。引用[3]是一个原型应用的链接,可能不涉及论文内容。因此,提供的引用中可能没有直接相关的论文,需要引导用户去外部数据库查找。 不过,用户可能希望我根据现有知识推荐可能的论文方向或方法。例如,图神经网络(GNN)在文档重排序中的应用,或者知识图谱增强的RAG系统。此外,可以建议用户搜索关键词如“RAG graph-based reranking”、“GNN for document reranking”或“knowledge graph RAG”来查找相关论文。 另外,考虑到RAG的优化通常涉及检索器和生成器的协同改进,图基方法可能在检索阶段构建文档间的关系,或者在重排序阶段利用这些关系调整顺序。例如,使用PageRank算法或社区检测来评估文档的重要性,进而重新排序。这样的方法可能在信息检索领域有相关研究,用户可能需要查阅最近的顶会论文,如ACL、EMNLP、SIGIR等。 最后,确保回答符合用户的要求:结构清晰、分步解决问题,并引用提供的资料。由于提供的引用中没有直接相关的论文,需要如实告知,并给出建议的搜索方向和关键词,帮助用户自行查找。同时生成相关问题,如优化RAG的其他技术、图基方法的应用场景等。</think>根据您对图基重排序改进RAG的论文需求,结合当前RAG技术发展,以下是分步解答: 1. **研究领域定位** 图基重排序属于RAG技术中检索优化模块的改进方向,需聚焦"检索增强生成"与"图神经网络"交叉领域。引用[1]提到的模块化RAG框架中,重排序模块可作为独立算子存在,这为图算法的集成提供了理论支持[^1]。 2. **推荐搜索策略** - 关键词组合:`"RAG" + ("graph neural network" | "knowledge graph") + reranking` - 会议筛选:优先查看ACL/EMNLP/NAACL/SIGIR近三年论文 - 论文预印平台:arXiv.org使用筛选条件`cs.CL + cs.IR` 3. **相关技术线索** 虽然现有引用未直接提及图基重排序论文,但引用[2]指出模块化RAG支持路由、调度和融合机制的创新设计[^2],这与图结构处理节点关系的能力高度契合。例如: - 使用图注意力机制建模文档间语义关联 - 基于社区发现算法优化检索结果聚类 $$ \text{NodeScore}(d_i) = \sum_{d_j \in N(d_i)} \alpha_{ij}Wv_j $$ 其中$d_i$为文档节点,$N(d_i)$是其邻居节点集 4. **实验性验证方法** 引用[3]提供的Mememo平台支持快速原型开发[^3],可尝试: ```python # 伪代码示例:图基重排序实现 def graph_reranking(docs): graph = build_knowledge_graph(docs) scores = page_rank(graph) return sort_by_score(docs, scores) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值