【曝光偏差、对比学习】CLRec:Contrastive Learning for Debiased Candidate Generation in Large-Scale

#论文题目:【曝光度偏差】CLRec: Contrastive Learning for Debiased Candidate Generation in Large-Scale Recommender Systems(CLRec:大规模推荐系统中去偏候选生成的对比学习)
#论文地址:https://arxiv.org/pdf/2005.12964.pdf
#论文源码开源地址:暂无
#论文所属会议:KDD 2021
#论文所属单位:阿里达摩院
在这里插入图片描述

一、主体结构

这篇论文结构相对比较复杂,就不按照公式原理依次讲解,只讲总体思路(可能涉及到XXXX,一般人也复现不出来…)
在这里插入图片描述
论文提出的为item构建向量的方式很特别,可以看到左侧的MLP1为得到每一个点击item的向量权重表示,右侧的MLP2为每一个点击item计算其在全局上的重要性,之后两者相乘为最终的每一个item的权重表示。
在这里插入图片描述
我们先看一下模型的整体架构,先不考虑有偏无偏推荐方法。模型由两部分构成,左边是通过用户-物品的交互序列进行特征选择,怎么进行选择的呢?作者通过将用户预览或点击的物品们分门别类,构建若干个意图集合,之后将每个意图集合里面的item进行权重池化(我们可以看到,上述分为了H个意图集合,也说明了可以构成H个item的序列,具体如右图所示,当然 右图我们稍后再说)。构建了H个意图矩阵之后,通过引入偏置项,进入到MLP层进行输出,之后通过注意力方式(As Query是不是很熟悉),进行意图的修正,采用注意力机制用于从H个向量中选择前K个向量(换句话说,这就是筛选出最符合用户当前的兴趣向量,并把它作为用户的向量),进入到后续进行对比计算。
(如果上述描述不清楚,请详细看下面的图片描述)
在这里插入图片描述
现在重点开始看曝光偏差部分,如下图所述。论文中作者为了缓解曝光偏差,提出了采用先进先出(FIFO)序列。这是什么意思呢,就是说用户-物品序列在用户和当前物品进行交互的时候,谁当做负样本呢,是现在的物品所属的序列中的其他“正样本“当做负样本,之后采用论文提出的自己的对比学习方法进行对比学习。上图的右侧的两个示意图表示为用户在进行负样本选择的时候可以采用两种策略,一种是直接用当前物品的序号表示负样本;第二种是利用当前物品的representation(计算方法如上面所述)作为负样本,这种方式的好处是可以直接利用item to item embedding,采用嵌入式方式节省后期模型训练时间成本。

在这里插入图片描述
左侧我们得到了用户的唯一代表embedding,这时候我们再看模型的右侧部分。首先解释一下什么是主队列和第二队列,上一个步骤我们不是找到了一个意图embedding作为用户的向量表征吗,这个主队列就是这个意图表征序列的全部item集合。第二序列就是用户交互过的其他的item的意图序列。
在这里我们定义:

  1. 如果物品T属于意图N,则主队列和次队列N作为负样本。
  2. 用户继续进行点击商品等的交互,如果属于意图M的项目从主队列出列,则该项目在从主队列出列之后进入队列M。
  3. 从辅助queue弹出的item,舍弃掉。

同时,文章除了主损失函数之外,还定义了三个辅助损失函数,目的分别为:第一是鼓励𝑝(ℎ|𝑡)要两极分化,第二个辅助损失是推动正确的意图向量𝑧+更接近target item,将错误的意图远离target item,第三个辅助损失是为了平衡H个意图,这样每个关联的item数量大致相等。

在这里插入图片描述

二、实验结果

在这里插入图片描述

表1显示,CLRec在推荐的item的多样性统计上有超过2倍的改进。从图3中可以看出,sampled softmax 倾向于严格拟合训练数据的分布。然而,CLRec学习了一种相对不同的分布,这种分布向低曝光的item转移,并减轻了马太效应。

减少偏差bias不仅可以使系统更加公平,而且有助于显著提高在线性能。在表2中,将CLRec与其他采样方案进行了比较。观察到负采样,包括它的变体(在batch中的样本共享同一大组负样本)表现不好。此外,CLRec对sampled softmax的改进,在离线度量HitRate@50可以忽略不计。
在这里插入图片描述
然而,CLRec在在线点击率(CTR)方面取得了显著改善,这表明离线指标和在线性能之间存在差异。在表4中,比较了multi-CLRec和CLRec。故意在训练和测试数据具有不同用户分布的环境中评估这些方法。与CLRec相比,多CLRec更健壮,并实现更高的性能。
在这里插入图片描述

本文只是展示了部分实验数据表格,感兴趣的读者可以移步原文进行查看。

三、心得体会

本来是要调研如何减少曝光度偏差,但是阴差阳错的就找到了这篇文章,这篇文章总体思想是:把队列中的样本当做负样本
为了能够让所有样本都有机会被当做负样本,作者设计了队列机制来存储之前的正样本,并只从里边采样下一个batch的负样本。

个人感觉,这样的做法,有可能造成负样本的偏差?毕竟被点击的正样本相对来说还是少数的,很多长尾物品是否会没有办法成为负样本?还是说目的就是不拿他们当做负样本呢?

四、参考文献

1、https://www.jianshu.com/p/1b70769eb8e4
2、https://www.jianshu.com/p/d98b73a1c011
3、https://zhuanlan.zhihu.com/p/405081202

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值