论文地址是https://arxiv.org/pdf/1804.07931.pdf。这篇论文主要是针对传统CVR模型遇到的问题提出新的改进。CVR任务中最大的困难就在于数据了,一般来说点击样本集是浏览样本集的一个很小的部分,而转换样本集又是点击样本集中的一个很小的部分,因此CVR任务中一个重要的挑战就是数据稀疏(data sparsity)问题。同时,CVR任务训练时的数据集是点击样本集,但是在预测时却是对所有的浏览样本集中的用户进行预测,这就带来了样本选择偏差(sample selection bias)问题。传统解决SSB问题的方法有下面这些:
- 对稀疏的正样本进行过采样,这样有助于减轻数据稀疏性,但是对采样率很敏感
- 采用随机抽样策略来选未点击的浏览样本作为负样本,这样通过引入新的数据来稍微消除SSB,但是会导致a consistently underestimated prediction(我还不太清楚这个怎么理解)
- 通过拒绝采样拟合真实分布来解决CTR建模中的SSB问题,但是可能会导致数值不稳定
论文中表示之前的方法都没有探索用户顺序行为信息,也就是这个过程中的顺序依赖,对此作者提出Entire Space Multi-task Model。传统方法是建模直接预测
,但是ESMM训练了两个模型,一个模型预测
(也就是
),另一个模型预测
(也就是
),并将两个预测结果相乘预测
(也就是
),即
ESMM有两个任务,一个是预测
,一个是预测
,而真正需要的
只是模型的中间变量。所以模型的优化目标是
其中,第一项是为了预测
,而第二项是为了预测
,而最终需要预测的
,只是模型的中间值。ESMM的模型结构如下:

- 传统CVR模型训练集是点击样本集,而ESMM模型训练集是浏览样本集。这样模型就不用再担心SSB问题了
- ESMM模型中两个任务的embedding层是共享参数的,更大规模的浏览数据可以被用来训练embedding向量了,而传统CVR模型只能用点击数据来训练embedding向量,这样DS问题也得以解决。
- ESMM并不是直接预测
和
,然后再将两者相除得到
,而是将
作为模型中间变量直接输出,这样就可避免除法操作可能带来的数值不稳定问题。
网友评论