Deep Neural Networks for YouTube Recommendations

摘要

YouTube是现有最大和最复杂的工业级推荐系统之一。在本文中,我们在一个高水平上来描述这个系统,重点关注由深度学习带来的吸引人的性能提升。本文根据经典的两步信息检索二分法来划分:首先,我们详细描述了一个深度候选生成模型,然后介绍了独立的深度排序模型。我们也提供了practical lessons实际课程和见解,来自设计、迭代、维护一个面向用户反馈的巨大推荐系统。

 

1、引言

YouTube是这个世界上创造、分享和发现视频内容的最大平台。YouTube推荐负责帮助超过10亿用户从一个日益增长的视频语料库中发现个性化内容。在本文中我们将关注最近深度学习在YouTube视频推荐系统中的巨大影响。图1显示了YouTube移动app主页上的推荐。

 

推荐YouTube视频主要从三个角度具有极大的挑战:

Scale:很多现在存在的推荐算法证明在笑的问题上工作很好但是在我们的问题规模上失败。高度专门的分布式学习算法和有效的服务系统对于处理YouTube的大量用户群和语料库是至关重要的。

Freshness:YouTube有非常动态的语料库,每秒几小时的视频上传。推荐系统必须有足够的响应能力来为用后最新的行为和最新上传的内容建模。可以从探索和利用的角度来理解新内容和已确定的视频之间的平衡。

Noise:在YouTube上的历史用户行为由于不可见的外在因素的稀疏性和多样性导致很难预测。我们很少获得用户满意的ground truth,代替的来建立有噪声影响的反馈信号模型。此外,与内容相关的原始数据没有很好定义的本体是很难结构化的。我们的算法需要对我们训练数据的这些特殊特征具有鲁棒性。

 

结合Google的其他产品领域,YouTube正在经历一个基本的实例转移,朝用深度学习对于近期所有的学习问题作为通用目标解决方案。我们的系统是建立在谷歌大脑基础上,最近开源了TensorFlow。TensorFlow为用大规模分布式训练进行各种深度神经网络结构的实验提供了一个灵活的框架。我们的模型学习将近10亿参数,在千亿样本上训练。

对比大量在矩阵因子分解方法的研究,这里有相对很少的工作在推荐系统中采用了深度神经网络。深度网络用于推荐新闻在【17】中,在【8】中的引文和在【20】中的评估级别。Elkahky等人对于跨领域用户用深度学习建模【5】。在基于内容的集合中,Burges等人用深度学习来进行音乐推荐【21】。

本文是按如下组织的:在第二部分介绍简单的系统概况。第三部分描述了候选生成模型的更多细节,包括如何训练和用于服务系统。实验结构将显示模型如何得益于隐藏单元的深度层数和额外的非均匀信号。第四部分详细介绍了排序模型,包括如果修改经典的逻辑回归来训练一个模型用于预测期望观看时长(而不是点击率)。实验结果将说明隐藏层的深度在这种情况也是有用的。最后,第五部分介绍了我们的结论和学习课程。

 

 

 

 

4、Ranking

 

排序的主要任务是用impression data来对特定的用接口特殊化及矫正候选预测。例如,一个用户一般很大的可能性去查看一个给定的视频,但是由于选择了缩略图不太可能点击特定的首页曝光。在排序过程中,我们会使用更多的特征来描述视频以及用户和视频之间的关系,因为只有很少的几百个视频进行排序而不是在候选生成时的百万级的排序。对于集成那些分数不可以直接进行比较的不同候选资源,排序是至关重要的。

我们用一个和候选生成类似的深度神经网络,用logistic regression给每个视频曝光分配一个单独的分数(图7)。然后用这个分数排序视频列表,返回给用户。我们最终的排序目标通常是根据线上A/B测试结果进行调整的,但是一般是一个简单的每个报关的期望观看时长的函数。用ctr排序通常产生欺骗性视频,那些用户没完成的(标题党),而观看时长能更好的捕获互动【13,25】。

 

4.1、特征表达

我们的特征是与属性的和连续/有序的特征的传统分类相隔离的。我们用的属性特征在他们的基数上变化很大——一些是二值的(用户是否已登陆),同时其他有数百万个可能的取值(如用户最后的搜索请求)。根据特征是否仅仅贡献一个单一的值(单价的)或一系列值(多价的),来将其进一步分割。一个单价分类特征的例子是正在排序的曝光视频ID,同时,一个对应的多价特征可能是用户看过的最后N个视频的ID包。我们也根据是否描述了item的属性(impression)或者用户/上下文的属性(query)来分类特征。Query特征是每次请求进行计算,而impression特征是为每个得分item计算一次。

 

Feature Engineering特征工程

我们在我们的排序模型中通常使用数百个特征,粗略地均分为分类的和连续的。尽管深度学习的希望是减轻人工特征工程的负担,但是我们的原始数据的性质不能简单的将其直接输入到前馈神经网络中。我们一直耗费相当大的工程资源来将用户和视频数据转换为可用的特征。主要的挑战是,表达用户行为的时间序列以及如何将这些行为与正在排序的视频曝光相关联。

我们观察到,最重要的信号是那些描述一个用户之前与这个item本身以及其他相似items的交互,在ranking ads中匹配其他人的体验。举个例子,考虑用户在上传了正在排序的视频的频道上过去的历史信息——该用户在该频道看了多少视频?该用户在该话题上最后观看视频的最后时间是什么时候?这些描述过去用户相关items的行为的连续特征是非常有用的,因为它们可以很好的泛化到其他items。我们也发现以特征的形式对从候选生成到ranking传播信息是至关重要的,例如,这个视频候选提到了哪些资源?它们分配到了什么资源?

描述过去的视频impressions频率的特征对于在推荐中引进“搅动”(连续的请求不会返回相同的列表)也是至关重要的。如果最近给一个用户推荐了一个视频,但是他没有观看它,那么模型将会自然得在下一页加载时降低这个曝光。服务即时曝光和观看历史是工程壮举,它本身超出了本文范围,但是对于产生响应推荐是至关重要的。

 

 

Embedding Categorical Features

类似于候选生成,我们用embedding将稀疏的分类特征映射到适用于神经网络的稠密表达。每个唯一的ID空间(词汇)有一个单独的学习embedding维,使得更接近于和唯一值的数量的对数成比例。这些词汇表是在训练前用过去的数据一次创建的查找表。非常大的基数ID空间(如视频IDs或搜索请求条件)用进行截断,通过基于在点击曝光的频率排序后仅包括前N个。词汇表外的值简单映射到零embedding。如在候选生成,多价分类特征embedding在送入网络之前进行平均。

重要的,在相同的ID空间的分类特征也共享底层embeddings。例如,存在一个单一的视频ID的全局embedding,很多不同的特征使用它(曝光的视频ID,用户最后观看的视频ID,推荐的视频ID,等)。尽管共享embedding,但是每个特征是分别送入到网络中的,以便于上面的层可以学习到每个特征的特殊表达。共享embedding对于提升泛化、加速训练和减少内存申请是重要的。模型参数的绝大部分是在这些高基数的embedding空间——例如,100w的ID embedded到一个32维的空间,拥有比2048个单元的全连接多7倍的参数。

 

Normalizing Continuous Features 归一化连续特征

众所周知神经网络对其输入的尺度和分布很敏感,反之,另外一种方法如(ensembles of decision trees)决策树集合对单个特征的尺度具有不变性。我们发现连续特征合适的归一化对收敛至关重要。一个分布为f的连续特征x,通过缩放值来转换为,用累积分布,这样特征就相当于分布在[0,1)。这个积分近似于在特征值的分位数上的线性内插,计算在训练开始之前的一个单独过去的数据。

除了原始归一化特征之外,我们也输入,通过允许它容易形成特征的超-和次-线性函数来给网络更具表达能力。发现送入连续特征的幂指数可以提高离线准确率。

 

4.2、模型期望观看时间

我们的目标是预测给定训练样本的期望观看时间,正样本(曝光了被点击了的)或者负样本(曝光没被点击的)。正样本用用户花在观看视频的时长来标注。为了预测期望观看时间,我们用加权逻辑回归(weighted logistic regression)技术,为了此目的开发的。

模型用逻辑回归在交叉熵loss下训练(图7)。但是正的(点击了的)曝光是用视频的观看时长来进行加权。负的(没有被点击的)曝光都获得单位权值。以这种方式,用逻辑回归学到的概率是,这里N是训练样本数量,k为正的曝光数量,Ti是第i个曝光的观看时长。假设正的曝光比例很小(这在我们的情况是正确的),学习到的概率就接近于,这里P是点击率,E[T]是曝光的期望观看时长。因为P很小,这个乘积就接近于E[T]。对于inference,我们用指数函数作为最后的激活函数来生成那些概率,接近估计了期望观看时间。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值