【论文学习】动态推荐中的受欢迎度偏见

865 阅读10分钟

原文链接

简介

受欢迎度偏见(popularity bias)是推荐系统中长期存在的问题:受欢迎度高的项目被过度推荐,而用户可能感兴趣的不太受欢迎的项目被欠推荐,这种偏见对消费者和商家都有不利影响,许多研究致力于解决这种偏见。

大多数现有的研究中偏向于将受欢迎度偏见应用一个静态设置,即:通过离线数据集训练推荐模型,然后进行一轮推荐来分析受欢迎度偏见。虽然这些研究突出了受欢迎度偏见的普遍性,但是文章认为偏见会有动态性,包括影响受欢迎度偏见及其演化的因素,以及在系统演化的现实假设下缓解这种偏差的方法的有效性。因此,文章提出了动态推荐中受欢迎度偏见的研究框架。

动态偏见(Dynamic recommendation)可以看作是一个闭环,如图1所示。用户通过一系列操作(如点击、查看、评分)与系统进行交互;然后,用户反馈数据被用来训练推荐模型;训练后的模型用于向用户推荐新产品;然后,持续开始新的循环。

image.png

虽然有很多因素可能会影响这个动态推荐过程,但作者确定了四个可能影响受欢迎度偏见及其演变的关键因素:

  • 固有受众规模失衡(inherent audience size imbalance):用户可能更喜欢某些商品(即使是在无偏见的随机推荐模式下),这意味着少数商品可能拥有非常大的用户规模,而大多数商品的用户规模都很小。
  • 模型偏见(model bias):推荐模型本身可能会放大它为训练而使用数据集中的任何不平衡问题
  • 位置偏见(position bias):根据模型给出的推荐,排名靠前的商品更有可能被用户查看
  • 闭环反馈(closed feedback loop):由于重复循环,从当前推荐模型中收集到的反馈数据将影响未来模型的训练,潜在地会积累偏见

在本文中,引入了流行-机会偏见(popularity-opportunity bias),这是一个基于平等机会概念的受欢迎度偏见的形式化表述。传统的受欢迎度偏见基于的是统计平均,即:比较在受欢迎和不受欢迎的商品中被推荐的次数。而流行-机会偏见衡量受欢迎和不受欢迎的项目是否被点击(或其他指标)与其真实的受众规模所成的比例。,通过比较参与度,而不仅仅是推荐系统的计数,流行-机会偏见可以实现直接与用户满意度和项目提供商的经济收益相联结。

文章主要有三个贡献:

  1. 首先,通过模拟实验对动态推荐中的受欢迎度偏见进行了全面的实证研究,考察了受欢迎度偏见在动态推荐中的演变,以及这四个因素对受欢迎度偏见的影响。文章发现内在的受众规模失衡和模型偏见是造成受欢迎度偏见的主要驱动因素,而位置偏见和闭环反馈进一步加剧了受欢迎度偏见。此外,文章比较了两种不同的负抽样策略,以说明通过负抽样的精心设计可以缓解受欢迎度偏见的影响。

  2. 其次,我们探讨了如何消除动态推荐中的受欢迎度偏见。文中将展示如何将静态环境中提出的去偏见方法适应于动态场景,进一步提出了一种模型无关的假阳性校正(False Positive Correction, FPC)去偏见方法,该方法可以与其他去偏见方法相结合,以进一步提高性能。

  3. 最后,通过大量的实验显示文中提出的动态去偏见方法与静态策略相比的有效性,同时也说明了FPC方法带来的显著性能改进。

问题形式化

动态推荐形式化

假设有一个提供推荐的在线平台,比如推荐电影、工作或歌曲,则其中的动态推荐过程为:

  1. 每次用户访问该平台时,平台都会根据用户历史反馈学习的个性化推荐模型,给出一个商品的排名列表
  2. 定期利用新收集到的用户反馈信息更新个性化推荐模型,为了引导一个新用户(冷启动),平台会通过一些非个性化的方法来了解用户的偏好,例如随机向用户显示一些项目并收集反馈。

综上所述,假设系统中有一组用户U={1,2,..,N}U=\{1,2,..,N\},和一组商品I={1,2,...,M}I=\{1,2,...,M\}。每个用户都有其喜欢的一组商品(为II的子集),喜欢商品ii的用户总数可以定义为 ii的受众规模(audience size),用AiA_i表示。

在开始阶段(boostrap step),系统随机推荐KK个商品来引导用户从而收集用户-商品点击量DD。基于初始数据DD,得到第一个推荐模型Ψ\Psi,例如可以训练一个矩阵分解模型(matrix factorization, MF)。当用户一个个进入系统时,该系统使用最新的模型来推荐𝐾𝐾个排名商品作,并收集新的用户-商品点击量。每LL个用户访问完毕后,系统会基于收集到的所有点击量重新训练模型,所有过程如算法1所示。

image.png

受欢迎度偏见形式化

文中引入了流行-机会偏见来形式化受欢迎度偏见,在动态推荐过程中的每次迭代tt中,为了纠正偏见,首先需要对每个商品计算其真阳性率(true positive rate)。假设商品ii在迭代周期tt中的点击量为CitC^t_i,则ii的真阳性率为TPRi=Cit/AiTPR_i=C^t_i/A_i。之后,通过基尼指数(Gini Coefficient)来度量迭代tt中与商品受欢迎度有关的真阳性率的不平等程度:

Ginit=iI(2iM1)TPRiMiITPRiGini_t=\frac{\sum_{i\in I}(2i-M-1)TPR_i}{M\sum_{i\in I}TPR_i}

其中,商品从1到M按照受众规模非降序排列,即AiA(i+1)A_i \leq A_{(i+1)}。使用Ginit[1,1]Gini_t\in [-1,1]来量化受欢迎度偏见,基尼指数的绝对值越小表示偏见越低。Ginit>0|Gini_t>0|表示真阳性率与商品的受众规模呈正相关,Ginit<0|Gini_t<0|表示负相关(即反向受欢迎度偏见)。

影响受欢迎度偏见的因素

如图1所示,主要关注四个因素:

固有受众规模失衡

不同商品的受众规模不同,这种不平衡可能会导致受欢迎程度偏见。例如,商品的受众规模通常服从长尾分布,即小部分商品的受众规模非常大而大部分商品的受众规模很小。这就导致即使在完全随机推荐的情况下,这种内在的不平衡也将导致用户粘性数据的不平衡(如点击量等)。

模型偏见

推荐模型在用户可能对两个商品的喜欢程度相同的情况下,也会倾向于将训练数据中点击次数多的商品排名高于点击次数少的商品,这是基于协同过滤的算法普遍存在的一个缺陷,如果训练数据不均衡,将直接导致受欢迎度偏见。

位置偏见

在排序场景中,一个常见现象是:在排名较高的位置的商品被查看的概率会高于在排名较低位置的商品。若还存在固有观众规模失衡和模型偏见,则位置偏差会一进步加剧受欢迎度偏见。

闭环反馈

未来的模型是基于先前模型及推荐系统中的点击数据来训练的,通过这种方式,过去产生的受欢迎度偏见会累积,随着反馈循环的继续,在随后的模型中会产生更多的偏见。

经验学习

本节进行了实证研究,研究在动态推荐中受欢迎度偏见是如何演变的,包括之前所讨论的四个因素对偏见的影响,此外,还通过比较两种不同的负抽样策略,以说明通过负抽样的精心设计可以缓解受欢迎度偏见的影响。

设置

该实验面临两个关键挑战:

  1. 如何获得用户-商品相关性的完整基本事实?
  2. 如何模拟用户的点击行为给出建议?

对于第一个挑战,根据真实世界的用户-商品交互数据集生成半合成数据,使用了ML1MCiao数据集,随机保留了每个数据集中的1000个用户。之后,使用矩阵分解模型(matrix factorization , MF)来补全原始数据集从而提供ground truth 用户-商品关相关性。通过修改数据生成过程,还为每个基础数据集生成4个具有不同内在受众规模失衡水平的变量,以研究内在受众规模失衡的影响。

然后,基于算法1的过程运行了模拟实验,其中K=20,T=40000,L=50K=20,T=40000,L=50

对于第二个挑战,基于位置偏差δk=1/log2(1+k)\delta_k=1/log_2(1+k)来建模用户点击行为,以确定用户uu是否会点击查看位置kk处的商品ii

此外,一个特殊操作是:负样本来自每个用户被推荐但未点击的商品,这种方法与传统的负抽样策略(从所有未点击的商品中抽取负样本)相比,可以获得更高的推荐效用和更低的受欢迎度偏见。

缓解偏见的方法

文章通过实证研究证明模型偏见和固有受众规模失衡是影响受欢迎度推荐的两个最重要因素,而其中模型偏见是操作者(研究者)可以直接影响的,其他三个因素则存在于系统的内在方面。通过实验发现若消除了模型偏见,即使有其他三个因素的影响受欢迎度偏见依旧很低。因此,在本节中,将重点讨论如何通过减少模型偏见来减轻动态推荐中的受欢迎度偏见。

通过动态缓解模型偏见

这节的重点在于如何将现有的静态去偏见方法适用到动态场景中,其核心想法在于逐渐提升现有模型中去偏强度权重。

现有的大多数工作都是通过减少模型偏见来减少静态场景下的受欢迎程度偏见。例如,一种叫Scale的方法,通过将推荐模型的输出重新缩放来缓解偏见。具体的说,对于一个用户-商品对(u,i)(u,i)其重缩放分数为:

r^u,iscaled=r^u,imodel/(Ci)α\hat{r}^{scaled}_{u,i}=\hat{r}^{model}_{u,i}/(C_i)^\alpha

其中,r^u,imodel\hat{r}^{model}_{u,i}为推荐模型输出的预测分数,CiC_i为训练数据集中商品被点击的次数,α\alpha为一个超参数用于控制去偏见强度,其值越高强度越高。

在静态推荐中,α\alpha为一个常数,这种设置在动态推荐中显然是不可行的,因此文章中建议随着动态推荐模型的过程进行,将α\alpha从0开始逐渐增大,增大步长设置为Δ\Delta。具体的说就是,从00开始,每次迭代给α\alpha增大Δ\Delta

使用假阳性校正

文中进一步提出了一个用于去偏见的模型不可知假阳性校正方法(a model-agnostic False Positive Correctionmethod for debiasing),简写为FPC,以概率的方式修正基于假阳性信号的预测分数。(文中正阳性信号指的点击率,假阳性信号指的被推荐但未被点击的商品)

假设要预测用户uu和商品ii间的相关性r^u,i\hat{r}_{u,i},现在已有推荐模型得到的预测分数r^u,imodel\hat{r}^{model}_{u,i}。假设商品ii已经被推荐给用户uuFF次,但从未被点击过,对于每次推荐将其记录为{k1,...,kF}\{k_1,...,k_F\},假阳性信号定义为{ck1=0,...,ckF=0}\{c_{k1}=0,...,c_{kF}=0\}。进一步定义用户uu喜欢商品ii的概率为θu,i\theta_{u,i},则P(ru,i=1)=θu,iP(r_{u,i}=1)=\theta_{u,i}。再定义排名位置kk的商品被查看的概率为δk\delta_k,即P(ek=1)=δkP(e_k=1)=\delta_k。综上,在给定假阳性信号的情况下可以计算uu喜欢ii的条件概率: image.png