返回介绍

数学基础

统计学习

深度学习

工具

Scala

十一、ESMM [2018]

发布于 2023-07-17 23:38:25 字数 15710 浏览 0 评论 0 收藏 0

  1. 转化率conversion rate: CVR 预估是工业 application (如在线广告、推荐等等)中 ranking 系统的一项重要任务。例如,在 optimized cost-per-click: OCPC 广告中使用预估的 CVR 来调整每次点击的出价,从而实现平台和广告主的双赢。在推荐系统中,预估的 CVR 也是平衡用户点击偏好和购买偏好的一个重要因子。

    论文 《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》 聚焦于点击后 post-clickCVR 预估任务。为简化讨论,论文以电商网站推荐系统中的 CVR 建模为例。给定推荐的 item,用户可能会点击感兴趣的 item 并进一步购买其中的某些点击 item 。换句话讲,用户操作遵循 “曝光 --> 点击 --> 转化” 的序列模式 sequential pattern 。这样,CVR 建模指的是估计 post-click CVR 任务,即 pCVR = p(conversion | click, impression)

    通常,传统的 CVR 建模方法采用类似于点击率预click-through rate: CTR估任务中开发的技术,例如最近流行的深度网络。然而,存在几个 task-specific 的问题,使得 CVR 建模具有挑战性。其中,论文报告了实践中遇到的两个关键问题:

    • 样本选择偏差sample selection bias: SSB问题:如下图所示,传统的 CVR 模型在由点击样本组成的数据集上训练,同时在整个曝光空间上执行预测。训练空间由点击样本构成,它只是所有曝光组成的推断空间的一部分。

      SSB 问题会损害模型的泛化性能。

    • 数据稀疏data sparsity: DS问题:在实践中,训练 CVR 模型的数据通常远远少于训练 CTR 模型的数据。训练数据的稀疏性使得 CVR 模型很容易陷入过拟合。

    有几项研究试图应对这些挑战:

    • 《Estimating conversion rate in display advertising from past erformance data》 建立了不同特征的层级估计器hierarchical estimators ,并结合逻辑回归模型融合这些估计器来解决数据稀疏问题。然而,它依赖于先验知识来构建层级结构hierarchical structures ,这很难应用于具有数千万用户和 item 的推荐系统。

    • 过采样oversampling 方法拷贝了罕见类rare class 的样本,这有助于缓解数据的稀疏性,但是对采样率很敏感。

    • All Missing As Negative: AMAN 应用随机采样策略来选择未点击的曝光作为负样本。它可以通过引入未观测到unobserved 的样本在一定程度上消除 SSB 问题,但是会导致始终被低估的预测。

      因为在未点击的曝光样本中,假如所有曝光都被用户点击,则可能存在一定比例的转化行为(正样本),而 AMAN 方法假设所有未点击的曝光都是负样本。

    • 无偏的方法unbiased method 通过 rejection 采样从观测中拟合真实的潜在分布,从而解决了 CVR 建模中的 SSB 问题。但是,通过 rejection 概率对样本进行加权时(需要除以拒绝率 rejection probability ),可能会遇到数值不稳定的情况。

    总之,在 CVR 建模场景中,SSBDS 问题都没有得到很好的解决,而且上述方法都没有利用序列动作sequential actions 的信息。

    在论文 《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》 中,通过充分利用用户动作的序列模式,作者提出了一种叫做 Entire Space Multitask Model: ESMM 的模型,它能够同时消除 SSBDS 问题。

    ESMM 中,作者引入两个辅助任务:曝光后post-view 点击率click-through rate: CTR 预估任务、曝光后 post-view 点击转化率 clickthrough& conversion rate: CTCVR 预估任务。

    • ESMM 不是直接使用点击样本训练 CVR 模型,而是将 pCVR 视为中间变量,乘以 pCTR 等于 pCTCVRpCTCVRpCTR 都是用所有曝光样本在整个曝光空间上估计的,因此派生的 pCVR 也适用于整个曝光空间。这表明 SSB 问题已经消除。
    • 此外,CVR 网络的 feature representation 参数与 CTR 网络共享,而 CTR 用更丰富的样本进行训练。这种 parameter transfer learning 有助于显著地缓解 DS 问题。

    在这项工作中,作者从淘宝的推荐系统中收集流量日志构建数据集。整个数据集由 89 亿个样本组成,其中包含带点击 label 、转化 label 的序列 labels 。作者进行了仔细的实验,结果表明 ESMM 始终优于竞争模型,这证明了 ESMM 的有效性。作者还公布了数据集(采样之后),以便于该领域的未来研究。据作者所知,这是第一个包含用于 CVR 建模的、带点击label 和转化 label 样本的公共数据集。

11.1 模型

  1. 假设观测到的数据集为 $ \mathcal S = \left\{(\mathbf{\vec x}_i,y_i\rightarrow z_i)\right\}_{i=1}^N $ ,样本 $ (\mathbf{\vec x},y\rightarrow z) $ 从定义域为 $ \mathcal X\times \mathcal Y\times \mathcal Z $ 的一个分布 $ D $ 中采样而来,其中 $ \mathcal X $ 为特征空间、 $ \mathcal Y $ 和 $ \mathcal Z $ 为 label 空间, $ N $ 为曝光总量。

    • $ \mathbf{\vec x} $ 代表观察到的曝光的特征向量,通常是具有 multi-fields (例如用户字段、item 字段等等)的高维稀疏向量。
    • $ y $ 和 $ z $ 是二元标签, $ y=1 $ 表示发生点击事件, $ z=1 $ 表示发生转化事件。 $ y\rightarrow z $ 揭示了点击label 和转化 label 的序列依赖性sequential dependence ,即转化事件发生之前总是发生了点击事件。

    post-clickCVR 建模是估计 $ \text{pCVR} = p(z=1\mid y=1, \mathbf{\vec x}) $ 的概率。有两个相关的概率与 pCVR 相关:

    • post-view 的点击率click-through rate: CTR 预估: $ \text{pCTR} = p(y=1\mid \mathbf{\vec x}) $ 。
    • post-view 的点击转化率 click&conversion rate: CTCVR 预估: $ \text{pCTCVR} = p(y=1,z=1\mid \mathbf{\vec x}) $ 。

    这些概率满足公式:

    $ \underbrace{p(y=1,z=1\mid \mathbf{\vec x})}_{\text{pCTCVR}} = \underbrace{p(y=1\mid \mathbf{\vec x})}_{\text{pCTR}} \times \underbrace{p(z=1\mid y=1, \mathbf{\vec x})}_{\text{pCVR}} $
  2. 最近,人们提出了基于深度学习的方法用于 CVR 建模,从而实现了 state-of-the-art 性能。这些方法中大多数都遵循类似的 Embedding & MLP 网络架构。下图说明了这种架构,为简单起见,我们将其称作 BASE 模型。

    简而言之,传统的 CVR 建模方法直接估计 post-click 的转化率 $ p(z=1\mid y=1, \mathbf{\vec x}) $ 。这些方法使用点击样本训练模型,即: $ \mathcal S_c =\left\{(\mathbf{\vec x}_j,z_j)\mid y_j = 1\right\}_{j=1}^M $ ,其中 $ M $ 为点击总量。显然, $ \mathcal S_c $ 是 $ \mathcal S $ 的子集。

    注意,在 $ \mathcal S_c $ 中未转化的点击被视为负样本,而转化的点击视为正样本。

  3. 在实践中,CVR 建模会遇到几个 task-specific 的问题,这使得任务具有挑战性。

    • 样本选择偏差 sample selection bias: SSM:事实上,传统的 CVR 建模通过引入辅助特征空间 $ \mathcal X_c $ 来近似 $ p(z=1\mid y=1, \mathbf{\vec x})\simeq q(z=1\mid \mathbf{\vec x}_c) $ 。其中 $ \mathbf{\vec x}_c\in \mathcal X_c $ , $ \mathcal X_c $ 表示与 $ \mathcal S_c $ 关联的一个受限空间limited space

      $ \forall \mathbf{\vec x}_c \in \mathcal X_c $ ,存在一个 pair 对 $ (\mathbf{\vec x} = \mathbf{\vec x}_c, y_{\mathbf{\vec x}} = 1) $ ,其中 $ \mathbf{\vec x}\in \mathcal X $ 、 $ y_{\mathbf{\vec x}} $ 为 $ \mathbf{\vec x} $ 的点击label。通过这种方式, $ q(z=1\mid \mathbf{\vec x}_c) $ 在空间 $ \mathcal X_c $ 上使用 $ \mathcal S_c $ 的点击样本进行训练。

      在推断阶段, $ p(z=1\mid y=1, \mathbf{\vec x}) $ 在整个空间 $ \mathcal X $ 上的预估计算为 $ q(z=1\mid \mathbf{\vec x}_c) $ ,其中我们假设对于 $ \forall \mathbf{\vec x}\in \mathcal X $ ,任意 pair 对 $ (\mathbf{\vec x},y_{\mathbf{\vec x}} = 1) $ 都有 $ \mathbf{\vec x}\in \mathcal X_c $ 。这个假设很可能被违反,因为 $ \mathcal X_c $ 仅仅是整个空间 $ \mathcal X $ 的一小部分。

      • 一方面, $ \mathcal X_c $ 受到点击事件随机性的严重影响,其中点击事件很少发生,并且点击事件发生概率在空间 $ \mathcal X $ 的各个区域内变化。
      • 另一方面,如果在实践中没有足够的观察,则空间 $ \mathcal X_c $ 可能与 $ \mathcal X $ 有很大差异。这会使得训练样本的分布偏离真正的底层分布,并损害 CVR 建模的泛化性能。
    • 数据稀疏性 data sparsity: DS:传统方法使用点击样本 $ \mathcal S_c $ 来训练 CVR 模型,而点击事件很少发生导致 CVR 建模的训练数据极其稀疏。直观上,CVR 任务训练样本量通常比相关的 CTR 任务(在所有曝光样本 $ \mathcal S $ 上训练)小 1 ~ 3 个量级。下表显示了我们实验数据集的统计数据,其中 CVR 任务的样本数量仅为 CTR 任务的 4%

    值得一提的是,CVR 建模还存在其它挑战,例如延迟反馈 delayed feedback 。这项工作暂且不关注它,原因之一是我们系统中的转化延迟程度是可以接受的,另一个原因是我们的方法可以结合之前的工作(《Modeling delayed feedback in display advertising》)来处理。

  4. 我们提出的 ESMM 如下图所示,它很好地利用了用户动作的序列模式。借鉴多任务学习的思想,ESMM 引入了 CTR 预估和 CTCVR 预估这两个辅助任务,同时消除了上述 CVR 建模的问题。

    总体而言,ESMM 同时输出关于给定曝光的 pCTR、pCVR、pCTCVRESMM 主要由两个子网络组成:下图中左侧的 CVR 网络和右侧的 CTR 网络。CVR 网络和 CTR 网络都采用与 BASE 模型相同的结构。 CVR 网络和 CTR 网络输出的乘积作为 CTCVR

  5. ESMM 有一些亮点对 CVR 建模有显著影响,从而将 ESMM 与传统方法区分开:

    • 在整个空间上建模:根据前面的推导,我们有:

      $ p(z=1\mid y=1, \mathbf{\vec x}) = \frac{p(y=1,z=1\mid \mathbf{\vec x})}{p(y=1\mid \mathbf{\vec x})} $

      这里 $ p(y=1,z=1\mid \mathbf{\vec x}) $ 和 $ p(y=1\mid \mathbf{\vec x}) $ 在所有曝光的数据集 $ \mathcal S $ 上建模。因此,通过估计 pCTCVRpCTR,可以在整个输入空间 $ \mathcal X $ 上推导出 pCVR,这直接解决了样本选择偏差问题。

      通过分别使用单独训练的模型估计 pCTRpCTCVR,并通过上述等式获得 pCVR,这似乎很容易。为简单起见,我们将其称作 DIVISION。然而,pCTR 实际上是一个很小的数字,除以它会引起数值不稳定。

      ESMM 使用乘法形式避免了这种情况。在 ESMM 中,PCVR 只是一个中间变量,pCTRpCTCVRESMM 在整个空间中实际估计的主要因子。

      • 乘法形式使得三个相关联associated 的、共同训练co-trained 的估计器estimators 能够利用数据的序列模式并在训练期间相互交流信息。
      • 此外,乘法形式还确保了估计的 pCVR 取值在 [0.0, 1.0] 的范围内,而在 DIVISION 方法中可能会超过 1.0

      ESMM 的损失函数定义为:

      $ \mathcal L(\theta_\text{cvr},\theta_\text{ctr}) = \sum_{i=1}^N l\left(y_i,f(\mathbf{\vec x}_i;\theta_\text{ctr})\right)+\sum_{i=1}^N l\left(y_i \& z_i,f(\mathbf{\vec x}_i;\theta_\text{ctr})\times f(\mathbf{\vec x}_i;\theta_\text{cvr})\right) $

      其中 $ \theta_\text{ctr} $ 和 $ \theta_\text{cvr} $ 是 CTR 网络和 CVR 网络的参数, $ l(\cdot) $ 是交叉熵损失函数。

      这个损失函数由来自 CTR 任务损失和 CTCVR 任务损失这两项组成,并且在所有曝光样本上计算,而没有使用 CVR 任务的损失。在数学上,上式将 $ y\rightarrow z $ 分解为两个部分: $ y $ 和 $ y\&z $ ,这实际上利用了点击label 和转化 label 的序列依赖性。

    • 特征表示迁移 feature representation transfer:如前所述,embedding layer 将大规模稀疏输入映射到低维 representation 向量。embedding layer 贡献了深度网络的大部分参数,其学习需要大量的训练样本。

      ESMM 中,CVR 网络的 embedding dictionaryCTR 网络共享,这遵循 feature representation transfer learning 的范式。CTR 任务的所有曝光样本相比较于 CVR 任务的点击样本要丰富的多。这种参数共享机制使得 ESMM 中的 CVR 网络能够从未点击的曝光中学习,为缓解数据稀疏问题提供了很大帮助。

    注意,ESMM 中的子网络可以替换为一些最近开发的模型,这可能会获得更好的性能。由于篇幅所限我们将其略去,我们聚焦于解决 CVR 建模在实际实践中遇到的挑战。

11.2 实验

  1. 数据集:在我们的调查中,在 CVR 建模领域没有发现具有点击label 、转化 label 的序列 labels 的公共数据集。为了评估ESMM 方法,我们从淘宝的推荐系统收集流量日志,并发布整个数据集的 1% 随机抽样版本,其大小仍然达到 38GB (未压缩)。在本文的剩余部分,我们将发布的数据集称作公共数据集 Public Dataset,将整个数据集(未采样的)称作产品数据集 Product Dataset 。下表总结了两个数据集的统计数据。

  2. 竞争方法:

    • BASE :即前面介绍的简单 DNN 模型,不采取任何额外的策略。
    • AMAN:应用负采样策略的 BASE 模型,负采样比例从 {10%,20%,50%,100%} 中搜索并报告最佳结果。
    • OVERSAMPLING:执行正样本过采样策略的 BASE 模型,采样率从 {2,3,5,10} 中搜索并报告最佳结果。
    • UNBIAS:执行 rejection 采样策略的 BASE 模型,通过拒绝采样使得训练分布(即点击数据集的数据分布)和真实分布(即曝光数据集的数据分布)保持一致,pCTR 被视作拒绝概率。
    • DIVISION:使用单独训练的CTR 网络和 CTCVR 网络分别估计 pCTRpCTCVR,然后计算 pCVR = pCTCVR/pCTR 。其中 CTR 网络和 CTCVR 网络均采用 BASE 模型。
    • ESMM-NSESMM 模型的一个精简版,它不共享 embedding 参数。

    前四种方法是直接基于 state-of-the-art 深度网络对 CVR 直接建模的不同变体。DIVISION、ESMM-NS、ESMM 共享相同的思想,即在整个空间上对 CVR 进行建模,其中涉及 CVR 网络、CTR 网络、CTCVR 网络等三个网络。ESMM-NSESMM 共同训练这三个网络,并从 CVR 网络中获取输出。

    为公平比较,包括 ESMM 在内的所有竞争方法都采用 BASE 模型相同的网络结构和超参数,其中包括:使用 ReLU 激活函数、 embedding 向量维度为 18MLP 网络的每一层维度为 360 × 200 × 80 × 2、使用 adam 优化器(超参数为 $ \beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8} $ ) 。

  3. 评估指标:我们在两个不同的任务上进行比较:

    • 传统的 CVR 预估任务:在具有点击样本的数据集上估计 pCVR

    • CTCVR 预估任务:在具有曝光样本的数据集上估计 pCTCVR

      CTCVR 任务中,所有模型都通过 pCTR x pCVR 来计算 pCTCVR,其中:pCVR 分别由每个模型估计,pCTR 是使用相同的、独立训练的 CTR 网络估计的(与 BASE 模型相同的网络结构和超参数)。

    第二个任务旨在在整个输入空间上比较不同的 CVR 建模方法,这反映了对应于 SSB 问题的模型性能。

    这两个任务都将时间序列中的前 1/2 数据作为训练集、后 1/2 数据作为测试集。

    评估指标为 AUC,所有实验重复 10 次并报告平均结果。

  4. Public Dataset 结果:下表显式了不同模型在 Public Dataset 上的结果。

    • BASE 模型的所有三个变体中,只有 AMANCVR 任务上表现稍差,这可能是由于随机采样的敏感性。OVERSAMPLINGUNBIASCVRCTCVR 任务上都比 BASE 模型有所改进。

    • DIVISIONESMM-NS 都估计了整个空间的 pCVR,并且在 BASE 模型上取得了显著的提升。由于避免了数值不稳定,ESMM-NS 的性能优于 DIVISION

    • ESMM 进一步改进了 ESMM-NS。通过利用用户动作的序列模式,并从未点击的数据以迁移机制来学习,ESMMCVR 建模提供了一个优雅的解决方案,从而同时消除 SSB 问题和 DS 问题并击败所有竞争对手。

      • BASE 模型相比,ESMMCVR 任务上实现了 2.56% 的绝对 AUC 增益,这表明它即使对有 bias 的样本也具有良好的泛化性能。
      • BASE 模型相比,ESMM 在全样本的 CTCVR 任务上实现了 3.25% 的 绝对AUC 增益。

      这些结果验证了我们建模方法的有效性。

  5. Product Dataset 结果:我们在我们的 Product Dataset 上进一步评估了 ESMM,其中包含 89 亿个样本,比公开的 Public Dataset 大两个数据量级。

    为了验证训练集规模的影响,我们针对不同的采样率对这个大规模数据集进行了仔细的比较,结果如下图所示。

    • 所有方法都随着训练样本量的增加而有所改善。这表明了数据稀疏性的影响。

    • 除了 AMAN1% 采样的 CVR 任务以外,所有其它模型在所有任务的所有训练集规模上都超越了BASE 模型。

    • ESMM-NSESMM 在不同采样率方面始终优于所有竞争对手。特别是,ESMMCVRCTCVR 任务上比所有竞争对手都保持了很大的 AUC 提升幅度。

      BASE 模型是为我们真实系统中的主要流量提供服务的最新版本。使用整个数据集进行训练,ESMMCVR 任务上相对于 BASE 模型实现了 2.18% 的绝对 AUC 增益,在 CTCVR 任务上相对于 BASE 模型实现了 2.32% 的绝对 AUC 增益。对于工业application 而言,这是一项重大改进,其中 0.1%AUC 提升就非常显著。

  6. 未来工作:我们打算在具有 “请求 --> 曝光 --> 点击 --> 转化” 等 multi-stage 动作的 application 中设计全局优化模型 global optimization model

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文