当前位置: 首页 > news >正文

多任务学习-ESMM

简介

ESMM(Entire Space Multi-task Model)是2018年阿里巴巴提出的多任务学习模型。基于共享的特征表达和在用户整个行为序列空间上的特征提取实现对CTR、CVR的联合训练

解决的问题

SSB(sample selection bias)

如下图1所示,传统的CVR模型的训练样本是基于点击样本构成的,只是真实展现样本的一部分

图1 SSB

DB(data sparsity)

训练CTR模型的数据量比CTR模型的量级少很多,相对较少的数据量增加了模型训练的难度

解决的方案

针对SSB

方案

在整个用户行为序列空间上建模(Modeling over entire space)

数学表达

如下所示:

(公式1)

其中,y、z分别表示CTR、CVR的label,pCTCVR = p(y=1,z=1|x)、pCTR = p(y=1|x)都是在整个样本空间上建模的,最终得到pCVR

针对DB

方案

共享用户整个行为序列空间上的特征表达(Feature representation transfer),对于CVR网络可以实现从展现但未点击的样本中学习

模型结构和Loss设计

模型结构

图2 ESMM模型结构

其中,CTR、CVR网络共享embedding参数。

Loss

  1. 考虑Loss的时候,考虑pCTCVR、pCTR的交叉熵损失之和,而不单独考虑pCTCVR、pCTR来训练模型然后基于公式(1)计算pCVR。原因在于:
    1. 可以达到联合训练的目的
    2. pCTR是很小的数值,若单独训练则采用除法会带来计算的不稳定,导致pCVR不在[0,1]区间。
  2. 具体的Loss如下所示
(公式2)

其中,l(·)是交叉熵损失函数。

模型效果

数据集

分为Public Datase、Product Dataset,均来自淘宝推荐系统的traffic logs。数据集详情如下:

图3 数据集大小

数据集下载链接:数据集下载链接

各模型相同的参数

  1. 激活函数:ReLU
  2. embedding维度:18维
  3. MLP每层维度:360*200*80*2
  4. adam求解器:beta1 = 0.9,beta2 = 0.999,平滑项=10^(-8)

Public Dataset的模型效果

数据集划分

50%数据训练,50%数据做测试

模型效果

图4 Public Dataset的模型效果

对比CVR、CTCVR结果

  1. CTCVR的计算:pCTCVR = pCTR * pCVR
  2. pCVR:训练上述的每个模型得到的结果
  3. pCTR:基于同一个被独立训练的CTR模型(和BASE模型采用想用的结构和超参)得到

各CVR模型说明

模型样本模型说明
BASE有点击的样本结构为图2的ESMM模型结构中的CVR网络
AMAN所有的展现样本negative sampling strategyand best results are reported with sampling rate searched in {10%, 20%, 50%, 100%}模型对应的文献:One-class collaborative fltering(2008年)
OVERSAMPLING有点击的样本copies positive examples to reduce difficulty of training with sparse data,with sampling rate searched in {2, 3, 5, 10}模型对应的文献:Mining with rarity: a unifying framework(2004年)
UNBIAS有点击的样本fit the truly underlying distribution from observations via rejection sampling模型对应的文献:Bid-aware gradient descent for unbiased learning with censored data in display advertising(2016年)
DIVISION所有的展现样本estimates pCTR and pCTCVR with individually trained CTR and CTCVR networks and calculates pCVR by 公式1
ESMM-NS所有的展现样本a lite version of ESMM without sharing of embedding parameters
ESMM所有的展现样本相比ESMM-NS,有共享的embedding参数

Product Dataset的模型效果

图5 Product Dataset的模型效果

注:各模型说明同Public Dataset的模型效果

结尾

亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️

正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。

若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花

我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。

有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。

愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!

万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~ 


自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系) 

友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注!   

http://www.lryc.cn/news/580414.html

相关文章:

  • 隐马尔可夫模型(HMM):观测背后的状态解码艺术
  • STM32HAL库总结
  • HuggingFists: 无代码处理复杂PDF
  • Debian、Buildroot 和 Ubuntu 都是基于 Linux 的系统区别
  • 在VMware虚拟机中安装Windows 98时,Explorer提示“该程序执行了非法操作,即将关闭”的解决办法
  • 若 VSCode 添加到文件夹内右键菜单中显示(通过reg文件方式)
  • linux系统源代码安装apache、编译隐藏版本号
  • ubuntu手动编译VTK9.3 Generating qmltypes file 失败
  • Cursor/VScode ,点击运行按钮,就打开新的终端,如何设置为在当前终端运行文件而不是重新打开终端----一招搞定篇
  • 高频交易服务器篇
  • Redis服务器
  • 【Elasticsearch】检索高亮
  • 【网络与爬虫 13】智能伪装:Scrapy-Fake-UserAgent反检测技术实战指南
  • Matplotlib 安装部署与版本兼容问题解决方案(pyCharm)
  • Vue.js TDD开发深度指南:工具链配置与精细化测试策略
  • Linux(centos)安装 MySQL 8
  • ADAS功能介绍
  • alpine安装及配置nodejs开发测试环境
  • 流水线(Jenkins)打包拉取依赖的时候提示无法拉取,需要登录私仓的解决办法
  • Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
  • Vue前端项目接收webSocket信息
  • ASP.NET 安装使用教程
  • CppCon 2018 学习:THE BITS BETWEEN THE BITS HOW WE GET TO HOW WE GET TO main()
  • 3dmax标准材质转物理材质插件,支持VR材质和CR材质转换成功物理材质,支持多维子材质
  • Python asyncio库与GIL之间的关系,是否能够解决核心问题?
  • 【鸿蒙】鸿蒙操作系统发展综述
  • Redis 哨兵模式部署--docker版本
  • 个人独创-CV领域快速测试缝合模型实战框架讲解-基础篇-Pytorch必学知识
  • STM32中实现shell控制台(命令解析实现)
  • PyTorch中 item()、tolist()使用详解和实战示例