从中间选择
作者: Tim Elfrink
机器心编译
参加:张倩
作为世界主流视频平台,谷歌旗下视频网站YouTube的成功离不开精准的视频推荐系统。 YouTube推荐系统的亮点是什么? 他们解决了什么样的问题? 在一篇RecSys 2019论文中,谷歌研究者对这些问题进行了说明。 来自荷兰的一位数据科学家总结了论文的内容。
论文地址: https://dl.ACM.org/citation.cf mid=3346997
Youtube推荐系统解决了什么问题?
在Youtube上观看视频时,页面上会显示用户可能喜欢的视频推荐列表。 这篇论文着重于以下两大目标:
1 )需要优化不用的目标。 他们没有定义准确的目标函数,而是将目标函数分为“参与度”(点击量、时间)目标和“满意度”(点赞数、踩下的量)目标
2 )减少系统导入的“选择偏差”)用户通常倾向于点击第一名的推荐视频,但后面的视频可能参与度、满意度更高。 如何有效地减少这些偏见是一个亟待解决的问题。
用什么方法解决?
图1 :模型的完整体系结构。
论文介绍的模型着眼于两个主要目标。 他们用了一个人
宽度深度模型框架。 宽度模型具有较强的记忆能力,深度神经网络具有泛化能力,宽度深度模型综合了两者的优点。 幅度模型为定义的每个“参与度和满意度”目标生成预测。 这些目标函数可以分为两个分类问题(是否喜欢某个视频)和回归问题(视频的评价)。 这个模型上面有另一个排序模型。 这是输出向量的加权组合,是不同的预测目标。 这些权重将手动调整,以实现各种目标的最佳性能。 另外,为了提高模型的性能,还提出了配对和列表等先进方法,但由于计算时间的增加,这些方法并不适用于生产。
图将shared-bottom层替换为MMoE。
在广度、深度模型的深层部分,使用了多任务学习模型MMoE。 使用现有视频的特征(内容、标题、话题、上传时间等)和观看用户的信息(时间、用户配置文件等)作为输入。 MoE模型可以在不同目标之间有效地共享权重。 共享的底层被分为多个专家层,用于预测不同的目标。 每个目标函数都有一个门函数( gate function )。 此门函数是softmax函数,接收来自与原始共享层不同的专家层的输入。 此softmax函数确定哪些专家层对不同的目标函数很重要。 如下图3所示,不同的专家层对目标的重要度有差异。 与shared-bottom体系结构相比,当不同目标的关联度较低时,MMoE模型的训练不受影响。
图Youtube在多项任务中专家层的应用情况。
该模型的大部分宽度致力于解决系统内视频位置引起的选择偏差问题。 研究人员将这一部分称为“浅塔”( shallow tower ),可以使用简单的线性模型,例如视频被点击的位置、用户观看视频所用的设备等。 “浅塔”的输出与MMoE模型的输出相结合,这也是宽度-深度模型结构的重要组成部分。
这样,模型就会关注视频的位置。 训练期间,dropout比率设定为10%,以避免位置属性在模型中变得过于重要。 如果不使用宽度-深度模型,并将位置作为特征添加,则模型可能根本无法注意到该特征。
结果
该论文结果表明,用MMoE替换shared-bottom层可以在参与度(观看推荐视频所需时间)和满意度(调查反馈)两个目标上提高模型的性能。 增加MMoE的专家层数和乘数可以进一步提高模型的性能。 但是,由于计算限制,现实部署无法实现这一点。
表1:MMoE模型的YouTube实时实验结果。
进一步研究结果表明,参与度的测量可以通过使用“浅塔”降低偏好来改善。 与只在MMoE模型中增加特征相比,这是显著的改善。
表2 )将视频的位置偏见模型化的YouTube的实时实验结果。
有趣的地方
谷歌拥有强大的计算基础架构,但在培训和成本方面非常谨慎; 通过深度-宽度模型,如果需要一个多目标模型,可以在设计网络时预定义一些重要特征,则MMoE模型非常有效; 即使具有强大而复杂的模型结构,也要手动调整末级权重,以根据各种客观预测确定实际排名。 原文链接: https://medium.com/vantage ai/how-YouTube-is-recommending-your-next-video-7e5f1 a6 BD6d 9