- 文献阅读:Deep Neural Networks for YouTube Recommendations
- 1. 内容简介
- 2. 整体系统架构
- 3. recall部分
- 4. rank部分
- 5. 结论 & 思考
- 文献链接:https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45530.pdf
1. 内容简介
这同样是一篇经典老文,或许算是推荐系统领域内最广为人知的文章之一了。
他是google在16年提出的一篇论文,核心点就是将深度神经网络引入了推荐系统当中,在召回和排序模块当中将之前的简单规则替换成了DNN模型,从而获得了更好的效果。
即便是近些年的文章,youtubeDNN网络依然被广泛地用作是实验的对照baseline模型之一,可见这篇文章的广泛影响力。
2. 整体系统架构
youtube的推荐系统的整体架构图如下所示:
可以看到:
- 架构上而言,依然还是传统的recall rank的模式,先通过一个recall模型进行初筛,将数据总量进行大幅缩减,然后通过rank模型进行打分,最后选择其中的部分进行结果展示。
3. recall部分
Recall模型的模型架构如下:
可以看到,输入来说,主要包含三部分的特征:
- 用户的视频浏览历史;
- 用户的搜索关键词历史;
- 用户本身的特征信息;
而网络本身则是一个比较简单多层的Dense网络。
在训练过程中,模型的训练方法是输出一个embedding,然后在视频集合当中计算点积然后求softmax,然后计算cross entropy,而在则是过程中,则是直接取出topN个视频作为召回结果。
另外需要一提的就是关于数据的生成,文中测试了选择中段视频和预测未来的视频两种方式,结果显示后者效果会更胜一筹一些。
最后文中还考察了一下使用的特征数量以及层数对结果的影响,不过结果倒是挺显见的,不出意外的就是特征越多,层数越多则模型效果越好。
不过,毕竟这是一个线上服务,所以考虑到线上的响应时间,所以也不可能无限制往上堆叠就是了。
4. rank部分
rank部分模型和recall部分其实大同小异,本质上还是将用户观看过的视频的embedding进行average一下之后组合上其他特征,然后连同候选视频的embedding一同加入到一个多层Dense网络当中一同联合计算一个分数。
而其结果如下图所示,和前面基本一致。
5. 结论 & 思考
结论而言,这篇文章的核心意义在我看来事实上就是证明了DNN网络确实在推荐系统当中的有效性,虽然现在的大厂应该都不会在自己的推荐系统当中使用这么简陋的模型了,不过无法否认的是,这篇文章确实算是影响深远了。