YouTube DNN论文精读

本文探讨了YouTubeDNN推荐系统如何利用深度神经网络提升候选集生成与排序模型,涉及大规模训练、实时服务、噪声处理及新颖性平衡。模型架构包括分类层、多层神经网络和融合不同类型信号,通过实验展示了特征选择、深度增加和预期观影时长预测的重要性。

Abstract

YouTube DNN是目前工业界规模最大最复杂的推荐系统之一。在《Deep Neural Networks for YouTube Recommendation》这篇论文中首先从整体的角度上介绍了以YouTube推荐系统的架构,然后集中介绍了一下深度学习给YouTube的推荐系统带来的提升。

YouTube推荐系统的架构采用了检索的两段式结构分为:

  • 候选集生成模型

  • 排序模型

在这篇论文中还给出了模型设计、迭代和维护的细节。以及我们在大规模推荐系统中的经验和见解。

1. Introduction

YouTube 是全世界最大规模的视频创作、分享、观看平台。YouTube的推荐系统需要在这么一个每天有大量视频新增的平台上给亿级别的用户提供个性化的视频内容。

在《Deep Neural Networks for YouTube Recommendation》这论文中,我们主要介绍深度学习对YouTube推荐系统带来的巨大影响。图1是YouTube这个应用的首页情况。

在这里插入图片描述

图1    YouTube DNN首页

在YouTube的视频推荐中主要面临以下三个问题:

  • Scale(大规模): 许多已经存在的算法在小数据上可能能够很好的work,但是一旦迁移到我们这样的大规模数据集上就没有办法很好的完成工作。如何提供可靠的分布式算法训练和高效的实时服务,对于处理YouTube庞大的用户和语料库来说至关重要。

  • Freshness(新颖性): YouTube的视频语料库是动态变化的,可能每秒钟有几个小时时长的视频上传。推荐系统应该在视频积累尽可能少的用户行为下,能够对新上传的内容作出较快的响应。系统可以通过exploration和exploitation来平衡新内容和已经被用户验证过的内容。

  • Noise(噪声): 在推荐系统中,用户行为具有稀疏性和不可预测的特性。我们很难能够捕获到用户兴趣的真实表达。在对用户行为建模的时候,我们更多的利用的是隐式反馈的数据。
    此外视频内容里面如果没有定义好的实体的话很难被结构化,因此我们的系统需要对非结构的化的视频内容具有一定的健壮性。

在谷歌的产品矩阵中,YouTube完成了一个经典的转变,使得深度学习成为解决问题的一种通用的手段。此外,我们在Google Brain上完成了深度模型的实现。Google Brain开源成了TensorFlow。

TensorFlow提供了一个适合的深度学习框架来试验各种深度模型。我们的模型在上亿个样本当中大约学习了一亿的参数。

和矩阵分解相反推荐系统中使用深度神经网络方法的研究比较少。

整体来看这篇论文的组织结构如下:

在第2节中,我们对推荐系统的整体结构做了一个简要的概述。在第3节中,描述了推荐系统中候选集生成的具体细节,包括如何训练神经网络以及实时推荐服务的部署。

在第4小节中介绍了排序模型的细节,包括如何使用weighted logisticregression对播放时长进行建模(而不是点击率),并且在实验结果中显示,提高隐藏层深度对排序模型效果的提升有帮助。

最后,在第5小节中,我们给出了在推荐系统上的实践经验和结论。

2. System Overview

在图2中,展示了YouTube推荐系统的整体结构。整个系统由两个神经网络组成,一个用于生成候选集,另外一个针对每一个用户生成的候选集结果进行精排序。

在这里插入图片描述

图2    YouTube 推荐系统架构

YouTube的候选集生成网络以YouTube的用户行为历史作为输入,为用户从大规模的视频语料库中挑选出一小部分用户感兴趣的视频子集(百级别的)。生成的这些候选集视频基本上和用户的兴趣具有较高的相关性。候选集生成网络基于协同过滤的方式为用户提供粗粒度的个性化。不同用户之间的区分性通过一些粗粒度的特征来表示:例如用户观看视频的id,用户的查询记录,以及人口统计信息。

系统给出召回候选集列表之后需要通过精排来区分视频之间相对的重要程度。排序网络通过使用丰富的用户特征和行为数据设计优化目标来完成精排工作。最后,我们通过排序模型给出的得分对这些视频进行排序,得分较高的视频会被推荐给这些用户。

候选集生成和排序两个阶段能够让我们从大规模的语料库中给用户推荐感兴趣的视频。同时确保呈现给用户的一小部分视频具有较高的准确性。此外,这种方法还可以混合不同候选集的视频。

在实际的开发和迭代中,我们采用离线的评估指标(例如:precision, recall, ranking loss等等),
来评估模型的迭代效果。最后,我们通过线上的AB测试来评估模型是否有效。

在线上实验中,我们可以通过统计点击率、观影时长等许多其他衡量用户参与的指标来衡量推荐系统的细微变化。AB测试在模型的上线和迭代中是非常重要的。因为线上的AB测试结果跟离线结果并不是总是相关的。

3. Candidate Generation

在候选集的生成阶段,需要从大规模的候选视频中筛选出成百上千与用户相关的视频。在文章[23]中,描述了一个基于矩阵分解的推荐方法。在我们早期的迭代中模拟了这种因子分解的方式采用浅层的神经网络对用户行为做嵌入。

所以如果从因式分解的角度来看,我们的方法可以看成是一种因式分解技术的通用推广。

3.1 Recommendation as classification

我们可以将候选集生成的过程看成是一个极端的多分类问题。那么推荐问题就转化成了一个预测分类准确性的问题。

给定一个用户 U U U, 这个用户对应的上下文为 V V V,需要预测这个用户光看某个视频的准确性。对应具体的数学描述形式如下:

P ( w t = i ∣ U , C ) = e v i u ∑ j ∈ V e v j u P(w_t=i|U,C) = \frac{e^{v_iu}}{\sum_{j \in V}e^{v_ju}} P(wt=iU,C)=jVevju

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值