TKDE2023 | 为推荐系统注入先验知识: 基于近邻增强的对比学习推荐算法

省时查报告-专业、及时、全面的行研报告库

省时查方案-专业、及时、全面的营销策划方案库

【免费下载】2024年3月份热门报告合集

推荐技术在vivo互联网商业化业务中的实践.pdf

推荐系统基本问题及系统优化路径.pdf

大规模推荐类深度学习系统的设计实践.pdf

荣耀推荐算法架构演进实践.pdf

推荐系统在腾讯游戏中的应用实践.pdf

小红书推荐系统中台应用实践

微信视频号实时推荐技术架构分享

推荐系统的变与不变

TLDR: 本文针对协同过滤技术固有的数据稀疏问题,提出了两种监督对比损失函数,将锚定节点的近邻信息视为最终目标损失函数内的正样本。通过对所提出的损失函数进行梯度分析,可以发现锚点节点表征的更新将同时受到多个正样本和增强负样本的共同影响。最后通过大量的实验验证了所提出方法的有效性。

cb1b62e6d15ebf7043e15c1956eb819c.png

论文:arxiv.org/abs/2402.11523
代码:gitee.com/peijie_hfut/nescl

ChatGPT4国内可以直接访问的链接,无需注册,无需翻墙,支持编程等多个垂直模型,点开即用:https://ai.zntjxt.com(复制链接电脑浏览器或微信中点开即可,也可扫描下方二维码直达)

引言

推荐模型已广泛应用于许多在线平台,如 Yelp、Gowalla 和亚马逊。推荐模型的主要思想是,具有相似消费历史的用户可能具有相似的偏好,这也是协同过滤(CF)方法的主要思想。CF方法有两种,memory-based的和基于模型的方法。根据近年来的研究趋势,基于模型的CF 方法因其高效的性能而备受关注。然而,CF 模型主要存在数据稀疏性问题。如何通过提高用户和项目表征的有效性来提升 CF 模型的性能是主要的研究方向,因此许多模型被提出来挖掘更多信息以增强用户和项目的表征。例如,有人提出了 SVD++ 模型,利用 ItemKNN 方法获得的物品最近邻来增强基于模型的方法。而 LightGCN 可以利用高阶协作信号来增强用户和物品的表示。

最近,对比学习在计算机视觉领域取得了巨大成功。由于对比学习可以提供额外的自监督信号,一些研究人员尝试将其引入推荐任务,以缓解数据稀疏问题。对比法的主要思想是将表示空间中的任何节点与其他节点区分开来。在本研究工作中,我们从输入的用户和项目集合中随机选择一个节点作为锚节点。通过对模型推导出的锚节点表示法进行分析,以突出当前对比学习法的不足之处。通过使用锚节点的关键特征约束,我们旨在提高推荐模型的性能。一般来说,任何用户和项目都可以被视为锚节点。为清楚起见,并具体说明我们的方法,我们在本文的主要示例中使用项目作为锚节点。在推荐任务中,用户和项目的表征是基于他们的历史交互而学习的。通过扰动锚节点的历史交互记录来生成增强数据是一个自然的想法。在模型训练阶段,锚节点的表示及其增强表示是每个锚节点的正样本。

然后,其他节点的表示被视为负样本。然而,对比学习在推荐任务中显示出有效性,但也带来了新的挑战,可能会使锚定节点与它们的近邻信息产生距离。因此,在对比损失中一些潜在的与用户兴趣相关的邻居可能被视为假负样本,从而削弱了推荐模型的优化。例如,在图1中,对于锚定节点项目i,项目k和用户a分别是其最近和交互邻居。锚定节点及其最近邻居和交互邻居的表示应该彼此接近于超球体内。最近和交互邻居是锚定节点的近邻信息。如果对比损失优化推荐模型,则会导致锚点i远离近邻信息,如图1左侧所示部分。据我们所知,并没有多少研究致力于解决这个问题。在SGL论文(见表II)中, 研究人员直接利用基于排名的损失函数将锚点及其互动邻域拉近。而NCL 的作者研究了如何基于聚类方法找到锚点正样本。

cf3fdda16c83a14d92440eae088236c6.png
图1. 我们随机选择一个项目i作为锚节点。 节点k是i的最近邻居,通过ItemKNN算法找到,并且节点a是与项目i互动过的用户。

尽管提出了许多策略来解决将监督信号与对比损失相结合这一具有挑战性任务, 但仍然是一个复杂问题. 我们提出一个潜在解决方案: 将锚定节点的协作邻域视为目标损失函数中正样本. 这种方法旨在优化所有节点学习表示空间内各个位置, 使得锚点和正样本节点接近,同时最大程度地增加 与负样本节点的距离。受SupCon 工作启发, 我们设计了两种新颖的监督对比损失函数来解决推荐任务。这些 函数经过精心设计,更加有效地引基座模型的优化。

在实验部分,我们展示了使用我们提出的损失函数训练的选定基座模型 LightGCN 的卓越性能。我们在三个真实世界数据集Yelp2018、Gowalla 和 Amazon-Book上进行了评估。模型在NDCG@20指标上分别比SGL方法优越10.09%、7.09%和35.36%,表现远超过当前最先进的对比学习方法。我们提出模型的贡献可以总结如下:

  1. 我们提出的模型可利用多个锚节点正样本引导锚点表示更新。理论分析表明锚点和多个负样本共同决定不同正样本在模型优化过程中的重要性。

  2. 实验结果表明我们提出的方法在较小温控系数下表现更好。这一观察结果支持了我们提出的通过引入多个正样本可以抵消假负例的负面效果并放大真实负例有效性的观点。

  3. 由于收集到的锚点正例类型较多,且不同类型的正例的质量参差不齐,我们提出一些用于正例建模的方案。并开展实验验证不同方案的差异性。

9126e5011578f9c97ebdfe9d9e2944f2.png
图2. 提出的邻域增强监督对比损失(NESCL)的整体框架

该框架有四个部分,A) 用于基于用户-物品交互矩阵计算用户-用户相似度矩阵和物品-物品相似度矩阵。B) 它表示如何获得所有用户和项目的两个表示矩阵和增强表示。和分别表示两个增强图。C) 对于任何锚节点(以产品i举例),需要根据物品-物品相似度矩阵收集其最近邻居以及根据用户-物品交互矩阵收集其交互邻居。D) 在计算监督协作对比损失函数或之前,还应从表示矩阵中索引所有用户和项目的表示。由于在这幅图中最近邻居和交互邻居非常清晰,我们在此图中突出显示了锚节点的对比视角正样本。

邻域增强监督对比学习

本文旨在修改传统的对比学习技术,以在推荐任务中纳入不同类型的正样本。我们认为,在构建锚节点i的对比损失时,不仅应将其两个视图的表示视为其正样本,还应将其近邻信息的表示也视为其正样本。我们要解决的挑战是如何建模锚节点的多个正样本。受SupCon启发,该方法也专注于设计监督对比损失函数来建模正样本。我们提出了两种独特的监督对比损失函数:邻域增强监督对比损失(NESCL),分别有“内”版本和“外”版本。这两种损失函数可以参考式(5)和(6)。关于我们提出的两种独特损失函数如何工作的整体框架可参考图2。我们将LightGCN作为基座模型,并采用与SGL相同的数据增强策略。

接下来一节首先介绍计算NESCL 的准备工作。然后,我们将介绍前向计算过程。最后,我们将介绍设计好的NESCL 的详细信息,并分析它如何从理论角度动态权衡不同类型正样本重要性。最后,讨论了我们提出模型及相关模型 SGL 的复杂性问题。

A. NESCL计算准备阶段

本节将介绍如何找到锚节点i的最近邻。我们的工作中使用了两种memory-based的方法,即基于用户和基于物品。在本节中,我们将以基于物品的方法ItemKNN为例,介绍如何计算任意两个物品i和j之间的相似度:

其中表示物品i和j共同交互用户数。和分别表示物品i和j的度。由于项目集V非常庞大,在生成推荐时会耗费大量时间,因此对于每个项目i,我们将具有最大值的前K个项目视为i的最近邻,并使用来表示节点i的最近邻集合

B. 模型前置计算过程

在模型的前向过程中,我们将介绍如何实现锚定节点及其正样本的表示。然后,这些获得的表示将用于计算监督协同对比损失函数(和)。给定dropout输入图,它会被增强两次以获得两个增强图和,其中一种数据增强策略是Node Dropout、Edge 和丢失率设定为ρ的随机游走。然后基于相同的基座模型 LightGCN,我们可以得到两个表示矩阵,和。然后,对于任何锚节点i,我们索引其最近邻居和交互邻居的表示用于后续计算。接下来,我们将介绍基于索引表示的设计损失函数和 )。

C. NESCL细节介绍

我们提出的损失函数的主要思想是,通过优化监督对比损失函数,学习到的锚点表示不仅应该远离其他负节点,而且还应接近其近邻信息,即最近邻和交互邻居。对于任何锚点i,给定其两个视图的表示和,最近邻的表示,以及交互邻居的表示,,则可以得到以下两种监督损失函数和。它们旨在优化基座推荐模型,并将独立工作。我们设计这两种损失函数的动机是探讨不同类型多项式融合方法在基于InfoNCE损失函数下对模型优化的影响。

它们的方程如下:

f7f6bb767666591cff4105ed51077fd8.png bb546d634f59b6f3daba11a9e8229644.png

符号表示节点a和i之间的相似度,具体数值由memory-based方法得到。的数量是预先定义为K。我们将在实验部分给出更多关于K以及近邻对模型表现带来的影响。

D.从梯度角度进行分析我们提出的损失函数
  1. 对“in”-Version损失函数的分析:为了更好地研究所提出的对比损失函数,首先,我们使用到以下方程式:

b4d3b31d0cf5c6d5e5037cf1c9bbd6ad.png

然后,我们从到锚节点i的表示计算梯度。我们可以得到以下方程式:

da095f14139534c60db3239551f17beb.png

根据SGL的分析,我们突出了我们提出的损失函数与SGL中损失函数之间的差异。从上述公式可以看出,在邻域增强项的帮助下,锚节点的嵌入由正样本, , 和共同决定。这是我们提出的损失函数能更好地引导基座模型优化的原因之一。

其次,不同正样本的影响力λ,λ和λ由锚节点表示和多个负样本共同影响决定。这使得不同正样本影响力的计算更加准确。例如,λ数值可通过以下方式计算:

f89310ed9fadb6efdad1737c0cdf4016.png
  1. 对“Out”版本损失函数 的分析:与上一小节中的分析类似,我们采用相同方法来分析损失函数。通过计算对节点i的辅助视图的梯度,我们可以得到:

4ffc34520166444105e15ff76dbbab9e.png

根据上述公式,我们可以得出与相同的结论。这两种损失函数之间的区别在于不同正样本的计算影响能力。与“in”版本损失函数相比,“out”版本的计算会更复杂。由于λ、λ和λ的公式非常复杂,我们在此不展开它们。有关更多细节,请访问arxiv链接并参考附录A.1和A.2部分。我们以λ为例。通过将λ除以λ,我们可以得到:

4aa7f7dfb6cb08866ba8af1cd0b91748.png

从该公式中,我们有两个观察结果。首先是,λ的值应该小于λ。其次,与λ相比,λ的值不仅受到其对应正样本之间距离的影响,还受到其他正样本和的影响。我们将在实验部分评估这两种损失函数的性能。

E. 提出模型的总体损失函数

尽管我们提出的监督协作对比损失可以利用训练阶段不同种类正样本的信息,但在进行实验时,我们发现公式(3)中的损失函数也非常有用。我们认为这两种损失函数可以为将锚节点和正样本拉近到表示空间中提供不同类型能力。因此,我们提出模型的整体损失函数如下:

f6679239dad93a12b6c08f85976b1bd8.png

其中是一个超参数,用于平衡两种类型损失函数的重要性。较大的意味着相应损失在训练阶段发挥更重要的作用。

实验分析

1c9029a617d1d5e72d45263be36ea9d9.png
表IV所有模型在三个真实数据集上的表现

所有模型的整体表现可参考上表. 从实验结果中,我们得到以下三点观察:

  1. 从实验结果中,我们可以发现基于我们提出的损失函数训练的基座网络在Yelp2018和Gowalla数据集上表现优于所有基准模型,特别是对比学习模型,如SGL、SupCon(in)和SupCon(out)。在Gowalla数据集上,SGL的性能不及LightGCN。这可能是因为对比损失可能破坏了排名损失拉近表示空间中相互作用邻居的能力。与两个版本的SupCon相比,我们提出的损失函数表现更好,这也证明了我们提出的损失函数可以更好地整合不同正样本。在不同数据集上,我们提出的损失函数“in-version”和“out-version”在所有数据集上表现不一致。接下来,在以下实验中选择每个数据集最佳版本的损失函数。

  2. SimpleX和UltraGCN在所有数据集上都优于其他基准模型。SimpleX模型采用新颖对比损失函数来建模训练阶段中正样本与负样本之间关系。根据新对比损失函数,在增加负样本数量时可以显著改善SimpleX性能。至于其他基于潜在因子的模型,如BPR、LightGCN、SGL等都使用(3)中排名损失函数,并将负样本数量设置为1。UltraGCN优于其他基准模型可能是因为它结合了最近邻居信息。

  3. 从表 IV 可以看出,memory-based的模型在所有数据集上的表现都远远好于隐因子模型 BPR。特别是在 Amazon-Book 数据集上,memory-based的经典模型 SLIM 的表现优于其他所有模型。我们认为可能的原因是亚马逊图书数据集的暴露偏差。在亚马逊在线购物网站中,推荐系统更倾向于使用item-based方法为用户提供项目推荐列表。因此,包含近邻的模型会取得很好的性能,如 SLIM、UltraGCN和我们提出的方法。

最后想说的一句话是:虽然memory-based方法已经拥有二十多年的历史了,但是还是非常有效。建议大家可以多留意这个信息。祝各位科研顺利。

ChatGPT4国内可以直接访问的链接,无需注册,无需翻墙,支持编程等多个垂直模型,点开即用:

https://ai.zntjxt.com(复制链接电脑浏览器或微信中点开即可,也可扫描下方二维码直达)
 
 
 
 
 
 

「 更多干货,更多收获 」

63a95b46389c90704f1453ad03a40f28.gif

 
 

【免费下载】2024年3月份热门报告合集

ChatGPT的发展历程、原理、技术架构及未来方向

《ChatGPT:真格基金分享.pdf》

2023年AIGC发展趋势报告:人工智能的下一时代

推荐系统在腾讯游戏中的应用实践.pdf

推荐技术在vivo互联网商业化业务中的实践.pdf

2023年,如何科学制定年度规划?

《底层逻辑》高清配图

推荐技术在vivo互联网商业化业务中的实践.pdf

推荐系统基本问题及系统优化路径.pdf

荣耀推荐算法架构演进实践.pdf

大规模推荐类深度学习系统的设计实践.pdf

某视频APP推荐策略详细拆解(万字长文)

关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

d477457b4096a4a1c72efd608603d381.jpeg

一个「在看」,一段时光👇

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值