【推荐系统】美团外卖推荐场景的深度位置交互网络DPIN的突破与畅想

简介: 美团基础研发机器学习平台训练引擎团队,联合到家搜推技术部算法效能团队、NVIDIADevTech团队,成立了联合项目组。目前在美团外卖推荐场景中进行了部署,多代模型全面对齐算法的离线效果,对比之前,优化后的CPU任务,性价比提升了2~4倍。


今天介绍一篇美团在SIGIR 2021中稿的一篇paper,主要介绍在解决点击率预估中位置偏置(position-bias)方面的一些工作,一起来看一下。


美团基础研发机器学习平台训练引擎团队,联合到家搜推技术部算法效能团队、NVIDIA
DevTech团队,成立了联合项目组。目前在美团外卖推荐场景中进行了部署,多代模型全面对齐算法的离线效果,对比之前,优化后的CPU任务,性价比提升了2~4倍。

🍁 一、背景 🍁


点击率(CTR)预测在在线广告和推荐系统中起着重要的作用。在实践中,对CTR模型的培训依赖于点击数据,而在较高的位置上,从本质上偏向于更高的位置,因为较高的位置在本质上有更高的CTR。现有的方法,如实际位置训练,具有固定位置推理和逆倾向加权训练,无位置推理,减轻了偏差问题。
过往也有一些工作来解决位置偏置的问题。最常见的做法是将位置特征作为一个模型训练的一个特征,而在线上预测时,所有候选广告使用相同的位置特征输入。这种方案实现较为简单,但是线上预测时,选择不同的位置,得到的推荐结果会存在差异,结果往往是次优的。



华为提出的PAL框架将广告被点击的概率分为两个因素:广告被用户看到的概率和用户看到广告后点击的概率。论文做了进一步的假设:用户是否看到广告只跟广告的位置有关系;同时,用户看到广告后,是否点击广告与位置无关。因此整个框架也是包含两个部分,如下图所示。在线上预测时,只需要部署右边的网络,所得到的点击率就是消除了位置偏置后的点击率。这种方案的缺点是假设太强,将问题过于简化了,没有充分考虑位置偏置与用户特征、上下文特征以及候选item之间的关系。


🍁 二、DPIN介绍 🍁


DPIN由三个模块组成,分别是处理𝐽项的基本模块、处理𝐾项的深度按位置交互模块和组合𝐽项和𝐾项的按位置组合模块。通过该网络,可以在服务性能的限制下预测每个职位的所有候选人的CTRs。


2.1 base module


与大多数深度CTR模型相似,我们采用嵌入的结构,MLP (Multiple Layer Perception)作为我们的基础模块。对于一个请求,基本模块将一个用户、一个上下文和𝐽候选条目作为输入,然后使用请求信息𝒓表示第j个条目:


2.2 deep position-wise interaction module


该模块独立检索每个位置的用户行为序列,进行基于位置的兴趣聚合,消除终身序列的位置偏差。然后,利用位置、环境和用户之间的位置非线性交互。最后,采用变压器实现不同位置之间的深度交互。


2.3 position-wise combination module


位置组合模块的目的是通过组合J个物品和预测每个物品在每个位置的点击率K的位置。𝒓之间的非线性互动𝒌和𝐸(𝑘)用于学习用户、上下文、条目和位置之间的非线性关系。第k个位置第j项的CTR为𝐶𝑇𝑅𝑗𝑘的计算方法如下:

🍁 三、实验结果及分析 🍁


最后看一下实验结果:
下表展示了比较方法在常规和随机测试集上的实验结果。我们首先分析不同方法在常规交通上的差异。与DIN相比,DIN+PosInWide和DIN+PAL方法在AUC上的性能有所下降,但在PAUC上有所提高,这表明两种方法都能有效地缓解位置偏差,但会导致离线和在线之间的不一致。

位差组合模块的服务延迟与DIN模型相比微不足道,因为用户序列操作有很大的延迟。DPIN的服务延迟缓慢增加,因为深位交互模块与项目无关。与DIPIN + ItemAction相比,DPIN在服务性能上有很大的改进,对模型性能没有什么损害,这表明我们的方法既有效又有效。

好了,本文就介绍到这里啦~

目录
相关文章
|
2月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
50 0
|
2月前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
81 1
|
2月前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
|
28天前
|
Kubernetes 网络协议 Cloud Native
Kubernetes网络问题排查分享两则(1)——calico特定场景下的网络性能问题
在对Kubernetes项目[kosmos](https://github.com/kosmos-io/kosmos)与Calico网络性能进行对比测试时,发现kosmos在跨集群容器网络的性能显著优于Calico的集群内网络(约6Gbit/s对比2.9Gbit/s)。物理机网络测试达到9.38Gbit/s,显示Calico有68%的性能损耗。问题定位到网卡的checksum/offload参数,尝试用`ethtool`调整后虽短暂提升,但随后恢复原状。转载自:https://mp.weixin.qq.com/s/XsQZCSqZAXJK46zqc7IpLw
|
2月前
|
算法 计算机视觉 网络架构
CVPR 202:擅长处理复杂场景和语言表达,清华&博世提出全新实例分割网络架构MagNet
【5月更文挑战第10天】在CVPR 2024会议上,清华大学与博世团队推出MagNet,一种针对复杂场景和语言表达的实例分割网络。MagNet通过Mask Grounding辅助任务强化视觉-语言对应,缩小模态差距,并结合跨模态对齐损失与模块,提升RIS任务的准确性。在RefCOCO、RefCOCO+和G-Ref基准上取得显著优势,但对罕见表达和复杂场景的处理仍有待优化。[论文链接](https://arxiv.org/abs/2312.12198)
68 5
|
2月前
|
机器学习/深度学习 人工智能 监控
【AI 场景】如何应用人工智能来增强企业网络的网络安全?
【5月更文挑战第4天】【AI 场景】如何应用人工智能来增强企业网络的网络安全?
|
2月前
|
存储 网络安全 数据安全/隐私保护
【专栏】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。
【4月更文挑战第28天】Python 网络设备管理中,`ConnectHandler`(Paramiko库)和`telnetlib`模块常用于设备交互。`ConnectHandler`简化SSH连接,便于与网络设备交互,而`telnetlib`是Python内置模块,支持Telnet协议的远程登录操作。两者都提供命令执行和响应接收功能。示例代码展示了如何使用它们获取防火墙设备的版本信息,降低了代码复杂度,提高了可读性和维护性。
|
2月前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android's AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
17 0
|
2月前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
19 0
|
2月前
|
存储 测试技术 C++
P2P网络下分布式文件共享场景的测试
P2P网络下分布式文件共享场景的测试
234 6