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在召回和粗排的应用举例的更多相关文章

  1. L2R 一:基础知识介绍

    一.背景 l2r可以说是搜索推荐里面很常用的知识了,一直处于一知半解的地步,今天开个博客准备把这些零散的东西系统性整理好,一版就粗糙点了. 二.粗概 前段时间的项目主要和搜索引擎相关,记录下搜索引擎的 ...

  2. 广告召回 Query-Ad Matching

    小结: 1.最为基础的召回链路就是要保证召回层的相关性,但是相关性高的广告并不一定具有很高的商业价值,所以开始尝试将一些商业化业务指标作为召回的依据 百度凤巢新一代广告召回系统--"莫比乌斯 ...

  3. 牛亚男:基于多Domain多任务学习框架和Transformer,搭建快精排模型

    导读: 本文主要介绍了快手的精排模型实践,包括快手的推荐系统,以及结合快手业务展开的各种模型实战和探索,全文围绕以下几大方面展开: 快手推荐系统 CTR模型--PPNet 多domain多任务学习框架 ...

  4. 计算广告(4)----搜索广告召回(也叫match、触发)

    一.搜索广告形态 1.特征工程 特征主要有用户画像(user profile).用户行为(user behavior).广告(ad)和上下文(context)四部分组成,如下所示: 2.平台算法主要分 ...

  5. 是时候给你的产品配一个AI问答助手了!

    本文由云+社区发表 | 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库.知识图谱或问答知识库返回简洁.准确的匹配答案.相较于搜索引擎,问答系统能更 ...

  6. 搜索相关性算法在 DiDi Food 中的搜索

    导读:今天给大家分享的主题是搜索匹配问题在 DiDi Food 中的一些探索与应用.本文首先介绍了搜索相关性的一些背景,之后介绍了业界常见的三种匹配模型,以及在DiDi Food业务中的模型效果对比. ...

  7. 搜索系统核心技术概述【1.5w字长文】

    前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...

  8. 【阿里云产品公测】阿里云OpenSearch初次使用评测

    作者:阿里云用户 bailimei 从一开始我就对opensearch非常陌生,这是我第一次接触它,本以为对我来说上手难度会比较大,看完帮助信息后我决定试用看看,经试用后我发现阿里云opensearc ...

  9. 鹅厂优文 | 怎样用AI运维

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 织云平台团队 团队发布在腾讯云+社区 诞生背景 最近这些年,运维行业提出了不少概念,各种各样的"XX运维"可以说 ...

随机推荐

  1. 【MySQL】Last_SQL_Errno: 1594Relay log read failure: Could not parse relay log event entry...问题总结处理

    备库报错: Last_SQL_Errno: 1594 Last_SQL_Error: Relay log read failure: Could not parse relay log event e ...

  2. 如何在windows开机画面里隐藏用户

    当开机的时候都会在欢迎屏幕中显示一个账户或者多个已经建立的账户,通常还会显示登录的用户名,我们可以通过修改注册表实现把某个用户隐藏,具体方法如下:http://hi.baidu.com/liminsu ...

  3. oracle ORA-00060死锁查询、表空间扩容

    --查看被锁住的表 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects ...

  4. 3A限流IC,带短路保护,PW1503和PW1502

    一般说明 PW1503,PW1502是超低RDS(ON)开关,具有可编程的电流限制,以保护电源源于过电流和短路保护.它具有超温保护以及反向闭锁功能. PW1503,PW1502采用薄型(1毫米)5针薄 ...

  5. SpringMVC下关于静态资源访问

    SpringMVC静态资源访问 聊一聊关于静态资源的访问问题 首先,我们要对web.xml里面的DispatcherServlet进行设置 <!-- 中央调度器--> <servle ...

  6. Scrapy——將數據保存到MySQL數據庫

    Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...

  7. jQuery 点击当前展开其他隐藏

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  8. Exception 异常处理

    https://github.com/jazzband/django-redis/blob/master/django_redis/exceptions.py django-redis/base.py ...

  9. 房产基于Swoole的PHP RPC框架设计

    房产基于Swoole的PHP RPC框架设计 https://mp.weixin.qq.com/s/XSrKEQ-0q4DvjOGTIwYYzg

  10. ETL调优的一些分享(下)(转载)

    如在上篇文章<ETL调优的一些分享(上)>中已介绍的,ETL是构建数据仓库的必经一环,它的执行性能对于数据仓库构建性能有重要意义,因此对它进行有效的调优将十分重要.ETL业务的调优可以从若 ...