最近在学习推荐系统的论文,仔细研读了《Deep Neural Networks for YouTube Recommendations》一文。这篇文章是2016年Youtube团队将深度学习应用到推荐系统上的一次尝试,下面详细介绍和解读下这篇文章:
《Youtube深度神经网络推荐系统》
一、 Youtube业务的需求
Youtube面临以下三方面的挑战:
规模大:用户和视频的数量都很大,传统适合小规模的算法无法满足;
更新快:对新出现的视频作出及时和合适的反馈;
噪音:YouTube上的历史用户行为由于稀疏性和各种不可观察的外部因素而不可预测,在实际中很少能获得真实的用户满意度,更多的是隐式反馈噪声信号。
二、 系统概述
整个推荐系统的结构如下,由两个模型组成,一个是候选集生成网络(candidate generation),一个是排序网络(ranking)。候选集生成网络将用户的Youtube活动历史记录作为输入,然后从海量视频集中筛选出一小部分(数百个)视频。排序网络则使用更加丰富的描述视频和用户画像的特征,对数百个视频进行打分排名,做更精细化的推荐。
模型离线指标使用了精确度、召回率、排名损失等,线上指标考虑使用点击率、观看时间、用户参与度等。
三、 候选集生成网络
1、问题建模
论文把推荐问题建模成一个“超大规模多分类”问题,如下面公式所示: