【论文笔记】CVR预估之ESMM模型

2020-08-14 16:24:52 浏览数 (1)

概述

预测post-click转换率CVR在排序系统如推荐系统、广告中是至关重要的。传统的CVR模型使用深度学习方法已经实现到state-of-the-art水平。但是在实际应用中会遇到几个特定的问题让CVR模型建模变得困难。比如,传统的CVR模型是在点击曝光样本上训练的;但是最终是在整个样本空间上进行应用(曝光样本空间)。这就造成了样本选择偏差问题(Sample Selection Bias)。此外,数据稀疏问题让模型训练变得困难。在这篇论文中,提出利用用户行为序列数据,如曝光—>点击—>转化,对CVR模型建模的新方法。提出的ESMM模型可以同时消除上述两个问题:1)在整个样本空间对CVR模型进行建模;2)使用特征表示迁移学习策略对数据稀疏问题进行解决。在淘宝推荐系统收集的数据集上,ESMM模型比其他方法表现优异。最后公开了一个抽样版的数据集,包含点击、转换标签序列独立的用于CVR训练的训练样本。

介绍

转换率CVR预测对于工业应用的推荐系统,如在线广告、推荐系统是一个至关重要的任务。比如,上篇笔记中提到的OCPC中预测CVR来调整出价进而实现平台和广告主的双赢。也是推荐系统中平衡用户偏好和购买偏好的非常重要的因素。

论文专注于预测post-click转化率(post-click转换率就是用户点击后发生转化的概率,点击已经发生了)。以电商中的推荐系统为例。给定一个推荐物品,用户可能会点击感兴趣的部分,进而可能会产生购买行为。换句话说,用户的行为遵循一个序列模式:曝光->点击->转化。CVR建模更倾向于预测post-click转换率,即pCVR = p(conversion|click, impression)。【用户点击商品/广告后发生转换的概率,即post-click转化率】。

通常,传统的CVR建模方法使用和CTR预测任务的技术相似,比如使用深度学习。然而,存在几个任务相关的问题使得CVR建模变得具有挑战性。本文中提出在实际应用中遇到2个问题:1)样本选择偏差问题(Sample Selection Bias)。如图1所示,传统的CVR模型是在点击曝光数据上训练的(图中灰色部分),然而在模型应用时则是在整个样本空间上(白色部分,即所有的曝光样本)。SSB问题将会影响模型的泛化能力。2)数据稀疏问题(Data Sparsity)。在实际问题中,收集的用于CVR模型训练的数据集相较于CTR任务是非常少的。训练数据稀疏使得CVR模型的拟合变得十分困难。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xw9crUz3-1597244655260)(http://note.youdao.com/yws/public/resource/0598dd3dfb0f1261a999086ba0e72e2f/xmlnote/WEBRESOURCEf1baed4ab2ef47c4bc0bc6efd4cf0326/210)]

为了解决这些问题提出了一些方法。

  • 在不同特征上构建分层估计器estimators,然后用逻辑回归将这些特征结合,用于解决数据稀疏问题。然后这种方法依赖于构建封层结构模型的先验知识,这种方法很难应用在有百万用户和items的推荐系统上。
  • 对小类别样本进行过采样oversampling可以减缓数据稀疏;但是模型对于采样频率敏感;
  • All Missing As Negative(AMAN)使用随机采样策略在非点击曝光样本上进行样本选择作为负样本。这种方法通过引入非观察性的样本可以减缓样本选择偏差;但是会导致预测值始终偏低。
  • 无偏方法通过拟合来自rejection sampling观察的观测值的真实基础分布,解决了CTR建模中的SSB问题。然而,当用rejection概率对样本进行加权时,可能会遇到数值不稳定性。

总之,SSB和DS在CVR建模场景中都没有很好地解决,上述方法都没有利用好序列动作中的信息。

论文中提出ESMM方法来利用用户行为数据模式,这种方法能同时消除SSB和DS问题。在ESMM中有两种辅助任务,分别预测post-view点击率(浏览后点击概率)和post-view 点击转化率(曝光后点击转化概率CTCVR)。CVR不再是直接在点击曝光样本上训练,ESMM将pCVR看做一个中间变量,和pCTR相乘得到pCTCVR。pCTCVR和pCTR都是在所有曝光样本即整个样本空间进行预测,因此引出的pCVR也是在整个空间上应用。这意味着已经解决SSB问题。此外,CVR网络的特征表示参数和CTR网络之间是共享的。后者的训练样本更加丰富;这种参数迁移学习能够显著的消除DS问题。

方法

D上采样样本构成的数据集。其中N表示曝光样本的数量。

x:表示观测的曝光样本的特征向量,通常是多个field的特征向量,比如用户域、item域;

y、z:二进制标签,y=1 or z=1分别表示点击、转化事件发生。

y to z

:表示点击和转化之间的序列依赖性;当转换事件发生时之前总有一个点击事件(也就是说,转化通常是点击后发生的)。

post-click CVR(点击后转化概率)建模是估计概率

pCVR=p(z=1|y=1,x)

。两个相关的概率分别是post-view 点击率(曝光后点击率)

pCTR=p(y=1|x)

以及post-view 点击转化率(曝光后点击&转化概率;同时发生点击&转化)

pCTCVR=p(y=1,z=1|x)

。给定曝光样本x,

CVR建模和挑战

近来基于深度学习的方法用于CVR建模,而且表现已经达到state-of-the-art。这些模型大多遵循一个相似的Embedding&MLP结构。

传统 CVR建模方法直接用于预估post-click(点击后的转化率)转化率

p(z=1|y=1,x)

。对应的训练样本是在所有的曝光点击数据,

S_c = {(x_j,z_j)|y_j=1}|_{j=1}^M

,也就是图1中的灰色阴影部分,

S_c

是S的一个子集,在

S_c

中,没有转化的曝光点击数据被作为负样本,有转化的曝光点击样本作为正样本。在实际应用时存在几个问题使得CVR任务变得更具有挑战性。

Sample Selection Bias样本选择偏差。事实上,传统的CVR建模使用近似:

p(z=1|y=1,x) approx q(z=1|x_c)

通过引入辅助的特征空间

X_c

做一个近似。

X_c

表示和CVR训练集

S_c

相关的特征表示空间。

X_c

中的每个数据都有

(x=x_c, y_x=1)

,即点击标签为1(都是发生点击的样本)。

q(z=1|x_c)

S_c

中的样本空间

X_c

上训练。在模型应用阶段,整个空间上

p(z=1|y=1,x)

的预测通过假设任意属于整个曝光样本的样本也属于点击样本,使用

q(z=1|x)

对其进行计算【即样本选择偏差问题】。由于

X_c

可能只是X的一部分,上述假设通常情况下不成立。而且这个假设受到很少发生的点击事件的随机性的严重影响,其随机性在空间X的区域中会发生变化。此外,在实践中如果样本数据不够,空间Xc可能与X完全不同。这将使训练样本的分布偏离真正的基础分布,而且会损害CVR建模的泛化性能。

**Data sparsity(DS)**数据稀疏问题。传统方法使用点击样本

S_c

训练CVR模型。点击事件发生概率很小导致用于CVR模型训练的样本非常稀疏。理论上,数据集比CTR训练的样本少1-3个数量级。表格1展示了实验数据集上的统计指标,CVR任务样本是CTR任务的4%。

值得注意的是CVR建模还存在其他挑战,如延迟反馈问题。这里不关注这个问题,原因是因为系统中的转化率延迟程度可以接受,另一个是论文中的方法可以和之前的工作结合用于解决延迟转化问题。

ESMM

ESMM模型能充分利用用户行为的序列模式。借鉴多任务学习的理念,ESMM引入两个辅助任务:CTR和CTCVR;同时解决前面提到的CVR建模遇到的问题。

ESMM给定曝光样本后能同时输出pCTR、pCVR以及pCTCVR。ESMM主要包括两个子网络:左半部分是CVR网络,右半部分为CTR网络。CVR和CTR网络采用相同的结构作为base模型。CTCVR将两个网络的输出值的乘积作为CTCVR。ESMM有一些亮点给CVR建模带来显著地影响,使得ESMM从传统方法中脱颖而出。

整个空间上建模

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IIL7QO4R-1597244655283)(http://note.youdao.com/yws/public/resource/0598dd3dfb0f1261a999086ba0e72e2f/xmlnote/WEBRESOURCEd8d1ab0800614f708bb7b21a0c732f58/213)]

其中

p(y=1,z=1|x)

p(y=1|x)

是在所有曝光数据S上进行建模学习。上述等式可以,通过预测pCTCVR和pCTR,pCVR可以在整个输入空间X上推导出来,这样可以直接解决样本选择偏差问题。将pCTR和pCTCVR分别训练建模,然后再根据等式,应用除法计算pCVR看起来很简单。但是,pCTR实际上是一个很小的值,直接除会引起数字不稳定。ESMM通过使用乘法方式避免这个问题。在ESMM中,pCVR是一个中间变量,其大小受到等式1的约束。pCTR和pCTCVR是ESMM模型在整个样本空间上真正预测的元素。乘法形式使得三者之间相互联系,共同训练利用序列数据的信息,而且在训练过程中能相互交流学到的信息。此外,可以保证预测的pCVR取值范围在[0,1]之间,除法计算结果可能超出1。

ESMM的loss函数定义为:

由CTR和CTCVR的两个loss项组成,都是在所有曝光样本上进行计算,没有使用CVR任务的loss值

loss函数中的

theta_{ctr}

theta_{cvr}

分别是CTR和CVR网络的参数,l()表示交叉熵函数。数学意义上,上述等式将

y to z

解耦成两部分:y和 y&z,这样就可以利用点击和转化标签的序列依赖性。

特征表示迁移。Embedding层将大规模的稀疏输入映射成低维表示向量。嵌入层占据深度网络的大部分参数量,其学习需要很大的数据样本量。在ESMM中,CVR网络的embedding和CTR网络的embedding相互共享,遵循特征表示的迁移学习模式。用于CTR训练的曝光样本数据量比CVR任务大很多。参数共享机制使得ESMM的CVR网络可以在非点击曝光样本商学系,为解决数据稀疏问题提供了帮助。

值得注意的是,ESMM中的子网络可以使用其他网络模型替换,而且可能取得更好的效果。

实验

实验设置

数据集:淘宝平台上收集的数据集。Public Dataset,Product Dataset。

比较模型

  • Base: Embedding MLP;
  • AMAN:使用负采样策略,抽样率在{10%,20%,50%,100%}中选择最佳结果;
  • Oversampling:使用过采样,对正样本过采样,采样率在{2,3,5,10}中选择;
  • Unbias:通过rejection sampling从观测中拟合真正的分布,使用rejection概率计算pCTR;
  • Division:通过除法计算pCVR;分别训练CTR和CTCVR然后估计pCTR和pCTCVR;
  • ESMM-NS: ESMM相同架构,但是两个子网络之间Embedding参数不共享。

所有的模型使用和Base模型相同的结构以及超参数:

  • 激活函数为Relu;
  • Embedding长度为18;
  • MLP维度为:360x200x80x2;
  • 优化器adam,
beta_1=0.9,beta_2=0.999,epsilon=10^{-8}

评价指标:用两个不同的任务上的表现评估模型;

  • 和传统CVR预测任务一致,使用点击过的曝光数据来预测pCVR
  • 在所有曝光数据上预测pCTCVR

任务二用于比较在整个空间上不同的CVR建模方法,能反映出是否解决SSB问题以及表现如何。在CTCVR任务中,模型通过pCTR*pCVR计算pCTCVR,其中pCTR、pCVR分别通过CTR网络和CVR网络预测计算。这两个任务都按时间顺序分割了前1/2个数据作为训练集,而其余的则作为测试集。使用AUC作为评价指标,同时所有试验重复10次取平均值作为最终结果。

Pulic数据集上的表现

从上表可看到:

  1. 在BASE模型的3个变种中,只有AMAN方法在CVR任务上表现比BASE模型差,其效果对随机抽样比较敏感;过采样和unbias在CVR和CTCVR上表现比BASE模型都要好;
  2. Division和ESMM-NS在整个空间上预测pCVR,取得比BASE模型更显著的效果。为了避免数值不稳定,ESMM-NS表现比Division要好。
  3. ESMM比ESMM-NS效果更好。

通过利用用户行为的序列模式,从非点击数据中使用迁移机制进行学习,ESMM模型同时解决了CVR模型建模中的样本选择偏差和数据稀疏问题,表现优于其他的模型。相较于BASE模型,ESMM在CVR任务上在AUC指标上取得2.56%的提升,这表明在有偏数据上ESMM也能取得很好地泛化效果。在所有样本上的CTCVR任务上,AUC能提升3.25%。

Poduct数据上的表现

验证模型在89亿数据集上的表现。

在Product上采用不同的采样率进行训练验证,图中可以看到随着训练样本的增多,所有的模型表现都得到了提升,这表明数据稀疏带来的影响。

  • 在1%抽样率的样本上,除了AMAN外所有模型的CVR任务表现都由于BASE模型。
  • 在不同的采样率上,ESMM-NS和ESMM都优于其他模型。
  • ESMM模型在CTR和CTCVR上表现比其他模型号很多,AUC上有很大的差距。
  • 在整个数据集上训练后,ESMM模型相比于BASE模型CVR上能取得2.18%的提升,CTCVR上取得2.32%的提升。在工业系统中,AUC提升0.1%带来的影响也是非常显著的。

结论 & 展望

论文提出ESMM模型用于CVR建模。通过两个辅助任务CTR和CTCVR,ESMM能解决CVR建模中遇到的样本选择偏差和数据稀疏问题。这种方法可以很容易地推广到具有顺序依赖性的场景中的用户动作预测。之后,团队打算使用多阶段行为来设计全局优化模型:如请求-曝光-点击-转换。

0 人点赞