写点什么

多任务学习在推荐算法中的应用(一)

  • 2020-01-07
  • 本文字数:1023 字

    阅读完需:约 3 分钟

多任务学习在推荐算法中的应用(一)


导读:我们在优化推荐效果的时候,很多时候不仅仅需要关注 CTR 指标,同时还需要优化例如 CVR ( 转化率 )、视频播放时长、用户停留时长、用户翻页深度、关注率、点赞率这些指标。那么一种做法是对每个任务单独使用一个模型来优化,但是这样做的缺点显而易见,需要花费很多人力。其实很多任务之间都是存在关联性的,比如 CTR 和 CVR。那么能不能使用一个模型来同时优化两个或多个任务呢?其实这就是 Multi-task 多任务的定义。本文主要总结了近两年工业界关于 Multi-task 模型在推荐场景的一些应用和工作。

1. 阿里 ESMM

Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate


CVR 是指从点击到购买的转化,传统的 CVR 预估会存在两个问题:样本选择偏差和稀疏数据。



样本选择偏差是指模型用用户点击的样本来训练,但是预测却是用的整个样本空间。数据稀疏问题是指用户点击到购买的样本太少。因此阿里提出了 ESMM 模型来解决上述两个问题:主要借鉴多任务学习的思路,引入两个辅助的学习任务,分别用来拟合 pCTR 和 pCTCVR。



ESMM 模型由两个子网络组成,左边的子网络用来拟合 pCVR,右边的子网络用来拟合 pCTR,同时,两个子网络的输出相乘之后可以得到 pCTCVR。因此,该网络结构共有三个子任务,分别用于输出 pCTR、pCVR 和 pCTCVR。假设用 x 表示 feature ( 即 impression ),y 表示点击,z 表示转化,那么根据 pCTCVR = pCTR * pCVR,可以得到:



则 pCVR 的计算为:



由上面的式子可知,pCVR 可通过 pCTR 和 pCTCVR 推导出来,那么我们只需要关注 pCTR 和 pCTCVR 两个任务即可,并且 pCTR 和 pCTCVR 都可以从整个样本空间进行训练?为什么呢,因为对于 pCTR 来说可将有点击行为的曝光事件作为正样本,没有点击行为的曝光事件作为负样本,对于 PCTCVR 来说,将同时有点击行为和购买行为的曝光事件作为正样本,其他作为负样本。模型的 loss 函数:



另外两个子网络的 embedding 层是共享的,由于 CTR 任务的训练样本量要远超过 CVR 任务的训练样本量,ESMM 模型中 embedding 层共享的机制能够使得 CVR 子任务也能够从只有展现没有点击的样本中学习,从而能够极缓解训练数据稀疏性问题。


本文转载自 DataFunTalk 公众号。


**原文链接:https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247496333&idx=1&sn=da03f8db68e5276cffe73e090ac271ec&chksm=fbd740e1cca0c9f76da90a713311bac81e9890c1f9fd69976705e167dd30e4135db6ea297d6b&scene=27#wechat_redirect


2020-01-07 09:491614

评论

发布
暂无评论
发现更多内容

Github+docsify零成本轻松打造在线文档网站

Java全栈封神

Java GitHub 全栈 文档 docsigy

为什么 90 后一言不合就跳槽?

非著名程序员

程序员 个人成长 职业成长 延迟满足感 即时反馈

你是否真的懂数组?

架构师修行之路

数组 数据结构与算法

主权投资基金或有助于实现可持续发展目标

CECBC

【权限系统设计】ACL, DAC, MAC, RBAC, ABAC模型的不同应用场景

小隐乐乐

微服务架构

不在调上

LeetCode题解:21. 合并两个有序链表,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

十二张图搞懂浏览器安全——(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等知识点)

执鸢者

https 浏览器安全 同源策略 XSS 跨域

英特尔推出“OpenVINO领航者联盟”,携手DFRobot推进AI商业落地新探

最新动态

week 10

Geek_2e7dd7

贵州:“区块链+”促经济转型产业升级

CECBC

week 10

Geek_2e7dd7

论做AI芯片的正确姿势

flow

十五张图带你彻底搞懂从URL到页面展示发生的故事

执鸢者

大前端 浏览器 页面展示

5招详解linux之openEuler /centos7防火墙基本使用指南

华为云开发者联盟

centos7 网络安全 防火墙 openEuler 网络环境

煌煌中原 化鲲为鹏

脑极体

libuv 异步网络编程之 TCP helloworld

Huayra

网络编程 libuv

当我们谈注册中心时谈什么?

捉虫大师

zookeeper nacos 注册中心

2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》

谙忆

LeetCode题解:21. 合并两个有序链表,迭代(优化),JavaScript,详细注释

Lee Chen

大前端 LeetCode

腾讯SaaS千帆对渠道的态度——合作共赢的诚意

人称T客

最右JS2Flutter框架——动画、小游戏的实现(四)

刘剑

flutter 大前端 探索与实践

【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发

阿里云Edge Plus

CDN

9个常用ES6特性归纳(一般用这些就够了)

华为云开发者联盟

Java 程序员 编程语言 ES6 编程效率

DT时代释放金融数据价值,驱动金融商业裂变

华为云开发者联盟

金融科技 华为云 modelarts 数据价值 用户细分

F5G的星光闪烁,为工业而明,向未来而歌

脑极体

联盟链落地与激励机制

CECBC

支持 100 种语言的 Canva 是怎么做本地化管理的?

葛仲君

产品经理 本地化 产品本地化 国际化

计算机网络基础(十七)---传输层-TCP的可靠传输

书旅

TCP 计算机网络 网络协议 计算机基础 TCP/IP

获奖名单公布 | 写作平台八月宠粉福利来袭,参与创作领取限时大奖~

InfoQ写作社区官方

写作平台 征稿 热门活动

超英文邮件50%!Flink 中文邮件列表必须有姓名

Apache Flink

flink

多任务学习在推荐算法中的应用(一)_文化 & 方法_Alex-zhai_InfoQ精选文章