前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >召回和粗排负样本构造问题

召回和粗排负样本构造问题

作者头像
对白
发布2022-04-01 19:03:47
8180
发布2022-04-01 19:03:47
举报
文章被收录于专栏:对白的算法屋

大家好,我是对白。

今天给大家分享一下在推荐中召回和粗排是如何构造负样本的。

推荐系统通常分为召回->粗排->精排->重排这几个漏斗。

深度模型也从精排逐步下沉到了粗排和召回。

拿业界常用的粗排DSSM模型来说,模型训练样本的构造方式一般是复用精排下发的正负样本,但这会造成一个问题:粗排训练样本和实际线上打分样本分布不一致,训练样本仅是线上打分样本一个比较小的子集。面对这个问题大家通常的解法是,从精排未下发的样本里采一部分,添加至粗排模型的训练负样本中,通常会带来一定的提升。其中的原理是什么呢?以及如何更优雅的做负样本采样?

首先,明确一下粗排的目标:拟合精排模型。即粗排尽可能圈出精排模型能排到前面的item。这一点非常关键,如果只用精排下发的真实曝光样本来训练粗排模型,那么粗排模型对精排模型的拟合就会出现比较大的偏差。

举个例子:

粗排模型给1000条样本打分,最终截取score top300,给到精排模型,精排模型对这300条样本打分,进一步选出用户可能感兴趣的item,比如score top10。

一定会存在这样一种情况:对于粗排模型打分比较靠前的样本(比如top5),精排模型却把这部分样本打分很低(比如top250~300),那么,粗排打分很靠前的这几条样本是不会被曝光的,因此当我们复用精排模型的样本来训练粗排模型时,粗排模型是看不到这几条bad case的样本的,新粗排模型上线后,这几条样本很可能还被粗排模型排到靠前的位置。如果我们把这几条样本作为负样本来训练粗排模型,那么新的模型大概率就可以把这几条样本排到靠后的位置了。

以上是粗排模型扩充下沉负样本work的原因,那么怎么才能做更高效的负采样呢?

我们计算:

w=(归一化的粗排模型打分-归一化的精排模型打分)*系数

用w作为下沉负样本的权重,把粗排模型打分与精排模型打分的gap表达在负样本中,更细粒度地表达两个模型的差异。通常会取得更好的效果。

如果觉得有用,就请分享到朋友圈吧!

你好,我是对白,清华计算机硕士毕业,现大厂算法工程师,拿过8家大厂算法岗SSP offer(含特殊计划),薪资40+W-80+W不等。

高中荣获全国数学和化学竞赛二等奖。

本科独立创业五年,两家公司创始人,拿过三百多万元融资(已到账),项目入选南京321高层次创业人才引进计划。创业做过无人机、机器人和互联网教育,保研清华后退居股东。

我每周至少更新三篇原创,分享人工智能前沿算法、创业心得和人生感悟。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 对白的算法屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档