背景
在推荐系统存在两个难题:
1. 需要同时优化点击、观看时长、点赞、打分、评论等多个目标,如何同时建模多个目标
2. 存在position bias,即同个视频放在不通位置上点击率等会不同,如何建模position bias
youtube这篇论文采用了MMOE来建模多目标,并用一个shallow tower来建模position bias
场景描述
youtube主要针对的是视频推荐场景,如下图,需要处理的问题是推荐下一个感兴趣的视频。
整体推荐框架采用常见的召回(生成候选)+排序(找出最佳)
- 召回阶段,作者会用多种方法得到多样化的候选videos,如基于视频主题的方法(与当前观看视频相关topic的视频)、协同过滤(看过这个视频的其他用户一般看什么视频)等
- 排序阶段,系统需要提供一个排序的视频列表(如上图右侧所示),这篇论文介绍的就是排序阶段的模型
模型结构
模型包含两个tower:
1. main tower:用了一个mmoe的结构来建模多个目标,但是在mmoe下面也有一个share bootom layer,这样好处主要是可以减少MMOE结构的参数量
2. shallow tower:用了一个浅层tower来建模position bias,输入的特征主要是位置、设备信息等特征
把main tower 和 shallow tower的预估值相加作为最终的预估值
实践技巧
1. shallow tower在训练时把位置特征的drop-out rate设为10,防止过度依赖位置特征,serving时位置特征设为miss,设备信息等特征会正常加入到shallow tower的输入中,因为不同设备上不同位置的bias是不同的
2. MMOE训练时可能会出现某个任务过度依赖一个expert的问题,论文中提出可以对expert叫drop-out,以一定的概率让某个expert失效
参考资料
https://zhuanlan.zhihu.com/p/82584437
标签:Ranking,What,视频,shallow,youtube,建模,System,bias,tower From: https://www.cnblogs.com/xumaomao/p/17275818.html