DSSM双塔特征交互

传统的DSSM双塔无法在早期进行user和item侧的特征交互,这在一定程度上降低了模型性能。我们想要对双塔模型进行细粒度的特征交互,同时又不失双塔模型离线建向量索引的解耦性。下面介绍两篇这方面的工作。

美团-Dual Augmented Two-tower

meituan

  • 在user和item的特征侧分别引入可学习的特征向量
  • 当label=1的时候,user的 a u a_u au去学习item正样本的输出表征,从而实现隐式特征交互;item侧亦如此

损失函数如下:
loss ⁡ u = 1 T ∑ ( u , v , y ) ∈ T [ y a u + ( 1 − y ) p v − p v ] 2 loss ⁡ v = 1 T ∑ ( u , v , y ) ∈ T [ y a v + ( 1 − y ) p u − p u ] 2 y ∈ { 0 , 1 } \begin{aligned} \operatorname{loss}_u & =\frac{1}{T} \sum_{(u, v, y) \in \mathcal{T}}\left[y \mathbf{a}_u+(1-y) \mathbf{p}_v-\mathbf{p}_v\right]^2 \\ \operatorname{loss}_v & =\frac{1}{T} \sum_{(u, v, y) \in \mathcal{T}}\left[y \mathrm{a}_v+(1-y) \mathrm{p}_u-\mathbf{p}_u\right]^2 \\ y &\in \{0,1\} \end{aligned} lossulossvy=T1(u,v,y)T[yau+(1y)pvpv]2=T1(u,v,y)T[yav+(1y)pupu]2{0,1}

  • p u p_u pu p v p_v pv 梯度冻结,不进行更新
缺点

这种方式引入的交叉特征实际是非常"粗粒度"和"高阶"的,即携带的信息仅仅是对方tower最后输出的表征,对方tower在编码这段表征时,也仅仅只利用了fake的emb和tower本身的输入特征的交互。

百度-I3 Retriever

RankNet

  • 在doc侧设计一个轻量的query生成模块,利用doc侧特征作为输入,去fake一个query侧表征,去重构出query侧的输入特征。当然需要注意的是,也仅仅是在正样本上执行重构loss
  • doc侧与生成的query进行特征交互
  • 交互完的doc侧与query侧对比学习

重构损失函数如下:
L r = − ∑ w i ∈ q y w i log ⁡ ( W R K ( p ) q ) \mathcal{L}_r=-\sum_{w_i \in \mathbf{q}} \mathbf{y}_{w_i} \log \left(\mathbf{W}^{R_{\mathbb{K}}}(\mathbf{p})_q\right) Lr=wiqywilog(WRK(p)q)

对比损失函数如下:
L c = − log ⁡ exp ⁡ ( S ( q , p + ) ) exp ⁡ ( S ( q , p + ) ) + ∑ p − ∈ N − exp ⁡ ( S ( q , p − ) ) , \mathcal{L}_c=-\log \frac{\exp \left(S\left(\mathbf{q}, \mathbf{p}_{+}\right)\right)}{\exp \left(S\left(\mathbf{q}, \mathbf{p}_{+}\right)\right)+\sum_{\mathbf{p}-\in \mathcal{N}_{-}} \exp \left(S\left(\mathbf{q}, \mathbf{p}_{-}\right)\right)}, Lc=logexp(S(q,p+))+pNexp(S(q,p))exp(S(q,p+)),


参考

  • CIKM2023 | 突破双塔: 生成式交互的向量化召回

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于stm32开发的红外循迹小车

本项目算是接触32来开发的第一个小项目了,虽然前期用51写过一个循迹小车,以为直接转到32会比较简单,结果还是花了大几天才把小车的参数完全调完,以此来记录下自己的学习历程(注:循迹算法并未加入PID算法&am…

AI网络爬虫016:用deepseek批量提取coze扣子的智能体数据

文章目录 一、介绍二、输入内容三、输出内容一、介绍 动态加载页面,返回json数据: 翻页规律: https://www.coze.cn/api/marketplace 这两个URL在多个方面有所不同,主要差异如下: **查询参数(Query Parameters)**: - 第一个URL的查询参数包括: - `entity_type=1` - `…

【VUE基础】VUE3第七节—Vue Router路由基础

Vue Router 是 Vue 官方的客户端路由解决方案。 客户端路由的作用是在单页应用 (SPA) 中将浏览器的 URL 和用户看到的内容绑定起来。当用户在应用中浏览不同页面时,URL 会随之更新,但页面不需要从服务器重新加载。 Vue Router 基于 Vue 的组件系统构建&…

imazing电脑怎么下载 imazing怎么下载软件 使用iMazing下载和卸载Apple设备上的应用程序

iMazing官方版是一款管理苹果设备的软件,是一款帮助用户管理 iOS手机的PC端应用程序,能力远超 iTunes 提供的终极 iOS 设备管理器。在iMazing官方版上与苹果设备连接后,可以轻松传输文件,浏览保存信息等,功能比iTunes更…

rocketmq主从自动切换(Controller 嵌入 NameServer 部署)

rocketmq5以后,加入了主从自动切换的功能: 官网 https://rocketmq.apache.org/zh/docs/deploymentOperations/03autofailover 准备工作 1)关闭将要升级的nameserver、master、slave 2)复制master的store文件到其他两台机器&a…

240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat

240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat 基于MindNLP和ChatGLM-6B实现一个聊天应用,本文进行简单记录。 环境配置 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mi…

通过高德地图 JS API实现单击鼠标进行标注

效果图: 核心代码: <template><a-modal title="选择地图所在位置" :width="width" :visible="visible" @ok="handleOk" @cancel="handleCancel" cancelText="关闭"><div class="location-…

Flutter——最详细(Badge)使用教程

背景 主要常用于组件叠加上圆点提示&#xff1b; 使用场景&#xff0c;消息数量提示&#xff0c;消息红点提示 属性作用backgroundColor红点背景色smallSize设置红点大小isLabelVisible是否显示offset设置红点位置alignment设置红点位置child设置底部组件 代码块 class Badge…

【Elasticsearch】开源搜索技术的演进与选择:Elasticsearch 与 OpenSearch

开源搜索技术的演进与选择&#xff1a;Elasticsearch 与 OpenSearch 1.历史发展2.OpenSearch 与 Elasticsearch 相同点3.OpenSearch 与 Elasticsearch 不同点3.1 版本大不同3.2 许可证不同3.3 社区不同3.4 功能不同3.5 安全性不同3.6 性能不同3.7 价格不同3.8 两者可相互导入 4…

LLM- 注意力机制

一&#xff1a;什么是注意力机制&#xff0c;以及产生背景&#xff1f; &#xff08;1&#xff09;&#xff1a;RNN模型[RNN模型]的缺点&#xff1a;下图是例如RNN模型解决机器翻译的例子&#xff0c;从这个例子可以看到Encoder最后一个向量&#xff08;eos&#xff09;送给了…

Open3D 从体素网格构建八叉树

目录 一、概述 1.1体素网格 1.2八叉树构建 1.3应用 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2体素网格 3.3八叉树 3.4体素网格 一、概述 八叉树&#xff08;Octree&#xff09;是一种树状数据结构&#xff0c;用于递归地将三维空间划分为…

极客天成RDMA分布式存储加速自动驾驶仿真建模

01 自动驾驶汽车行业发展现状 随着全球5G技术的应用与发展&#xff0c;人工智能产业的逐步推进&#xff0c;无人驾驶汽车行业市场规模显著增长。中商产业研究院发布的《2024-2029全球与中国无人驾驶列车系统市场现状及未来发展趋势》显示&#xff0c;2023年全球无人驾驶汽车行…

AutoMQ 生态集成 Kafdrop-ui

Kafdrop [1] 是一个为 Kafka 设计的简洁、直观且功能强大的Web UI 工具。它允许开发者和管理员轻松地查看和管理 Kafka 集群的关键元数据&#xff0c;包括主题、分区、消费者组以及他们的偏移量等。通过提供一个用户友好的界面&#xff0c;Kafdrop 大大简化了 Kafka 集群的监控…

【Ubuntu】windows和Linux文件互传、共享

【Ubuntu】windows和Linux文件互传、共享 一、FTP、SAMBA、NFS简介 FTP: File Transfer Protocol&#xff08;文件传输协议) SAMBA: 基于SMB(Server Message Block服务器消息块)协议的软件实现 NFS: Network File System&#xff08;网络文件系统&#xff09; 二、Linux 共享文…

QT案例-通过QCustomPlot库绘制Window系统CPU温度实时折线图

之前项目中涉及到了获取硬件信息内容&#xff0c;对CPU的温度监控有点兴趣&#xff0c;观察和百度发现鲁大师和驱动人生的CPU温度监控貌似是用驱动实现的&#xff0c;有点太高大上了&#xff0c;搞不懂。后面经过到处查找资料终于找到了Qt在Windows 环境下监控CPU等硬件温度/运…

android文本长按复制

android文本长按复制 &#x1f4d6;1. 长按直接复制✅步骤一&#xff1a;定义一个TextView✅步骤二&#xff1a;为TextView注册长按事件✅步骤三&#xff1a;弹出系统复制功能 &#x1f4d6;2. 长按弹框确认复制✅步骤一&#xff1a;定义一个TextView✅步骤二&#xff1a;封装P…

vue详解

目录 ​编辑 常用指令 v-for v-bind v-if & v-show v-if v-show v-on v-model Vue生命周期 ​编辑 Axios Axios使用步骤 Axios-请求方式别名 Vue简单案例 常用指令 指令:HTML标签上带有 v-前缀的特殊属性&#xff0c;不同的指令具有不同的含义&#xff0c;可…

2.5 C#视觉程序开发实例1----CamManager实现模拟相机采集图片(Form_Vision部分代码)

2.5 C#视觉程序开发实例1----CamManager实现模拟相机采集图片(Form_Vision部分代码) 1 目标效果视频 CamManager 2 增加一个class IMG_BUFFER 用来管理采集的图片 // <summary> /// IMG_BUFFER 用来管理内存图片的抓取队列 /// </summary> public class IMG_BUFF…

imx6ull/linux应用编程学习(14) MQTT基础知识

什么是mqtt&#xff1f; 与HTTP 协议一样&#xff0c; MQTT 协议也是应用层协议&#xff0c;工作在 TCP/IP 四层模型中的最上层&#xff08;应用层&#xff09;&#xff0c;构建于 TCP/IP协议上。 MQTT 最大优点在于&#xff0c;可以以极少的代码和有限的带宽&#xff0c;为连接…

electron在VSCode和IDEA及webStrom等编辑器控制台打印日志乱码

window10环境下设置 1.打开Windows设置 2.打开时间和语言&#xff0c;选择语言菜单、如何点击管理语言设置 3.打开之后选择管理&#xff0c;选择更改系统区域设置&#xff0c;把Beta版&#xff1a;使用Unicode UTF-8提供全球语言支持 勾上&#xff0c;点击确定&#xff0c;…