双塔模型2之如何选择正确的正负样本

发布于:2025-03-28 ⋅ 阅读:(26) ⋅ 点赞:(0)

双塔模型:正负样本

选对正负样本的作用 > 改进模型的结构

正样本

什么是正样本?答:曝光且有点击的 “用户-物品” 二元组

  • 存在的问题:存在28法则,即少部分物品(比如热门物品)占大部分点击,导致正样本大多数是热门物品

  • 解决方案:过采样冷门物品,或降采样热门物品

如何选择负样本

  1. 召回阶段没有被召回的可以当负样本
  2. 粗排,精排阶段被筛除的可以当负样本
  3. 展示给用户曝光但没有被用户点击的可以当负样本(但这类不适应于做召回的负样本)

image-20250326083242570

简单负样本

简单负样本是指未被召回的物品。

  1. 未被召回的物品,大概率是用户不感兴趣的。

  2. 未被召回的物品 ≈ 全体物品 (因为几亿个物品里只召回了几千个)。

  3. 根据2,只需从全体物品中做抽样,作为负样本。

  4. 如何做抽样?均匀抽样 or 非均匀抽样

全体物品负样本

均匀随机抽样: 对冷门物品不公平。

  • 因为少部分物品占据大部分点击,正样本大多是热门物品。

  • 若均匀抽样,产生的负样本大多是冷门物品。

总拿热门物品做正样本,冷门物品做负样本,这对冷门物品不公平,会导致热门物品更热冷门物品更冷,故需要非均匀抽样。

非均匀随机抽样:目的是打压热门物品。

  • 负样本抽样概率与热门程度(点击次数)正相关。
  • 抽样概率正比于点击次数^0.75 ,0.75是一个经验值。

Batch内负样本

image-20250326084811752

image-20250326085257077

解决对热门物品过度打压思路

image-20250326085618898

困难负样本

困难负样本是被召回但是被排序淘汰的物品。这些物品被召回说明其跟用户的兴趣多少有点关系,被排序淘汰说明用户对该物品的兴趣不够强。对正负样本做二元分类时,这些物品容易被分错集容易被误判为正样品。

训练双塔模型是个二元分类任务,让模型区分正负样本:

  • 全体物品(简单)分类准确率高
  • 被粗排淘汰的物品(比较困难)因跟正样本有些相似,容易分错
  • 精排分数靠后的物品(非常困难)因跟正样本很相似,更容易分错

工业界常见做法——混合简单,困难负样本作为训练数据

image-20250327082105555

常见错误

如果你把曝光但未被点击的物品作为负样本来训练双塔模型,那么恭喜你踩雷了。

为什么不能把已曝光未点击的物品当作召回的负样本?从选择负样本的原理出发。

image-20250327083256905

召回的任务是区分用户不感兴趣的物品和可能感兴趣的物品。

排序的任务是区分比较感兴趣的和非常感兴趣的。

有曝光没点击:物品可以通过精排模型曝光给用户,说明该物品已经非常匹配用户的兴趣点了,每次给用户展示几十个物品,用户不可能每个都点击,没有点击不代表对该物品不感兴趣,可能是碰巧没有点击或者可能是用户对别的物品更感兴趣。

故有曝光没点击的物品已经算是非常匹配用户的兴趣了,只是可能不是非常感兴趣,这可以作为排序的负样本,甚至可以作为召回的正样本但不应该把这类当作召回的负样本。

小结,曝光没点击的物品只适合于训练排序模型,不适用于训练召回模型(工业界的共识,反复做实验得出的结论)。

总结

  1. 正样本:曝光且有点击

  2. 简单负样本:

    • 全体物品
    • batch内负样本
  3. 困难负样本:被召回,但被排序淘汰

  4. 曝光且未点击的物品不能做召回的负样本,可以做排序的负样本