多任务学习论文导读:Recommending What Video to Watch Next-A Multitask Ranking System

1. 摘要

这篇论文提出一个视频推荐领域的大规模的多目标排序系统,该系统主要面临几个挑战:1)多个竞争关系的目标;2)用户反馈的选择偏见(selective bias)。 本文探究了大量软-参数共享技术,例如MMoE,来有效的优化多目标排序。除此之外,本文还采用wide&deep框架来缓和选择偏见问题。并且在youtube线上环境验证了方案的效果。

2. 简介

本文描述了一个用户视频推荐的大规模排序服务。具体场景是:给定一个用户播放的视频,生成下一个他可能会播放和喜欢的视频。 典型的推荐系统包含两个阶段:召回(recall),排序(rank)。本文的重点聚焦在排序阶段:对召回阶段输出的数百个内容,应用复杂的模型进行排序,选出其中最有可能被用户喜欢的。

设计与实现一个大规模的线上推荐系统会面临一下挑战:

  • 经常面临不同,甚至冲突的多个目标
  • 经常碰到隐式偏见,例如用户倾向于点击排序靠前的视频,而不是最好的。如果训练数据处理的时候不考虑到这些因素,会陷入feedback loop effect。

所以本文的贡献:

  1. 提出一个基于deep&wide框架的多任务学习框架
  2. deep部分是一个MMoE多任务学习框架
  3. wide部分引入一个浅层网络,来降低selection bias(这篇论文用的是position bias)

作者首先把目标分为两类:

  • 参与性 点击、播放等隐式行为
  • 满足性 点赞、打分等显示行为

这些目标可能正相关,也可能负相关,正好适合应用MMoE框架来解决。为了对selection bias进行建模,引入了一个浅层的模型。该模型输入是一个能刻画selection bias的因子,例如排序的位置,输出一个标量作为主模型输出的偏移量。
简而言之,该模型把用户对视频的喜好拆分成两部分:无偏效用(MMoE学习),bias(浅层网络学习)

3. 相关工作

推荐问题可以理解为:给定一个查询、上下文、候选集,返回一个高可用性的小列表。在这一节,我们会分三部分来讨论:1)工业推荐系统的样例分析;2)多目标排序系统;3)理解训练数据的偏倚问题。

3.1 工业级推荐系统

想要设计、开发一个强大机器学习模型加持的成功的排序系统,我们需要大量的训练数据,在大多数现有的推荐系统中,训练数据都依赖用户的行为日志。
推荐系统想获得用户的显式反馈,例如电影评分等,但是由于用户成本很高,所以显示反馈往往很稀疏。因此,目前推荐系统的训练大多数依赖用户的隐式反馈,例如点击、播放等等。
推荐系统一般分为两个阶段:

  1. 召回
    从海量视频中筛选出部分用户感兴趣的视频,为了提高多样性召回一般使用多路。通常包括:利用共现关系(关联规则),协同过滤,随机游走,基于内容,混合方法。
  2. 排序
    一般采用LearningToRank方法,包括point-wise, pair-wise, list-wise。线上排序服务重点需要考虑效率问题,所以本文选用基于深度神经网络的point-wise方法,因为可扩展性强。

这些推荐系统面临的主要挑战之一就是可扩展性。所以,通常需要从机器学习模型效率和推荐系统架构两个方面着手。为了在模型的效率和效果中取得一个平衡,现在比较通行的做法是使用基于深度学习的pointwise排序模型。
本文首先提出了推荐系统的的问题:用户隐式反馈和真实需求之间的鸿沟;然后,提出一个基于深度学习的多任务学习模型,分别多两种类型用户反馈进行建模。

3.2 推荐系统中的多目标学习

在推荐系统中,用户的行为多种多样,例如:点击、点赞、下单等。 单个用户行为并不能准确反映用户对Item的好恶,例如一个用户播放某个视频,但是最后给了一个低分。并且这些行为之间不是相互独立的,可能会结合在一起决定用户对视频的偏好。所以,我们要结合这些行为分数在一起来评价用户的对某个视频的偏好。
目前不少推荐系统都有考虑到多目标。例如大多数推荐系统在召回阶段都会考虑到多目标,因此应用多种算法来做召回。 还有一些针对特定特征做了多目标排序,例如针对文本特征做了排序,针对图像特征做了一个排序。这些往系统的可扩展性比较差,一来没有利用不同特征之间的关系,二来一旦特征空间比较复杂,整个排序的参数规模会很大。

3.3 位置偏倚

用户隐式反馈受位置偏倚影响很大,这个在搜索和推荐领域早就有人证明了这点。因此,也有了一些工作希望移除位置偏倚的影响。比较常用的做法是把位置作为一个参数带入模型训练和预测过程。例如把位置作为条件概率的前键值,对 p ( c l i c k ∣ p o s i t i o n , i t e m ) p(click|position, item) p(clickposition,item)建模,在预测阶段,计算 p ( c l i c k ∣ p o s i t i o n = 1 , i t e m ) p(click|position=1, item) p(clickposition=1,item)来移除位置的影响。也有一些工作,学习一个全局的 b i a s bias bias因子来对结果进行正规化,缺点是这个 b i a s bias bias做不到个性化。
而且,在真实的推荐系统中,用户的兴趣偏好和视频的流行度每天都在变化,因此利用全局的 b i a s bias bias很难取得好效果。

4. 问题描述

综上所述,推荐领域的排序面临以下几个问题:

  • 隐式反馈不能代表用户真实兴趣
  • 需要考虑多目标
  • 特征很复杂,覆盖很多垂直领域的特征
  • 位置偏倚
  • 大规模应用场景要求模型算法的可扩展性
5. 模型框架

在这一节,本文将会会详细描述提出的排序系统的细节。首先,我们会提供问题的总览,包括:形式化、目标、特征。然后,我们讨论如何设置多目标,以及如何引入经典的多目标排序模型:MMoE来学习多个排序目标。最后,我们会陈述如何结合MMoE和浅层网络来学习和降低 s e l e c t i v e selective selective b i a s bias bias,尤其是位置偏倚。

5.1 系统总览

正如前文所述,本系统的用户行为分为两类:1)参与性,如:点击、播放;2)满足性,如:点赞、评分。给定用户的query, 上下文,候选集,排序系统会预测这两类行为。
出于对线上部署便利性和效率的考虑,本文选用pointwise类方法。
image

5.2 排序目标

本文使用用户的行为种类作为多目标分类的依据。把用户的行为分为参与性和满足性两类。其中参与性拆分成两个目标:一个二分类(是否点击),一个回归(时长);满足性也可以拆分成两个目标:二分类(是否点赞)、回归(评分)。相应的损失函数分别为:交叉熵损失和平方损失。

一个输入样本,模型会输出多个目标的得分。一个权重计算公式结合多个得分计算出最终的分数。这个权重是参数调节出来的,并不是模型学习的。

5.3 用MMoE对目标关系建模

多目标排序模型通常的结构都是底层共享一个shared-bottom结构。然而,如果这些底层共享比较硬,对于相互关系不密切,甚至矛盾的多目标建模,最终的效果会收到损害。因此,youtube在2018年提出了MMoE结构,bottom层为多个expert模块组合而成,每个任务的组合系统不同,因此参数共享比较soft。
在这里插入图片描述
该模型结构并不完全等同于MMoE,因为在推荐领域特征规模很大,为了降低复杂度,在MoE层和输入之间插入一个shared bottom层来对特征进行降维。这种方法其实很常见,例如可以对底层的embedding matrix进行卷积操作,降低矩阵的大小。
shared bottom层上面,就是MoE层,以及边缘的gate。每个MoE层只是一层MLP+ReLU。给定输入 x x x, MoE层的输出为 f ( x ) i , i ∈ [ 1 , n ] f(x)_i,i\in[1,n] f(x)i,i[1,n]。每个任务 k k k的tower的输入为MoE的混合(Mixture), 记为 f k ( x ) = ∑ g k ( x ) i f ( x ) i f^k(x)=\sum{g^k(x)_if(x)_i} fk(x)=gk(x)if(x)i,k是和任务相关的,每个任务有一个独立的 g ( x ) g(x) g(x),即有一个独立的gating network。每个 g k ( x ) = s o f t m a x ( W g k ∗ x ) g^k(x)=softmax(W_{gk}*x) gk(x)=softmax(Wgkx)。Expert的数量可以很多,但是每个task最终采纳的可能只有权重最大的 t o p K topK topK个。

5.4 建模并移除position和selective bias

隐式反馈的位置偏倚,以及其他类型的选择性偏倚在推荐和广告系统中广泛存在,因为隐式反馈受是来自于本系统的上一次推荐,这就是feedback loop。
例如在推荐系统中,我们想基于用户目前正在观看的视频,预测他下一个观看的视频,用户往往倾向于点击观看列表最上面的视频,这和他的兴趣偏好之类因素无关。我们的目标就是在排序模型中移除这种位置偏倚,来提高模型的质量,中断feedback loop。
最终的模型结构大概如下图所示:
在这里插入图片描述
postion和设备特征一起,通过一个浅层网络输出的logit会和task specific tower的logit结合在一起,预测最终的输出。在训练阶段,只有部分样本会加入位置信息,这样是为了防止模型过拟合位置信息。在预测阶段,不考虑位置特征,或者位置特征取一样。

6. 实验

实现表明:

  • 某些expert的作用比其他expert大;
  • 一些task分配给Expert的权重较为均匀,另一些则更极端一些。极端情况的出现会导致gating网络不稳定,一般引入dropout来降低影响;
7. 讨论
  1. 一些在其他领域取得不错效果的模型,如CNN, multi-head attention在CTR预估领域并不能取得很好的效果。原因可能是包括:
    1.1 特征多模态,推荐用到的特征模态比较复杂
    1.2 扩展性和多目标冲突
    1.3 噪音和数据稀疏性
  2. 出于效率考虑,网络结构不易太复杂太深。
  3. 训练数据还存在其他bias
  4. 复杂模型线下,和线上效果评估可能差别较大;
  5. 未来方向:
    5.1 开发新模型,提高扩展性、表达能力
    5.2 对未知bias建模
    5.3 模型压缩,降低latency
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值