精通推荐算法31:行为序列建模之ETA — 基于SimHash实现检索索引在线化

news2024/9/29 0:40:38

1 行为序列建模总体架构

2 SIM模型的不足和为什么需要ETA模型

SIM实现了长周期行为序列的在线建模,其GSU检索单元居功至伟。但不论Hard-search还是Soft-search,都存在如下不足:

  1. GSU检索的目标与主模型不一致。Hard-search通过类目属性来筛选历史行为,但不同类目不代表相关度低,比如啤酒和尿布。Soft-search通过辅助模型的Embedding来检索top-K近邻,但辅助模型与主模型有不一致问题。
  2. GSU检索的索引更新频率与主模型不一致。索引规模一般很大,通常需要离线构建,很难在线频繁更新。而目前很多精排模型都实现了在线学习,其更新频率很快。这就导致GSU检索时可能还在使用已过时的离线索引。

要解决这一问题,最好的办法是将近邻搜索从离线转化为在线。但在线进行内积计算求相似度,对于长序列来说,耗时过高。所以关键在于如何找到一种快速进行相似度计算的方法。ETA模型应运而生。

ETA End-to-End Target Attention)由阿里巴巴推荐团队于2021年提出,全称“ End-to-End User Behavior Retrieval in Click-Through Rate Prediction Model[9]。它受到NLP中Reformer模型的启发,通过SimHash实现了快速计算相似度,从而实现了近邻搜索的在线化。

ETA模型结构

ETA同样采用先检索后建模的二阶段方式,主要针对检索阶段进行优化。其核心点在于,将相似度计算从向量内积,转化为了SimHash和海明距离。大大加快了近邻搜索,从而不需要离线构建top-K索引,直接在线计算即可,使得索引更新频率可以与主模型保持一致。另外检索阶段直接使用主模型的Embedding,不需要额外的辅助模型,从而使得二者目标保持一致。ETA模型结构如图5-18所示。

先通过检索模块将长序列抽取为短序列,如图5-18左下角虚线框内所示。然后再通过Multi-Head Target Attention建模得到其表征向量。然后再和用户短序列建模后的表征向量、用户侧和物品侧其他特征向量等,一起合并,如图5-18右下角所示。之后再通过MLP全连接网络得到输出,如图5-18右上角所示。整个过程与SIM比较相近,关键在于检索阶段相似度计算的方法不同。SIM采用向量内积计算余弦相似度,而ETA则为SimHash和海明距离。下面重点来看怎么实现的。

SimHash原理

SimHash是一种局部敏感哈希,可以快速实现向量压缩。其计算过程为

如图5-19所示,空间中的两向量x和y,经过了四次随机旋转。每次旋转可认为是一个哈希函数,旋转后位于下半轴(黄色所示)则取值为1,上半轴(蓝色所示)则为0。最终分别压缩为一个四维二进制向量。对比两次哈希过程可以发现,当x和y本身比较相近时,其SimHash后的结果也相近

ETA中,先利用主模型的Embedding计算SimHash。线上推理时,取出候选物品和每个历史行为对应物品的SimHash结果,计算海明距离。最后取出top-K距离最近的,即完成了检索过程。海明距离为,两向量相同位置元素不同的个数。当两向量相同时,其海明距离为0。海明距离可以通过异或运算得到,其计算速度非常快

5 ETA总结和思考

ETA通过对SIM检索阶段相似度计算方式的升级,使得top-K近邻搜索索引不需要离线构建,从而最大限度保证了检索阶段和主模型的一致性。可以发现,从MIMN离线建模长周期序列,发展到SIM离线构建索引,在线实现检索和建模,再发展到ETA索引也实现了在线化。模型每个部分逐步从离线过渡到在线,提升了整体一致性和更新频率。

6 作者新书推荐

历经两年多,花费不少心血,终于撰写完成了这部新书。本文在5.8节中重点阐述了。

源代码:扫描图书封底二维码,进入读者群,群公告中有代码下载方式

微信群:图书封底有读者微信群,作者也在群里,任何技术、offer选择和职业规划的问题,都可以咨询。

详细介绍和全书目录,详见

《精通推荐算法》,限时半价,半日达icon-default.png?t=O83Ahttps://u.jd.com/mq5gLOH

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2175278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《深度学习》【项目】OpenCV 发票识别 透视变换、轮廓检测解析及案例解析

目录 一、透视变换 1、什么是透视变换 2、操作步骤 1)选择透视变换的源图像和目标图像 2)确定透视变换所需的关键点 3)计算透视变换的变换矩阵 4)对源图像进行透视变换 5)对变换后的图像进行插值处理 二、轮廓检测…

集翼智能视频营销管理平台 丨OPENAIGC开发者大赛企业组AI创作力奖

在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给…

GreenPlum数开手册【语法篇】

GreenPlum数开手册 一、数据类型 1、基本数据类型 类型长度描述范围bigint8字节大范围整数-9223372036854775808 到 9223372036854775807smallint2字节小范围整数-32768到32767integer(int)4字节常用整数-2147483648 到 2147483647decimal可变长用户指定的精度,精…

服务运营 | 运营前沿:生成式AI改变医疗保健的运作方式

编者按 人工智能正在重塑医疗保健的运作方式,减少医生负担并优化病人的就医体验。从解答患者疑问到开发新药,人工智能正在快速革新医疗保健这一行业。编者团队此次将关注《哈佛商业评论》于2023年11月27日发布的文章《GenAI Could Transform How Health …

实验一 网络基础及仿真模拟软件Packet Tracer 入门

实验一 网络基础及仿真模拟软件Packet Tracer 入门 【实验目的】 一、认识 Packet Tracer 。 二、学习使用 Packet Tracer 进行拓扑的搭建。 三、学习使用 Packet Tracer 对设备进行配置,并进行简单的测试。 【实验内容和结果】 一、拖放设备和布置线缆 二、用…

国庆假节高速免费通行全攻略

关注▲洋洋科创星球▲一起成长! 国庆节假期全国收费公路继续对7座以下(含7座)小型客车免收车辆通行费。 具体免费时段从 10月1日00:00开始 10月7日24:00结束 01 提前出发,免费离开: 如果你在…

HttpServletRequest简介

HttpServletRequest是什么? HttpServletRequest是一个接口,其父接口是ServletRequest;HttpServletRequest是Tomcat将请求报文转换封装而来的对象,在Tomcat调用service方法时传入;HttpServletRequest代表客户端发来的请…

数据结构:详解搜索二叉树

目录 一、搜索二叉树的概念 二、搜索二叉树的基本结构 三、搜索二叉树的插入 四、搜索二叉树的查找 五 、搜索二叉树的删除 一、搜索二叉树的概念 ⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: 若它的左子树…

每天五分钟深度学习PyTorch:如何使用GPU来跑深度学习算法模型?

本文重点 我们前面介绍pytorch的时候,我们提到过它可以使用GPU加速,那么如何才能完成GPU的加速呢?在pytorch中非常简单,我们只需要将数据计算,模型放到GPU上就行,这样就可以使用GPU来跑深度学习算法模型了。 如何判断我们的电脑是否支持GPU pytorch中关于GPU的一些相关…

[JavaEE] IP协议

目录 一、 IP协议 1.1 基本概念 1.2 协议头格式 1.3 特殊IP 二、 地址管理 2.1 网段划分 2.2 CIDR(Classless Interdomain Routing) 2.3 私有IP地址和公网IP地址 2.4 NAT(Network Address Translation)-网络地址转换 2.5 路由选择 三、数据链路层 3.1 认识以太网 3…

嵌入式Linux系统TF卡热插拔检测问题

一、背景介绍 项目上使用linux系统,运行主控是君正T41,遇到一个系统无法识别TF卡的问题,经过一番探索最终成功解决。感觉挺有意思的,记录下分析和解决的过程。 二、现象描述 插入TF卡后系统无任何反应,也没有生成 /…

工业缺陷检测——Windows 10本地部署AnomalyGPT工业缺陷检测大模型

0. 引言 在缺陷检测中,由于真实世界样本中的缺陷数据极为稀少,有时在几千甚至几万个样品中才会出现一个缺陷数据。因此,以往的模型只需在正常样本上进行训练,学习正常样品的数据分布。在测试时,需要手动指定阈值来区分…

Java零工市场小程序如何改变自由职业者生活

如今,自由职业者越来越多,他们需要找到合适的工作机会,Java零工市场小程序,为自由职业者提供了一个方便、快捷的寻找工作机会的方式,这样一来,改变了自由职业者找寻工作的方式,也提高了他们的收…

DudeSuite Web Security Tools 渗透测试工具集

《Java代码审计》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484219&idx1&sn73564e316a4c9794019f15dd6b3ba9f6&chksmc0e47a67f793f371e9f6a4fbc06e7929cb1480b7320fae34c32563307df3a28aca49d1a4addd&scene21#wechat_redirect 《Web安全》h…

探索私有化聊天软件:即时通讯与音视频技术的结合

在数字化转型的浪潮中,企业对于高效、安全、定制化的通讯解决方案的需求日益迫切。鲸信,作为音视频通信技术的佼佼者,凭借其强大的即时通讯与音视频SDK(软件开发工具包)结合能力,为企业量身打造了私有化聊天…

vue3学习记录-computed

vue3学习记录-computed 1.为什么要用computed2.使用方法2.1 基本实例2.2 可写计算属性 1.为什么要用computed 写个购物车的案例 <script setup> import { ref, reactive,computed } from "vue" const tableData reactive([{ name: 商品1, price: 10, num: 1…

Mysql数据库相关操作总结

目录 1.背景知识 2.创建数据库 2.1创建指令 2.2字符集 3.查看数据库 3.选中数据库 4.删除数据库 5.数据表的操作 5.1基本数据类型 5.2创建表 5.3查看所有的表 5.4查看表的结构 5.5删除表 6.CRUD增删查改 6.1新增和效果查看 6.3删除 6.4查找 1.背景知识 数据库就…

微pe和u深度pe哪个好用_微pe和u深度pe对比分析

大家在安装系统时都喜欢用pe来安装&#xff0c;pe安装系统的好处就是稳定可靠&#xff0c;不担心进不了系统。最近有网友问我&#xff0c;微pe和u深度pe哪个好用?下面小编就给大家分析一下微pe和u深度pe对比分析。 微pe和u深度pe哪个好用? 微PE好&#xff0c;目前公认良心PE…

【JavaScript】JQuery基础知识及应用

一、JQuery的导入方法 https://editor.csdn.net/md/?articleId132214798 二、JQuery介绍 JQuery(JQ)&#xff1a;JS的一个类库&#xff08;方法库&#xff1a;包含了大量的、有助于项目开发的属性和方法&#xff09; 第一代版本1.xx.xx: 1.11.3 兼容所有浏览器的&#xff0…

iOS 项目中的多主题颜色设计与实现

引言 在现代iOS应用中&#xff0c;用户对个性化体验的需求越来越高&#xff0c;除了功能上的满足&#xff0c;多样的视觉风格也是提升用户体验的重要手段之一。提供多主题颜色的切换功能不仅能满足用户的审美偏好&#xff0c;还可以让应用更具活力&#xff0c;适应不同场景下的…