美文网首页
【论文总结】Youtube深度学习推荐系统

【论文总结】Youtube深度学习推荐系统

作者: 马尔克ov | 来源:发表于2019-06-15 16:29 被阅读0次

    论文内容总结

    1. Introduction

    视频推荐的难点:

    • 规模:用户/视频量大,计算量大
    • 新鲜度:新视频多,EE问题
    • 噪音:缺乏用户的实际反馈(评价/评分),只有隐式反馈(点击/停留);视频信息不完善(简介/标题/分类)

    2. System Overview

    分召回(candidate generation)和排序(ranking)两阶段

    • 召回:为每个人从百万以上商品中选择比较好的几百个。作为协同过滤的拓展,使用视频ID,搜索词和用户画像特征
    • 排序:为了对这几百个商品排序,对每一个商品评分

    3. Candidate Generation

    可以看作是矩阵分解的非线性拓展

    3.1 推荐定义为分类问题

    每个用户u,每个视频v都用向量表示,u*v内积表示用户对该视频的喜好程度。每个用户对N个视频做softmax得到喜欢每一个视频的概率。
    负样本太多,需要做负采样。为什么不用 hierarchical softmax?
    线上应用时对百万个item取topN计算量太大,所以改为最近邻搜索ANN

    3.2 模型架构

    采用word2vec思想,将每一个one-hot的视频ID压缩到低维空间,再对视频序列取平均(也可以是求和,逐元素最大值等)。视频向量和模型的其他参数一起学习

    3.3 其他特征Heterogeneous Signals

    神经网络比矩阵分解优势在很容易把特征当作输入(矩阵分解只能用ID)。搜索词做unigram,bigram处理。用户画像特征对新用户也有效。地理位置和设备信息也做embedding处理。简单特征(性别,登陆状态,年龄)直接归一化

    Example Age

    描述视频的新鲜程度,训练时作为特征,线上预测时置0或者一个很小的负数

    3.4 Label and Context Selection

    训练样本从youtube全站来,不仅仅采用推荐产出的,避免新商品难以被推荐出来。用户在非推荐场景点击了视频,也可以通过协同过滤(神经网络版)拓展出去。
    每个用户采样相同数量的样本,避免活跃用户占比大影响整体效果。
    刚刚搜索过“taylor swift”,接下来在推荐页面展示同样的搜索页面,体验不好。解决方案:放弃序列特征,将搜索词当作无序词袋处理。
    co-watch现象:系列剧/节目按顺序看,某一个作曲家的曲子从热门曲开始之后过渡到小众曲。不用随机held-out的方法,按时间顺序,过去历史预测下一个

    3.5 Experiements with Features and Depths

    全部语料:100万视频,100万搜索词。每个用户:50个视频,50个搜索词。
    网络深度/宽度增加到没有收益,不收敛为止。最多2048->1024->512->256

    4. Ranking

    经过召回阶段减小了候选集合,排序阶段就可以使用更多特征(计算量考虑)了。也可以融合不同的召回集合。优化目标是播放时长,不按点击率排序的原因是为了排除“标题党”内容。

    4.1 特征表达

    特征工程

    找用户和相关/类似商品的交互信息(同一个channel下看了哪些其他视频,上一次看这个channel是什么时间)对预测评分很重要
    加入历史特征有助于避免“重复”现象,连续请求返回同样的结果,体验不好

    离散特征Embedding

    高维稀疏的ID类特征(视频ID,搜索词)Embedding到低维稠密的向量中,按照出现频次去掉低频长尾部分。词典外的内容用0向量表示,多值特征取平均值。
    在不同特征中的同一个对象共享同一个Embedding(被曝光的视频ID,上一次播放的视频,触发召回的种子视频ID),作为不同的特征输入,后续可以学到不同的表达。增加泛化性,加快训练,减少内存占用

    连续特征规范化

    神经网络(和树模型比)对数据量级、分布敏感,规范化有助于收敛。把特征scaling到[0,1)的均匀分布 规范化

    积分是按分位数做差值的近似。
    增加平方开方值作为网络输入。

    4.2 建模预期观看时间

    不仅仅预测是否观看视频(0/1),还要预测观看时长,使用weighted LR方法。不用常规的sigmoid输出,改用e^(Wx+b)


    预测目标.png

    odds推导

    4.3隐藏层实验

    评估:对预估观看时间与实际观看时间的差距加权平均
    网络加到1024->512->256基本收敛

    5. 总结

    把推荐问题分成召回和推荐两步。
    深度CF模型,通过连续观看视频的先后信息,避免引入未来信息,解决场景切换问题(surrogate problem)。刚刚搜过的内容出现在首页的问题。
    引入时间特征平衡新老内容。
    排序模型中的特征处理:离散特征embedding,连续特征规范化。
    weighted LR建模预期播放时长,比预估ctr效果好很多。

    一些思考和实现
    知乎参考
    论文地址

    相关文章

      网友评论

          本文标题:【论文总结】Youtube深度学习推荐系统

          本文链接:https://www.haomeiwen.com/subject/spycfctx.html