Deep Neural Network for YouTube Recommendations解读
本人微信公众号为“推荐算法学习笔记”,定期推出经典推荐算法文章,欢迎关注。
本文介绍的是YouTube的经典深度推荐算法论文《Deep Neural Networks for YouTube Recommendations》,论文地址https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/45530.pdf
一. Youtube推荐系统架构
youtube推荐系统架构图如下所示
可以看到YouTube的推荐系统分为了两个阶段
阶段1:召回阶段(candidate generation),负责从海量的视频当中挑选出用户可能感兴趣的候选视频,一般几十到几百不等
阶段2:精排阶段(ranking),对阶段1生成的候选视频进行排序,最终返回topK视频给用户
下面分别对召回阶段和精排阶段进行详细介绍
二.召回阶段
召回阶段的模型如下所示
召回阶段的目标是为每个用户生成1个user vector和为每个视频生成1个video vector。然后利用公式
就可以求出用户u对视频v的感兴趣程度。
(1)怎么生成user vector?利用用户的历史数据行为和上下文特征,经过多层神经网络的输出就是user vector
(2)怎么生成video vector?采用的是类似word2vec的方法,如下图所示
输入是user vector, 输出是每一个视频用户会点击的概率,然后使用negative sample的方法进行训练就可以得到每个视频的video vector
(3)我们可以将所有用户的user vector和所有视频的video vector存储起来,这样在serving的时候就可以直接取出来直接计算用户感兴趣的候选视频。由于视频的数量巨大,一般采用局部敏感哈希等方法来加速计算
三.精排阶段
精排阶段的模型如下所示
可以看到模型采用的一个非常简单的DNN。但是值得注意的是它的预测目标是视频的平均观看时长(点击率*观看时长),为了达到这个预测目标,可以看到它采用的是weight logistics regression,serving的时候采用的exp(Wx+b)。那么它们是怎么推出来的呢?推导过程如下图所示
本人微信公众号为“推荐算法学习笔记”,定期推出经典推荐算法文章,欢迎关注。