写点什么

SIGIR2018 高分录用——阿里妈妈公开全新 CVR 预估模型

2018 年 5 月 15 日

近期,阿里妈妈算法团队发表了一篇题为《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》的论文,公开了全新的 CVR 预估模型。该模型解决了传统 CVR 预估模型难以克服的样本选择偏差和训练数据过于稀疏的问题,同时开放了业界首个包含用户序贯行为的大规模数据集(下载地址见文末)。该论文已被信息检索领域的顶级会议 SIGIR 2018(International Conference on Research on Development in Information Retrieval)高分录用。

准确预估转化率在诸如信息检索、推荐系统、在线广告投放系统等工业级的应用中是至关重要的。例如在电商平台的推荐系统中,最大化场景商品交易总额(GMV)是平台的重要目标之一,而 GMV 可以拆解为流量×点击率×转化率×客单价,可见转化率是优化 GMV 目标的重要因子,从用户体验的角度来说准确预估的转换率被用来平衡用户的点击偏好与购买偏好。

阿里妈妈算法团队在这篇论文中提出的全新的 CVR 预估模型,称之为“全空间多任务模型”(Entire Space Multi-Task Model,ESMM),下文简称为 ESMM 模型。ESMM 模型创新地利用用户行为的序贯特性,在完整的样本数据空间同时学习点击率 (post-view click-through rate, CTR) 和转化率 (post-click conversion rate, CVR),解决了传统 CVR 预估模型难以克服的样本选择偏差(sample selection bias)和训练数据过于稀疏(data sparsity)的问题。

以电子商务平台为例,用户在观察到系统展现的推荐商品列表后,可能会点击自己感兴趣的商品,进而产生购买行为。换句话说,用户行为遵循一定的顺序决策模式:impression → click → conversion。CVR 模型旨在预估用户在观察到曝光商品进而点击到商品详情页之后购买此商品的概率,

即 _pCVR_ = p(conversion|click,impression)。

假设训练数据集为\(S=\{(x_i,y_i\rightarrow z_i)\}| _{i=1}^{N}\),其中的样本\((x,y\rightarrow z)\) 是从域\(x\times y\times z\) 中按照某种分布采样得到的,\(x\)是特征空间,\(y\) 和\(z\)是标签空间,N 为数据集中的样本总数量。在 CVR 预估任务中,x 是高维稀疏多域的特征向量,yz 的取值为 0 或 1,分别表示是否点击和是否购买。\(y\rightarrow z\) 揭示了用户行为的顺序性,即点击事情一般发生在购买事件之前。CVR 模型的目标是预估条件概率 _pCVR_ ,与其相关的两个概率为点击率 pCTR 和点击且转换率 pCTCVR ,它们之间的关系如下:



传统的CVR 预估任务通常采用类似于CTR 预估( https://yq.aliyun.com/articles/565664?spm=a2c4e.11153940.blogcont533977.27.7f0525438RIPVT )的技术,比如最近很流行的深度学习模型。然而,有别于 CTR 预估任务,CVR 预估任务面临一些特有的挑战:1) 样本选择偏差;2) 训练数据稀疏;3) 延迟反馈等。



图 1. 训练样本空间

延迟反馈的问题不在本文讨论的范围内,下面简单介绍一下样本选择偏差与训练数据稀疏的问题。如图 1 所示,最外面的大椭圆为整个样本空间 _S_,其中有点击事件(y=1)的样本组成的集合为 \(S_c=\{(x_j,z_j)|y_j=1\}|_{j=1}^{M}\)

对应图中的阴影区域,传统的 CVR 模型就是用此集合中的样本来训练的,同时训练好的模型又需要在整个样本空间做预测推断。由于点击事件相对于展现事件来说要少很多,因此\(S_c\)只是样本空间 _S_ 的一个很小的子集,从上\(S_c\) 提取的特征相对于从 _S_ 中提取的特征而言是有偏的,甚至是很不相同。从而,按这种方法构建的训练样本集相当于是从一个与真实分布不一致的分布中采样得到的,这一定程度上违背了机器学习算法之所以有效的前提:训练样本与测试样本必须独立地采样自同一个分布,即独立同分布的假设。总结一下,训练样本从整体样本空间的一个较小子集中提取,而训练得到的模型却需要对整个样本空间中的样本做推断预测的现象称之为样本选择偏差。样本选择偏差会伤害学到的模型的泛化性能。

推荐系统展现给用户的商品数量要远远大于被用户点击的商品数量,同时有点击行为的用户也仅仅只占所有用户的一小部分,因此有点击行为的样本空间\(S_c\) 相对于整个样本空间 _S_ 来说是很小的,通常来讲,量级要少 1~3 个数量级。如表 1 所示,在淘宝公开的训练数据集上,\(S_c\) 只占整个样本空间 _S_ 的 4%。这就是所谓的训练数据稀疏的问题,高度稀疏的训练数据使得模型的学习变得相当困难。



阿里妈妈算法团队提出的 ESMM 模型借鉴了多任务学习的思路,引入了两个辅助的学习任务,分别用来拟合 _pCTR_ 和 _pCTCVR_,从而同时消除了上文提到的两个挑战。ESMM 模型能够充分利用用户行为的序贯特性,其模型架构如图 2 所示。

图 2. ESMM 模型

整体来看,对于一个给定的展现,ESMM 模型能够同时输出预估的 _pCTR、pCVR_ 和 _pCTCVR_。它主要由两个子神经网络组成,左边的子网络用来拟合 _pCVR_ ,右边的子网络用来拟合 _pCTR_。两个子网络的结构是完全相同的,这里把子网络命名为 BASE 模型。两个子网络的输出结果相乘之后即得到 _pCTCVR_,并作为整个任务的输出。

需要强调的是,ESMM 模型有两个主要的特点,使其区别于传统的 CVR 预估模型,分别阐述如下。

  1. 在整个样本空间建模。由下面的等式可以看出,pCVR 可以在先估计出 _pCTR_ 和 _pCTCVR_ 之后推导出来。从原理上来说,相当于分别单独训练两个模型拟合出 _pCTR_ 和 _pCTCVR_,再通过 _pCTCVR_ 除以 _pCTR_ 得到最终的拟合目标 _pCVR_ 。



  • 但是,由于 _pCTR_ 通常很小,除以一个很小的浮点数容易引起数值不稳定问题(计算内存溢出)。所以 ESMM 模型采用了乘法的形式,而没有采用除法形式。

  • pCTR 和 _pCTCVR_ 是 ESMM 模型需要估计的两个主要因子,而且是在整个样本空间上建模得到的,pCVR 只是一个中间变量。由此可见,ESMM 模型是在整个样本空间建模,而不像传统 CVR 预估模型那样只在点击样本空间建模。

  1. 共享特征表示。ESMM 模型借鉴迁移学习的思路,在两个子网络的 embedding 层共享 embedding 向量(特征表示)词典。网络的 embedding 层把大规模稀疏的输入数据映射到低维的表示向量,该层的参数占了整个网络参数的绝大部分,需要大量的训练样本才能充分学习得到。由于 CTR 任务的训练样本量要大大超过 CVR 任务的训练样本量,ESMM 模型中特征表示共享的机制能够使得 CVR 子任务也能够从只有展现没有点击的样本中学习,从而能够极大地有利于缓解训练数据稀疏性问题。

需要补充说明的是,ESMM 模型的损失函数由两部分组成,对应于 _pCTR_ 和 _pCTCVR_ 两个子任务,其形式如下:



其中,\(\theta _{ctr}\) 和\(\theta _{cvr}\) 分别是CTR 网络和CVR 网络的参数, l(.) 是交叉熵损失函数。在 CTR 任务中,有点击行为的展现事件构成的样本标记为正样本,没有点击行为发生的展现事件标记为负样本;在 CTCVR 任务中,同时有点击和购买行为的展现事件标记为正样本,否则标记为负样本。

由于 ESMM 模型创新性地利用了用户行为的序贯特性在完整的样本空间进行建模,因此并没有公开的数据集可供测试,阿里妈妈算法团队从淘宝的实际推荐系统中采集了一个包含了用户序贯行为的全新数据集,并公开了一个采样版本,下载地址为: https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408 。随后,分别在公开的数据集和淘宝生产环境的数据集上做了测试,相对于其他几个主流的竞争模型,都取得了更好的性能。

表2 是在公开数据集上的不同算法AUC 效果对比情况,其中BASE 模型是ESMM 模型中左边的子神经网络模型,由于其只在点击样本空间训练,会遭遇样本选择偏差和数据稀疏的问题,因为效果也是较差的。DIVISION 模型是先分别训练出拟合CTR 和CTCVR 的模型,再拿CTCVR 模型的预测结果除以CTR 模型的预测结果得到对CVR 模型的预估。ESMM-NS 模型是ESMM 模型的一个变种模型,其在ESMM 模型的基础上去掉了特征表示共享的机制。AMAN、OVERSAMPLING、UNBIAS 是三个竞争模型。

图3. 在淘宝生产环境数据集上几种不同算法的性能测试对比

图3 是ESMM 模型在淘宝生产环境数据集上的测试效果对比。相对于BASE 模型,ESMM 模型在CVR 任务中AUC 指标提升了 2.18%,在CTCVR 任务中AUC 指标提升了2.32%。通常AUC 指标提升0.1% 就可认为是一个显著的改进。

综上所述,ESMM 模型是一个新颖的CVR 预估方法,其首创了利用用户行为的序贯特性在完整样本空间建模,避免了传统CVR 模型经常遭遇的样本选择偏差和训练数据稀疏的问题,取得了显著的效果。同时,ESMM 模型中的子网络可以替换为任意的学习模型,因此ESMM 的框架可以非常容易地和其他学习模型集成,从而吸收其他学习模型的优势,进一步提升学习效果。此外,ESMM 建模的思想也比较容易被泛化到电商中多阶段行为的全链路预估场景,如 排序→展现→点击→转化 的行为链路预估,想象空间巨大。

原文**** 链接: https://arxiv.org/abs/1804.07931

数据集下载地址: https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408

2018 年 5 月 15 日 18:3412130

评论

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

APM 行业认知系列 - 十七 - 完结篇

东风微鸣

APM Trace 可观察性

助力金三银四:阿里首推JVM垃圾回收算法进阶笔记,算法原理+底层实现齐飞

Java王路飞

程序员 面试 算法 JVM

CNCF:2020年报(摘要)

行人23

cncf

腾讯发布区块链产业加速器,生态共创助力新基建建设

CECBC区块链专委会

腾讯

让代码说话:如何把版本信息注入到代码中

zhujun

c++ Python go git rust

腾讯云大神亲码“redis深度笔记”,不讲一句废话,全是精华

互联网架构师小马

Java 数据库 nosql redis Java 面试

0 Go语言从入门到精通

xcbeyond

go golang 28天写作 Go语言从入门到精通

Java线程池实现原理和源码分析

互联网架构师小马

deepin20 安装英伟达闭源驱动的步骤详解

夜猫西街

APM 行业认知系列 - 十四

东风微鸣

APM Trace 可观察性

spring framework

sunpengjian

滴普技术荟-云原生基座OpenKube开放容器实践( 七):flannel-udp模式原理分析

滴普科技2048实验室

滴普技术荟-云原生基座OpenKube开放容器实践(九):K8S的ServiceIP实现原理

滴普科技2048实验室

作业-用例文档

让我思考一会儿

滴普技术荟-云原生基座OpenKube开放容器实践(八):flannel-vxlan模式原理解析

滴普科技2048实验室

互联网小拼,这一生的故事,你要看看吗《打工人的那些事》

谙忆

在区块链的新浪潮中,为更多人争取“公平”

CECBC区块链专委会

区块链 新浪潮

如何根据「数据范围」调整自己用什么算法 ...

宫水三叶的刷题日记

Java LeetCode 刷题 数据结构与算法 面试数据结构与算法

四象齐备,百花含苞:5GtoC繁华图

脑极体

滴普技术荟-云原生基座OpenKube开放容器实践(五):linux配置跨主机容器通信

滴普科技2048实验室

Linux如何使用libudev获取USB设备VID及PID

夜猫西街

Linux批量kill进程

富富

awk kill进程

APM 行业认知系列 - 十六

东风微鸣

DevOps APM Trace 可观察性

从CMDB到服务目录

李小腾

云原生 研发效能 生产力 CMDB 配置管理

Github Action 快速上手指南

Zhendong

Java GitHub

滴普技术荟-云原生基座OpenKube开放容器实践(六):理解linux虚拟网络设备tun

滴普科技2048实验室

吉利汽车宣布进军区块链 多个龙头股企业早已低调精准布局区块链

CECBC区块链专委会

区块链

一起重新全面认识JWT-Json Web Token

谙忆

APM 行业认知系列 - 十五

东风微鸣

DevOps APM Trace 可观察性

未来10年的预测与灰犀牛

hong

mathtype的几个操作技巧

克比

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

SIGIR2018高分录用——阿里妈妈公开全新CVR预估模型-InfoQ