91精品手机国产在线
[论文解读]—MMoE (2)-Recommending what video to watch next- a multitask ranking system
发布日期:2021-10-25 20:45    点击次数:170

今天继续MMoE在推荐系统中的应用,摘自谷歌Youtube团队在Recsys 2019上发表的文章《推荐下一个看什么视频:一个多任务排名系统》。不了解MMoE的可以参考我之前的文章。

青枫拂岸:[论文解读]—MMoE (1):ModelingTask Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

本文围绕推荐系统的排名层,深入研究并解决了工业多任务目标之间的竞争和用户反馈中的隐性选择偏差问题。

1.背景介绍

给定用户当前播放的视频,如何预测用户可能播放的下一个视频,是Youtube工程师关心的问题。但是有两个问题需要解决:

优化的多个目标往往不同,有时相互冲突。例如,除了点击观看视频(ctr)外,我们可能还想推荐给用户评价较高或者更可能个朋友分享的视频。系统中经常存在隐性偏见。例如,用户单击并观看视频可能仅仅是因为该视频被排在物理位置的前面,而不是因为该视频是用户最喜欢的视频。因此,使用当前系统生成的数据训练的模型将有偏差,可能会出现反馈循环,导致模型越学偏差越大。如何有效地学习减少此类偏差是也是一个需要解决的问题。2.模型结构

整体结构图

在本文中,宽和深体系结构用于解决两个问题:

解决问题1,用MMoE代替Deep层的一般结构,任务分为两类:(更多详情请参考MMoE结构前一栏)。

1 >参与目标,如点击和参与推荐视频。

2 >满意度目标,如好恶评级等。

目标是分类和回归问题的结合。从而避免了多任务优化冲突问题。

要解决问题2,在主模型中添加浅塔。

偏差的单独建模。仅接收与选择偏差相关的输入,例如由当前系统确定的排名顺序,并且输出是倾向分数。

预测方法是逐点的。虽然成对和列表方式可以预测两个或更多候选的序列,并潜在地提高推荐结果的多样性,但点方式更适合服务。更快更高效。相比较而言,成对和列表比较耗时。

(关于点式、成对式和列表式的区别,请参考点式、成对式和列表式的比较。)

这两项任务是:

敬业度目标是否被点击或观看(分类问题),用户观看视频的时长(回归问题)。

满意度客观(是否点击“喜欢”(分类问题)、视频评分(回归问题)。

多任务是两个目标的结合。分类问题将损失设为交叉熵,回归问题将损失设为平方损失。

输出:对于每个候选项目,将计算出的参与目标和满意度目标进行组合,以获得最终的组合分数。

MMoE模型代替shared Bottom常见的多目标排序系统采用共享底层结构,但这种硬参数强制共享底层的方案对于目标间相关性很小的任务不够有效。

利用聚集网络和专家网络组成的MMoE模型,根据不同的任务对专家网络的输出结果进行不同比例的融合,从而更好地对多模态特征空进行建模,效果更好,但也带来了更多的参数和时间消耗。

具体MMoE模型见我之前的专栏:[论文解读]—MMOE (1):用多门混合专家建模多任务学习中的任务关系。

消除位置、选择偏差

youtube用户看完当前视频后,下一个视频对他们来说并不感兴趣,可能是位置顶端的视频,这就是我们所说的选择偏差的一种表现:位置偏差。这部分的目的是消除排名模型的选择偏差,从而打破模型越来越偏向的反馈回路。

解决方案是在主塔旁边建一个浅塔,也就是MMoE模型,类似于宽&深架构。选择偏差被单独建模,输出的logit被添加到主模型的输出中,如图3所示。

训练时以浏览时的位置信息作为输入,辍学率为10%,防止过度依赖。在线服务,定位功能设置为“缺失”。在上面的文章中,位置特征与设备特征相交,因为作者发现在不同类型的设备上观察到不同的位置偏差。

3.实验结果

实验当然是利用youtube平台。毕竟是全球最大的视频分享网站,月收入19亿,日用户日志1000亿。

对于离线实验,评价指标:分类任务的AUC和回归任务的均方误差。并对生产环境进行A/B测试,利用离线和实时指标调整学习率等超参数。测试了各种参与指标(如使用时间)和满意度指标(如用户调查响应)。此外,我还关心在线服务的计算成本,因为Youtube每秒都有大量的查询响应。

针对多任务问题实验

基线模型采用共享底部模型。更改模型内部参数以更改模型复杂性。

结果表明,在模型复杂度相同的情况下,MMoE显著提高了参与度指标和满意度指标。

聚集网络将权重动态分配给专家网络的输出。我们将进一步展示权重的分布图。(注:所有专家网络的分配权重之和为1)

可以得出,交战任务的概率分布更加均匀;然而,满意任务的概率分布更加极端,可能只依赖于一个或几个专家的输出。

门控网络稳定性问题。

当使用多台机器训练神经网络模型时,分布式训练策略会导致模型频繁发散。就像勒鲁之死。在MMoE中,softmax门控网络已经指出,对于不平衡的Expert分布问题,即当接受分布式训练的专家利用率为零时,我们观察到在我们的模型中存在概率为20%的聚集网络的极化问题。门控网络的极化会损害模型在使用极化门控网络的任务上的性能。

本文解决这一问题的方法是使用退学。将其设置为10%,将专家利用率设置为0,并重新归一化softmax输出,可以消除所有聚集网络中权重分布的极化问题。

针对position bias问题实验

下图显示了位置1-9的CTR,结果包括项目相关性,但也包括位置偏差因素。

有两种基线模型:

Input Feature:将Postition feature 作为一个特征输入模型,现阶段最广泛使用的方法。Adversarial Learning:引入副主任吴预测训练数据中的展现位置,反向传播时,使反向传播梯度消失,以确保主模型的预测不依赖于位置特征。(具体参考论文:Eric Tzeng, Judy Hofman, Kate Saenko, and Trevor Darrell. 2017. Adversarial discriminative domain adaptation)经过比较,浅塔模型效果最好。的每个位置的ctr如下图7所示:

该模型学习每个位置的偏差,位置越低,位置偏差的消除越好。说明浅塔能有效消除位置偏差。

4.未来改进方向探索更多多目标模型架构 平衡 稳定性、可训练性和表达性。MMoE通过灵活的选择共享Expert 网络。下一步要在不影响预测性能的情况下,提高稳定性。继续探索未知的潜在bias 模型去自动识别潜在的偏差目标并消除这些bias。模型压缩 让模型参数更少,更简单。5.总结这篇文章是MMoE模型的工程落地,可以看出多任务场景下,MMoE对比常用的shared-bottom在工业界的大规模数据部署使用上,效果提升。

2.多任务分为参与任务和满足任务。

engagement task: 是否点击 、 观看时长satisfication task: 是否点击喜欢或讨厌 、 用户对视频的评分

就个人而言,参与代表客观反馈。只要你在app里,就一定会留下这个目标值,不主观。满意则代表主观反馈,比如知乎的文章,喜欢就点击认可,不喜欢就点击不感兴趣,或者哔哩哔哩的一键式三网融合等等。这些行为是根据主观性进行的。

3.提出了隐性选择偏差会影响模型的结果,如位置偏差。有可能用户点击只是因为不知道下一步看什么,但是这个查询是序列中的第一个,所以这样播放的视频不是用户喜欢的,但是模型的训练会产生一个循环,会导致模型越来越偏向。单独建造一个浅塔来解决这个问题也是有效的。

上一篇:[视频日志]:彩虹被火箭撕碎
下一篇:[诗经取名]推荐40个取自诗经里面的好名字