写点什么

Multi-task 多任务学习在推荐算法中应用 (2)

  • 2019-11-28
  • 本文字数:1614 字

    阅读完需:约 5 分钟

Multi-task多任务学习在推荐算法中应用(2)

1. 阿里 ESM2:Conversion Rate Prediction via Post-Click Behaviour Modeling

我们之前介绍过一种基于多任务学习的 CVR 预估模型 ESMM,简单回顾下:



ESMM 中有两个子网络,分别是 Main Task 用于预估 CVR 值,Auxiliary Tasks 用于预估 CTR 值。二个网络共享 Embedding 部分。Loss 分为两部分,一是 CTR 预估带来的 loss,二是 pCTCVR(pCTR * pCVR)带来的 loss。CTCVR 是从 impression 到 buy,CTR 是从 impression 到 click,所以 CTR 和 CTCVR 都可以从整个 impression 样本空间进行训练,一定程度的消除了样本选择偏差。


但对于 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 分别计算三部分的损失:



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



2. YouTube:Recommending What Video to Watch Next: A Multitask Ranking System


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


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


模型结构:



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


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


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


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


MMoE 的结构为:



shallow tower 的结构为:



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

3. 知乎推荐页 Ranking 模型

多目标模型,预测的任务包括点击率、收藏率、点赞率、评论率等等,共设计 8 个目标。从性能方面的考虑,我们将底层 embedding 权重设置成共享的, 最后一层根据不同的目标进行加权训练。


  1. 美图推荐排序多任务

  2. 模型结构:



参考文献:


https://arxiv.org/abs/1910.07099


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


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


https://www.infoq.cn/article/g95hu67a4WheikGu*w9K


https://www.jiqizhixin.com/articles


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/91285359


2019-11-28 08:001458

评论

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

【运维思考】运维对象快速扩展,监控如何精准实时的覆盖?

嘉为蓝鲸

PaaS 运维自动化 监控管理平台 监控系统 监控告警

连续一个月每天加班到凌晨三点,终于把Java程序员必知必会的计算机底层操作系统知识和网络知识整理出来了,已整理成文档!

Java架构之路

Java 程序员 架构 编程语言 操作系统

华为云瑶光:打通云边端界限,为企业云上业务带来最优解

华为云开发者联盟

华为 云服务

云原生在京东丨云原生时代下的监控:如何基于云原生进行指标采集?

京东科技开发者

云原生

让核显大展拳脚:Intel Iris Xe显卡

E科讯

独家!阿里技术人限产的MySQL高级笔记及面试宝典,学完简直开挂

Java架构追梦

Java MySQL 数据库 架构 面试

膜拜!阿里技术总监纯手打的《MySQL笔记》内部资料限时分享

Java架构师迁哥

spring-boot-route(二十一)quartz实现动态定时任务

Java旅途

Java Spring Boot quartz

MySQL-技术专题-MySQL的主从同步

洛神灬殇

iOS 性能优化实践:头条抖音如何实现 OOM 崩溃率下降50%+

iOSer

性能优化 OOM ios开发 头条抖音 OOM崩溃

基于注解的参数校验器Hibernate Validator

HelloLittleRain

Java springboot 参数校验 Hibernate-Validator

解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说

华为云开发者联盟

AI 无人驾驶

Java程序员还在为没有项目经验感到苦恼?快来看看GitHub上最火的SpringCloud微服务商城系统开源项目,附全套教程!

Java架构之路

Java 程序员 架构 面试 编程语言

身为程序员你们经历过大厂面试吗?本文为大家解决大厂必问的MySQL调优问题

Java架构师迁哥

独家!阿里技术人限产的MySQL高级笔记及面试宝典,简直开挂

996小迁

Java MySQL 架构 面试 技术宅

原来AI也可以如此简单!教你从0到1开发开源知识问答机器人

华为云开发者联盟

开源 AI 机器人

技术实操丨HBase 2.X版本的元数据修复及一种数据迁移方式

华为云开发者联盟

数据 数据迁移 原数据

LeetCode题解:98. 验证二叉搜索树,递归中序遍历完成后再判断,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

美腻了!Java资深架构师带你深度学习字节跳动的亿级流量+高并发

Java架构追梦

Java 学习 架构 面试 微服务

在网上被MG坑审过却一直延迟无法取出到账怎么解决 (LGF微7998)

Geek_db0f9e

1分钟带你入门Redux、React-Redux

Leo

大前端 React Redux React-Redux

杂谈:一文了解工业4.0

soolaugust

工业互联网 工业4.0

1分钟带你入门 Redux 中间件

Leo

大前端 中间件 Redux Redux中间件

Java程序员想要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。

Java架构之路

Java 程序员 架构 编程语言 随笔杂谈

vivo 基于原生 RabbitMQ 的高可用架构实践

vivo互联网技术

高可用 RabbitMQ 中间件

视频面试跟传统面试的区别及优点

anyRTC开发者

ios 音视频 WebRTC RTC 安卓

WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器

JackJiang

html5 网络编程 websocket 即时通讯

一套完整的后台管理系统(附源码),非常实用!

程序员生活志

管理系统

【活动预告】2020中国系统架构师大会:即构受邀分享实时音视频服务架构实践

ZEGO即构

架构师 高并发系统设计 技术分享

最火的HTAP数据库 京东智联云新一代分布式数据库TiDB架构揭秘

京东科技开发者

数据库 #TiDB

BIGDATA+AI Meetup 2020第二季·上海站开启报名!

Apache Flink

大数据 AI

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