垡头网站建设,做网站都注意哪些东西,wordpress微信分享记录,黑龙江建设厅网站 孙宇文 | 水哥源 | 知乎saying1. 把点击多的item曝光提升是推荐模型的基本能力#xff0c;也是基本要求。后验不好的曝光提高也可能是好模型#xff0c;后验好的曝光不提高#xff0c;可以开除推荐模型了2. 在起量阶段#xff0c;各路item需要争宠#xff0c;谁能最快博取精排… 文 | 水哥源 | 知乎saying1. 把点击多的item曝光提升是推荐模型的基本能力也是基本要求。后验不好的曝光提高也可能是好模型后验好的曝光不提高可以开除推荐模型了2. 在起量阶段各路item需要争宠谁能最快博取精排的欢心谁就有可能在冷启动阶段占据压倒性优势3. 广告主很像dota教练他们深信一个原则阵容素材没问题下把干投放回来4. 粗排没别的任务就是向上管理上一讲我们提到整个链路是一个大漏斗前面召回入口最多最后精排仅仅输出一点点在这一讲中我们会对漏斗的连接部分做更多的分析。包括上一讲中很多同学都想问的粗排召回的学习目标评价标准分别是什么也会在这一讲和下一讲中详细讲解。首先我们要分析漏斗的各个环节学习的目标是什么。虽然整个链路正着往后推理但是改进的时候往往是倒着往前的原因我们在上一讲提到过。假如想加某种特征那么先是精排验证有效然后粗排。召回可以不按照这个规则走因为召回很多时候是觉得上面的队列里缺少哪一方面的东西才多一路的。各个环节的学习目标及问题精排的学习目标后验以点击率CTR预估为例精排学习的目标的范围一般是所有存在曝光的样本。有曝光但没有点击的是负样本有曝光也有点击的就是正样本。在其他目标中可以以此类推比如转化率CVR预估点击了没转化的是负样本点击了也转化了就是正样本。精排的评估方式AUC/GAUC说白了精排还是一个排序模型排序模型输出的结果线下都可以由AUC来进行评估。在[1]这篇论文中阿里的工程师们提出了另一个评价指标Group AUCGAUC如下在这个指标中w代表的是曝光数或者点击数。这个指标是对用户的行为做了加权比较偏向高活跃的用户。线上指标则根据业务各有不同比如在短视频平台上推荐看的就是观看时长而广告看的则是eCPM出价乘以CTR乘以CVR。在电商平台上看的是GMVGross Merchandise Volume商品交易总额。线上提升是由线下的一个一个模型提升带来的。比如在广告场景下既要提升CTR也要提升CVR也要改善出价机制。推荐场景下既要提升对于观看时长的预估也要提升用户正负反馈比如点赞关注这些的预估。精排的样本组成在精排中每次行为都是一条样本最后实际上是一个分类任务分为“点击”或者“不点击”的二分类。在一个点击率预估模型中正样本是非常稀疏的。对于模型来说当他遇到正样本的时候它必须把这个结果反映到当前的用户和item上。也就是说相比于没有点击的样本这个item会得到模型的认可。那么在接下来的预估中这个item自然会被更加青睐排序更加靠前。这样就使得item的曝光能力提升。这样我们就归纳出了推荐系统的一个基本性质正反馈的能力。指的是对于一开始后验较好的item他们的排序更靠前曝光会进一步提升。如果去掉一开始这三个字这句话就是一句废话。但是所谓“一开始”就表明该item不一定是一个真正好的素材而这会引发下面的问题。这里留一个思考题这个正反馈会无限地持续下去吗答案我们在未来专门讲item的生命周期中来揭晓精排的问题1ground truth不够置信我们想评价一个item的质量是否好其实是需要一定量的曝光量才能说明。但是系统整体的曝光机会往往是有限的。给你的曝光多了必然意味着对他的曝光机会少了。因此有很多item在没有得到充分曝光的情况下就被判了死刑。有的item可能不错但是在一开始因为有点随机性或者精排没预估的比较准导致最初的量没起来。当最初的量没起来的时候别的起来了的item迅速博取了精排的欢心这个不幸运的item就只能被打入冷宫了。如下图这个问题不仅我们知道广告主们也知道。他们不仅知道他们还会不服。他们当然会优化素材但同时也会进行大量的“重开”即同样的素材内容换一个id再来一遍当id变成新的系统就会把它当做新的重新开始这涉及到后面要讲的冷启动问题。这就是所谓的“阵容没问题下把干回来”。当大量的广告主这样做了之后平台资源就会被极大的浪费因此平台也会做各种方法来阻止这件事情。所以我们也能看到平台和金主爸爸有时候也存在一种博弈。精排的问题2自嗨从上面的叙述中可以看出精排学习的目标往往有一个共同的特点就是正负样本都来自于已经曝光的样本而曝光与否是谁决定的呢是精排自己决定的。这就造成了“自己学自己”的问题学习的目标本来就是自己产生的在自己原本的大方向上有可能一条路走到黑。设想有AB两个item实际上B是一个更优秀的素材因为系统随机性或者精排的缺陷A获得了更多的曝光量而B只获得了很少的曝光量。而B恰好在这几个曝光量中都没获得什么正向反馈。那接下来B就惨了根据我们上面说的正反馈特性A的曝光会越来越高正向的点击数据越来越多而B可能就暴毙了。这个情况如果不断恶化推荐系统可能会陷入局部最优中出不来也就是我们说的“自嗨”它认为A好所以给了A更好的条件而A自然获得了更好的反馈又再一次验证了系统的“正确性”。最终在A比B好的错误路线上越走越远。那么有什么办法可以防止这个情况一般来说有两种方法。第一种是策略的干涉。有的策略会强制一定的探索量比如上面的B曝光不能低于100这样会缓解一些学习错误的问题。可能还是有个别item的序会不符合但是整体上发生错误的概率会变低。另一种做法是开辟“随机流量”即有一定比例的请求不通过任何模型预估直接随机展示看看点击率。随机流量的结果一方面可以认为是完全真实的训练样本另一方面也可以对照当前模型的效果。讲完了精排部分我们再来讲讲粗排部分粗排的学习目标精排naive的方案中粗排也可以直接学习后验数据。但这不是一个好主意你又决定不了输出学精排领导的做事方法你优化的目标精排领导不认还没干好自己的本职工作向上管理。毕竟后验是精排控制的粗排只能优化级联的下一端。粗排的学习目标应该是精排的输出。说白了粗排只是一个精排的影子就像上一讲提到的要不是精排吃不下也不会需要粗排。因此粗排就是跟精排保持步调一致。如果粗排排序高的精排排序也高那么粗排就很好的完成了“帮助精排缓冲”的目的。反之如果你排序低的精排反而排的高了那你不就是跟领导对着干嘛。粗排的样本组成学习方法Learning to Rank对于粗排我们需要两个或者一组样本。假如精排的队列有100个排好序的样本我们可以在前10里面取出一个A作为好样本。再从后10个取出一个B当做坏样本。粗排的目标就是要让自己也认为A好于B。越是这样它就和精排越像就越能帮精排分担压力。此时不是一个分类任务了而是learning to rank的一种方法pairwise的学习。目标是让上面的A和B之间差距尽可能大还可以更彻底的拿出更多样本比如精排输出每10个里面取一个得到一个长度为10的list按照list-wise的方式去学习。list-wise比较复杂后面再讲。这里先提一下pairwise如何实现。我们把两个样本记为 和做差之后带入一个binary cross entropy的loss其中 代表sigmoid。假如第一个样本更好 只有前半部分被激活。此时loss最小就要求 比 大的越多越好。反之亦然。注意在这样的设计下我们就把没有曝光的样本纳入训练范围了。粗排入口比精排大训练样本也比它多这就很合理。最后用一张图来总结下粗排的评估标准精排既然粗排学习的目标是精排的输出那么粗排的评估自然也就是学精排学得像不像。在线下可以有两种指标来评估。一种是NDCG它是一种评价两个排序相似度的指标就是把精排输出的样本让粗排过一遍看看粗排输出的排序结果和精排有多像。NDCG的具体计算方式yoneNDCG及实现[1]第二种评估方式是召回率或者重叠度也可以用IOU啥的。即精排输出的前K有多少在粗排输出的前K里面。这个也是用来评价两个模型输出像不像。相比之下NDCG是一种更细致的指标。我们可以认为NDCG不仅仅刻画了topK的召回也刻画了top K-1K-2……等等情况。讲完粗排之后发现要讲的东西太多了写不下了我们留鸽到下一讲吧下期预告推荐系统全链路3召回粗排精排-级联漏斗下往期回顾1.召回 粗排 精排如何各司其职2.拍不完的脑袋推荐系统打压保送重排策略3.简单复读机LR如何成为推荐系统精排之锋后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1]. yoneNDCG及实现 https://zhuanlan.zhihu.com/p/84206752[2]. Optimized Cost per Click in Taobao Display Advertising