ESMM:Entire Space Multi-Task Mod

作者: 爿臣戈王耑 | 来源:发表于2020-04-25 23:08 被阅读0次

    论文地址:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate

    摘要

      精确的估算点击后转化率(CVR)对工业中推荐和广告场景等来说是至关重要的。传统的CVR模型采用了是最近流行的深度模型并且获得了一个最卓越的性能。然而在实际中在特殊任务的场景遇到了一些问题,是得CVR建模具有挑战性。例如,传统的CVR模型时利用曝光后点击的样本数据进行训练的但是使用时却在整体数据(曝光的数据)上进行预测。这就造成了样本选择偏差问题(sample selecting bias)。另外,这里也存在严重的数据稀疏问题(data sparisity)。这这篇文章中,我们提出一种新颖的CVR模型,它充分利用的用户的行为序列:展示->点击->转化。这个模型叫做ESMM(Entire space Multi-task Model),他同时解决了这2个问题 1)它直接在全部样本上进行训练。 2) 采用了特征表证迁移学习策略。实验是在淘宝推荐系统的流量日志收集的数据集中进行的,ESMM模型的效果要明显优于其他的方法。我们还发布了一个采样本部的数据集,以便以后的研究。据我们所知,对CVR模型来说这份数据是第一个包含具有顺序性的点击和转化标签的公开数据集。

    1、介绍

      转化率(CVR)预测是工业应用系统的一项重要任务,例如在线广告和推荐系统等。比例如,预测cvr被用在OCPC广告以调整每次的点击的竞价,以实现评估和广告主的双赢。这也推荐系统平衡用户点击偏好和购买偏好的重要因素。
      在这篇文章,我们关注的是点击后的CVR预估问题。为了简化讨论,我们以电子商务中的推荐系统为例。给定推荐一个商品,用户可能点击,然后未来再购买。换另句话说,用户的行为遵循这样的一个顺序序列:曝光->点击->转化。这样,CVR模型指的是预估点击后转化的概率:pCVR=p(conversion|click,impression)
    通常,传统的CVR建模方式采用了和CTV预估类似的技术,例如最近流行的深度网络。然而,这存在着一些特有的问题是得CVR建模面临挑战。其中,我们列出了在实际中两个关键的问题:1)样本选择偏差问题(SSB,sample selection bias)。正如Figure 1中表示的,传统的CVR模型是在点击数据上进行训练的,然而却在整了数据集上进行预测。SSB问题损害了训练后的模型泛化能力。 2)数据稀疏问题(DS,data sparisy)。在实际中,采集训练cvr模型的数据要比采集crt模型的数据少的多。训练数据的系数性使得CVR模型拟合变得更加困难。

    数据样本偏差问题

      这里有一些研究尝试解决这些问题。文献5在不同的特殊上采用分层估计,并于逻辑回归模型结合来解决DS问题。然而,它依赖先验知识去构建层次结构,这很难应用在数千万的用户和商品推荐系统中。文献11提出了一种过采样的方式,它是通过了稀有的类别,减缓了稀疏性,但是对采样率比较敏感。文献6中AMAN(All Missing As Negative)采用了随机选择未点击的数据作为负样本,通过引入未被观察的数据可以在一定程度上消除SSB问题,但是会导致预估值偏低的问题。文献10提出的无偏差方法解决了CTR模型中的SSB问题,它是通过拒绝采样来拟合真实的潜在分布。然而,当用拒绝概率除以加权样本时会遇到数值不稳定的问题。总而言之,SSB和DS问题在CVR模型的角度上都没有被很好的解决,而且上面的方法没有一个利用到行为序列信息。
      在这篇文章中,通过充分利用用户的行为序列,我们推出一个新颖的方案:ESMM(Entire space Multi-task Model),它可以同时解决SSB和DS问题。在ESMM模型中,有两个辅助任务:曝光后的点击率(CTR)预测任务 和 曝光点击后的转化率(CTCVR)任务。 不是直接利用点击数据训练CVR模型,ESMM而是将pCVR作为一个中间变量,用它乘以pCTR等于pCTCVR。用整体的曝光样本去评估pCVR和pCTCVR,因此推出pCVR同样也适合于整个样本。这就表明SSB问题已经解决了。另外,CVR的网络特征表示层的网络参数和CTR网络是共享的,CTR网络的训练数据会更丰富一些。这种迁移学习的方式有助于减轻DS问题。
      在这个工作中,我们手机的淘宝推荐系统的流量日志。完整的数据集包含了89亿个待遇点击和转化标签的样本。进行仔细的实验。ESMM始终优于其他的模型,这证明了我们提出的方法的有效性。我们通风发布了我们数据集,以供未来再这个领域进行研究。

    2、方案

    2.1 符号

      我们假设观察数据集合 S=\{(x_i,y_i \to z_i)\}|_{i=1}^N,样本(x,y \to z)X \times Y \times Z空间中一种分布D的样本,X表示的是特征空间,YZ表示的标记空间,N是总共的曝光数。x表示观察曝光的特征向量,通常是高纬稀疏特征,例如用户域、物品域等等。yz是二值标签,y=1或者z=1分别表示的是是否点击和是否转化。y \to z是点击和转化标签的顺序相关性,即在发生转化事件肯定是在点击事件之后。
      点击后CVR模型的就是预估 pCVR=p(z=1|y=1,x) 。两种相关的概率值是:曝光后点击的概率(CTR)pCTR=p(y=1|x) 和曝光后点击并且转换的概率(CTCVR)pCTCVR=p(y=1,z=1|x)。给定一个曝光x,他们的关系就是等式1:
    \underbrace{ p(y=1,z=1|x) }_{pCTCVR} = \underbrace{p(y=1|x) }_{pCTR} \times \underbrace{p(z=1|y=1,x)}_{pCVR}. \tag{1}

    2.2 CVR模型和挑战

      近期深度学习的方式被应用到CVR模型上,取得了一个目前最好的效果。他们中大多数都在用相似的Embedding&MLP网络结构。在Figure2中的左半部分描述就是这种结构,这里我们为了方便称之为BASE模型。

    ESMM结构

      简短的来说,传统的CVR模型时直接预估p(z=1|y=1,x),是在点击样本S_c= \{ (x_j,y_j)|y_j=1 \}|_{j=1}^M. M是所有曝光中点击的数据。显然,S_cS的一个子集。注意到S_c中曝光点击但是没有转换的数据作为负样本,曝光点击并且转换的数据作为正样本。在实际中,CVR模型会遇到几个问题,面临着挑战。

    样本选择偏差(Sample sellection bias,SSB)。事实上,传统的CVR模型采用了通过引入辅助特征计算空间X_c近似认为p(z=1|y=1,x) \approx q(z=1|x_c)X_c是与S_c有关联的受限制的空间。对于\forall x_c \in X_c存在数据点对(x=x_c,y_x=1)其中x \in X并且y_xx的点击标签,这样q(z=1|x_c)是在整个点击样本S_c上利用X_c进行训练的。在使用阶段,预测值q(z=1|y=1,x)是在整个X空间通过q(z=1|x_c)计算得到的,这里有个假设条件就是对任何样本(x,y=1),x \in X时都满足x_c \in X。这个假设很有可能被违背,因为X_c只是X中的一个子集。这个会受到罕见的点击事件的随机性的严重影响,这些事件的概率在X空间是不同的。此外,如果实践中没有充足的实际观测,X_c可能与X分布情况有很大的不同。这会导致训练样本的分布与真实样本的分布有很大的不同,影响CVR建模的泛化性能。

    数据稀疏(Data sparsity,DS)。传统的训练CVR模型时通过点击样本S_c上训练的。点击事件的罕见发生是得CVR建模所需的数据非常稀疏。直观地说,它通常要比CTV任务(在全部打曝光数据上训练)的数据要低上1-3个数量级,Table1展示了我们实验数据集的统计情况。,这里CVR训练数据仅为CTR训练数据的4%。
    (3.4/84=0.04047,324/8950=0.0362)

    数据集情况
    值得一提的是,CVR建模还有另外一个挑战反馈延迟问题。这里我们没有把重点放在此,一个原因是在我们的系统中的反馈延迟问题是可以接受的,另外一个原因是我们的方法可以跟先前的工作(文献1)结合起来处理这个问题。

    2.3 ESMM

      ESMM模型的描述Fig2。这里充分利用的用户行为的顺序序列。借鉴了多任务学习(文献9)的思想,引入了CTR和CTCVR两个辅助任务。
      在整体上,ESMM对一次曝光同时输出pCTR、pCVR和pCTCVR。ESMM主要包括2个子网络:CVR网络,就是图2中的左半部分 和 CTR网络,就是图2中的右半部分。两个模型都采用BASE模型。CTCVR是将CVR和CTR网络的输出结果作为输出。在ESMM上有个特殊的点,这些亮点对CVR建模有显著影响,并将ESMM与传统的模型区分开。
    ESMM是在全部样本空间上建模。公式1给出我们提示,我们可以转换为公示2。

    p(z=1|y=1,x) =\frac{p(y=1,z=1|x)}{p(y=1|x)} \tag{2}

      这里p(y=1,z=1|x)p(y=1|x)都是在所有的曝光样本数据集上训练的。从公式2得之我们评估pCTCVR、pCTR和pCVR可以在全部的样本上进行,这就直接解决了样本选择偏差问题。单独训练模型pCTR和pCTCVR ,通过公式2可以得到pCVR,这似乎很容易,这里我们简单的定义为DIVISION方式。然而实际上pCTR是一个的数值,除法操作会造成数据溢出问题。ESMM通过用乘法的形式避免了则个问题。在ESMM中,pCVR只是一个受公式1影响的中间变量。pCTR和pCTCVR是ESMM在整个数据空间中评估的主要因素。乘法的形式是得三个关联在一起,并利用整个顺序序列的数据进行共同训练,并在彼此之间传递信息。此外,它确保pCVR的值是在[0,1],如果是在DIVISION的方式中这个数可能超过1。
    ESMM的损失函数见公式3。它有CTR和CTCVR两个损失项足证,是在全部的曝光数据进行计算,没有使用CVR任务的损失。
    L(\theta_{cvr},\theta_{ctr})=\sum_{i=1}^{N}l(y_i,f(x_i;\theta_{ctr}))+\sum_{i=1}^{N}l(y_i \& z_i,f(x_i;\theta_{ctr}) \times f(x_i;\theta_{cvr})) \tag{3}
    这里\theta_{ctr}\theta_{cvr}分别是CTR网络和CVR网络的参数。l(.)是交叉熵损失函数。从数学上讲,公式3可以吧y \rightarrow z拆分为两部分:yy\&z ,这里实际上用到了点击和转换标签的顺序依赖性。
    共享特征表示。正如2.2中介绍的,embedding层将大规模的稀疏特征转换为低纬的向量。它共享了深度网络中大部分参数,其学习过程需要大量的训练样本。在ESMM中,CVR网络的embedding字段是和CTR网络共享的。它遵循一种特征表证迁移学习范式。所有的CTR的训练样本要比CVR的训练样本多的多。这种共享参数特征的方式是得ESMM中的CVR网络能够从未点击的曝光样本中学习,并且为缓解数据稀疏问题提供了很大的帮助。
    注意到在ESMM子网络中也可以其他的网络结构来替代,这样可能会得到更好的性能。由于本文篇幅限制,这里不细讲,而是更关注CVR建模在实际中遇到的挑战。

    3 实验

    3.1 实验设置

    数据集 。在我们的研究中,CVR建模领域还没有具有点击、转换这样的顺序标签的公共数据集。未了评估我们的方法,我们从淘宝的推荐系统中采集了日志,并公布了整个数据集中的1%的随机样本数据,其大小约为38G(未压缩)。在剩余部分,我们将公布的数据集称之为Public Dataset ,将整个数据集称之为Product Dataset。表1总结了这两份数据集的统计信息。详细的介绍可以从公共数据的网站上找到。
    竞争的模型介绍。在CVR建模方面,我们用几种竞争模型进行同事实验。

    1. BASE模型就是2.2中介绍的模型。(普通的深度网络)
    2. AMAN模型,它是采用负采样的策略,以采样比{10%,20%,50%,100%}总汇报最佳的结果。
    3. OVERSAMPLING模型,通过复制正样本来降低稀疏数据训练的难度,采样比在{2,3,5,10}进行搜索。
    4. UNBIAS模型,通过拒绝采样来拟合真实的样本潜在分布情况。pCTR用来拒绝采样的概率。
    5. DIVISION模型,分别单独的训练CTR和CTCVR网络来估算pCTR和pCTCVR,然后通过公式2计算得到pCVR。
    6. ESMM-NS模型,是ESMM的一个精简版本,它没有共享embedding参数

      前四种方法都是基于最新的网络结构最CVR建模的不同变体。DIVISION、ESMM-NS、ESMM都是整个样本上建模的思想,其中有CVR、CTR、CTCVR三个网络。ESMM-NS和ESMM是共同训练这三个网络,并通过获取CVR网络的结果来进行效果比较。为了公平起见,所有的竞争的模型都是使用BASE网络的结构和超参,1)使用ReLU激活函数 . 2)embedding层维度设置为18 . 3)网络每一层的维度为360 X 200 X 80 X 2 . 4)adam的参数设置为\beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8} .

    评估方式。我们在两个不同的任务上进行比较 :(1)传统的CVR预测任务,评估pCVR是在点击样本上比较。(2)CTCVR预测任务,评估pCTCVR是在全部的曝光样本上比较。任务2目的是在整个输入空间比较CVR模型的效果,它反映了模型对SSB问题的处理能力。在CTCVR任务中,所有的模型计算pCTCVR是等于pCTR \times pCVR,这里,1)pCVR是每个模型分别估计的,2)pCTR也是用相同的独立训练的CTR网络估计的(同样的网络结构和超参)。两个评估任务都是用数据集中的一半作为训练,另外一半作为测试。利用AUC的评估方式。所有的实验重复了10次,并报告平均的结果。

    实验结果

    3.2 在Public Dataset上的结果
      表2展示的不同模型的效果。(1)在CVR效果评估中,BASE模型的三个变体模型中,只有AMAN模型效果稍微差点,这可能由于随机采样的影响。OVERSAMOLING和UNBIAS在CVR和CTCVR效果都比BASE模型要好。(2)DIVISION和ESMM-NS在全部样本上进行CVR效果评估都比BASE模型上有显著的提升。由于避免了数值不稳定性(除以一个很小的数造成的),ESMM-NS的效果要比DIVSION好一些。(3)ESMM进一步改进了ESMM-NS。通过利用用户动作的序列行为,通过为点击的样本中参数更新,ESMM提供了一种优雅的解决方法,并挺尸消除了SSB和DS问题,击败了所有的竞争模型。对比BASE模型,ESMM模型在CVR的评估中提高了2.56%的绝对AUC收益,即使对有偏差的样本也能表现出良好的泛化性能。在全部样本下的预估CTCVR,ESMM可以获得3.25%的AUC增益。这些结果证明了我们的模型有效性。

    3.3 在Product Dataset上的结果
      我们进一步评估ESMM模型在我们的生产数据集上,约89亿的样本,这比公共数据集要大两个数量级。为了验证训练数据集的容量大小的影响,我们呢对这个大规模的数据集上进行了仔细的比较,设置不同的采样率。如图3所示。第一,所有的模型都是随之训练样本的增加而提高,这表面数据稀疏性的影响。除了AMAN在1%的样本采样下的CVR模型效果,其他的模型都比BSE模型要好。第二,ESMM-NS和ESMM模型始终优于竞争对手。特别的,无论是CVR和CTCVR上,ESMM的AUC评估效果都远比其他模型要好很多。BASE模型是我们真正系统中主要流量的最新版本。在整个样本上训练,ESMM模型在CVR任务获得了2.18%的绝对收益,在CTCVR任务中获得了2.32%的绝对收益。对于工业应用来说,这个一个显著的提升(0.1%的AUC收益认为是显著的)

    效果数据

    结论和未来工作

      在本文中,我们提出了一种新颖的CVR建模方式:ESMM。ESMM充分利用了用户操作的顺序序列。在CTR和CTCVR两个辅助任务的帮助下,ESMM比较好的解决了实际中的CVR建模样本选择偏差问题和数据稀疏问题。在实验中证明了ESMM模型的优越性能。这种方法可以很容易的推广到具有用户行为序列的场景。之后,我们打算在具有"请求->展示->点击->转化"这样的多阶段的应用中设计全局优化模型。

    思考:这篇文章把CTV和CVR进行同时建模,在其他的业务场景,可以进行扩展这个模型。例如在实际生产中经常遇到拉新的场景,每一个新用户带来的价值可能是不同的,这个序列行为可能变成广告展示->点击->注册->购买商品->复购\流失\作弊->促活\风控等,可以适当的扩展网络(ESMM是2个)。另外文章中通过乘法避免了除法中的很小的数值问题,类似的方法还有拉普拉斯修正,这个也是一个不错的方法。

    相关文章

      网友评论

        本文标题:ESMM:Entire Space Multi-Task Mod

        本文链接:https://www.haomeiwen.com/subject/edlmihtx.html