推荐系统 - Youtube深度学习推荐系统

简介

  • 论文《Deep Neural Networks for YouTube Recommendations》由2016年提出,模型主要由两部分组成:candidate generation model和ranking model。candidate generation model用于候选集的生成从几百万个视频中选取出与用户相关的几百个商品,ranking model对几百个商品进行打分,最后根据打分对候选视频进行排序。ranking model相比candidate generation model使用了更多的特征,并且使用了不同的训练目标;
  • candidate generation model根据用户最近观看的视频,预测用户下一次观看视频,论文中将其当做一个多分类问题,最后一次使用softmax回归。ranking model对候选视频进行打分,使用的是weighted logistic目标函数,将期望用户观看时长最为优化目标,权重即为用户观看当前视频的时长。
  • 最终,candidate generation model实时的预测得到user embedding【或者也可离线计算好,只是实时性差了】,并且离线将video embedding存入redis等数据库,通过LSH向量最近邻搜索算法得到用户最相关的视频列表。ranking model在serving阶段通过计算e^{wx+b}来对候选视频进行排序,通过后续的分析可知:这个值即为期望的用户观看时长,与Youtube推荐系统最终的优化目标一致。
Youtube深度学习推荐系统架构.png

candidate generation模型

  • 使用的特征分别为:(1)embedded video watches 用户最近观看视频embedding求平均值;(2)embedded search tokens 用户最近搜索词向量求平均值;(3)geographic embedding 经纬度embedding向量;(4)example age 视频的产生时长;(5)用户性别;
candidate generation model.png

Ranking模型

  • 使用特征:(1)impression video ID 当前候选视频embedding;(2)watched video IDS 用户观看过的最后N个视频embedding求平均;(3)用户语言和 当前候选视频语言 embedding ;(4)time since last watch 该用户上次观看同频道视频的时间;(5)该视频已曝光给该用户的次数 #previous impressions
  • 对特征做了平方x^2、开方\sqrt{x}等处理,引入了特征的非线性,提升模型对特征的表达能力;
ranking模型.png

Youtube推荐系统十大工程问题:

参考:YouTube深度学习推荐系统的十大工程问题 https://zhuanlan.zhihu.com/p/52504407

1. 文中把推荐问题转换成多分类问题,在next watch的场景下,每一个备选video都会是一个分类,因此总共的分类有数百万之巨,这在使用softmax训练时无疑是低效的,这个问题Youtube是如何解决的?
2. 在candidate generation model的serving过程中,Youtube为什么不直接采用训练时的model进行预测,而是采用了一种最近邻搜索的方法?
  • 关于user vector和video vector计算问题:首先,user vector可以利用最后一个隐层的输出结果假设为[N, K_3],其中N为用户数,K_3为第三个隐层的输出维度;则用户向量为[1, K3]
  • 对于video vector,假设最后一个隐层与softmax层的权重为W_n \in (K_3, V),则W_n中的每一列即为每个video对应的向量;
  • 线上使用时候,user embedding实时生成,video embedding离线训练好之后推到线上,使用类LSH方法进行匹配(比如使用现成工具faiss)
候选集生成网络.png
3. Youtube的用户对新视频有偏好,那么在模型构建的过程中如何引入这个feature?
4. 在对训练集的预处理过程中,Youtube没有采用原始的用户日志,而是对每个用户提取等数量的训练样本,这是为什么?
5. Youtube为什么不采取类似RNN的Sequence model,而是完全摒弃了用户观看历史的时序特征,把用户最近的浏览历史等同看待,这不会损失有效信息吗?
6. 在处理测试集的时候,Youtube为什么不采用经典的随机留一法(random holdout),而是一定要把用户最近的一次观看行为作为测试集?
7. 在确定优化目标的时候,Youtube为什么不采用经典的CTR,或者播放率(Play Rate),而是采用了每次曝光预期播放时间(expected watch time per impression)作为优化目标?
8. 在进行video embedding的时候,为什么要直接把大量长尾的video直接用0向量代替?
  • 为了降低计算复杂度,降低线上耗时;也可以使用hashbucket的方式进行代替,根据视频曝光频次对视频ID进行hash编码;
9. 针对某些特征,比如#previous impressions,为什么要进行开方和平方处理后,当作三个特征输入模型?
10. 为什么ranking model不采用经典的logistic regression当作输出层,而是采用了weighted logistic regression?
  • 假设odds定义为:odds = \frac{p}{1-p},正样本除以负样本概率,p表示用户观看某个视频的概率,其出现的概率一般很低;
    ln(odds) = ln \frac{p}{1-p} = \theta^Tx => \left[ odds = e^{\theta^Tx} \right]
    p = (1-p) e^{\theta^Tx} => p = \frac{1}{1+e^{-\theta^Tx}}
    odds = \frac{p}{1-p} => 加上权重 \frac{w_ip}{1-w_ip} \approx = w_ip = E(w_i)
  • 上式中,e^{\theta^Tx}即为ranking模型serving阶段的计算的值,w_i表示用户观看视频的时长;

参考资料

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

推荐阅读更多精彩内容