大规模推荐Deep Retrieval
(1)Why Deep Retrieval?
一个规模较大的推荐系统,需要解决的核心问题就是如何从百万甚至亿级别的候选集中快速找到最相关的top-k个候选。以前的解决方案都是两步:
- 双塔模型,最后做Dot
- 用Annoy Tree或者HNSW给候选集建索引,在线计算向量实时检索top-k
之前方案存在的问题:
- 因为要分两步,而两步的目标是不一样的。
- 双塔限制了模型的表达能力
基于此,又出现了TDM等树结构模型,但是把每个候选分配到唯一一个叶子节点是最好的方案吗?所以end-to-end的Deep Retrieval(DR)就这样诞生了。
(2)Deep Retrieval 长什么样?
DR并没用用树结构,而是采用了一个矩阵结构(图a所示),现在规定只能从左向右走,因此走D步就可以走完这个矩阵,一共有K的D次方种走法,每一种走走法,都代表一簇候选。所以一个候选,可能存在于多种走法,一种走法也会有多个候选。类比到电商,比如一种类别就对应一种走法,一种类别包含多个商品,一个商品可能也属于多个类别,比如巧克力既可以是食品,也可以是情人节礼物。拿图(a)来说,(1,2,1)和(2,1,2)两条路径分别表示情人节礼物和食品,里面都可以有巧克力。
那怎么从从user的特征,找到一天路径,拉出候选商品呢。可以通过user特征,embeding后,user-embedding接softmax层确定先走到哪个节点,走第k步(k∈[1,D]),就可以用历史走过的所有节点的embedding和user-embedding concat在一起,接softmax层判断第k步走到应该走到哪个节点,最终得到的路径就可以拉出很多candidate了。
Deep Retrieval的优势:
- 训练的时候item的露肩可以和神经网络参数用EM算法一起学习
- Deep Retrieval是end-to-end的模型,容易部署
- 多对多的编码方式使得DR能学到user和item更复杂的关系
(三) Deep Retrieval如何定义目标函数?
既然是概率,我们就可以定义类似logloss的目标函数,如下式:
融合上面两个式子:
看到这里,大家肯定有疑问,不是一个商品对应多个路径吗,目标函数咋一点没体现?下面才开始介绍多路径的目标函数。
预估的时候,用Beam Search找到J条路径,合并每条路径召回的item即可。
(四)Deep Retrieval如何学习参数?
因为有目标函数有π的存在,所以目标函数不连续,也就不可以做梯度下降,因此论文提出EM算法解决这个问题,并用正则化降低过拟合。
再看下多路径目标函数:
然后论文说上式有出现log(0)的风险,通过融合下面不等式,就可以避免这个情况:
最终,EM训练算法总结如下,关于正则化就不细说了:
(五)Deep Retrieval为何如此优秀?
论文提到,Deep Retrieval能如此优秀,是因为目标函数包含了softmax层,因为一开始每个物品的路径是随机初始化的,增加了优化的困难,因为softmax的输入是共享embeding的,使得模型一直在往正确的方向学习,最后还用了beam search,所以召回如此优秀。
http://weixin.qq.com/r/XSjP1zrEzGezrX60931P (二维码自动识别)
大规模推荐Deep Retrieval相关推荐
- 推荐系统炼丹笔记:大规模推荐Deep Retrieval
作 者:十方 公众号:炼丹笔记 (1)Why Deep Retrieval? 一个规模较大的推荐系统,需要解决的核心问题就是如何从百万甚至亿级别的候选集中快速找到最相关的top-k个候选.以前的解决方 ...
- CIKM 2021 | Deep Retrieval:字节跳动深度召回模型论文精读
©作者 | 杰尼小子 单位 | 字节跳动 研究方向 | 推荐算法 文章动机/出发点 这是一篇字节跳动发表在 CIKM 2021 的论文,这一项工作在字节很多业务都上线了,效果很不错.但是这篇文章整体读 ...
- 如何优化大规模推荐?下一代算法技术JTM来了
阿里妹导读:搜索,推荐和广告是互联网内容提供商进行价值创造的核心业务,在阿里巴巴的电子商务交易平台上,搜索,推荐和广告业务同样具有举足轻重的意义和价值.现在,阿里推荐技术又双叒优化了,新的推荐技术,新 ...
- 大规模推荐引擎和广告点击率预估引擎中的TopK计算
转自:https://chuansongme.com/n/2035198 推荐引擎的研究结果成千上万,绝大部分工作都来自于矩阵分解或者类似,在针对用户和Item分别训练出特征向量之后,根据向量内积计算 ...
- 推荐系统炼丹笔记:Deep Retrieval
作 者:十方 公众号:炼丹笔记 (1)Why Deep Retrieval? 一个规模较大的推荐系统,需要解决的核心问题就是如何从百万甚至亿级别的候选集中快速找到最相关的top-k个候选.以前的解决方 ...
- 字节跳动Deep Retrieval召回模型笔记
今天讲讲字节的一个召回的文章:<Deep Retrieval: An End-to-End Learnable Structure Model for Large-Scale Recommend ...
- SIGIR2020 | 淘宝提出结合知识图谱与大规模推荐的新框架ATBRG
星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 江城 编 | 夕小瑶 今天分享一篇淘宝发表在 SIGIR2020 上的关于知识图谱应用于大规模推荐的论文<ATBRG: A ...
- Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index
Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index 嵌入索引能够实现快速近似近邻 ...
- TDM 三部曲 (与 Deep Retrieval)
最新文章
- RHEL6入门系列之十三,阶段练习1
- python实验指导书2018_python实验指导书
- 安装php扩展 ffmpeg-php
- pythonpm2.5空气质量提醒_Python实现抓取城市的PM2.5浓度和排名
- Java垃圾回收机制详解(万字总结!一篇入魂!)
- 2019,谁把握了 “私域流量”,谁就把握了未来十年!私域流量的未来是矩阵化!...
- IT界最短的笑话:上中台!
- Linux在桌面市场为何没有取得成功?
- HDS VSP/VM高端存储更换电池
- STM32 ST-LINK Utility使用步骤
- 目标检测中region proposal的作用?
- 发现一个非常好用的编程字体 看起来非常舒服 - Tahoma
- Social LSTM全文翻译
- FPGAi2c总线调试M24LC04B
- HTNL常见的标签及属性 和w3school的使用
- [LOJ#3119][Luogu5405][CTS2019]氪金手游(DP+容斥)
- 项目管理专用中英文术语词汇
- 快速入门JavaScript(一)
- educoder平台项目——旅游网站之数据分析
- 【恩墨学院】京东618大促网关承载十亿调用量背后的架构实践
热门文章
- TabLayout让Fragment在ViewPager中的滑动切换更优雅
- P2344 奶牛抗议
- GraphPad Prism 9.3 MacOS 2021科研绘图统计 支持Monterey 安装使用教程
- SARscape_5.2.0和SARscape_5.2.1安装包下载
- 结对编程前对队友程序的分析与对比总结
- SPSS 26安装教程
- mysql 衍生表必须有别名_MySQL“每个派生表必须有自己的别名”
- 机器人学习--网友资料系列 激光SLAM建图、粒子滤波定位和位姿图优化
- 人工智能-机器学习=深度学习-其他
- macOS配置Visual Studio Code开发Java项目