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推荐系统架构图如下所示

Deep Neural Network for YouTube Recommendations解读
可以看到YouTube的推荐系统分为了两个阶段

阶段1:召回阶段(candidate generation),负责从海量的视频当中挑选出用户可能感兴趣的候选视频,一般几十到几百不等

阶段2:精排阶段(ranking),对阶段1生成的候选视频进行排序,最终返回topK视频给用户

下面分别对召回阶段和精排阶段进行详细介绍

二.召回阶段

召回阶段的模型如下所示
Deep Neural Network for YouTube Recommendations解读
召回阶段的目标是为每个用户生成1个user vector和为每个视频生成1个video vector。然后利用公式
Deep Neural Network for YouTube Recommendations解读
就可以求出用户u对视频v的感兴趣程度。

(1)怎么生成user vector?利用用户的历史数据行为和上下文特征,经过多层神经网络的输出就是user vector

(2)怎么生成video vector?采用的是类似word2vec的方法,如下图所示
Deep Neural Network for YouTube Recommendations解读
输入是user vector, 输出是每一个视频用户会点击的概率,然后使用negative sample的方法进行训练就可以得到每个视频的video vector

(3)我们可以将所有用户的user vector和所有视频的video vector存储起来,这样在serving的时候就可以直接取出来直接计算用户感兴趣的候选视频。由于视频的数量巨大,一般采用局部敏感哈希等方法来加速计算

三.精排阶段

精排阶段的模型如下所示

Deep Neural Network for YouTube Recommendations解读
可以看到模型采用的一个非常简单的DNN。但是值得注意的是它的预测目标是视频的平均观看时长(点击率*观看时长),为了达到这个预测目标,可以看到它采用的是weight logistics regression,serving的时候采用的exp(Wx+b)。那么它们是怎么推出来的呢?推导过程如下图所示
Deep Neural Network for YouTube Recommendations解读
本人微信公众号为“推荐算法学习笔记”,定期推出经典推荐算法文章,欢迎关注。