从DSSM到美团双塔:聊聊推荐系统召回阶段那些‘负样本’的坑与实战经验

张开发
2026/4/18 13:21:30 15 分钟阅读

分享文章

从DSSM到美团双塔:聊聊推荐系统召回阶段那些‘负样本’的坑与实战经验
从DSSM到美团双塔推荐系统召回阶段的负样本工程实战在推荐系统的战场上召回阶段如同一位不知疲倦的侦察兵它的任务是从海量候选物品中快速筛选出用户可能感兴趣的几百个目标。而决定这位侦察兵作战能力的核心要素往往不是模型结构有多复杂而是训练时喂给它的食物——特别是那些被称为负样本的反面教材。1. 负样本召回模型训练的隐形指挥官2013年微软提出的DSSM模型开启了双塔架构的工业级应用但很快工程师们发现模型表现对负样本选择的敏感度远超模型结构本身。美团技术团队在2021年的实证研究表明仅优化负采样策略就能带来线上CTR提升17.6%这比增加5层神经网络的效果更为显著。负样本之所以关键是因为它定义了模型需要学习的边界。想象一位正在学习辨认猫狗的小孩如果只给他看猫的照片正样本和汽车的图片负样本他很快能区分猫和汽车但这种能力无法帮助他区分猫和狗这种更细微的差异这就是推荐系统中样本选择偏差问题的生动比喻2. 主流负采样策略的战场地图2.1 全局随机采样基础但危险的起点# 典型全局随机采样实现 def global_negative_sampling(user_items, item_pool, num_negatives): negatives [] for _ in range(num_negatives): neg_item random.choice(item_pool) while neg_item in user_items: # 避免将用户正样本误采为负样本 neg_item random.choice(item_pool) negatives.append(neg_item) return negatives优势实现简单计算成本低严格符合物品的真实分布缺陷采样效率低下约90%的负样本与正样本差异过大容易导致模型陷入局部最优仅学会区分明显不相关物品实践提示当物品库超过百万量级时建议采用基于流行度的加权随机采样避免长尾物品被过度采样。2.2 Batch内负采样效率与质量的平衡术指标全局随机采样Batch内采样混合采样训练速度1x3.2x1.8x线上NDCG1000.420.510.56长尾覆盖率78%65%72%美团2022年分享的实践经验表明纯Batch内采样会导致热门物品被过度打压最佳实践是采用7:3的全局与Batch内混合采样需配合动态温度系数调整样本权重2.3 困难负样本挖掘模型进化的磨刀石困难负样本是指那些与正样本相似度高但用户最终没有交互的物品。这类样本如同让拳击手与势均力敌的对手较量能显著提升模型的判别能力。主流挖掘方法召回漏斗法用上一版模型召回Top200结果剔除正样本后作为困难负例向量聚类法在embedding空间寻找邻近非正样本行为图谱法利用用户跳过/快速滑过的曝光记录# 基于向量相似度的困难负样本挖掘 def find_hard_negatives(user_embed, item_embeddings, pos_items, k10): similarities np.dot(item_embeddings, user_embed) sorted_indices np.argsort(-similarities) hard_negs [] for idx in sorted_indices: if idx not in pos_items and len(hard_negs) k: hard_negs.append(idx) return hard_negs3. 流行度偏差推荐系统的阿喀琉斯之踵物品流行度与负采样策略存在微妙博弈。我们观察到三个关键现象马太效应过度打压热门物品会导致推荐多样性下降冷启动困境完全忽略流行度会使新物品失去曝光机会用户感知偏差用户对热门物品的期待阈值更高平衡策略对比策略类型实现方式优点缺点热度降权1/(1log(popularity))简单可控需要调参对抗学习增加流行度判别器自动平衡训练不稳定两阶段采样先按热度分组再采样分布可控实现复杂美团在公开技术分享中透露他们在短视频推荐中采用动态流行度门控新用户倾向更多热门内容建立认知老用户逐渐增加长尾内容比例通过贝叶斯平滑动态调整采样权重4. 样本权重调参被忽视的艺术大多数论文聚焦于采样方法本身却鲜少讨论不同负样本该如何赋予不同权重。实际上这是一个堪比炼丹的精细工艺困难样本加权对模型预测得分接近正样本的负例增加权重def dynamic_weight(score, positive_score, temperature0.1): return torch.exp((score - positive_score)/temperature)时间衰减系数对老旧负样本逐步降低权重曝光补偿对多次曝光未点击的物品适当增加权重某电商平台AB测试数据显示精细化的样本权重调整能带来人均GMV提升9.3%商品详情页停留时长增加22%跨类目购买率提高15%5. 线上效果监控负样本的终极审判再完美的离线实验也需要接受线上AB测试的检验。我们建议监控以下核心指标基础指标组召回率100点击通过率首屏点击深度高级诊断指标负样本预测得分分布应与正样本有明显间隔困难负样本的混淆矩阵用户行为序列的连贯性分析在模型部署后还需要建立负样本的动态淘汰机制每周分析被误判严重的假负样本实际用户可能喜欢对连续多周高预测得分的负样本进行人工审核建立负样本质量评分卡系统6. 前沿探索负样本的智能进化在美团最新公开的专利中我们看到了几个值得关注的方向课程学习式采样训练初期使用简单负样本建立基础能力逐步引入困难样本提升判别力最终加入对抗样本增强鲁棒性图结构负采样# 基于知识图谱的负采样示例 def kg_aware_negative_sampling(user, pos_item, kg_graph, n_negs5): same_category kg_graph.get(pos_item, category) neighbors kg_graph.get_relations(pos_item) candidates [] for item in neighbors: if kg_graph.get(item, category) ! same_category: candidates.append(item) return random.sample(candidates, min(n_negs, len(candidates)))多模态对比学习利用图像/文本相似度构造语义负样本通过跨模态对齐发现潜在困难样本美团外卖团队实测此方法提升新商家曝光量37%在实际业务中我们发现一个有趣现象当负样本策略优化到一定程度后模型对架构变化的敏感度会显著降低。这或许印证了业界那句老话推荐系统的艺术八成在数据两成在模型。

更多文章