[youtube2019]Recommending What Video to Watch Next- A Multitask Ranking System

摘要

作者提出一个大规模的多目标排序在“what video to watch next”这个工业界的推荐场景下。主要是使用了软参数共享技术Multi-gate Mixture-of-Experts,同时通过W&D结构解决了选择性偏差问题

1.介绍

这篇文章主要focus在ranking阶段而不是召回阶段,在ranking阶段的两个大问题:多个冲突和互相影响的目标 ,以及隐性的偏差。对于多目标我们使用MMoE,对于偏差我们使用一个浅层的塔来进行建模,这样能够节省使用随机来进行偏差分数去除的流量(Learning to rank with selection bias in personal search)。框架如下


模型结构

注意:

  • wide部分和deep部分的合并是通过乘法来的,具体的参数是手调的,所以不是一个完全的end2end框架

2.相关工作

一般的推荐系统都是两步走,召回和排序。
召回包括:1)基于共现;2)基于协同过滤;3)在共现图上进行随机游走;4)基于内容表征(visual discover at pinterest);5)混合各种特征(youtube2016)
排序包括:1)使用线性和树模型进行point-wise和pair-wise学习;2)GBDT for pointwise;3)dnn for pointwise
我们的排序需要保持效果和效率,常见的方案就是使用dnn for point-wise,pair-wise太需要资源了
2.1 多目标学习
一个用户可能点击一个视频单最后点了不喜欢,一个用户可能只喜欢打分而不点击或者观看,我们的系统需要学习和预估用户的各种各样的行为,最后合并成一个最终的分数来进行排序(多种行为怎么合并?)
已知的系统针对多种目标一般只是在召回阶段而不适用于大规模的在线排序阶段,比如(Improving user topic interest profiles by behavior factorization)就会使用各种用户的信号来进行学习以产生候选。
2.2 理解模型偏差
使用当前模型训练的数据训练出来的新模型很有可能会产生(feedback loop effect)。通常去掉位置偏置的做法有这么几种:

  • 在训练中将位置信息作为特征加入,而在预测时候将其固定。
  • 使用归一化或者标准化,使用随机的数据来进行统计
  • IPS(inverse propensity score)不需要随机数据,使用rank-SVM来进行标准化
    在实际的社交网络中,用户和物品的流行度会经常变,所以我们不能使用IPS而需要一个效率更高的方式。

3.问题描述

除了上面提到的困难,实际的大规模视频推荐系统还需要考虑以下几个方面

  • 多模态的特征空间,视频内容、封面图、音频、文本和描述、用户人口学特征等等,这就需要1)连接底层内容特征的语义gap;2)从item的稀疏分布中进行协同过滤。对于视频,我们提取了它的meta-data和视频内容信号作为ta的表达,对于上下文我们使用用户基本信息、设备、时间和地域特征
  • 可扩展性,训练和预测都需要高效,所以我们也是分为召回和排序阶段, 召回大约几百个视频
    3.1 召回
    基于请求视频和候选视频的相似性召回
  • 请求视频的topic相同
  • 请求视频经常被一起观看的视频
  • 序列模型来根据用户观看历史生成个性化视频(youtube2016)
  • 上下文相关的高recall相关视频(《Efficient training on very large corpora via gramian estimation》)
    3.2 排序
    跟召回只选择相关的视频不一样,排序系统主要是提供一个对用户最有用的排序列表

4. 模型结构

4.1 系统总览
从两种数据中进行学习:1)参与型行为比如点击和观看;2)满意型行为比如点赞和取关
我们分别用分类模型和回归模型来进行多目标的学习,使用pointwise的学习方法,主要是出于系统性能的考虑。
4.2 排序目标
我们把点击、点赞作为分类任务,使用交叉熵作为loss;时长和投票作为回归任务,使用mae loss。最终的结果使用权重的合并方式,手工调整权重。
4.3 MMoE
生硬的使用底层的参数共享,如果目标在low的特征层面相关性不强的话其实是有害的,所以我们采用一种软参数共享的模型结构MMoE。主要是使用混合专家的结构,通过与MoE层替换relu层来为每一个任务加上单独的门网络结构,在我们的实验中,我们把expert加在共享隐层之上,结构如下:


image.png

MoE可以学习到一些高阶的特征,但是如果直接把MoE放在input层那么计算开销就太大了,因为input层的维度特别高。我们的export网络使用MLP和relu激活函数,我们使用了比较少的expert主要是为了训练的效率
4.4 建模和去除Bias
类似Wide&Deep模型结构,我们把模型预测分为两个部分,一个是main tower还有一个浅层的偏置tower,偏置tower主要是用来添加偏置信息。训练的时候我们会把大部分position和device信息加上,丢掉10%防止模型太过依赖这个特征。预测的时候,位置特征就直接当做miss。

5.实验结果

5.1 实验设置
我们训练新的model和baseline的model都是用的增量更新的方式,这样模型就能适应更实时的数据,这其实是一个比较难的事情,因为数据分布和用户行为会随着时间的变化而变化。
在离线实验中,我们主要对分类任务检查auc,对回归任务检查squared error。线上数据我们主要通过ab测试来对比效果,比如用户的点击、时长等等。
5.2 MMOE多目标
baseline的model是2a里面的隐层全共享结构,相比之下mmoe不管是4个expert还是8个expert效果都有提升。我们通过画出每个任务的每个export的softmax的门网络的累计概率发现,有些参与型任务的expert概率分布有很多是共享和类似的,但是满意度型的任务却不是,如下图。同时,如果是直接把MoE层架在input层之上却看不到明显的效果差别。


image.png

分布式训练的时候有可能让模型经常偏离,比如Relu death。我们发现门网络中有20%的概率会极化,我们通过10%概率让export失效和重新规范化softmax的输出方法减少了极化情况。
5.3去偏
位置偏置是一个很常见的现象,点击率高有可能是因为位置靠前。有几种去偏的方法
1)直接把位置作为输入的feature,在线性模型里面很常见
2)对抗学习,使用一个辅助的任务来预测位置,并且在反向传播的时候,对梯度取负来让底层的网络不去学习位置的逻辑
最终的结果是shallow tower效果很好
5.4 讨论
1)关于模型结构,很多经典的模型结构比如cnn或者attention对我们的场景不合适主要因为:

  • 我们需要处理多模态的特征,比如内容特征,上下文特征,这些特征很多都是稀疏的类别特征
  • 我们需要应对多目标,很多模型设计是为了获得某一种类型的信息,比如序列信息
  • 大部分的系数特征都是幂率分布,同时用户的反馈有高方差,搜索与对于长尾的数据很难去优化他的embedding空间
  • 基于minibatch的分布式训练本省就有很多挑战
    2)关于效果和效率的折中,效率太低一样的影响用户体验,所以我们选择一种直接和简单的模型结构
    3)关于训练数据的偏差,其实除了位置还有很多别的偏差,如何自动发现和学习这些我们不知道的偏差需要持续探索
    4)关于评估的挑战,因为我们训练主要用的是用户的隐形反馈,所以离线评估的结果不一定能迁移到真实的表现,我们经常会发现离线和在线表现不一致,所以还是需要找一个简单一点的模型,这样泛化性能可能会好一些
    5)关于未来的方向
  • 探索新的模型结构来平衡训练性和表现
  • 理解和学习去分解,自动的发现一些训练数据中潜在的偏差以及学习去除它们
  • 模型压缩

6.重要的参考文献

Practical Lessons from Developing a Large-Scale Recommender System at Zalando
Practical lessons from predicting clicks on ads at facebook
Efficient training on very large corpora via gramian estimation
Improving user topic interest profiles by behavior factorization

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 机器学习术语表 本术语表中列出了一般的机器学习术语和 TensorFlow 专用术语的定义。 A A/B 测试 (...
    yalesaleng阅读 1,958评论 0 11
  • https://mp.weixin.qq.com/s/BuHiG9FjX-OiSNWx3KquQQ 17.随机梯度...
    _龙雀阅读 3,759评论 0 4
  • 概述及标签体系搭建 1 概述 随着信息技术的迅速发展和信息内容的日益增长,“信息过载”问题愈来愈严重,愈发带来很大...
    JinkeyAI阅读 22,747评论 10 241
  • 首页 资讯 文章 资源 小组 相亲 登录 注册 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他...
    Helen_Cat阅读 3,837评论 1 10
  • 本文编译自谷歌开发者机器学习术语表项目,介绍了该项目所有的术语与基本解释。 A 准确率(accuracy) 分类模...
    630d0109dd74阅读 1,980评论 0 1