Xmind 笔记
ESMM
概述
Entire Space Multi-Task Model:
An Effective Approach for Estimating Post-Click Conversion Rate
背景
-
传统的CVR方法存在两个方面的缺陷
-
SSB
-
样本选择偏差(sample selection bias)
-
-
传统的「CVR」模型训练的时候用的是被点击的曝光数据(clicked impressions)
- 传统cvr模型训练样本(点击->转化)
-
预测的时候却是针对曝光的数据
- 线上预测时时 (曝光->转化)
-
-
训练使用的数据只是预测数据的一部分,只是样本空间的一个很小的子集
- 构建的训练样本集相当于是从一个与真实分布不一致的分布中采样得到的,违背了独立同分布的假设
- 这种训练样本从整体样本空间的一个较小子集中提取,而训练得到的模型却需要对整个样本空间中的样本做推断预测的现象称之为「样本选择偏差」
-
有损模型的泛化性能
-
-
-
DS
-
数据稀疏(data sparsity)
-
相对于CTR用的数据,CVR更少
- 展现给用户的商品数量要远远大于被用户点击的商品数量
- 有点击行为的用户也仅仅只占所有用户的一小部分
-
-
-
其他
-
延迟反馈(Delayed Feedback)
-
点击后的conversion很可能延时发生
- 看过一个商品,但并没有马上去买,过了几天才去购买
-
-
-
贡献
- 利用「用户行为序列」数据在「完整样本空间」建模
- 首次提出了利用学习「CTR」和「CTCVR」的辅助任务迂回学习「CVR」的思路
算法原理
思路
-
假设观察到的数据形式是
-
-
x
- 代表商品曝光时的特征向量,通常用multi-field高维特征表示
-
y
- 代表点击的label
-
z
- 代表购买的label
-
-
-
CVR的概率可以表示成
-
CTR的概率可以表示成
-
CTCVR的概率可以表示成
-
- 因为CTR数字很小,用乘法代替除法
-
-
CVR可以转换成
-
- 引入两个辅助任务「CTR」和「CTCVR」
- 不是直接基于点击样本子集进行 CVR 模型训练
-
全空间建模
- pCTCVR 和 pCTR 是在全空间中以所有展现样本估计的,因此衍生的 pCVR 也适用于全空间
迁移学习
- CVR 的特征表示网络与 CTR 共享,后者用更丰富的样本进行训练。这种参数共享遵循特征表示迁移学习范式
训练
构造训练数据集
-
CTR 任务
-
y = 1
- 单击的展现被标记为1
-
y = 0
-
-
CTCVR 任务
-
y & z = 1
- 同时发生点击和转化事件的展现被标记为1
-
y & z = 0
-
-
y 和 y & z ,这实际上是利用点击和转化标签的序列依赖性
- impression->click->conversion
模型结构
图例
-
-
Embedding parameters of CTR and CVR network are shared.
- 通过 Embedding Layer 共享
把曝光没点击的样本共享给 CVR 模型
- 通过 Embedding Layer 共享
-
CTCVR takes the product of outputs from CTR and CVR network as the output.
-
「base model 」Embedding&MLP
-
Embedding Layer
- 都使用了user跟item的高纬度feature
- 利用embedding把高维特征映射到低维特征
- 共享 embedding table
-
Field-wise Pooling Layer
- 多种特征需要多个embedding table
- user和item域做element-wise +操作得到两个长度为n的embedding
- concat得到2n的embedding
-
MultiLayer Perception
- 经过多层感知机
- 通过sigmoid或者soft-max得到CVR、CTR的概率
损失函数
思路
- 由CTR和CTCVR任务的两个损失项组成
- 这些损失项是根据所有展示的样本计算得出的
- 没有使用CVR任务的损失