2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

    阅读完需:约 8 分钟

多任务学习在推荐算法中的应用(三)
  1. 阿里 ESM2


Conversion Rate Prediction via Post-Click Behaviour Modeling


前面已经介绍过一种基于多任务学习的 CVR 预估模型 ESMM,但对于 CVR 预估来说,ESMM 模型仍面临一定的样本稀疏问题,因为 click 到 buy 的样本非常少。但其实一个用户在购买某个商品之前往往会有一些其他的行为,比如将商品加入购物车或者心愿单。如下图所示:



文中把加购物车或者心愿单的行为称作 Deterministic Action ( DAction ),表示购买目的很明确的一类行为。而其他对购买相关性不是很大的行为称作 Other Action ( OAction )。那原来的 Impression→Click→Buy 购物过程就变为:



Impression→Click→DAction/OAction→Buy 过程。


ESM2 模型结构:



那么该模型的多个任务分别是:


❶ Y1:点击率


❷ Y2:点击到 DAction 的概率


❸ Y3:DAction 到购买的概率


❹ Y4:OAction 到购买的概率


并且从上图看出,模型共有 3 个 loss,计算过程分别是:


❶ pCTR:Impression→Click 的概率是第一个网络的输出。


❷ pCTAVR:Impression→Click→DAction 的概率,pCTAVR = Y1 * Y2,由前两个网络的输出结果相乘得到。


❸ pCTCVR:


Impression→Click→DAction/OAction→Buy 的概率,pCTCVR = CTR * CVR = Y1 * [(1 - Y2) * Y4 + Y2 * Y3],由四个网络的输出共同得到。其中 CVR=(1 - Y2) * Y4 + Y2 * Y3。是因为从点击到 DAction 和点击到 OAction 是对立事件。


随后通过三个 logloss 分别计算三部分的损失:



最终损失函数由三部分加权得到:



  1. YouTube 多目标排序系统


Recommending What Video to Watch Next: A Multitask Ranking System


本文主要解决了视频推荐场景下普遍存在的两个问题:


❶ 视频推荐中的多任务目标。比如不仅需要预测用户是否会观看外,还希望去预测用户对于视频的评分,是否会关注该视频的上传者,否会分享到社交平台等。


❷ 偏置信息。比如用户是否会点击和观看某个视频,并不一定是因为他喜欢,可能仅仅是因为它排在推荐页的最前面,这会导致训练数据产生位置偏置的问题。


模型结构:



从上图可知,整个模型需要预测两大类目标,分别是:


❶ Engagement objectives:主要预测用户是否点击和观看视频的时长。其中通过二分类模型来预测用户的点击行为,而通过回归模型来预测用户观看视频的时长。


❷ Satisfaction objectives:主要预测用户在观看视频后的反馈。其中使用二分类模型来预测用户是否会点击喜欢该视频,而通过回归模型来预测用户对于视频的评分。


模型中有两个比较重要的结构:Multi-gate Mixture-of-Experts ( MMoE ) 和消除位置偏置的 shallow tower。


MMoE 的结构为:



Shallow tower 的结构为:



通过一个 shallow tower 来预测位置偏置信息,输入的特征主要是一些和位置偏置相关的特征,输出的是关于 selection bias 的 logits 值。然后将该输出值加到子任务模型中最后 sigmoid 层前,在预测阶段,则不需要考虑 shallow tower 的结果。值得注意的是,位置偏置信息主要体现在 CTR 预估中,而预测用户观看视频是否会点击喜欢或者用户对视频的评分这些任务,是不需要加入位置偏置信息的。


  1. 知乎推荐页 Ranking 模型


上图是知乎在推荐场景下使用的多目标模型,预测的任务包括点击率、收藏率、点赞率、评论率等,共 8 个目标。可以看出知乎的做法也是底层 embedding 和 DNN 前几层权重设置成共享。损失函数可设置成这几个 task 的简单线性加权和。上线后线上性能:点击率基本不变,而其他的几个指标,比如点赞,收藏大幅提升。


  1. 美图推荐排序多任务


模型结构:


如上图,Multi-task NFwFM 模型的前几个隐层是共享的。在最后即将预估多个目标时通过全连接层进行拆分,各自学习对应任务的参数,从而专注地拟合各自任务。在线上预估时,因为模型尺寸没有变化,推理效率和线上的点击率预估模型一致。考虑到我们是在点击率任务的基础上同时优化关注转化率,融合公式上体现为优先按照点击率排序再按照曝光→关注的转化率排序。Multi-task NFwFM 已在美图秀秀社区首页 Feeds 推荐、相关推荐下滑流全量上线。首页 Feeds 点击率+1.93%,关注转化率+2.90%,相关推荐下滑流人均浏览时长+10.33%,关注转化率+9.30%。


  1. 小结


当我们在推荐场景需要同时优化多个目标时,多任务学习就可以派上用场。那反过来思考一个问题,在什么样的情况下,多任务学习会没效果呢?其实也很容易想到,当多个任务的相关性没那么强时,这些任务之间就会相互扰乱,从而影响最后的效果。


最后总结下现在多任务学习模型的主要使用方式:


❶ 底层 embedding 和 mlp 参数共享,上层演化出各个任务的分支,最后 loss 函数是各个任务的简单加权和。


❷ 通过多任务之间的关系来建模出新的 loss 函数,比如阿里的 ESSM,ESSM2。


❸ 通过 Multi-gate Mixture-of-Experts ( MMoE ) 这种特殊的多任务结构来学习出不同任务的权重,比如 YouTube 的多任务模型。


参考链接:


https://arxiv.org/pdf/1804.07931.pdf


https://www.jianshu.com/p/35f00299c059


https://arxiv.org/pdf/1805.10727.pdf


https://www.jianshu.com/p/aba30d1726ae


https://tech.meituan.com/2018/03/29/recommend-dnn.html


https://zhuanlan.zhihu.com/p/70940522


https://arxiv.org/abs/1910.07099


https://www.jianshu.com/p/c06e9ed08dd1


https://www.jianshu.com/p/2f3dbbfc16a6


https://zhuanlan.zhihu.com/p/89401911


知乎推荐页 Ranking


原文链接:


https://zhuanlan.zhihu.com/p/78762586


https://zhuanlan.zhihu.com/p/91285359


本文转载自 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:501444

评论

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

BeeWorks Meet:私有化视频会议解决方案

BeeWorks

即时通讯 IM 私有化部署

小红书API接口文档:笔记详情数据开发手册

Datafox(数据狐)

小红书笔记详情接口 小红书API 小红书笔记详情api 小红书接口

低代码平台最新发展方向:从辅助工具到核心引擎的五大演进路径

星云低代码中间件

ide 低代码 开发工具 数字化

构建企业数字化办公核心:安全高效的内网im私有化协同平台

BeeWorks

即时通讯 IM 私有化部署

基于华为开发者空间-云开发环境Docker+Flink实现大数据实时统计系统

华为云开发者联盟

Docker flink 华为开发者空间

CST工作室套装提供的网格类型有哪些?CST studio suite代理商

思茂信息

cst CST软件 CST Studio Suite

《伊米尔传奇》10月28日公测 预约奖励获取

江湖老铁

变量名越怪,JVM 越快?

程序猿DD

将 EasySQLite 解决方案文件格式从 .sln 升级为更简洁的 .slnx

追逐时光者

.net 微软

KFintech以3,500万美元收购Ascent 51%控股权

财见

更懂中国工厂:国产SPC软件的本土化优势解析

合肥迈斯软件

质量检测 质量管理系统 质量管理QMS系统 产品质量管理 质量追溯

【堆与优先队列】堆与优先队列:“数据金字塔“与“我是VIP“

华为云开发者联盟

数据结构 优先队列 华为开发者空间

基于 eBPF 和 Go 实现透明代理

俞凡

golang 架构 ebpf

MES实施之道:摒弃“大而全”,选择“分步走”的敏捷策略

合肥迈斯软件

制造业数字化 生产管理MES系统 智能制造数字化转型

大数据-130 - Flink CEP 详解 - 捕获超时事件提取全解析:从原理到完整实战代码教程 恶意登录案例实现

武子康

Java 大数据 flink spark 分布式

CAD一键测量半径/直径,赶快来试试!

在路上

cad CAD看图王

手工VS.智能:AI商品计划如何让效率飙升90%?

第七在线

信息化灾备解决方案

金陵老街

灾备方案

解析推特GIF下载机制:如何高效保存推特GIF动图

So...

twitter GIF 推特 x

基于华为开发者空间云开发环境部署Claude Code + KAT-Coder实现AI编程助手

华为云开发者联盟

华为开发者空间 AI 编程 Claude-Code Tokens KAT-Coder

MIAOYUN | 每周AI新鲜事儿(10.11-10.17)

MIAOYUN

AI 算法 AI技术 AIGC 大语言模型

MyEMS:衔接 “双控” 政策与企业实践的开源能源管理利器

开源能源管理系统

开源 能源管理系统-

小红书笔记评论API:一键获取分层评论与用户互动数据

Datafox(数据狐)

小红书API 小红书笔记评论接口 小红书笔记评论采集 小红书笔记评论api

网关三剑客:负载均衡、反向代理、API 网关

俞凡

架构

服务器被攻击!原因竟然是他?真没想到...

王磊

低代码的发展历程

JeeLowCode低代码平台

2025年GEO优化服务商推荐:森潮GEO支持多平台AI搜索排名优化

森潮全域科技

GEO优化方法有哪些?2025企业抢占AI流量必看指南

森潮全域科技

GEO优化

实时物化视图的新路径:从传统 Join 到跨源实时查询

tapdata

数据管道 实时数据同步 实时物化视图 传统join CQRS实时数据架构

《2025年,开启GEO优化新时代,为企业抢占AI搜索先机》

森潮全域科技

闲谈KubeBlocks For MongoDB设计实现

小猿姐

数据库 云原生 K8s 多集群管理 K8s Operator

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