• 《Learning Deep Structured Semantic Models for Web Search using Clickthrough Data》
  • 论文由微软发表于 CIKM-2013。DSSM被广泛用于工业界的 召回/粗排 阶段。

模型结构

  • 模型结构一目了然,非常简单,双塔结构:user侧一个塔,item一个塔,塔用的是MLP。底层各自有各自的embedding。两塔输出特征维度一致,最后做内积或cosine来计算相似度;损失函数用二分类交叉熵即可。
  • dssm的缺点也很明显:无法做user和item的交叉/交互特征。(可参考:新浪微博张俊林的尝试SENet,如何在双塔模型中做user和item的交叉/交互)

DSSM - 召回阶段用法

  • 现在工业界的推荐系统的召回阶段基本上多路召回,比如CF召回、CB召回、语义向量召回等,DSSM召回也是语义向量召回的一种。

dssm的离线训练(召回阶段)

大佬的名言:“如果精排是特征的艺术,那么召回就是样本的艺术(负样本为王)”。负样本的构造对于召回阶段来说非常非常重要!

  • 召回阶段的正样本即用户点击过的item。那负样本的选择应该是面向的全量候选item中取,而不是从已曝光未点击的item中(避免样本选择偏差问题-SSB)。
  • dssm的做法是,数据集里只有正样本item(即用户点击过的item);对于某个用户,而负样本的选取则是从数据集 (不包含这个用户点击过的item)中随机选则4个item作为负样本。【其他常见的负样本构造方法,请参阅我的博文:召回或粗排阶段 常见负样本构造方法】

dssm的在线推理(召回阶段)

  • dssm之所以能够在工业界这么流行,就是因为其双塔结构能够做到非常好的解耦,即训练好后user侧塔和item侧塔完全没关系,没有依赖关系。

  • 可提前存好item embedding(间隔一定时间更新),user侧请求计算出user embedding后,就可以去item库里做ANN检索出top n个最相似的item。关于ANN检索技术比较有很多,比如:kd树、Annoy、HNSW等,Facebook开源了ANN库FAISS(这个我好像经常听说)。

  • 所以,很明显了,dssm并不能做user和item的交叉/交互特征。

DSSM - 粗排阶段用法

和召回差不多用法,区别如下:

  • 训练集不一样:因为粗排和精排的目标是一致的,所以负样本用的和精排一样的,都是曝光未点击的。

  • 在线推理时候选集不一样:召回的候选集是全局物料池,而粗排时的是多路召回后的候选item集。

大佬的工程经验参考:

  • 如果召回的dssm模型和粗排的dssm模型,在特征、样本都一样的情况下,则dssm召回的item大部分都会被粗排排出去,注意这里是大部分,从我们的实践中大概有一半的会被排出去,至于为什么没有全部都被排出去,原因应该是数据中存在multi-view,即使特征、样本、网络结构都一样,只要参数初始化是随机的,网络最终也会学到不同的view。







参考链接:https://blog.csdn.net/u012328159/article/details/123782735

DSSM - 双塔经典模型(微软)相关推荐

  1. 从DSSM语义匹配到Google的双塔深度模型召回和广告场景中的双塔模型思考

    ▼ 相关推荐 ▼ 1.基于DNN的推荐算法介绍 2.传统机器学习和前沿深度学习推荐模型演化关系 3.论文|AGREE-基于注意力机制的群组推荐(附代码) 4.论文|被"玩烂"了的协 ...

  2. DSSM双塔模型及pytorch实现

    本文介绍用于商业兴趣建模的 DSSM 双塔模型.作为推荐领域中大火的双塔模型,因为效果不错并且对工业界十分友好,所以被各大厂广泛应用于推荐系统中. 通过构建 user 和 item 两个独立的子网络, ...

  3. 推荐系统-模型(一):召回模型【协同过滤类: ItemCF/UserCF】【Embedding类】【Dssm/双塔/word2vec】【图类召回算法 (Deepwalk、EGES)】

    推荐系统-召回模型:[协同过滤类: ItemCF/UserCF][Embedding类][Dssm/双塔/word2vec][图类召回算法 (Deepwalk.EGES)]

  4. 召回模型:DSSM双塔模型

    文章目录 DSSM(2013) DNN for Computing Semantic Features Word Hashing Youtube双塔模型(2019) Modeling Framewor ...

  5. 点击率预估的几个经典模型简介

     点击率预估的几个经典模型简介 2016-02-22 00:32 点击率预估是大数据技术应用的最经典问题之一,在计算广告,推荐系统,金融征信等等很多领域拥有广泛的应用.本文不打算对这个话题做个全面 ...

  6. CNN的几种经典模型

    本文主要介绍一下CNN的几种经典模型比较.之前自己也用过AlexNet和GoogleNet,网络上关于各种模型的介绍更是形形色色,自己就想着整理一下,以备自己以后查阅方便 LeNet5 先放一张图,我 ...

  7. 关于点击率模型,你知道这三点就够了 点击率预估的几个经典模型简介

    关于点击率模型,你知道这三点就够了 德川 2015年11月24日 阅读 2091 快速评论 说到广告,或者运营,关注的最多的就是点击率了.我们经常能听说某某科学家通过建立更好的点击率预测模型,为公司带 ...

  8. 【推荐系统】DSSM双塔召回2

    来自小红书,双塔的总结 目录 模型结构.训练方式 point-wise训练 pair-wise训练 list-wise训练 正负样本 线上服务 模型结构.训练方式 用户侧 用户离散特征:emb,男女这 ...

  9. PyTorch Hub发布获Yann LeCun强推!一行代码调用经典模型

    作者 | Team PyTorch 译者 | Monanfei 责编 | 夕颜 出品 | AI科技大本营(ID: rgznai100) 导读:6月11日,Facebook PyTorch 团队推出了全 ...

最新文章

  1. (摘要)100个伟大的商业理念:理念34:企业社会责任
  2. 用 Ubuntu 重置 Windows 密码
  3. 如何在spring中读取properties配置文件里面的信息
  4. jquery $(document).ready() 与window.onload的区别
  5. Lost Cows POJ - 2182(线段树)
  6. LeNet网络配置文件 lenet_train_test.prototxt
  7. phpMyAdmin ‘tbl_gis_visualization.php’多个跨站脚本漏洞
  8. PyMOTW-3 (Python 3 Module of the Week) 翻译团队召集
  9. Spring restTemlate的使用
  10. How to convert any valid date string to a DateTime.
  11. 几个北大和南开学霸的公众号,值得学习
  12. svn和git的区别
  13. 大专生北漂10年,月薪翻20倍,我的人生从不被学历设限
  14. AD18运行PCB DRC显示一处警告, Design contains shelved or modified (but not repoured) polygons.
  15. 一个男朋友写给女朋友的信.爆笑(真勇敢)
  16. Lytro Power Tool使用记录
  17. systemverilog中rand机制的 $urandom_range()函数
  18. 2021-09-27 网安实验-取证分析-计算机取证之Xplico
  19. uni-app写微信小程序获取位置信息
  20. 小白学基金——基础篇

热门文章

  1. 最短路径(Dijkstra算法),一文必看懂最短路径的方法
  2. J2EE入门:环境搭建
  3. 自学一对一直播脚本开发可行吗?
  4. JS中如何定义全局变量
  5. 大学女生购衣之21条定律
  6. VS2022 LNK1104无法打开文件“libboost_filesystem-vc143-mt-gd-x64-1_78.lib”
  7. 2018 HDU多校第四场赛后补题
  8. 目标跟踪Tracker
  9. expect用法(实例讲解)
  10. 名帖158 行书《兰亭八柱帖》第八册:乾隆弘历临董其昌仿柳公权书兰亭诗