【推荐系统】DSSM双塔召回

召回综述:【推荐系统】推荐系统主流召回方法综述

【推荐系统】DSSM双塔召回_第1张图片

目录

一、DSSM概念

二、实践

召回模型负例如何选择?

是否做Norm? (应用trick)

温度超参是什么?--> Loss要带温度超参

2.1. 美图架构图

2.2. 淘系架构图

优化版本

2.3. 全民k歌架构图

优化方法


一、DSSM概念

【推荐系统】DSSM双塔召回_第2张图片

在推荐中的应用

【推荐系统】DSSM双塔召回_第3张图片

1、输入层word hashing

【推荐系统】DSSM双塔召回_第4张图片

2、中间层(常用的DNN模型)

3、匹配层

将doc和query(item和user)的embedding计算consine相似度,同时这是一个多分类问题,要使用softmax对匹配分数进行归一化,损失函数是交叉熵。

【推荐系统】DSSM双塔召回_第5张图片

二、实践

三个实践经验决策点:

  1. 召回模型负例如何选择?
  2. User Embedding和Item Embedding要做Norm? 要做,做了效果好。
  3. Loss中相似性计算中要带温度超参么?

召回模型负例如何选择?

  • In-Batch 负例(Google DNN双塔)
  • 全局随机抽样(Youtube DNN)
  • Mix{In-Batch负例+全局随机抽样}(Google)
  • Mix{In-Batch+曝光未点击}{我们19年做FM召回时的做法}

是否做Norm? (应用trick)

(1)对双塔两侧输出的Embedding进行L2标准化;

【推荐系统】DSSM双塔召回_第6张图片

为什么要做Norm? 增加训练稳定性以及线性可分性。

温度超参是什么?--> Loss要带温度超参

【推荐系统】DSSM双塔召回_第7张图片

对于内积计算的结果,除以一个固定的超参。超参的设定可以通过实验结果的召回率或者精确率进行微调。除以超参的效果如下,可以看到Softmax的效果更加明显。

【推荐系统】DSSM双塔召回_第8张图片

2.1. 美图架构图

美图个性化推荐的应用实践 中DSSM召回线下训练,线上serving的整体架构图。

将用户最近点击,消费,转化等的数据采集后作为正样本;采样些全局最热但未点击(Youtube负采样套路)作为负样本构造样本训练DSSM模型进行推荐召回。

DSSM在预测的时候就可以借助Faiss进行异步物料向量更新,加载模型后可以根据实时用户行为进行ANN检索(求Topk相似向量)。

【推荐系统】DSSM双塔召回_第9张图片

2.2. 淘系架构图

【推荐系统】DSSM双塔召回_第10张图片

优化版本

特别说明:self-attention就是Transformer 序列建模。

【推荐系统】DSSM双塔召回_第11张图片

【推荐系统】DSSM双塔召回_第12张图片

2.3. 全民k歌架构图

双塔最终优化结构

【推荐系统】DSSM双塔召回_第13张图片

优化方法

1、Softmax with Temperature

温度超参可以将Loss聚焦在Hard负例。

【推荐系统】DSSM双塔召回_第14张图片

【推荐系统】DSSM双塔召回_第15张图片

  • 说明了:如果温度超参越小,则将Hard负例在投影空间从Anchor推开能量越大;
  • 推论:召回模型的温度超参应该也是类似的作用,小的温度超参将优化过程自动聚焦到Hard负例;
  • 推论:可以再思考下召回模型的随机负例,引入温度超参可能更重要:Easy Example vs Hard Example;
  • 推论:使用温度超参,其实你不用专门去挖掘Hard Neg Example;

2、序列attention概念

  1. 无法直接用item信息来attention;
  2. 用稳定的行为去attention动态行为历史;
  3. 短期动态行为方差更大,attention可以帮助提取信息;
     

你可能感兴趣的:(推荐系统,机器学习,深度学习,数据挖掘)