输入“/”快速插入内容

负样本增强

2024年4月7日修改
1.
背景
召回/粗排 负样本和精排有什么区别?
精排:正样本是真实点击,负样本是曝光未点
粗排:正样本是真实点击,负样本是曝光未点+召回集合负采样(这里曝光未点依据任务场景和目标的不同可选)
召回:正样本是真实点击,负样本是曝光未点+全商品底池负采样(这里曝光未点依据任务场景和目标的不同可选)
召回/粗排为什么需要负采样?
保证离线训练和在线预测数据分布一致性,避免SSB问题
2.
基于启发式的负采样
通过设定一些启发式的规则来进行采样,特点是开销较小、普适通用、易于理解和实现,但漏洞也比较明显,在效果上会有一定的瓶颈。
2.1
随机负采样(Random Negative Sampling)
最基础的负采样方式,基本思想是平等地对待采样池内的每一个商品,按相等的概率进行采样。
优点:实现简单、效率高、无额外偏差
缺点:平等对待导致无法充分利用样本
实践证明,简单的全部随机负采样优于曝光未点击
阿里飞猪搜索技术的应用与创新(2021):两个方案 ①全局随机采样;②在一个类目或者目的地下随机采样
2.2
In-Batch负采样(IBNS)
应用最广、性价比最高的负采样方式,基本思想是batch内其他record的正标签作为当前record的负样本。
2.2.1
Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations【RecSys'19】
背景
场景:Youtube 视频推荐召回
召回面向的候选池规模巨大,一般采用 双塔+负采样 的范式训练模型。
in-batch-sample 效率高,但会存在 采样偏差 ,无法保证原始数据分布。
热度高的item更容易被采样作为负样本,过度惩罚
负样本是有交互的
方案
1.
业务视角优化loss function
2.
采样概率修正(流数据频率预估)
采样概率修正
传统softmax损失计算
1.
引入用户偏好权重,譬如用户停留在item上的时长(可能会引入bias,时间短的占优势)
2.
in-batch softmax偏差纠正
pj 为 item j 的在一个batch中被采样到的概率
流数据频率预估
如果负样本集合是固定的,pj 容易计算(采样频率的倒数),但面对大规模流式数据(不断有新物品出现),如何得到pj 以及 维护更新pj?
利用global step,计算两次连续采样到item所需的平均step,其倒数即为采样频率。