Youtube推荐双塔模型——SBCNM

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:阿猫阿狗网络

小提示:您能找到这篇{Youtube推荐双塔模型——SBCNM}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Youtube推荐双塔模型——SBCNM内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations是youtube推荐在2019年的一篇论文,可以把他看作2016年那篇经典论文(Deep Neural Networks for YouTube Recommendations)里,召回模型的升级版本。

< ">同样,先简单介绍一下论文,再谈谈自己的理解和相关实践。

< ">< font-size: 18px;">论文速读

< ">这篇理论文是Deep Neural Networks for YouTube Recommendations中召回模型的升级版本。使用了经典的双塔结构,从而可以加入item侧的各种特征,提升泛化和新资源的预估能力。论文的主要贡献包括四点:

< ">Streaming Frequency Estimation:流式词频预估,or流式展现次数预估。主要为了危机公关5s原则及举例解决batch内负采样时,词频有偏的问题。

< ">Modeling Framework:双塔召回模型,使用batch softmax交叉熵,同时使用batch内负采样。

< ">YouTube Recommendation:大规模数据场景应用,不多赘述。

< ">Ofline and Live Experiments:离线测试和在线效果,不多赘述。

< ">< font-size: 18px;">Modeling Framework

< ">模型训练大的方面都比较常规,双塔结构+负采样(这套DNN召回方式,在这篇论文之前我们就已经在用了)。

< ">网络结构上是一个典型的双塔,分别产出用户和item的向量表达,方便召回时从全量候选集中快速选取top。

< ">样本方面,采用百万级label上的softmax多分类(每个item视作一个分类,和16年的论文一样)。负样本采用batch内负采样,来消除item频次对召回准确性的bias。

< ">论文里提到,batch内softmax,所以分布上和全局softmax肯定存在bias:高频item因为在batch内出现的概率高,会被过度惩罚。因此,论文提到一种做法,在sotmax前的输出上加一个和频次(or随机batch内出现的概率)相关的惩罚项。大致效果是item在batch内出现的概率越高,softmax的输入会在原来的基础上越小,从而降低高频item的预估概率,消除bias。

< ">下面贴几个公式,公式细节我就不解释了,细节可以看原文,功能和思想参考我上面的解释。

< ">在sotmax前的输出上加一个和频次相关的惩罚项:

< ">是item在batch内出现的概率越高,softmax的输入会在原来的基础上越小,从而降低高频item的预估概率:

< ">ok,以上这个处理是这篇论文的核心之一!

< ">以上,引入了另外一个核心问题,如何知道item在随机batch内出现的概率?从而有了论文的另外一个核心:Streaming Frequency Estimation。

(论文里还提到一个标准化和热度的东西,预估的时候用一个热度超参来调节score,这里不是很理解论文的思路和具体做法,就先不谈了,有清楚的朋友可以评论和我讨论下)

< ">< font-size: 18px;">Streaming Frequency Estimation

< ">这里我同样先说思想,再贴论文的算法和简述。

< ">论文采用两个矩阵来记录和更新item出现的step和频率。

< ">以下,贴一段论文的描述:

< ">这里矩阵A记录的是item y上一次出现的step,所以t-A[y]就是y最近一次的出现间隔。从而不断更新B,得到的就是y出现间隔的期望(这里我也是大致意会了一下,详细的推导和说明建议看原文)。也可以理解为,每次出现的间隔是一个样本,通过SGD和学习率不断学习得到了平均间隔的预估B。附一段原论文,个人感觉理解这一段就可以了。

< ">ok,上面得到了item y的出现间隔预估B,那么frequency企业公关危机 对其处理方 estimate就等于1/B[y]。

< ">到这里,整篇论文的精华就解释完了。

< ">之后,论文提到了一个streaming frequency estimate的改进方法,主要解决算法2中hash碰撞的问题。也很简单,就是用多个hash,记录多个B,最后用max(Bi)。

< ">个人感觉hash算法用的好,外加item的更新淘汰,小概率的碰撞其实没啥影响。

< ">最后,再贴一个网络结构图,其他的应用和评估细节就先不赘述了,



< ">其他tips:

< ">1.论文使用了观看进度做为loss weight,短点击权重为0,完播权重1,其他是否有平滑处理不确定。这里做一点衍生,其实用观看进度做为权重会有时长bias,倾向于较短的视频,用观看时长的话有会倾向于较长的视频,这里可以做不少结合业务的微处理。

< ">2.用户和item侧会共享部分id特征

< ">< font-size: 18px;">个人理解

< ">结合我自己的业务经验,谈谈理解吧

< ">1.首先说一个自己特别疑惑的地方,一直没搞明白具体区别和效果。youtube的做法是softmax,把每个item当作一个分类,从而预估用户在整个items集合上的偏好分布。我自己的业务场景里,是用的sigmoid二分类(点击和负采样),更像是预估一个item被展现且点击的概率。这里不确定两种方式效果的具体差异,也没对比过,有清楚的大佬可以教我一下。个人猜测,二分类的方式泛化会更强,softmax的方式准确会更高?

< ">2.这个模型还有一个点,是我很想尝试一下的,就是用户侧的行为和item侧共享id这一类的emb表达。可能会对session序列的刻画更好,以及上文和当前item的关系预估更准确。

< ">3.效果:从我个人的业务线和周围其他的业务线情况看,类似这种端到端的召回效果和整体占比都不算太高;我甚至试过用粗排模型做召回,效果更弱。这也是我一直思考,却没有明确答案的:为什么这种端到端的DNN召回很难占据绝对优势呢?

< ">4.DNN召回目前没有特别好的演进方向。我个人理解几个点比较合适:a.摆脱顶层cross的结构,引入更多交叉特征和负责结构,使得整体学习更加充分。b.摆脱单目标建模优化的方式,毕竟单目标没法刻画用户的满意或者令用户喜悦的感受,更多的考虑多目标的融合,比如,展现率,点击率,观看进度,是否点赞评论关注等等。

< ">5.疑问,论文里描述模型是天级更新,感觉有点落后。。。对新视频不够友好,而且反馈能力也会偏弱吧



Youtube推荐双塔模型——SBCNM

上一篇:Youtube是怎么知道是否有版权问题的???
下一篇:Google Admob移动广告快速集成步骤


版权声明:以上主题为“Youtube推荐双塔模型——SBCNM"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Youtube推荐双塔模型——SBCNM
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Youtube推荐双塔模型——SBCNM”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Youtube推荐双塔模型——SBCNM的相关事宜。

关键词:Youtube推荐双塔模型——

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号