Recommending What Video to Watch Next: A Multitask Ranking System

最近陆续把一些文章搬到微信公众号上,之后的更新也会在公众号上同步进行. 欢迎搜索:DeepCTR

论文地址:https://dl.acm.org/doi/10.1145/3298689.3346997

前言

这篇论文介绍了一个多目标(multi-object)推荐排序系统,用于YouTube中给用户推荐下一个要观看的视频。该系统面临许多实际的困难,如多种排序目标的中和,用户反馈中的隐式选择偏差(select bias)等。为了解决这些问题,我们使用了多种软参数共享(soft-parameters sharing)技术,如Multi-gate Mixture-of-Experts来高效地优化多个排序目标。除此之外,还使用了类似Wide&Deep的结构来解决选择偏差问题。

I. 简介

本篇论文的应用场景是给定用户正在观看的视频,来推荐该用户下一个想要看的视频。典型的推荐系统往往遵循着两步走的结构 ,即候选集生成(candidatie generation)和排序(ranking),这里可以参考我之前的文章:入门必读:YouTube深度推荐系统。本篇论文主要着重于排序阶段。在该阶段,推荐系统将使用相对复杂的模型,对数百个视频组成的候选集进行打分,并根据打分排序为用户推荐视频。

该推荐系统面临的主要挑战有:

  • 需要优化的不同目标之间可能存在冲突。比如说,除了给用户推荐他/她想看的视频,我们还希望用户可以对视频评高分并与朋友分享,这些目标并不是完全一致的。
  • 推荐系统中的隐式偏差经常存在。比如用户更倾向于点击排在更前面的视频,但这些视频往往不是用户最感兴趣的。因此用现有的数据训练出来的模型将会有偏差,造成反馈循环(feedback loop) 效应。

为了解决以上困难,论文提出了一个用于排序系统的多任务神经网络结构,如图1所示。


图1 多目标推荐系统架构。使用用户日志作为训练数据,构建了Multi-gate Mixture-of-Experts层来预测用户行为的两个类别,即engagement和satisfaction。该结构使用side-tower结构修正了排序中的选择偏差。在最顶部,不同的预测输出被结合和起来产出最终的排序分。

首先将不同的预测目标归为两类:

  • 参与度(engaement)目标,如用户点击,观看视频等;
  • 满意度(satistaction)目标,如用户喜欢了某个视频,并留下评论等。

为了学习和估计不同类型的用户行为,论文中使用了MMoE[1]来自动学习所有可能冲突的目标之间的参数共享。MMoE模型可以将输入层进行建模成不同的专家层(expert layer),对输入层的不同方面进行学习,这提升了模型从复杂特征空间学习表达的能力。通过使用不同的gating networks,每一个预测目标都可以选择不同的experts的输出进行共享。
为了解决训练数据带来的选择偏差(如位置偏差),我们在主模型的基础上增加了一路shallow tower,如图1中的左侧所示。Shallow tower采用与选择偏差有关的数据作为输入,输出一个标量,serving时作为主模型最终预测的偏置项。这一模型将训练数据中的标签拆解为两部分:即由主模型学习的非偏差的用户行为,以及由shallow tower学习的带有偏差的分数。这一模型可以看做是Wide&Deep模型的延伸,这里shallow tower就代表了Wide的部分。

II. 模型结构

2.1 系统架构

本文所介绍的排序系统学习两种类型的用户反馈:参与行为(engagement behaviors)和满意度行为(satisfaction behavior),参与行为包括点击,观看等;满意度行为包括喜欢,关注,取关等。系统会根据用户行为特征,搜索历史,上下文特征等,来预测前述的两种不同的用户反馈。

2.2 排序目标

总体来说,预测目标有两类,即2.1节介绍的参与目标和满意度目标。这两种目标每个都包含了两种预测任务:二元分类(binary classification)和回归(regression),其中二元分类任务用于点击率预测等,回归任务用于观看时长,用户评分等预测。

为了预测多种目标,需要训练一个多任务的排序模型。对于每个candidate,模型将不同目标的预测结果使用不同的权重整合起来,计算出一个分数,来决定最终的视频排序结果。

2.3 多任务关系建模以及MMoE

多目标排序系统通常会使用一种底层共享的结构,如图2 (a)所示。但这种硬参数共享(hard-parameters sharing)的模式会对多目标的学习不利,尤其是在两个任务之间的关联不大的情况。为了解决这一问题,论文采用了Multi-gate Mixture-of-Experts(MMoE)的模型[1],如图2(b)所示。

图2 底层共享网络与MMoE

MMoE模型是一个软参数共享(soft-parameters sharing)结构,能够更好的处理多个任务间的冲突问题。MMoE改进了Mixture-of-Expert(MoE)结构,允许不同的expert layers间共享参数,并且使用不同的gating network来控制每一个模型。MMoE在处理不同任务时,与底层参数共享模型相比并不会显著增加网络参数,其主要变化就是用MoE层来代替ReLu层,并为每个任务增加单独的gating network。

本论文中的排序系统在共享的隐藏层之上增加了expert layer,如图2(b)所示。这是因为使用MoE层用在hidden layer或input layer之上更好的对多模态(multimodal)的特征空间进行建模。之所以不在输入层上直接使用MoE,是因为输入层维度通常很大,使用MoE会使模型的serving性能下降。

Export layer采用了典型的MLP+ReLu结构。给定任务 ,预测输出为,最后一层hidden layer ,含有n个experts的MMoE层的输出可以写作:

此处是hidden layer输出的低阶embedding,是任务的gating network,,是个gating入口,是第个expert. 这里的gating network是简单的线性函数加上softmax层:

2.4 消除选择偏差

复杂的神经网络模型可以使用大量的用户隐式反馈(implicit feedback)来训练排序模型。但由于隐式反馈来源于真实推荐系统的数据,因此往往是带有偏差的,如位置偏差等。在视频推荐系统中,用户会倾向于点击观看排名靠前的视频,而不是他们真正喜欢的视频。消除这类位置偏差有助于打破反馈循环,提升模型效果。

论文采用的结构类似于Wide&Deep,将模型预测拆分成user-utility和bias component两部分,分别通过main tower和shallow tower来学习。Shallow tower专门使用了与选择偏差有关的特征来训练,并加入到主模型最终预测的logit上作为偏置项,如图3所示。这里采用设备信息(device info)的原因是位置偏差与用户使用的设备也有很大关系。

图3 使用shallow tower来学习选择偏差

IV. 总结

本论文提出了一个多目标排序系统,并将其应用于为用户推荐下一个视频。为了优化多中排序目标,模型采用了MMoE结构,并使用了软参数共享的方式对多目标进行学习。同时,模型还加入了一个轻量级的shallow tower结构,专门用来消除推荐中的选择偏差问题,尤其是位置偏差。

参考资料
[1] Jiaqi Ma, Zhe Zhao, Xinyang Yi, Jilin Chen, Lichan Hong, and Ed H Chi. 2018.
Modeling task relationships in multi-task learning with multi-gate mixture-of�experts. In Proceedings of the 24th ACM SIGKDD International Conference on
Knowledge Discovery & Data Mining. ACM, 1930–1939.

你可能感兴趣的:(Recommending What Video to Watch Next: A Multitask Ranking System)