十一、ESMM
在 “曝光 -> 点击 -> 转化” 链路上,
CTR
预估任务预估每个曝光被用户点击的概率,CVR
预估任务预估每个点击被转化的概率。和
CTR
相比,CVR
更关注预测用户有没有商品购买、游戏注册、表单登记等转化行为。常规的
CVR
预估模型采用和CTR
预估模型类似的深度学习方法,但是在具体应用中面临几个特殊的问题:样本选择偏差
sample selection bias:SSB
问题:传统的CVR
模型是在点击样本上训练的,但是推断是在曝光样本上进行的。这导致训练样本和推断样本不一致,降低了模型的泛化能力。数据稀疏
data sparsity:DS
问题:点击数据通常要比曝光数据少得多,因此CVR
任务的样本数通常远小于CTR
任务的样本数。这导致CVR
模型很容易陷入过拟合。
有一些方法试图解决这些问题:
基于不同特征构建层次化分类器
hierarchical estimators
,然后用逻辑回归模型融合这些分类器来预测。该方法可以解决数据稀疏问题,但是依赖于先验知识来构建层次化的分类器。
过采样
Oversampling
拷贝正样本从而有助于缓解数据的稀疏性,但是这种方式对采样率非常敏感。All Missing As Negative:AMAN
方法随机抽取一定比例的未点击的曝光样本作为负样本。该方法可以一定程度上消除
SSB
问题,但是会导致pCVR
被低估。因为在未点击的曝光样本中,假如所有曝光都被用户点击,则可能存在一定比例的转化行为(正样本)。而AMAN
方法假设所有未点击的曝光都是负样本。无偏方法采用拒绝抽样
rejection sampling
来使得观测样本(即:点击分布)拟合真实的数据分布(即:曝光分布),从而解决了SSB
问题。这种方式在除以拒绝概率
rejection probability
时可能会遇到数值稳定性问题。
论文
Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
提出了Entire Space Multi-task Model:ESMM
模型,该模型充分利用了用户的操作顺序(“曝光 -> 点击 -> 转化”),通过新的视角来建模CVR
。同时:
ESMM
模型通过在整个曝光空间对CVR
建模,这解决了样本选择偏差问题。ESMM
模型采用特征表达的迁移学习策略,这解决了数据稀疏问题。
11.1 模型
在转化链路中用户遵循 “曝光 -> 点击 -> 转化” 的顺序。
ESMM
模型借鉴了多任务学习的思想,基于该顺序引入两个辅助任务:CTR
预测任务、CTCVR
预测任务。模型由两个子网络构成:左侧的
CVR
网络和右侧的CTR
网络,二者均采用BASE
模型(即下图左侧的基准DNN
模型)相同的结构。论文指出:这两个子网络可以用最先进的其它模型替代,从而获取更好的整体性能。
模型同时输出
pCTR,pCVR,pCTCVR
三路输出,其中:pCVR
输出由左侧的CVR
网络输出pCTR
输出由右侧的CTR
网络输出pCTCVR
输出将CVR
和CTR
网络输出的乘积作为输出
ESMM
模型不会直接使用点击样本来预测CVR
,而是将CVR
作为一个中间变量:其中
PCTR
和pCTCVR
都是在整个曝光样本空间进行估计的,因此派生的pCVR
也适用于整个曝光样本空间。这就消除了样本选择偏差问题。另外,
CVR
网络的embedding
参数和CTR
网络的embeddin
参数共享,而后者具有更多的训练样本。因此这种参数的迁移学习可以有效缓解数据稀疏问题。
假设观察到的所有样本集合为:
其中 为特征, 点击
label
, 为转化label
。CVR
建模是预估CTR
建模是预估CTCVR
建模是预估
它们之间满足:
即: 。
大多数传统
CVR
模型是上图左侧所示的DNN
模型,这种结构作为我们实验对比的基准模型。传统
CVR
模型直接估计 ,模型训练样本仅包含点击样本:其中
M
为所有点击样本数量, 。这会带来以下问题:
SSB
:设 的特征空间为 ,则CVR
模型近似转化为:因此训练期间都是在 上训练。
而推断期间给定一个特征 ,我们需要计算:假设该曝光被点击的条件下其转化率。即计算 。
这里存在两个问题:
- 仅仅是 的一个很小的部分,它很容易受到一些随机的噪声点击的影响。因此其分布很不稳定。
- 空间 的分布和 差异较大,这使得训练样本的分布偏离了预测样本的分布(即:真实样本分布),降低了
CVR
模型的泛化能力。
DS
:由于点击事件发生次数比曝光事件发生次数少得多,因此CVR
训练样本极其稀疏。论文的实验数据统计表明:
CVR
任务样本数仅仅是CTR
任务样本数的4%
。反馈延迟
delayed feedback
:即单次曝光的点击和转化之间可能间隔很长时间。如:给用户推荐一款商品,用户点击之后可能过了两周才购买。
与基准
DNN
模型不同,ESMM
在整个曝光空间建模。根据:其中 和 在所有曝光的数据空间 上建模,因此可以有效解决样本选择偏移问题。
在
ESMM
中,CVR
网络的embedding
和CTR
网络的embedding
字典共享,这是典型的特征表达迁移学习。由于
CTR
任务的训练样本要比CVR
任务多得多,这种参数共享机制使得CVR
网络能够从未点击的曝光样本中学习,有效缓解了数据稀疏性问题。ESMM
模型的损失函数综合考虑了CTR
和CTCVR
两个辅助任务:其中 为
CTR
和CVR
网络参数, 为交叉熵损失函数。表面上看,我们可以分别独立的建立两个模型分别估计
pCTR
和pCTCVR
,然后根据:来计算
pCVR
。但这种做法存在两个问题:- 由于
pCTR
通常是一个非常小的数(如 ),除以一个很小的数很容易导致数值不稳定。 - 除法的结果无法确保是在
0~1
之间。
在
ESMM
模型中,pCVR
是一个中间变量,通过乘法的形式使得这三个概率可以同时被训练。另外模型结构也保证了
pCVR
一定是在0~1
之间。- 由于
11.2 实验
数据集:
CVR
任务目前没有公开的数据集。为了评估模型,论文从淘宝的推荐系统中收集了曝光日志,并发布了整个数据集的1%
随机抽样数据(高达38GB
)作为公共数据集Public Dataset
。整个数据集称作产品数据集Product Dataset
。下表给出了这两个数据集的统计信息。
参与比较的模型包括:
- 基准模型:即前面介绍的简单
DNN
模型,不采取任何额外的策略。 AMAN
:执行负采样策略的基准模型,负采样比例从10%,20%,50%,100%
中搜索。OVERSAMPLING
:执行正样本过采样策略的基准模型,正样本拷贝比例从2,3,5,10
中搜索。UNBIAS
:执行rejection
采样策略的基准模型,通过拒绝采样使得训练分布(即点击数据集的数据分布)和真实分布(即曝光数据集的数据分布)保持一致。DIVISION
:通过基准模型分别训练pCTR
和pCTCVR
,然后计算pCVR = pCTCVR/pCTR
。ESMM-NS
:ESMM
模型的一个变种,该模型没有共享embedding
参数。
前面四个模型是分别直接独立建模
CVR
、CTR
,然后根据CTCVR = CTR x CVR
来计算CTCVR
;DIVISION, ESMM-NS,ESMM
在整个曝光样本空间间接建模CVR
。为了公平起见,包括
ESMM
在内的所有模型都采取和BASE
基准模型相同的网络结构和超参数,包括:- 采用
ReLU
激活函数 embedding
向量维度为18
- 嵌入层后续的全连接层有4层,每层的隐向量维度分别为
360,200,80,2
- 采用
adam
优化器,优化器的参数为:
- 基准模型:即前面介绍的简单
模型性能评估在两个任务上进行:对点击数据集评估
pCVR
任务、对曝光数据集评估pCTCVR
任务。评估指标为AUC
。- 每个模型分别评估
pCVR
任务 - 每个模型通过计算
pCTR x pCVR
来评估pCTCVR
任务
这两个任务的数据集都根据时间顺序拆分:前
1/2
数据作为训练数据,后1/2
数据作为测试数据。所有实验重复 10次,取10次的平均结果。
- 每个模型分别评估
在公共数据集上不同模型的表现如下图所示。
在基准模型的三个变种之间,只有
AMAN
在CVR
任务的表现稍差,这可能是由于随机采样的敏感性导致。OVERSAMPLING
和UNBIAS
在CVR
和CTCVR
这两个任务上相对基准模型均有所改进。DIVISION
和ESMM-NS
对整个曝光空间进行估计,因此它们相对基准模型取得显著提升。由于
ESMM-NS
避免了数值不稳定性,因此其性能强于DIVISION
。ESMM
利用迁移学习从未点击数据中学习,因此进一步强于ESMM-NS
。
在产品数据集上评估
ESMM
模型,该数据集比公开数据集大两个量级。我们通过对产品数据集执行不同采样率来生成不同规模的训练数据集,然后评估训练集规模对于模型性能的影响。结论:
- 随着训练样本的增加,所有方法都得到改善。这说明了数据稀疏性的影响。
- 除了
AMAN 1%
这组搭配以外,所有其它模型在所有训练集规模上都超越了基准模型。 ESMM-NS
和ESMM
在所有数据集规模上超越了所有其它模型。ESMM
模型在CVR
任务和CTCVR
任务上的所有数据集规模都超越了其它模型一大截。