论文笔记 | RecSys2019 | Recommending what video to watch next: a multitask ranking system

youtube-multitask-title.jpg

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

一 为什么读这篇

看完MMoE后接着看这一篇,进一步加深对MMoE的理解

二 截止阅读时这篇论文的引用次数

2020.2.18 9次。从19年9月出来后,不到半年能引用9次,算是相当不错了

三 相关背景介绍

同样没往arXiv上挂,中了19年9月的RecSys。同样是G家出品,来自YouTube那边,10个作者中英混合。一作赵哲PHD毕业于密歇根大学,和MMoE的一作马家祺一个学校的,本文是赵哲最近在google任research scientist完成的。

四 关键词

multi-task

mmoe

selection bias

五 论文的主要贡献

1 MMoE模型在YouTube上的应用

2 提出偏置网络消除训练数据中偏置的影响

六 详细解读

0 摘要

本文应用于YouTube的多目标排序系统。主要面对两个问题,第一个就是存在多个相互竞争的排序目标,第二个就是用户反馈中隐含了选择偏见。为了解决这些问题,本文用MMoE优化多目标排序,用W&D减轻选择偏见。

1 介绍

现实世界的大规模视频推荐系统存在的挑战,包括:

1 不同的有时甚至相互冲突的优化目标。例如除了观看之外,还希望推荐用户评价高并与朋友分享的视频。

2 系统中的隐式偏见。例如用户点击并播放一个视频可能是因为其排序靠前而不是用户真的最喜欢它。因此使用从当前系统生成的数据训练模型将产生偏差,从而导致反馈循环效应。

为了解决这些挑战,本文提出的模型如图1所示。它继承自Wide & Deep,采用了MMoE进行多任务学习。此外,还引入了一个浅层塔来消除选择偏差。

youtube-multitask-fig1.jpg

具体来说,首先将多个目标分为两组:1)互动目标,例如点击,与推荐视频的参与程度 2)满意度目标,例如点赞,评分。使用MMoE来学习多目标,混合专家架构将输入层模块化为专家,每一个聚焦于输入的不同方面。这提升了从多种模态生成的复杂特征空间学习到的表示。接着利用多门网络,每个目标选择专家来决定是否与其他专家共享。

为了消除偏差,提出了如图1左侧所示的浅层塔结构,它以与选择偏差相关的特征作为输入,例如排序顺序。输出是一个标量,作为主模型最终预测的一个偏置项。

本文主要贡献如下:

1 引入了一个端到端的排序系统应用于视频推荐

2 将排序问题定义为多目标学习问题,并从MMoE架构的扩展来提升所有目标

3 提出Wide & Deep模型架构来消除位置偏差

4 在现实世界的大规模视频推荐系统上得到了验证

2 相关工作

2.1 工业界的推荐系统

工业推荐系统的主要挑战是可扩展性。主要依赖隐式反馈。

2.2 推荐系统的多目标学习

举个例子,一个用故可能点击了一个item,最终却不喜欢它。用户仅仅对点击过或有交互过的item才能进行评分。

2.3 对训练数据中的偏差的理解和建模

用户和当前系统会有选择偏差,例如,一个用户点击过一个item只是因为它被当前系统选出来了,即使它不是整个库中最有用的一个。因此,基于当前系统生成的数据来训练新模型会导致偏向当前系统,引起反馈循环效应。

《Evaluating the accuracy of implicit feedback from clicks and query reformulations in web search》这篇07年的文章最先分析了隐式反馈中的位置偏差和展现偏差。

一个最常用的实践是在训练时将位置作为模型的输入特征,在预测时将其移除。

3 问题定义

除了之前提到的挑战,现实世界的大规模推荐系统还有如下因素需考虑:

多模特征空间:例如,视频内容,缩略图,音频,标题和摘要,用户统计学。相比其他机器学习应用,学习从这些多模态特征空间的表示是推荐系统的独有挑战。它解决了两个困难的问题:1)通过低阶内容特征弥合语义鸿沟,以实现内容过滤。2)学习item的稀疏表示用于协同过滤

可扩展性

3.1 候选生成

采用多种候选生成算法,每一种作为查询视频和候选视频之间相似度的一方面。

3.2 排序

4 模型架构

4.1 系统概览

排序系统学习两种类型的用户反馈:1)交互行为,例如点击和观看。2)满意度行为,例如点赞和退出。将排序问题建模为多目标分类问题和回归问题的组合。本文采用point-wise的方法,主要是出于性能的考虑,pair-wise和list-wise限制了系统的可扩展性。

4.2 排序目标

为了描述方便,本文将所有目标分为两类:互动目标和满意度满标。互动目标包括点击和观看,将点击定义为二分类任务,将观看时长定义为回归任务。类似的,对于满意度目标,将是否喜欢视频定义为二分类任务,将打分定义为回归任务。分类任务用交叉熵损失,回归任务用平方损失。

对于每个候选,使用加权乘法形式的组合函数输出组合分数,这些权重是在考虑最佳用户互动和用户满意度之上手动调节的。

4.3 使用MMoE来对任务关系和冲突进行建模

MMoE是一种软参数共享模型,其核心理念是用MoE层替代共享ReLu层,同时为每个任务增加一个单独的门网络。

本文提出增加的专家位于共享隐层之上,如图2b所示,这是因为MoE层能从输入中学习到模块化信息。当直接在输入层或较低的隐层使用时,可以更好地模拟多模态特征空间。然而,直接应用MoE层在输入层将显著增加模型的训练和预测成本,这通常是因为输入层的维度远高于隐层的维度。

youtube-multitask-fig2.jpg

公式这里基本上就照搬MMoE原作的公式了,值得注意的是,与Hilton等人在17年提出的稀疏门控网络(在该网络中,专家的数量可能很多,并且每个训练样本仅利用顶级专家)相反,本文使用的专家相对较少。这是因为为了鼓励通过多个门控网络来共享专家并提升训练效率。

4.4 建模并消除位置偏差和选择偏差

在YouTube的排序系统中,查询是当前观看的视频,候选是相关的视频,用户通常会倾向点击并播放展示位于前列的视频,而忽略了他们本身真正的偏好,无论是与观看视频的相关性还是用户偏好来说都是这样。建模并消除选择偏差可以提升模型质量,并打破选择偏差带来的反馈循环问题。

本文模型采用类似Wide & Deep架构,将模型分为两个部分,主塔的用户效用部分和浅层塔的偏差部分。具体来说,用诸如位置特征等偏差特征训练浅层网络,之后将其与主模型相加作为最终的logit,如图3所示。

youtube-multitask-fig3.jpg

训练时,所有曝光位置的都使用,用10%的丢弃率丢弃改特征,以防止模型过度依赖位置特征。在serving时,位置特征被视为缺失。将位置特征与设备特征交叉的原因是,在不同类型的设备上观察到不同的位置偏差。

5 实验结果

5.1 实验设置

对于本文模型和基线模型,训练都是一直持续的。离线实验监控的指标是AUC和平方损失。在线实验做A/B测试,同时考虑serving时的性能开销。

5.2 使用MMoE的多目标排序

5.2.1 基线方法

如图2a所示,出于性能考虑,本文的MMoE层共享一个底层隐藏层,而不是直接共享输入层。

5.2.2 在线实验结果

如表1所示。

youtube-multitask-table1.jpg
5.2.3 门网络分布

如图5所示,绘制了每个任务每个专家在softmax门网络上的累积概率。可以看到一些互动任务同其他共享任务共享多个专家。而满意度任务倾向于共享一个小子集上的专家。

youtube-multitask-fig5.jpg

另外,本文也验证了直接在输入层上使用MMoE,发现在线实验结果与图2b相比并没有显著差异。

5.2.4 门网络稳定性

这一节介绍了MMoE的一个坑,hinton等人在17年的《Outrageously large neural networks: The sparsely-gated mixture-of-experts layer》指出softmax门网络会有不平衡的专家分布问题,即门网络闭合时专家上的多数值都为0。本文发现有20%的几率会出现这种极化现象。为解决该问题,在门网络上使用dropout,通过以10%的几率将专家的利用率设置为0并重新归一化softmax输出,本文消除了们门网络的极化问题。

5.3 建模并消除位置偏差

5.3.1 分析用户隐式反馈

如图6所示,位置越前CTR越高。在更前面更高的CTR综合了item是更相关的以及位置偏差的影响。

youtube-multitask-fig6.jpg
5.3.2 基线方法

方法A:直接使用位置特征作为输入

方法B:对抗学习

5.3.3 在线实验结果
youtube-multitask-table2.jpg
5.3.4 学习位置偏差
youtube-multitask-fig7.jpg

七 小结

本文感觉行文有点啰嗦,许多相同的话在不少地方重复。读这篇前一定要先读MMoE的原作,因为这篇基本上就是MMoE的应用,加了个偏置网络用来消除偏置,如果只有MMoE,这篇文章铁定发不出去。另外本文有不少小trick可以借鉴,比如MMoE的专家不能从太底层开始,比如训练时丢弃10%的偏差特征,比如用设备与位置做特征交叉等等。另外,从实验上来看,指标的相对提升也没有特别明显。

素质四连

要解决什么问题

YouTube排序系统中的多目标问题和训练数据偏置问题

用了什么方法解决

应用MMoE,和偏置网络分别解决,最后融合在一起

效果如何

只在YouTube自己的数据上做了实验,给出的提升是相对提升,感觉不是很大

还存在什么问题

最后多目标分数的融合还是根据经验手调的

算法背后的模式和原理

拿来主义,工程应用论文

八 补充

MMoE论文笔记

你可能感兴趣的:(论文笔记 | RecSys2019 | Recommending what video to watch next: a multitask ranking system)