阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:001331

评论

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

索信达控股:金融机构如何打造最适合自己的个性化推荐系统?

索信达控股

大数据 金融科技 金融 个性化推荐 营销数字化

BI系统里的数据赋能与业务决策

薄荷点点

数据产品经理 决策 BI 数据驱动 风险识别

合作伙伴眼中的HarmonyOS 专访方太智能厨电专家俞贵涛

科技汇

实测Tengine开源的Dubbo功能

捉虫大师

dubbo 网关 tengine

哈工大与华为终端有限公司签署首个HarmonyOS高校协同育人合作协议

科技汇

网络攻防学习笔记 Day27

穿过生命散发芬芳

5月日更 网络攻防

GitHub开源14.5万行阿波罗11号源代码

不脱发的程序猿

GitHub 开源 阿波罗11号

☕️【Java 技术之旅】带你看透Lambda表达式的底层

洛神灬殇

Java Lambda 底层原理 5月日更 行为参数化

聊聊微服务治理的落地问题 | Geek大咖说第二期

百度Geek说

微服务 自动化

集成学习中的随机森林

华为云开发者联盟

机器学习 决策树 随机森林 集成学习 Bagging

电子产品PCB电路板散热的方法

不脱发的程序猿

嵌入式 PCB 电路板散热 电子电路 电路板

Logo设计软件 Tech Support

凌天一击

终于看到阿里大牛能把springboot讲的如此出神入化

Java 程序员 架构 计算机

Flink的批数据SQL

五分钟学大数据

flink 5月日更

MySQL 数据库救火:磁盘爆满了,怎么办?

华为云开发者联盟

数据库 磁盘 MySQL 数据库 日志文件 磁盘爆满

阿里云联合中国信通院发布《云计算开放应用架构》标准,加速云原生应用规模化落地进程

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

网格策略交易软件,量化马丁倍投交易机器人

【大咖直播】Elastic 可观测性实战工作坊

腾讯云大数据

elastic

可视化突破海绵城市发展困境,智慧城市从“一张图”开始

一只数据鲸鱼

数据可视化 智慧城市 智慧水务 三维可视化 海绵城市

突击 22 天面进腾讯,给到 32K*14 薪!全靠这份阿里面试参考指南了

Java 程序员 架构 面试 计算机

阿里开源:历年亿级活动高并发系统设计场景总结

Java架构师迁哥

VSCode 无鼠标操作快捷键对比Atom

追风的少年

【多线程与高并发】从一则招聘信息进入多线程的世界

牧小农

Java 多线程与高并发

视频门禁的优点及应用场景

anyRTC开发者

音视频 WebRTC RTC sdk

请警惕 ES 的三大坑

悟空聊架构

elasticsearch 架构 分布式 微服务 ES

OCR性能优化:从神经网络到橡皮泥

华为云开发者联盟

神经网络 机器学习 OCR 橡皮泥 CNN网络

最佳入门系列 | 何为服务网关?

架构精进之路

微服务 5月日更

为什么你的Docker容器刚启动就停了?

运维研习社

Docker Linux 5月日更

《复仇者联盟》AI换脸平台

不脱发的程序猿

人工智能 开源 AI 复仇者联盟

NUCLEO-L432KC实现UART1、UART2双串口数据通信(STM32L432KC)

不脱发的程序猿

嵌入式 stm32 单片机 NUCLEO-L432KC 串口通信

Flume自定义拦截器

大数据技术指南

大数据 5月日更

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