Press "Enter" to skip to content

【CTR】MMoE-PosBias:Youtube 多任务学习框架

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

本篇论文为 Youtube 2019 年的工作《Recommending What Video to Watch Next: A Multitask Ranking System》,发表于 RecSys。

 

推荐系统中会出现很多挑战,比如多目标问题、选择偏差问题问题等,为了解决这样的挑战,作者提出了 MMoE-PosBias 架构,利用 MMoE 框架解决多目标问题,并利用 Wide&Deep 框架来缓解选择偏差的问题。

 

MMoE 上一篇论文有过介绍,选择偏差问题我们在之前介绍的阿里妈妈团队的多任务学习算法 ESMM 中也提到过,不过这里主要是位置上的选择偏差。

 

1.Introduction

 

推荐系统通常分为召回和排序两个阶段,本篇论文聚焦于推荐系统中的排序过程,召回过程采用 Deep Candidate Generation 模型进行召回。

 

设计并部署一个真实大规模的视频推荐系统会面临很多挑战,比如说:

 

多目标问题:视频推荐的目标大体可以分为 engagement objectives(例如点击、播放等)和 satistaction objective(例如点赞、收藏、评分等),这两类目标可能有冲突,比如说,用户喜欢观看的视频和喜欢收藏的视频可能是两种类型的视频;

 

隐式偏差:用户会点击排名靠前的视频,可能并不是因为他喜欢,而是仅仅是因为其位置靠前。利用这样的样本进行训练会出现 feedback loof 的效果,进一步强化样本偏差。

 

为了解决这个问题,作者提出了一个高效的多任务神经网络学习架构,如下图所示:

第一眼看起来会比较乱,首先我们可以将其分为上下两部分,上面是系统,下面是 Wide&Deep 模型。

 

Deep 部分用 MMoE 来进行多任务学习,利用多个专家网络和多个 Gate 进行多目标预测,并对多个目标进行线形加权得到最终的目标函数;

 

Wide 部分用浅层模型代替(shallow tower),接收与选择偏差相关的输入,并输出一个标量最终预测的偏差项,并与上层的 user engagement 进行相加,从而减少位置偏差带来的影响。

 

2.MMoE-PosBias

 

接下来,我们看一下具体内容。

 

2.1 Ranking Objective

 

在多任务排序模型中,作者将目标函数分为两类:engagement objectives 和 satisfaction objectives。前者用于捕获用户的点击观看行为、后者用户通过点赞收藏评分等来捕捉用户的满意程度。

 

诸多不同不同的目标中,例如点击、点赞作为分类任务,观看时常、视频评分作为回归任务。

 

最终作者会利用线形加权的方法来整合多个目标函数,并通过微调权重来获得最好的性能。

 

2.2 Task Relations and Conficts

 

下图展示了两种多任务模型框架:

左边为一般的基于 hard-parameter sharing 的 MTL 架构,右边是基于 soft-parameter sharing 架构的 MMoE 框架。前者在低相关性的多任务学习中表现欠佳,而后者可以很好的克服这一点。

 

所以作者使用 MMoE 作为多任务模型的框架,有助于从输入中学习到模块化的信息,从而更好的对多模态特征空间进行建模。

 

但是直接用 MoE 层的话会显着增大训练和预测的计算量(输入层维度比隐藏层维度大)。

 

所以利用 MLP 来实现专家网络:

 

其中,n 为主任务数,k 某个任务,x 为输入的 Embedding ,为第 i 个专家网络,为 gate 层。

 

2.3 Position Biases

 

我们再来看一下位置偏差。

 

有两种方法来处理学习到的位置特征:

 

直接作为输入;

 

或者利用 Adversarial learning 将位置作为一个辅助的学习目标来预测,并在反向传播阶段把提督取负,这样主模型便不会依赖位置特征了。

 

作者的实验表明,直接作为特征进行输入在深层网络中的效果不太好,所以采用了第二种方式来处理位置特征。

 

位置偏差是选择偏差中非常常见的一种,作者通过增加一个浅层网络来减少由于推荐产生的用户选择偏差,并打破有选择偏差导致导致的反馈循环,其结构如下图所示:

作者利用 shallow tower 去建模偏差,其输入的是与偏差相关的特征(如物品展示位置、用户设备信息等),输出的是一个偏置项标量,加到(左边的) main model 中的,并经过 Sigmoid 函数得到最终的输出。

 

此外,在学习的时候,为了减少对位置的过分依赖,作者还会对模型所有偏差特征进行 10% 的 dropout。

 

3.Experiment

 

来看一下实验部分。

 

下图是 Youtube 的推荐页面:

离线实验中,分类任务使用 AUC,回归任务使用均方误差。线上任务中,使用 A/B 测试。同时,作者利用线上线下实验来微调模型的超参。

 

当然,除了这些指标外,作者还会考虑计算成本。

 

下图展示了不同基准模型和 MMoE 模型的性能对比:

下图展示了每个 expert 对任务的累积概率,可以看到不同 expert 的侧重点是不同的:

下图展示了不同位置的偏差所带来的影响,上半部分表示不同位置的点击率,可以看到位置的对点击率的影响非常大的,而随着位置越靠后,影响越小;下半部分展示了学习到的位置偏差:

下图为线上实验:

4.Conclusion

 

总结:作者首先介绍了推荐系统面临的两个挑战——多任务学习和选择偏差,为了解决这个问题,作者设计了一个大规模的多目标排序框架——MMoE-Posbias 框架,其采用了 MMoE 架构,并利用 shallow tower 来解决位置偏差问题。最终实验表明,该框架能够在线上真实数据集中取得实质上的进步。

 

Youtube 的工业界论文比较简洁明了,也没有太多的花样,但在真实部署时必然会遇到很多困难,想要实际应用还是需要仔细挖掘。

 

5.Reference

 

 

《Recommending What Video to Watch Next: A Multitask Ranking System》

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注