DSSM在召回和粗排的应用举例
0.写在前面的话
DSSM(Deep Structured Semantic Models)又称双塔模型,因其结构简单,在推荐系统中应用广泛;下面仅以召回、粗排两个阶段的应用举例,
具体描述下DSSM在工业界实践的一些所见所闻,力求自身和大家都能有所收获。
1.网络结构
paper:Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
example:DSSM召回模型
原始的DSSM是在搜索CTR预估任务,大概分为:1)embedding层 2)MLP层 3)cosine相似度logit 4)softmax层;其中Q代表搜索词(用户),D1,2,...,n为检索文档(物料) 。
如果将最左侧看作一个塔,并称为用户塔;那右侧就可以称为物料塔(或者物料塔1,2,...,n);双塔,多塔架构由此得来。
1.1 tanh激活函数与ReLU激活函数
注意DSSM是用的tanh激活函数
2.召回应用
自然能想到,将用户最近点击,消费,转化等的数据采集后作为正样本;采样些全局最热但未点击(Youtube负采样套路)作为负样本构造样本训练DSSM模型进行推荐召回。
DSSM在预测的时候就可以借助Faiss进行异步物料向量更新,加载模型后可以根据实时用户行为进行ANN检索(求Topk相似向量)。
下图为视频 | 深度学习在美图个性化推荐的应用实践 中DSSM召回线下训练,线上serving的整体架构图。

当然DSSM只是一种架构,上面模型结构只是其中一个示例;实际user feature,item feature可以有多种多样建模方式,负样本采样、以及sigmoid还是softmax loss等等都是可以探索的地方。
3.粗排
如果说DSSM召回是用户物料表征的精耕细作,那DSSM粗排就是学习精排序的算力优化。
下面是全民K歌推荐分享 中粗排的引入:大概总结就是将多路召回结果在进入精排前引入粗排阶段,在性能约束的情况下学习精排的排序结果,初筛出精排能处理的结果集。 
下面是全民K歌推荐分享 的两个演进:


承上启下,上面DSSM的两个优化点都借助于模型蒸馏,其一softmax中加入temperature(即参数T),可以起到平滑/尖锐softmax输出的作用;
T越大,结果越平滑,得到的概率分布更“平滑”;相应的T越小,得到的概率分布更“尖锐”,这就是T的作用。更详细的计算可以参考:SoftMax温度系数temperature parameter;
其二引入Teacher-Student架构进行蒸馏,下面是增加了优势特征(Privileged Features)蒸馏的架构图:

教师网络训练的同时,异步更新学生网络,减少训练时长;线上serving时,仅部署student网络进行前向推断。这样就可以同时训练复杂模型,和提供轻量的线上预估模型。
粗排中的优势特征:
有一些交叉特征是对粗排效果影响明显的,比如用户(u_i)在过去24个小时内在待预估商品类目(cate_j)下的点击次数。但是复杂的交叉特征会增加线上的推理延时,所以不能作为常规特征来训练。于是交叉特征就成为了粗排阶段的优势特征。
关于Point2中的公式说明:
X表示普通特征,X*表示优势特征,y表示标签,L表示损失函数;下标s表示student,d表示distillation,t表示teacher。
4.写在后面的话
上面的介绍仅是从dssm角度总结了召回,排序的一些工作;实际dssm导出的用户向量,物料向量还可衍生出很多著名的召回(读者可以想想上一篇ucf变种); 同时整个排序架构特征更新、样本拼接,模型更新等都由于篇幅有限没有详细说明,那下一篇文章想和大家一起总结回顾下近年来排序模型及架构的主要演进。
DSSM在召回和粗排的应用举例的更多相关文章
- L2R 一:基础知识介绍
一.背景 l2r可以说是搜索推荐里面很常用的知识了,一直处于一知半解的地步,今天开个博客准备把这些零散的东西系统性整理好,一版就粗糙点了. 二.粗概 前段时间的项目主要和搜索引擎相关,记录下搜索引擎的 ...
- 广告召回 Query-Ad Matching
小结: 1.最为基础的召回链路就是要保证召回层的相关性,但是相关性高的广告并不一定具有很高的商业价值,所以开始尝试将一些商业化业务指标作为召回的依据 百度凤巢新一代广告召回系统--"莫比乌斯 ...
- 牛亚男:基于多Domain多任务学习框架和Transformer,搭建快精排模型
导读: 本文主要介绍了快手的精排模型实践,包括快手的推荐系统,以及结合快手业务展开的各种模型实战和探索,全文围绕以下几大方面展开: 快手推荐系统 CTR模型--PPNet 多domain多任务学习框架 ...
- 计算广告(4)----搜索广告召回(也叫match、触发)
一.搜索广告形态 1.特征工程 特征主要有用户画像(user profile).用户行为(user behavior).广告(ad)和上下文(context)四部分组成,如下所示: 2.平台算法主要分 ...
- 是时候给你的产品配一个AI问答助手了!
本文由云+社区发表 | 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库.知识图谱或问答知识库返回简洁.准确的匹配答案.相较于搜索引擎,问答系统能更 ...
- 搜索相关性算法在 DiDi Food 中的搜索
导读:今天给大家分享的主题是搜索匹配问题在 DiDi Food 中的一些探索与应用.本文首先介绍了搜索相关性的一些背景,之后介绍了业界常见的三种匹配模型,以及在DiDi Food业务中的模型效果对比. ...
- 搜索系统核心技术概述【1.5w字长文】
前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...
- 【阿里云产品公测】阿里云OpenSearch初次使用评测
作者:阿里云用户 bailimei 从一开始我就对opensearch非常陌生,这是我第一次接触它,本以为对我来说上手难度会比较大,看完帮助信息后我决定试用看看,经试用后我发现阿里云opensearc ...
- 鹅厂优文 | 怎样用AI运维
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 织云平台团队 团队发布在腾讯云+社区 诞生背景 最近这些年,运维行业提出了不少概念,各种各样的"XX运维"可以说 ...
随机推荐
- 【Linux】saltstack的使用详解 超详细
一.salt常用命令 salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令 salt [options] '<target>' <function ...
- 【Oracle】常见等待事件处理
1.查看数据库中需要关注的等待事件: select sw.seq#,sw.sid||','||s.serial# sids,s.username,sw.event,sw.P1,sw.p2,sw.p3, ...
- kubernetes机理之调度器以及控制器
一 了解调度器 1.1 调度器是如何将一个pod调度到节点上的 我们都已然知晓了,API服务器不会主动的去创建pod,只是拉起系统组件,这些组件订阅资源状态的通知,之后创建相应的资源,而负责调度po ...
- 【老孟Flutter】源码分析系列之InheritedWidget
老孟导读:这是2021年源码系列的第一篇文章,其实源码系列的文章不是特别受欢迎,一个原因是原理性的知识非常枯燥,我自己看源码的时候特别有感触,二是想把源码分析讲的通俗易懂非常困难,自己明白 和 让别人 ...
- allator 对springBoot进行加密
1.对springboot项目添加jar包和xml文件 allatori.xml: <config> <input> <jar in="target/sprin ...
- monitor a local unix domain socket like tcpdump
Can I monitor a local unix domain socket like tcpdump? - Super User https://superuser.com/questions/ ...
- centralized collectors 中心化 采集器
Fluent Bit https://fluentbit.io/ FluentBit is an open source specialized data collector. It provides ...
- automake的简单使用
https://blog.csdn.net/zhengqijun_/article/details/70105077 xxxxx https://blog.csdn.net/initphp/artic ...
- Redis 常见问题总结
1. 简单介绍一下 Redis 呗! 简单来说 Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是 Redis 的数据是存在内存中的 ,也就是它是内存数据库,所以读写速度非常快, ...
- POJ1195 二维线段树
Mobile phones POJ - 1195 Suppose that the fourth generation mobile phone base stations in the Tamper ...
