小米电商推荐算法CVR模型实践

发布一下 0 0

导读:本文主要介绍小米电商推荐算法在CVR模型上的探索和实践。之前的多任务模型多关注于任务表征之间的迁移,而忽略了多任务之间目标知识的传递,我们针对电商场景下多目标建模的四大问题(样本选择偏差、数据稀疏、延迟反馈、知识一致性),结合因果推断、跨任务蒸馏、孪生网络、不确定度衡量等技术,提出全空间延迟跨任务多目标蒸馏模型(ESDC),该模型上线后,相比于base模型(PLE+ESMM),首页信息流推荐场景GMV提升15%。

全文目录:

  • 背景
  • 网络结构
  • 总结
  • 参考文献

分享嘉宾|小米电商算法团队

内容来源|作者投稿

出品社区|DataFun


01

背景

在电商推荐领域,以成交为最终目标,但用户成交转化一般需要经过曝光->点击->购买三个环节,不仅存在先后顺序关系,也蕴含着因果关系。算法根据业务需要,在 GMV 主目标之外,通常还要兼顾 IPV、转化率、人均订单数等多个次目标。所以正如参考文献[1]中的图1所示,现在的电商推荐系统通常都要对 CTR(从曝光到点击的概率)、CVR(从点击到购买的概率)、CTCVR(从曝光到购买的概率)分别建模计算预估值,作为最终排序公式的一个因子,或者更复杂地,作为最终 online learning 多目标 LTR 模型的一个特征。

小米电商推荐算法CVR模型实践

因此,准确预估 CVR 对于推荐系统至关重要。然而在电商场景下,CVR 建模依旧是一件很有挑战的任务,存在以下三个为人熟知的问题:

(1)样本选择偏差(Sample Selection Bias, SSB):CVR 模型基于点击样本进行学习,但最终基于全样本空间进行推理,对于大量曝光未点击商品的 CVR 预估值是不置信的;

(2)数据稀疏(Data Sparsity, DS):相比于曝光样本,点击样本要少很多,通常来说,单日点击数量要比单日曝光量少两个数量级,对于深度学习这种大规模 ID 特征动辄需要上亿样本的模型,很难充分学习;

小米电商推荐算法CVR模型实践

(3)延迟反馈(Delayed Feedback):与曝光到点击的时延相比,一件商品从点击到转化发生的时间要晚的多,尤其是大额商品,例如手机,往往需要经历近一周的决策周期,而 CVR 模型训练为了样本实时性,通常会使用当天内是否转化作为样本 label,导致大量的假负样本出现,影响模型效果。

小米电商推荐算法CVR模型实践

在日常工作中我们还发现了另一个现象,称之为问题(4):知识一致性问题。我们一般认为,CTR 高的商品 CVR 通常也会较高,反之亦然。但如果用 CTR 模型的预测值 pCTR 来计算 CVR-AUC,或者反过来用 pCVR 计算 CTR-AUC,会发现 AUC 都很低,通常在 0.5 左右。这是因为 CTR 模型和 CVR 模型的关注点不一致:CTR 的样本不会关注购买样本与非购买样本的差异;而以 ESMM 为模板的 CVR 模型,点击未购买和未点击是等同的。这就导致了跨任务间缺乏信息传递,造成 CTR 和 CVR 的优化方向不一致,相当于较强的噪声信号,会给后续融合带来不利影响,我们在多次实践中也验证了这一点。因此如何解决多目标模型目标知识迁移的问题,对现实业务有重大意义。

小米电商推荐算法CVR模型实践

--

02

网络结构

基于上面四个问题,我们设计了模型 ESDC(Entire Space Delayed Feedback With Cross-Task Knowledge Distillation in Multi-Task Recommendation),网络结构如下图所示:

小米电商推荐算法CVR模型实践

模型整体上是一个蒸馏框架,包括 teacher 网络,student 网络以及蒸馏权重调节模块三个部分,下面分别介绍。

1. Teacher网络结构

在介绍 teacher 模型前,为了叙述方便先定义一些变量。

X:随机变量,表示特征向量

Y∈{0,1}:随机变量,表示是否点击

Z∈{0,1}:随机变量,表示在观察时刻是否已经转化

C∈{0,1}:随机变量,表示最终是否会转化

D:随机变量,表示从点击到最终转化发生的延迟时间,如果 C=0,则未定义

E:随机变量,表示从点击到观察时刻的时间间隔

小米电商推荐算法CVR模型实践

小米电商推荐算法CVR模型实践


teacher 模型的底层结构采用常见的 PLE 网络 [2],不详细展开。上层借鉴 ESCM^2 模型[1]和 ESDF 模型[3]的思想并做了融合和改进,整体包含 4 个模块:

(1)CTR 模块

CTR模块为传统的多层全连接网络结构,输出可表示为:

小米电商推荐算法CVR模型实践

(2)CVR 模块

CVR模块同样为传统的多层全连接网络结构,同时还加入了用户在商品详情页行为的后验特征,如停留时长等,这些特征一方面作为是否发生点击的信号将CTR信息传递给了CVR,另一方面也作为优势特征通过蒸馏将知识传递给student模型。CVR模块的输出为:

小米电商推荐算法CVR模型实践

结合 CTR 和 CVR 的输出就有:

小米电商推荐算法CVR模型实践

(3)Delay 模块

延迟反馈模块参考 ESDF 模型的方法,设定归因窗口为 T 天,对延迟时间 D 做天级别离散化处理,取值为 0 天到 T 天,输出为:

小米电商推荐算法CVR模型实践


小米电商推荐算法CVR模型实践

融合 delay 模块后的 CTCVR 模型,将样本分为三部分,通过最大似然建模:

小米电商推荐算法CVR模型实践

代入 ESDF 模型的公式,并取负对数作为损失函数,有:

小米电商推荐算法CVR模型实践

(4)IPS 加权

我们之前线上跑的主模型采用的是 PLE+ESMM 框架。ESMM[4] 虽然解决了数据稀疏问题,也在一定程度上缓解了样本选择偏差问题,但它仍然不能确保 CVR 预估的无偏性。参考文献[1]通过理论推导和实验表明 ESMM 在全空间上的 CVR 预估值偏高,称之为 Inherent Estimation Bias (IEB),同时 ESMM 忽略了从点击到转化的因果关系,称之为 Potential Independence Priority (PIP)。这两个问题的根源都是因为 CVR 的有点击样本不是随机生成的,即特征 X 的分布和全空间分布不一致,而是跟 CTR 有关,三者的因果关系如下图所示:

小米电商推荐算法CVR模型实践

衡量 CTR 对于 CVR 的因果时,必须切断 CTR->X 的后门路径,来保证 CTR 信息和 CVR 样本生成是相互独立的。

为客观衡量 CTR 对于 CVR 的因果效应,对 CVR 进行 IPS 加权,来保证每个点击的倾向性是相同的,满足 treatment 的分配 W 和 potential outcomes 相互独立。简单来说即:低点击倾向的商品被购买了,那么损失权重应该更高,反之亦然。据此来消除 CTR 信息对 CVR 样本的偏差,避免 selection bias。

小米电商推荐算法CVR模型实践


(5)Teacher损失函数

因此 teacher 模型最终 Loss:

小米电商推荐算法CVR模型实践

和传统的 ESMM 相比,CTR Loss 一致,而 CTCVR Loss 混合了 ESDF。多了一项 IPS Loss,且和 ESCM^2 相比,IPS Loss 中也混合了延迟反馈模型ESDF。

2. 蒸馏权重调节

我们在 Teacher 网络中引入了用户详情页行为等后验特征,它们在预估 CVR 时属于穿越特征,线上无法直接使用。我们希望通过蒸馏的方式把 Teacher-CVR 学到的跨任务知识传递给 Student-CVR,从而解决建模目标不一致的问题。但现实中购买样本过于稀疏,存在较大偶然性,预测值置信度不高。

(1)不确定度权重

通过实验我们发现,如果单纯使用 soft-label 损失,无论怎样调节温度参数,蒸馏效果都不明显。受参考文献[5]启发,引入 CVR 不确定度权重,减轻 soft-label 中固有的噪声。

不确定度评估中传统的方法有 MC-dropout、beta 分布等,为了加快训练过程,设计孪生 CVR 网络叠加dropout来达到类似 MC-dropout 的效果,其主要由两个共享网络参数的孪生 CVR 模型构成,两个模型差异来自于 dropout 部分,因 dropout 不同,两个模型的预测值自然不一样,而两次预测值越接近,不仅意味着模型拟合能力强,同样也意味着 soft-label 置信度高,样本噪声少,反之同理。为了充分捕捉差异性,使用KL散度来衡量两个 CVR 预测值的不确定度,KL 散度越大,说明 soft-label 越不确定,因此在学习 teacher 传递的 soft-label 过程中,对不置信的 teacher 预估值进行降权操作,尽可能降低其干扰。

小米电商推荐算法CVR模型实践


(2)同频损失权重

为了更近一步减少 soft-label 的噪声影响,可以对比 soft-label 和 hard-label 的差异,预估值和真实值差异越大,越应该降权,我们称之为 Common Frequency Loss(同频损失)权重。

(3)蒸馏损失函数

综合不确定度权重和同频损失权重,最终的 CVR 蒸馏损失函数为:

小米电商推荐算法CVR模型实践

3. Student网络结构

student 网络和 teacher 网络结构大体一致,主要说一下不相同的部分。

(1)CVR 模块

在 CVR 模块中去除线上无法获取的详情页特征,并在孪生网络基础上,通过 dropout 得到两个不同的 CVR 输出值,用以计算不确定度权重。

(2)CTR 模块

在 CTR 网络中引入购买样本加权,用来提升购买样本的 CTR 尽量大于点击样本的 CTR。线下实验发现,购买样本加权 3 倍能取得一个比较好的效果,其中 CTR-AUC 损失约千分之1,但 CTCVR-AUC 能够提高 2.5%。

(3)Student损失函数

最终 student 网络的 Loss 为:

小米电商推荐算法CVR模型实践

--

03

总结

目前 CTR、CVR 等预估技术在电商推荐中越来越重要,经过近一年的技术探索和优化,我们提炼出了多种提升算法效果的有效模型,并能够根据业务需要灵活组合,不断提升业务指标。本文介绍的 ESDC 模型就是其中一个典型案例,未来我们会继续探索更多前沿算法,结合业务优化,落地到更多场景,并不定期输出技术分享和业界专家一起讨论学习,请关注我们团队的公众号:“AI 推公式”。

--

04

参考文献

[1] ESCM^2 : Entire Space Counterfactual Multi-Task Model for Post-Click Conversion Rate Estimation

[2] Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations

[3] Delayed Feedback Modeling for the Entire Space Conversion Rate Prediction

[4] Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate

[5] UKD: Debiasing Conversion Rate Estimation via Uncertainty-regularized Knowledge Distillation

今天的分享就到这里,谢谢大家。


|DataFun新媒体矩阵|

小米电商推荐算法CVR模型实践


|关于DataFun|

专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100+线下和100+线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章800+,百万+阅读,15万+精准粉丝。

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/192469.html