YouTube深度学习推荐系统 《Deep Neural Networks for YouTube Recommendations》

今天分享的是Youtube 2016年的推荐系统论文《Deep Neural Networks for YouTube Recommendations

摘要

YouTube是如今工业界最大、最复杂的推荐系统之一,作者提出了一种高效的基于深度学习的推荐系统。该系统和工业界经典的推荐流程一样,分为候选集生成( candidate generation也称为召回),排序(ranking)两个阶段。

1. 引言

在推荐系统领域,特别是YouTube的所在视频推荐领域,主要面临三个挑战:

  • Scale(规模大):视频和用户数量巨大,很多现有的推荐算法能够在小的数据集上表现得很好,但在Youtube效果不佳。需要构建高度专业化的分布式学习算法和高效的服务系统来处理youtube庞大的用户和视频数量。
  • Freshness(更新快):这体现在两方面,一方面视频更新频繁,需要在新发布视频和已有存量视频间进行balance;另一方面用户行为更新频繁,模型需要很好的追踪用户的实时行为。
  • Noise(噪声):相较于庞大的视频库,用户的行为是十分稀疏的,同时,我们很少获得用户满意度的基本事实,基本上能获得的都是用户的隐式反馈信号。噪音另一个方面就是视频本身很多数据都是非结构化的。这两点对算法的鲁棒性提出了很高的挑战。

2. 系统总览

YouTube深度学习推荐系统 《Deep Neural Networks for YouTube Recommendations》
首先figure2中的millions、hundreds、dozens:表示数据量的级别,全部的video corpus大概是millions级别,经过candidate generation之后大概是hundreds级别,经过ranking之后大概是dozens级别。

Candidate Generation Model:输入包括millions video corpus、user history and context ,旨在快速高效地筛选部分视频集合。

Ranking Model:输入包括hundreds video corpus、user history and context、other candidate sources、video features,旨在得到高精度的TOP N。

3. 候选集生成

3.1 问题建模

我们把推荐问题建模成一个“超大规模多分类”问题。即在时刻 t t t,用户 U U U(上下文信息 C C C)会观看视频 i i i的概率(每个具体的视频视为一个类别, i i i即为一个类别),用数学公式表达如下: