youtube DNN 模型要点速记

一、为何Ranking Model采用了weighted logistic regression做为输出层?在模型serving过程当中又为什么没有采用sigmoid函数预测正样本的probability,而是使用 [公式] 这一指数形式预测用户观看时长?算法

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

 

再简要总结一下YouTube Ranking Model的Serving过程要点。ide

  1. [公式] 这一指数形式计算的是Weighted LR的Odds;
  2. Weighted LR使用用户观看时长做为权重,使得对应的Odds表示的就是用户观看时长的指望;
  3. 所以,Model Serving过程当中[公式] 计算的正是观看时长的指望。

 

 

二、若是是排序使用的话,odds和sigmoid单调性一致;若是使用时长后续有其余处理,和直接回归或多分类有多大差异,为何感受有些迂回?函数

 a:回归有一个问题在于值域是负无穷到正无穷,在视频推荐这样一个大量观看时间为0的数据场景,为了优化MSE,极可能会把观看时间预测为负值,而在其余数据场景下又可能预测为超大正值。逻辑回归在这方面的优点在于值域在0到1,对于数据兼容性比较好,尤为对于推荐这种rare event的场景,相比回归会更加适合。并且odds的值域也是非负的,符合watch time的物理意义。优化

 

q:那若是把观看时间quantization成k个bucket而后作多分类 是否是也能够 感受比weightedLR更简单train起来 固然会损失点效果可能3d

a:多分类输出粒度不够细,不适合用来作排序。此外多分类的参数数量也比二分类多不少,一样的样本量下训练效果可能不如二分类效果好。视频

 

q:serving的时候,sigmoid和和指数函数都是单调递增的。若是取固定的top K个item作曝光,那这两种方式结果彻底是同样的,没理解为何还要用指数函数。blog

a:若是只是涉及到排序阶段的话,结果应该是同样的,看本身业务须要,若是是广告算法,须要乘以对应的cpc,结果就有不一样了;由于预估的时长值后面会用到的,这里不能只看序排序

 样本不为负没法保证模型预测不为负,一些输出取负值可能会让总体loss变小。例如对于真实值是0的样本,预测为-0.3就比预测为+0.5损失要小。同时回归模型的模型函数和优化过程没有任何行为来阻止模型函数输出负值。

q:不明白 我能够在一开始使用观看时长除以视频时长获得一个0到1的数 这样就没有边界问题了 很疑惑 求指教 it

a:你说这种作法只能对训练数据有效,但不能保证获得的模型预测结果也在01之间。io

相关文章
相关标签/搜索