Google最新论文:Youtube视频推荐如何做多目标排序

2019-11-18 17:20:15 浏览数 (1)

作者 | 深度传送门

来源 | 深度传送门(ID:deep_deliver)

导读:本文是“深度推荐系统”专栏的第十五篇文章,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文主要介绍下Google在RecSys 2019上的最新论文[1],提出了一套大规模多目标排序框架应用于Youtube视频推荐,引入MMoE解决多目标学习,以及解决用户隐式反馈中的selection Bias问题。

介绍

本文提出了一套大规模多目标排序框架应用于Youtube视频推荐平台。众所周知,Youtube视频推荐面临着众多的挑战,包括需要解决多个互相竞争的排序目标、以及用户反馈中的选择偏差(selection bias)等等。为了解决这些问题,我们引入了MMoE[2]来优化多目标排序目标。另外,我们改进了W & D框架来解决用户反馈的selection bias。在Youtube视频推荐的线上实验也证明了本文算法的显著提升。

所谓相互竞争的排序目标,是指在排序的优化目标上往往是相互冲突的。比如我们不仅希望用户观看,还希望用户能给出高评价并分享。所谓用户隐式反馈中的选择偏差(selection bias),具体来说比如用户点击观看视频仅仅是因为它位置比较靠前,而非用户真正喜欢。因此用当前系统收集到的数据训练出来的模型会引发bias,从而形成一个反馈循环,越来越偏。

模型架构

本文提出的系统模型架构如下图所示。具体来说,首先将需要学习的多目标分成两类:engagement目标(点击、观看等用户参与度)和satisfaction目标(用户点赞、评论等喜欢程度)。

对于这两类稍微有点冲突的多目标任务,我们引入MMoE的结构来解决,并通过门结构来加权选择更好地学习独立的目标。

为了减少训练数据中的selection bias(比如position bias),我们添加了如下图左边的浅层塔,接收selection bias相关的特征作为输入(比如排序位置),输出则作为主模型最终预测的偏差项。模型将目标分解为两部分,一个是无偏的用户偏好,另一个是倾向分。模型结构可以看做是Wide & Deep的扩展,用以解决用户反馈中的selection bias。

MMoE结构

如前所述,本文将需要学习的多目标分为参与度和满意度两类,如果是分类问题就用cross entropy loss学习;如果是回归问题则用square loss。最后用加权公式来平衡用户参与度和满意度指标,取得最佳效果。

多目标的排序系统中通常使用的是shared-bottom结构(如下图a所示),但是这种hard-parameter强行共享底层的方案对于相关性小的目标之间的任务,效果是此消彼长有损伤的。因此为了同时学习多个互相冲突的目标并达到平衡,我们采用并扩展MMoE结构来解决多目标冲突问题。

MMoE结构设计的目的就是希望能够在不引入过多模型参数的前提下能够捕捉学习不同任务之间的区别。如下图b所示,网络结构上主要的区别是使用MoE层来替换共享的ReLu层,并为每一个任务单独添加一个额外的门结构。

消除selection bias

在推荐排序系统中,用户的隐式反馈譬如点击、观看等被广泛地应用在训练深度排序网络模型中。但是用户的隐式反馈是有bias偏差的,最明显的就是position bias,很多时候用户点击观看某个视频并不是因为真的喜欢某个视频,而仅仅只是因为其排序的位置比较靠前。因此我们需要去移除这种bias,打破这种越来越偏的循环。

因此我们扩展了W & D网络结构,将模型的预测输出层分解成为两部分:学习engagement的main tower;以及学习selection bias的shallow tower。如下图所示,shallow tower训练的时候将产生selection bias的特征譬如排序位置bias作为输入。在线预测时,位置特征设为missing。

实验结果

Youtube线上实验结果如下图所示,baseline是常用的Shared-Bottom结构。可以看出MMoE结构在基线的基础上,在engagement和satisfaction的两个目标上均有显著提升。

与此同时,我们可以看到排序位置的1-9上的ctr分布如下图所示。这里面有两个方面因素,一方面预估ctr越高则排序位置越高;另一方面由于position bias的存在,排序位置越高则用户更容易点击。模型shallow tower学习到的selection bias分布也显示了这一点。

(*本文为AI科技大本营转载文章,转载请联系原作者)

0 人点赞