阅读笔记——Recommending What Video to Watch Next: A Multitask Ranking System

Recommending What Video to Watch Next: A Multitask Ranking System

摘要

在本文中,我们介绍了一个大规模多目标排序系统,在工业视频分享平台上推荐接下来看什么视频。这个系统面临很多真实世界的挑战,包括存在多个竞争排序目标,以及在用户反馈中的潜藏选择偏差。为了处理这些挑战,我们探讨了多种软参数共享技术,如MMoE,以便有效的游戏啊多个排序目标。此外,我们通过采用Wide&Wide框架来减少选择偏差。我们证明了我们提出的技术可以中世界最大的视频共享平台之一上显著提高推荐质量。

 

1、引言

在本文中,我们描述了一种针对食品推荐的大规模推荐系统。即给定一个用户现在正在看的视频,推荐用户可能观看和享受的下一个视频。典型的推荐系统遵循两阶段设计,一个是候选集生产和一个排序。本文主要研究排序阶段。在这个阶段,推荐系统只有几百个从候选集生成阶段获得的候选项,用一个复杂的大容量的模型来排序,然后排序最期待的items。我们从建一个这样的大规模工业界视频发布和分享平台的排序系统进行实验和学习。

设计和开发一个真实世界大规模视频推荐系统是充满挑战的,包括:

  • 我们想优化的目标通常是不同的并且有时候是冲突的。比如,我们可能想推荐用户评分高的视频并分享给他们的朋友,除了观看。
  • 在这个系统中通常有隐藏偏置。例如,用户很可能点击和观看过的一个视频,很简单是因为它被排在前边,而不是因为它是用户最喜欢的。所以,用当前系统产生的数据训练的模型存在bias,造成反馈回路效应【33】。如何有效的学习减少这样的biases是一个待解决的问题。

 

为了解决这些挑战,我们针对排序系统提出了一个有效的多任务神经网络框架。它是通过采用MMoE进行多任务学习将Wide&Deep模型扩展。另外它引进一个shallow tower建模来去除选择bias。我们将这个框架用于视频推荐,作为一个案例研究:给定当前用户正在观看的,推荐接下来将要看的视频。我们在一个工业界大规模视频发布和共享平台上实验我们提出的排序系统。实验结果显示了我们提出的系统很大的提升。

明确的,我们首先将我们的多个目标组成两类:1)、engagement目标,如用户点击和对推荐视频的参与度程度;2)、satisfaction目标,如用户喜欢在YouTube上的一个视频,在推荐系统上留下了评分。为了学习和评估多种形式的用户行为,我们用MMoE自动学习参数来在潜在冲突的目标之间共享。MMoE结构将输入层模块化为专家层,每个专家关注输入中的不同方面。这改进了从复杂特征空间学到的由多种模式产生的表示。然后通过利用多门网络,每个目标可以选择专家是否和其他共享。

为了建模和减少来自偏置训练数据的选择偏置(如position bias),我们提出了在主模型中增加一个shallow tower,如图1左边所示。shallow tower以selection bias作为输入,如当前系统决定的排序,输出一个标量作为主模型最终预测的偏置项。这个模型框架将训练数据的label分解为两部分:从主模型学的无偏的用户效果,和从浅塔学到的评估倾向分数。我们提出的模型结构可以认为是Wide&Deep模型的扩展,用shallow tower表示Wide部分。通过直接和主模型一起学习shallow tower,我们不借助随机试验来获得倾向分数,就可以获得学习选择偏差的好处。

为了评估我们提出的排序系统,我们设计和进行了离线和在线实验来验证有效性:1)、多任务学习,2)、去除常见类型的选择偏置,叫作position bias。和当前最好的基线模型对比,我们提出的框架展现了很大的提升。我们用YouTube,一个最大的视频共享平台,来进行我们的实验。

总之,我们的共享如下:

  • 我们介绍了一个端对端的视频推荐排序系统。
  • 我们将排序问题看作为多目标学习问题,扩展MMoE结构在所有的目标上提升性能。
  • 我们提升使用Wide&Deep模型结构来建模和消除选择偏差。
  • 我们在一个真实世界的大规模视频推荐系统评估我们的方法,且证明有很大提升。

 

本文的剩余部分是这样组织的:在Section 2,我们描述了构建真实世界腿夹排序系统的相关工作。在Section 3,我们提供了候选生成和排序的描述。然后我们在两方面讨论了我们提出的方法,多任务学习和消除选择偏差。在Section 5,我们描述了如何设计离线和在线实验来评估我们提出的框架。最后,我们总结我们的发现在Section 6。

 

2、相关工作

推荐问题可以表示为,给定一个query、context和一些items,返回一些高实用项。例如,一个个性化化的电影推荐系统接受将一个用户的观看历史看作为query,context如周五晚上在家的餐桌上,一些电影,然后返回用户可能观看和享受的电影子集。在这部分,我们讨论一下三方面的相关工作:工业界中推荐系统的研究,多目标推荐系统和理解训练数据中的偏置。

 

2.1、工业界的推荐系统

为了设计和开发一个成功的基于机器学习模型的排序系统,我们需要大量的训练数据。大多数最近的工业界的推荐系统为了构建模型严重依赖大量的用户日志。一种选择是直接询问用户对item实用的明确反馈。但是,由于它的成本,明确的反馈的数量很难扩大。因此,排序系统通常使用潜藏反馈,如点击和推荐项的参与度。

大多数推荐系统【10,20,42】包括两个阶段:候选生成和排序。对于候选生成阶段,采用了多源信号和模型。例如,【26】用共生items生成候选集,【11】采用基于协同滤波的方法,【14】和【19】使用了在(共生)图中随机游走,【42】学习内容表示来过滤items获得候选,【10】描述了一个用特征混合的混合特征。

针对排序,使用learning-to-rank框架的机器学习算法广泛使用。例如,【26】使用线性模型和基于树的模型开发了point-wise和pair-wise学习的排序系统。【16】用一个现形排序函数和一个pair-wise排序目标。【20】针对point-wise排序目标使用梯度级联决策树GBDT。【10】使用了point-wise排序目标的神经网络来预测加权点击。

这些工业推荐系统的主要挑战是容量。因此,它们通常采用基础改进和高效的机器学习算法的组合。为了在模型质量和有效性间平衡,一种流行的选择是用基于深度神经网络的point-wise排序模型【10】。

在本文中,我们首先鉴定了在工业界排序系统中的一个重要的问题:用户潜在反馈和用户在推荐项上的真实反馈之间的不一致。随后,我们介绍了一个基于深度神经网络的排序模型,它使用了多任务学习技术来支持多个排序目标,每个都和用户反馈中的一种类型相对应。

 

2.2 多目标学习推荐系统

从训练数据中学习和预测用户行为是很具有挑战性的。这里存在不同类型的用户行为,如点击、评分和评论等。但是,每一个都不能单独反应用户的真实意图。例如,一个用户点击了一个item,但是最后却不喜欢它;用户只对点击和参与的项目评分。我们的排序系统需要能够学习和评估多种用户行为和效用,然后组合这些评估来为排序计算出最后的有效分数。

现有的行为感知和多目标推荐工作要么只适用于生成候选集阶段,要么不适用于大规模在线排序。

例如,一些推荐系统扩展协同滤波或基于内容的系统来从多个用户信号学习user-item之间的相似性。这些系统有效地用于生产候选集。但是和基于深度神经网络的排序模型对比,它们在提供最终的推荐时u事那么有效。

另一方面,很多存在的多目标排序模型时针对特定类型的特征和应用而设计的,如文本和视觉。扩展这些系统来支持来自多通道的特征是极具挑战性的,例如,来自视频标题的文本和来自缩略图的视觉特征。同时,其他的多目标排序系统,考虑多通道的输入特征不能扩展,由于在多目标中模型参数有效共享的限制。

除了推荐系统研究领域,基于深度神经网络的多目标学习,在针对表示学习的很多传统机器学习应用中也被广泛研究和探索,如自然语言处理和计算机视觉。尽管很多针对表示学习被提出的多任务学习技术,对于构建排序系统不适用,但是一些它们的构建模型激发了我们的设计。在本文中,我们描述了一个基于DNN的针对真实世界推荐的排序模型设计,并且使用了MoE层的扩展来支持多任务学习。

 

2.3、理解和建模训练数据中的bias

用户日志,用作我们的训练数据,从当前品产系统中捕获用户行为和推荐响应。用户和当前系统之间的相互作用创造了反馈中的选择偏置。例如,用户可能点击了一个item,是因为它被当前系统选择了,尽管它不是最整个语料库中最有用的。因此,在当前系统产生的数据上训练的新模型将会偏向当前系统,导致反馈回路效应。如何有效的学习减少这样的偏差对于排序系统仍是一个待解决的问题。

Joachims et al. [22] 首先分析了用来训练学习排序模型的隐式反馈数据中的position bias和presentation bias。通过对比点击数据和相关的显式反馈,他们发现position bias存在于点击数据中,并且严重影响在评估请求和文档之间的相关性中学习的排序模型。基于这个发现,提出了很多方法来去除这样的选择偏差,尤其是position bias。一种常用的做法是将位置作为输入特征注入到模型训练中,然后在serving时通过消融来消除bias。在概率点击模型中,位置用来学习P(relevance |pos)。消除position bias的一种方法是受【8】的启发,Chapelle et al. 用P来评估CTR模型,并假设在位置1没有位置偏差影响。对后,为了消除position bias,我们可以用position作为输入特征来训练一个模型,然后在服务时,将position特征设为1(或者其他固定值如默认值)。

其他的方法尝试从position学习一个bias项,然后将它用作归一化或者正则化。通常,为了学习bias项,需要在不考虑相关性的前提下用一些随机数据来推断bias项(参考’global bias’,’propensity’等)。在【23】中,反倾向分数inverse propensity score (IPS) 是用一个反事实模型学习的,不需要随机数据。在训练SVM的排序时该方法用作正则化。

在真实世界推荐系统中,尤其社交媒体平台,如Twitter和YouTube,用户行为和item受欢迎度每天都有很大的变化。因此,当我们训练主排序模型的同时建模选择偏置时,代替基于IPS的方法,我们需要更有效的方式来适应训练数据分布变化。

 

3、问题描述

在本章节,我们首先描述推荐下一个观看的视频的问题,然后我们介绍生成候选和排序的两阶段设置。本文的剩余部分将关注排序模型。

针对真实世界大规模视频推荐系统,对于用隐式反馈训练的排序系统,除了上边提到的挑战,我们需要考虑以下其他因素:

  • Multimodal feature space.多通道特征空间。在一个基于内容的个性化推荐系统中,我们需要学习来自多通道的特征空间候选视频的用户效应,如视频内容,缩略图,语音,标题和描述,用户人口统计资料。和其他机器学习应用相比,学习来自多模态特征空间的表示对推荐时唯一具有挑战性的。它涉及两个不同的问题:1)、为内容过滤,消除底层内容特征之间的鸿沟;2)、为协同过滤学习items的系数分布
  • Scalability可扩展性。可扩展性时极其重要的,因为我们要为数十亿的用户和视频构建推荐系统。模型必须在训练和服务时都有效。尽管排序系统对每个query只排序几百个候选项,但真实世界场景要求排序是实时的,因为一些query和context信息只在线上可用。因袭,排序系统不仅需要学习十几亿的items和users的表示,还要在serving时有效。

 

回顾一下,我们推荐系统的目标是,对于给定的当前观看的视频和context,提供一个排序的视频列表。为了处理多模态特征空间,对每个视频,我们提去了如视频原书记和视频内容信息特征作为它的表示。对于context,我们用如用户的人口统计数据、设备、时间和位置等特征。

为了处理可扩展性,类似于在【10】中描述的,我们的推荐系统有两个阶段,即,候选生成和排序。在候选生成阶段,我们从巨大的语料库中获得几百个候选项。我们的排序系统为每个候选项提供一个分数来产生最终的排序列表。

 

3.1、候选生成

我们的视频推荐系统使用了多个候选生成算法,每个获取请求视频和候选视频间相似的一方面。例如,一种算法通过匹配query视频话题来生成候选项。另一个算法基于这个视频是否经常和请求视频被一起观看来生产候选视频。我们构建了一个序列模型类似于【10】对给定的用户历史来生成个性化候选。我们也用【25】中提到的技术来生成上下文感知的高召回相关候选项。最后,所有的候选项放入到一个集合,然后用排序系统打分。

 

3.2、排序

我们的排序系统从几百个候选中生成一个排序表。不同于候选生成,它尝试过滤大多数items,仅保留相关的几个,而排序系统旨在提供一个排序的列表以便于那些对于用户高效用的items将被展示在顶部。因此,我们将最先进的使用神经网络结构的机器学习技术用于排序系统,对于学习特征关系和相关效用,以便有更有效的模型表达。

 

4、模型结构

在这一部分,我们详细描述了我们提出的排序系统。我们首先提供一个系统的概览,包括问题表示,目标和特征。然后我们讨论对于学习多种用户行为我们的多目标设置。我们讨论针对多个排序目标的学习,如何使用和扩展目前最好的多任务学习模型架构叫MMoE。最后,我们讨论如何组合MMoE和shallow tower来学习和减少选择bias,尤其在训练数据的position bias。

 

4.1、系统概览

我们的学习系统从两种用户反馈学习:1)、参与行为,如点击和观看;2)、满意度行为,如喜欢和排斥。给定的每个候选项,排序系统用候选项的特征、query和context作为输入,然后学习预测多个用户行为。

对于问题表示,我们使用learning-to-rank的框架【6】。我们建模我们的排序问题作为一个有多个目标的分类问题和回归问题的组合。给定一个query、候选项和context,排序模型预测用户行为的可能性,如点击、观看、喜欢和排斥。

对每个候选进行预测的方法是pointwise方法【6】。相反,pair-wise或list-wise方法学习对两个或多个候选项的排序进行预测。pair-wise或list-wise方法可以用来隐式提高推荐的多样性。但是,我们选择使用point-wise排序主要是基于serving的考虑。在serving的时候,point-wise排序对大量候选的规模是简单有效的。相比之下,pair-wise或list-wise方法需要多次排序对或列表,来为给定的候选集合找到最优的排序列表,这样就限制了它们的可扩展性。

 

4.2、排序目标

我们用用户行为作为训练labels。因为用户对推荐的items有不同类型的行为,我们设计了我们的排序系统来支持多个目标。每个目标用来预测一种和用户效用相关的用户行为。为了描述方便,接下来我们将我们的目标氛围两类:参与度目标和满意度目标。

参与度目标捕获用户行为如点击和观看。我们表示这些行为的预测为两种任务:对于点击这样的行为是二分类任务,和消费时间相关的行为是回归任务。类似的,对于满意度目标,我们将用户满意度的相关行为预测表示为二分类任务或回归任务。例如,对于一个视频如点击喜欢的行为表示为二分类任务,如评分这样的行为表示为回归任务。对于二分类任务,我们计算交叉熵loss。对于回归任务,我们计算平方loss。

一旦多排序目标和问题类型确定后,我们就为这些预测任务训练一个多任务排序模型。对于每个候选项,我们输入这些多个预测结果,然后用一个加权乘形式的组合函数来输出组合分数。权值是手动调整来使用户参与度和满意度上都获得最好的性能。

4.3、用MMoE建模任务相关性和冲突

多目标排序系统通常使用一个底部共享模型架构【7,10】。但是,这样的硬参数共享技术有时候会损害多目标的学习,当任务相关性很低时。为了消除多目标的冲突,我们采用并扩展了最近流行的模型结构,MMoE【30】。

MMoE是soft参数共享模型结构,设计用于建模任务冲突和相关性。它通过在所有任务间共享专家将MoE结构用于多任务学习中,同时对每个任务有一个训练的门网络。和底部共享模型相比,MMoE层设计用来捕获不同任务的差异而不要求很多模型参数。关键思想是用MoE层代替共享ReLu层,并且为每个任务增加一个独立的门网络。

对于我们的排序系统,我们提出在共享隐藏层增加专家,如图2b所示。这是因为MoE层可以从输入学习模块化信息。它可以在直接用于输入层顶部或更底层隐藏层时,更好的建模多通道特征空间。但是,直接将MoE层用于输入层将严重增加模型训练和服务的代价。这是因为通常输入层的维度比其他隐藏层大很多。

我们的专家网络的实现相当于ReLU激活函数的多层感知机。给定任务k,预测为yk,最后一层隐藏层为hk,对于任务k,有n个专家的MMoE层输出fk(x),可以表示为下边的等式: 

 

 

  

 

是一个低级别共享隐藏embedding。gk是任务k的门网络,是第i个入口,fi(x)是第i个专家。门网络是通过softmax层对输入的简单的线性变换。 

 

 

 

这里对于线性变化是自由参数。和【32】中提到的稀疏门网络对比,这里专家数量可以很大,每个训练样本仅使用顶部专家,我们我们用相关的几个专家。这是为了鼓励通过多门网络共享专家以及训练效率。

 

4.4、建模和消除位置和选择bias 

 

隐藏反馈已经广泛用于训练学习排序模型。从用户日志中提取的大量隐式反馈,可以训练复杂的深度神经网络模型。但是,隐式反馈是存在偏置的,由于它是产生于现有排序模型这个事实。研究和证实了position bias和很多种其他选择bias,在很多不同的排序问题中存在【2,23,41】。

在我们的排序系统中,query是当前被观看的视频,候选项是相关视频,通常情况下,用户倾向于点击和观看展示在列表顶部附近的视频,而忽略了他们在观看视频的项目相关性和用户喜好上的真实的用户效用。我们的目标是从排序模型中移除这样的位置偏置。建模及减少训练数据中的选择偏差,或在模型训练中可以使得模型质量增益,并打破由选择偏差导致的反馈回路。

我们提出的模型结构类似于Wide&Deep框架。我们将模型预测分解为两部分:来自主塔的用户效用部分,和来自shallow塔的bias部分。明确的,我们用有选择偏差的特征训练shallow塔,如对于position bias的position特征,然后将它和主模型的最后logit相加,如图3所示。在训练时,使用了所有表示的位置,用10%的特征drop-out比例来防止我们的模型在位置特征上过拟合。在服务时,位置特征认为缺失。我们交叉位置特征和设备特征的原因是在不同类型的设备上观察到了不同的位置偏置。

 

 

5、实验结果

在这一部分,我们描述了如何在最大的视频共享平台之一(YouTube)进行实验,我们提出排序系统推荐接下来看的视频。用YouTube提供的用户隐式反馈,我们训练了我们的排序模型,并且在线下和线上都进行了实验。

YouTube的规模和复杂度使它成为我们排序系统的完美测试平台。YouTube是最大的视频分享平台,每个月有19亿的活跃用户。这个网站每天产生千亿级的以用户和推荐结果的行为交互形式的用户日志。YouTube的关键产品提供了对给定观看的视频推荐接下来要看的功能,如图4所示。它的用户界面提供多种用户和推荐视频交互的方式,如点击,观看,喜欢和排斥。 

 

5.1、实验设置

如在3.1中描述的,我们的排序系统输入是来自多个候选生成算法的几百个候选项。我们用TensorFlow来构建训练和模型的服务。明确的,我们用TPU来训练我们的模型,用TFX Servo来服务。

我们同时训练我们提出的模型和基线模型。意思是,我们按照时间顺序用过去几天的数据训练我们的模型,并持续运行我们的训练器来消耗新到的训练数据。这样做,我们的模型可以适应最新的数据。这对于真实世界的推荐应用是至关重要的,其数据分布和用户模式在一直动态变化。

对于离线实验,我们监控分类任务的AUC,回归任务的平方差。对于在线实验,我们和产品系统做A/B test。我们用离线和在线度量来微调超参数如学习率。我们考察了多份参与度指标,如在YouTube上花费的时间,以及满意度指标如排斥率、用户调查回复等。除了实时指标,我们还关心模型在服务时的计算成本,因为YouTube每秒响应大量查询。

5.2、MMoE的多任务排序

为了评估采用MMoE的多任务排序的性能,我们和基线方法对比,在YouTube上进行线上实验。

5.2.1、基线方法。我们的基线方法用的是图2a中的共享底部模型架构。作为代表,我们用每个模型结构里边的乘法数量来度量模型复杂度,因为这是在模型服务时主要的计算成本。当比较MMoE模型和基线模型时,我们用相同的模型复杂度。由于效率问题,我们的MMoE层共享一层底部的隐藏层(如图2b所示),这一层比输入的维度低。

5.2.2、线上实验结果。在YouTube上的线上实验结果如表1所示。我们报告了两方面的实验结果,捕获用户花在观看推荐诗篇的时间的参与度指标,和捕获用户有评分的调查反馈的满意度指标。我们比较MMoE模型和底部共享模型,使用4个或8个专家。从表中,我们看到用相同的模型复杂度,MMoE在参与度和满意度指标都显著提高。 

 

5.2.3、门网络分布。为了进一步理解MMoE如何有助于多目标优化,我们绘制了每个专家的每个任务在softmax门网络中的累积概率,如图5所示。我们发现一些参与度任务和其他满意度任务共享多个专家。通过用这些专家的概率来测量,满意度任务倾向于共享较小的高利用率的专家子集。 

如上边提到的,我们的MMoE层共享一层底部隐藏层,同时门网络的输入来自共享隐藏层。这可能使MMoE层比直接从输入层构建MMoE层更难模块化输入信息。或者,我们让门网络直接将输入层作为输入代替共享隐藏层,以便于输入特征可以直接用来选择专家。但是线上实验结果显示,和图2b的MMoE层相比没有实质性的差异。这就意味着,图2b中的MMoE门网络可以有效地模块化输入信息到任务相关性和冲突建模的专家中。

5.2.4、门网络的稳定性。当使用多个机器训练神经网络模型时,分布式训练策略经常会导致模型发散。导致发散的一个例子是Relu death【1】。在MMoE中,已经证实,softmax门网络有专家分配不均衡问题,当门网络收敛到在专家上有最大零利用率时。分布式训练时,我们观察到在我们的模型中这个门刚落计划问题的概率为20%。门网络极化会导致使用极化门网络的任务的模型性能受损。为了解决这个问题,我们在门网络上使用了drop-out。通过使用一个10%的专家利用率为0的概率,并且对softmax的输出归一化,我们消除了所有门网络的极化。

 

5.3、建模和减少Position Bias

一个使用用户隐式反馈作为训练数据的主要挑战是建模隐式反馈和真实的用户效用之间的差异是困难的。使用多种隐式信号和多个排序目标,在服务时我们有更多的调整点来捕获从模型预测到项目推荐中的用户效用的转换。但是,我们仍需要建模来减少通常存在于隐式反馈的bias,如由用户和当前推荐系统交互导致的选择biases。

这里我们评估了如何建模和减少一种选择biases,position bias,用我们提出的轻量级模型架构。我们的解决方案避免了随机试验的成本或复杂计算。

5.3.1、分析用户隐式反馈。为了验证在我们的训练数据中存在position bias,我们对不同的position的ctr进行了分析。如6显示了position从1到9对应的ctr的分布。如期待的,我们看到了随着position越来越低,ctr也明显变低。在更高的位置ctr更高是由于推荐更相关的项目和position bias的组合效应。用我们提出的方法,即采用一个shallow tower,我们在下边证明了它可以分别学习用户效用和position bias。 

 

5.3.2、基线方法。为了评估我们提出的模型结构,我们和下边的基线方法进行了对比。

直接用position特征作为输入特征:这种简单的方法已经广泛应用于工业界的推荐系统来消除position bias,大多数是针对线性学习的排序模型。

对抗学习:受在领域适应和机器学习公平中广泛采用的对抗学习的启发,我们使用了一个类似的技术来引进一个辅助任务,它可以预测训练数据中的显示位置。随后,在反向传播阶段,我们阻止了梯度传给主模型,来确保主模型的预测不依赖于position特征。

5.3.3、线上实验结果。表2显示了我们提出的方法和基线方法在线上的实验结果。我们可以看到我们提出的方法通过建模及减少position bias显著提高了参与度指标。 

5.3.4、学习position bias。图7显示为每个position学习的位置bias。从图中,我们看到为更低的position学习到了更小的bias。学习的biases用带有偏差的隐式反馈来估计倾向分数。使用足够的训练数据来训练模型可以使我们更有效的减少position bias。

 

5.4、讨论

在这一部分,我们讨论一些见解以及限制,我们从开发和实验我们的排序模型的过程中学到的。

5.4.1、针对推荐和排序的神经网络模型架构。很多推荐系统的研究论文扩展了用于传统机器学习应用设计的模型结构,如针对自然语言处理和计算机视觉的CNN的多头注意力机制。但是,我们发现这里边很多模型架构,在特定领域适用于表示学习,不能直接用于我们的需求。这是由于:

多模态特征空间。我们的排序系统依赖于多种特征资源,如来自query和items的内容特征,以及上下文特征。这些特征从稀疏分类空间扩展到自然语言和图像等。学习特征空间的混合时极具挑战性的。

扩展性和多排序目标。很多模型架构设计用于捕获一种信息,如特征交叉或序列信息。通常提高一种排序目标,可能损伤其他的。此外,用复杂模型架构的组合在我们的排序系统很难扩展。

噪声和局部稀疏的训练数据。我们的系统要求为所有的items和querier训练embedding向量。但是,我们大多数的稀疏特征遵循指数分布,并且在用户反馈上有很高的方差。例如,一个用户可能或不可能点击推荐的项目,在相同的query,给定有一点不同的context,这是不能在我们的系统中被捕获的。这在优化尾部项目的embedding空间时造成了很大的差异。

用mini_batch SGD进行分布式训练。我们依靠一个具有强大表达能力的大型神经网络模型来确定特征关系。由于我们的模型消耗大量的训练数据,我们不得不使用分布式训练,而它本身就面临着固有的挑战。

5.4.2、效果和效率的平衡。对于真实世界排序系统,效率不仅影响服务成二,也影响用户体验。一个过于复杂的模型,在生成推荐项目时严重增加了延迟,可能降低用户满意度和线上指标。所以,我们通常更喜欢一个更简单更直接的模型架构。

5.4.3、训练数据中的偏置。除了position bias,还有很多种其他类型的biases。其中一些bias可能不未知的不可预测的,例如,由于我们的系统的限制在提取训练数据时。如何自动学习和捕获训练数据中已知和未知的biases时一个长期具有挑战性,需要更多的研究。

5.4.4、评估挑战。因为我们的排序系统大多使用用户的隐式反馈,离线评估在我们每个预测任务上表示多好,不一定转化为向上性能。事实上,我们观察到通常在离线和线上指标存在不一致。所以,选择更简单的模型以便于产生更好的线上效果。

5.4.5、未来的发展方向。除了上述的MMoE和消除选择偏置,我们提升我们的排序模型在以下几个方向:

*为多目标排序开发新的模型架构,它平衡稳定性、可训练性和表达性。我们发现MMoE通过灵活选择共享哪个专家来提升多任务排序性能。这里也有最近的工作来进一步提升模型稳定性而没有损害预测性能。

*理解和学习因子分解。为了建模已知和未知的biases,我们想开发模型架构和目标,可以自动从训练数据中确认前在的bias并学习减少它们。

*模型压缩。受减少服务成本的需要的推动,我们针对排序和推荐模型开发不同类型的模型表达技术。

 

6、总结

本文中,我们首先描述了在设计和开发工业界推荐系统的几个真实世界的挑战,尤其是排序系统。这些挑战包括多个相互竞争的排序目标的存在,以及在用户反馈中的隐式选择偏差。为了处理这些挑战,我,噩梦提出一个大规模多母鸟的排序系统,并将其用于推荐下一个观看视频的问题中。为了有效优化多个排序目标,我们扩展了MMoE模型架构来利用sotf参数共享。我们提出一个轻量级且有效的方法来建模及减少选择偏差,尤其是position bias。进一步,通过在一个世界上最大的视频共享平台(YouTube)上的线上实验,我们展示了我们提出的技术在参与度和满意度指标上实质性的提升。

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值