Supervised Contrastive Learning For Recommendation

在这里插入图片描述

摘要:

我们的目的是充分考虑对比学习在推荐系统场景中的应用,使其更适合于推荐任务。我们提出了一个监督对比学习框架来预训练用户-项目二部图,然后对图卷积神经网络进行微调。具体来说,我们将在数据预处理过程中比较用户与物品之间的相似度,然后在应用对比学习时,不仅将扩增视图视为正样本,还将一定数量的相似样本视为正样本,这与SimCLR不同,SimCLR将一批中的其他样本视为负样本。我们将这种学习方法称为监督对比学习(SCL),并将其应用于最先进的LightGCN。此外,为了考虑节点交互的不确定性,我们还提出了一种新的数据增强方法——节点复制。通过对数据集的实证研究和消融研究,证明了SCL和节点复制的有效性,提高了推荐的准确性和对交互噪声的鲁棒性。
整体框架图:
在这里插入图片描述

创新点:

  1. InfoNCE的改进,相似样本试做为正样本
  2. 增强方法,节点动机的复制

一、 InfoNCE的改进

在这里插入图片描述

SGL的缺点:

虽然SGL已经取得了一定程度的效果改善,但我们认为SimCLR的对比学习框架可能并不十分适合推荐任务。具体来说,SimCLR的应用背景是一个计算机视觉(CV)任务。它将一个输入数据的两个增广样本视为正样本,将该批数据中的其他样本视为负样本。由于CV任务中样本的多样性,本设计合理,有助于挖掘硬负样本,提高学习表征的质量。而在推荐系统中,比较的核心是用户或物品节点,最终目的是比较数据的余弦相似度。这意味着很有可能在一个批中存在类似的用户或商品。将这些样本作为负样本,相似的用户或项目在表示空间中会变得越来越远,违背了推荐系统的优化目的,影响了GCN学习到的最终表示,降低了推荐系统的性能。
在这里插入图片描述

改进:

为了更能适应推荐任务,在进行对比学习时,我们不会简单地将同批次的其他样本作为负样本,而是将所有相似的样本作为正样本,将不同的样本作为负样本。这种对比学习方法引入了监督信息,使得相似的用户或项目更倾向于学习相似的表示,这有利于下游推荐任务。这种监督对比表示学习方法从推荐系统的目标出发,其设计更适合于推荐系统,可以进一步提高推荐任务的性能。

建立节点的多个视图后,分别将其输入到GCN中,然后对生成的表示进行对比学习损失。InfoNCE是对同一节点的不同视图作为正样本, 对其他不同的节点的视图作为负样本,与它不同,我们提出一个监督对比学习损失函数,对相似的节点视为正样本。我们称这种损失为监督InfoNCE(S-InfoNCE):
在这里插入图片描述

其中 1 [ k 不 属 于 i ] 1_{[k不属于i]} 1[ki]表示指示器函数,当k与i不相似时,取值为1,否则为0, 而当j与i相似时, 1 [ j 属 于 i ] 1_{[j属于i]} 1[ji],取值为1。

我们的S-InfoNCE使得相似节点的表示在表示空间中彼此接近,以确保它们的一致性。另外,将不同的样本作为负样本,以确保这些节点的表示存在显著差异。我们以推荐任务为目标,并认为相似的用户应该有相似的表示,以促进协同过滤。

SGL infoNCE:
原文 :
在这里插入图片描述

本文 :
在这里插入图片描述
其中sim(u,v)= u T v u^Tv uTv/||u|| ||v|| 表示l2归一化u和v之间的点乘。1[k=i]是一个指示函数,当k不等于i时,值为1。

二、 节点动机复制

在这里插入图片描述

根据概率ρ3,节点复制会将当前节点的部分交互替换为相似节点的相应交互。节点之间的相似度用余弦表示,即交互历史越相似,节点越相似。相似度计算的矩阵形式如下:
在这里插入图片描述

其中G为稀疏矩阵,表示每个节点的交互历史。然后对于每个节点,我们将对S进行排序,并选择可用于替换的前N个节点。我们将每个节点的交互历史划分为k个段,在进行节点复制时,随机替换其中一个段。节点复制如下:
在这里插入图片描述
其中M3是应用于节点集的掩码向量。 这种增强随机替换了部分交互,期望表示能包含更多的信息,增加推荐结果的多样性,提高推荐系统的性能。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值