第 84 题:难负样本挖掘(Hard Negative Mining),在线 vs 离线的生成策略?
题目
难负样本挖掘(Hard Negative Mining),在线 vs 离线的生成策略?
完整讲解
一、难负样本的作用
难负样本:与正样本相似度高、易被模型误判为正的负样本。使用难负样本可让模型在「边界」附近得到更强梯度,提升区分度与排序能力;仅用随机负样本则大量是简单负样本,梯度弱、学习慢。
二、离线难负样本生成
- 离线:用当前或历史模型在全量或大规模候选集上算分,取得分最高的若干非正样本作为难负样本,写入样本库或候选池;训练时从该池中采样或混合随机负样本。优点:难负样本质量高、可复用;缺点:需离线跑分、更新有延迟,且与当前模型可能不同步(过时)。
- 构造方式:按 batch 内相似度取 top-k 非正作为 in-batch 难负;或从曝光未点击、同品类非点击等业务负样本中筛选高分的作为难负。
三、在线难负样本生成
- 在线:在当前 batch 前向时,用当前模型对候选(如 in-batch 或少量额外采样)算分,实时取高分的非正样本作为难负,再参与 loss 计算。即「每个 batch 用当前模型现算难负」。优点:难负与当前模型一致、始终「难」;缺点:计算与实现更复杂,需在 batch 内做多轮或缓存 key 等。
- 混合:常用「随机负 + in-batch 负 + 少量离线/在线难负」,在效果与成本间折中;难负比例过高可能导致过拟合或训练不稳定,需调参。
面试要点
- 能解释难负样本:与正样本相似度高、易被误判的负样本;用难负可加强边界学习。
- 能区分离线与在线:离线用历史/当前模型跑分取高分非正,质量高但有延迟;在线在当前 batch 用当前模型现算难负,一致但实现复杂。
- 能提及 in-batch 难负、混合策略与难负比例调参。
记忆要点
- 难负样本:高相似度负样本,加强边界梯度;离线跑分取高分非正,在线 batch 内现算。
- 离线:质量高、有延迟;在线:与当前模型一致、实现复杂。
- 实践:随机 + in-batch + 少量难负混合,难负比例需调。