不断寻求从有偏见的数据中建立无偏见模型的背后
推荐系统已经在我们的日常生活中变得无处不在,从在线购物到社交媒体再到娱乐平台。这些系统使用复杂算法分析历史用户参与数据,根据推断的偏好和行为做出推荐。
虽然这些系统在帮助用户发现新内容或产品方面非常有用,但它们也存在着各种偏差,可能导致效果非常差的推荐结果。今天围绕推荐系统的主要研究之一就是如何去除偏差。 在本文中,我们将深入探讨5种最普遍的推荐系统偏差,并了解一些来自谷歌、YouTube、Netflix、快手等公司的最新研究成果。
1、点击诱饵偏差
凡是有娱乐平台的地方,就有标题党:这些标题或者缩略图极其夸张或者误导,旨在吸引用户点击,但并没有真正的价值。“你绝对想不到接下来会发生什么!” 如果我们使用用户点击作为正向反馈来训练推荐模型,这个模型会偏向于标题党,这种现象是非常不合理的,因为这样的模型会更多地向用户推荐标题党内容,进而放大标题党的危害。 解决这个问题的方法之一是加权逻辑回归。Covington等人(2016)在YouTube视频推荐系统的背景下提出的这个方法中,正向反馈(有点击的展示次数)的权重是观看时间,而负向反馈(没有点击的展示次数)的权重为1。 可以通过数学方法证明,这种加权逻辑回归模型学习的赔率近似于视频的预期观看时间。在实施时,视频按预测赔率排序,从而导致预期观看时间长的视频排在推荐列表的顶部,而标题党(预期观看时间最短)排在底部。 非常失望的是,Covington等人并没有分享他们所有的实验结果,但他们在介绍时说加权逻辑回归比直接预测点击效果要好得多。
2、持续时间偏差
加权逻辑回归可以很好地解决点击诱饵问题,但它引入了一个新问题:持续时间偏差。简而言之,较长的视频总是倾向于观看更长时间,不一定是因为它们更相关,而仅仅是因为它们更长。
考虑一个包含 10 秒短视频和 2 小时长视频的视频目录。10 秒的观看时间在这两种情况下意味着完全不同的东西:前者是强烈的积极信号,后者是微弱的积极(甚至可能是消极)信号。然而,Covington 方法无法区分这两种情况,并且会使模型偏向于长视频(产生更长的观看时间只是因为它们更长)。
快手Zhan 等人 (2022)提出的持续时间偏差解决方案是基于分位数的观看时间预测。
关键思想是将所有视频分桶到持续时间分位数,然后将持续时间桶内的所有观看时间也分桶到分位数。例如,对于 10 个分位数,这样的分配可能如下所示:
(训练示例1) 视频时长 = 120 分钟 --> 视频分位数 10 观看持续时间 = 10s --> 观看分位数 1
(训练示例2) 视频持续时间 = 10s --> 视频分位数 1 观看持续时间 = 10s --> 观看分位数 10 ...
通过将所有时间间隔转换为分位数,模型理解 10s 在后一个示例中是“高”,但在前一个示例中是“低”,因此是作者的假设。在训练时,我们为模型提供视频分位数,并为其分配预测观看分位数的任务。在推理时,我们只是根据预测的观看时间对所有视频进行排名,现在将与视频持续时间本身进行去混淆。
事实上,这种方法似乎奏效了。使用 A/B 测试,作者报告
- 与加权逻辑回归(来自 Covington 等人的想法)相比,总观看时间提高了 0.5%,并且
- 与直接预测观看时间相比,总观看时间提高了 0.75%。
结果表明,在同时提供长视频和短视频的平台上,消除持续时间偏差可能是一种有效的方法。或许与直觉相反,消除对长视频的偏爱实际上提高了整体用户的观看时间。
3 — 位置偏差
排名偏差意味着排名最高的项目是那些创造最多参与度的项目,并不是因为它们实际上是用户最好的内容,而是仅仅因为它们排名最高,并且用户开始盲目地相信他们的排名正在显示。模型预测变成了自我实现的预言,但这并不是我们真正想要的。我们想预测用户想要什么,而不是让他们想要我们预测的东西。
可以通过排名随机化、干预收获或使用排名本身作为特征等技术来减轻位置偏差,我在此处的另一篇文章中对此进行了介绍。
特别有问题的是位置偏差总是会让我们的模型在纸面上看起来比实际更好。我们的模型质量可能会慢慢下降,但我们不知道发生了什么,直到为时已晚(并且用户已经流失)。因此,在使用推荐系统时,监控有关系统的多个质量指标非常重要,包括量化用户保留率和推荐多样性的指标。
4 — 流行偏见
流行度偏差是指模型倾向于对总体上更受欢迎的项目给予更高的排名(因为它们已被更多用户评分),而不是基于它们的实际质量或与特定用户的相关性. 这可能会导致排名扭曲,其中可能更适合用户偏好的不太受欢迎或小众项目没有得到充分考虑。
来自谷歌的Yi 等人 (2019)提出了一种简单但有效的算法调整,可以消除视频推荐模型的流行度偏差。在模型训练期间,他们将逻辑回归层中的 logits 替换如下:
logit(u,v) <-- logit(u,v) - log(P(v))
在哪里
- logit(u,v) 是用户 u 参与视频 v 的 logit 函数(即,log-odds),并且
- log(P(v)) 是视频 v 的对数频率。
当然,右边等同于:
log[赔率(u,v)/P(v)]
换句话说,他们只是通过视频概率对用户/视频对的预测几率进行归一化。来自热门视频的极高赔率与来自不那么受欢迎的视频的中等偏高赔率一样重要。这就是全部的魔力。
事实上,魔法似乎奏效了:在在线 A/B 测试中,作者发现使用去偏排名模型后,整体用户参与度提高了 0.37%。
5 — 单一利益偏见
假设你主要看剧情片,但有时喜欢看喜剧片,偶尔也喜欢看纪录片。您有多种兴趣,但经过训练以最大化您的观看时间的排名模型可能会过分强调剧情片,因为这是您最有可能参与的内容。这是单一兴趣偏差,模型无法理解用户天生具有多种兴趣和偏好。
为了消除单一兴趣偏差,需要校准排名模型。校准只是意味着,如果您 80% 的时间都在看剧情片,那么模型的前 100 部推荐实际上应该包括大约 80 部剧情片(而不是 100 部)。
Netflix 的Harald Steck (2018) 使用称为 Platt 缩放的简单后处理技术展示了模型校准的好处。他展示了实验结果,证明了该方法在改进 Netflix 推荐校准方面的有效性,他用 KL 散度分数对其进行了量化。由此产生的电影推荐更加多样化——事实上,与实际用户偏好一样多样化——并导致整体观看时间的改善。
最后的想法
回顾记忆:
- 点击诱饵偏差意味着模型偏向于点击诱饵内容
- duration bias 意味着模型偏向于长视频(而不是短视频)
- position bias 意味着模型偏向于它自己的预测而不是用户真正想要的
- 流行度偏差意味着模型偏向于流行内容而不是特定用户的独特兴趣
- 单一兴趣偏差意味着模型无法同时学习多个用户兴趣
偏见的清单很长——我们在这里只触及了皮毛——而且它还在不断发展。在某些情况下,解决一个偏差甚至可能会引入新的偏差,正如我们在点击诱饵和持续时间偏差中看到的那样。
因此,想出创新的方法来量化和减轻这些偏差仍然是当今排名工程师最重要的任务之一。仅仅假设排名模型是中立或客观的是不够的:它们将始终反映它们所训练的数据中存在的偏差。