5.3-FM召回

8/2/2021

image.png

# 推荐系统召回是怎么实现热门item的打压?

任何一个推荐系统,都难逃"2~8定律的影响,即20%的热门item占据了80%的曝光与点击。因为正例中的物料都是用户点击过的物料,可以说正例数据被少数热门物料所”垄断”。导致的后果就是,

  • 训练时,模型会迫使每个用户向量尽可能接近少数热门物料的向量;
  • 预测时,每个用户从FAISS检索出来的邻居都是那少数几个热门物料,使推荐结果丧失了个性化与多样性。

由此可见,"打压热门物料的必要性。视物料出现在正例还是在负例中,要采取截然不同的打压策略

# 生成item+时,打压高热item(热门物料当正例要降采样)

目标是降低热门item成为item+的可能性。因此,item越热门,其成为item的概率就应该越低。
定义一个item成为item+的概率

  • 其中是物料的曝光频率。可见,曝光越频繁,即热度越高,它成为正样本的概率就越低。
  • 是一个超参。可以理解为定义"冷门物料"的门槛,如果还被点击过,必须成为正样本。

# 生成item-时,提升高热item(热门物料当负例要过采样)

目标是提升热门item成为item-的概率。物料的热度越高,应该越有可能成为负例。可以从两个角度来理解

  • 既然热门item已经垄断了了item+,我们也需要提高热门item在item-中的比例,以抵消热门item对loss的影响
  • 如果在负采样时采取uniform sampling,因为候选集巨大而采样量有限,因此极有可能采样得到的物料与用户"八杆子打不着",即所谓的easy negative。而如果多采样一些热门item当item-,因为绝大多数用户都喜欢热门item,这样采集到的item-是所谓的hard negative,会极大地提升模型的分辨能力。

所以在随机采样负样本时,一方面需要采集到的item-能够尽可能地广泛覆盖所有候选item,另一方面又需要使采集到的item-尽量集中于高热item。
为了平衡这两方面的需求,我们定义负采样概率

  • 代表所有候选物料
  • 超参时,负采样完全按照物料的热门程度进行,对热门item的打压最厉害,但是对所有候选item的覆盖度下降,导致训练数据环境与预测数据环境的gap增大,反而损害召回效果。
  • 时,负采样变成unform sampling,对所有候选item的覆盖度最高,减少了训练环境与预测数据环境的gap,但是对热门item的打压完全没有打压,采集到的都是easy nagatve,召回效果会偏热门,个性化较差。
  • 根据经验,b一般取0.75

# 请简述一下FM召回的原理和优点。