
阿里ESMM模型解析:解决样本偏差与数据稀疏的全空间建模!
阿里的Ma等人于2018年在论文《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》中提出了ESMM模型,用于建模电商推荐系统中点击后转化率的预估问题,同时有效缓解了样本选择偏差和数据稀疏问题。
本文将从ESMM模型提出的背景、问题建模、模型原理及损失函数涉及方面进行详细的阐述。
1.ESMM模型背景
(1)在电商推荐系统中,用户的行为一般遵循“曝光-点击-转化”的顺序,ESSM主要用于建模点击之后的转化率(CVR)预估。
(2)传统的CVR建模方法在实际应用中存在两个关键问题:样本选择偏差和数据稀疏问题。
(a)样本选择偏差是指模型训练和推理时的样本空间存在数据分布上的差异性,即传统CVR模型只在点击样本上训练,但是在所有曝光样本上进行推理,会损害训练模型的泛化性能,如下图所示。
(b)数据稀疏问题是指在实际应用中,用于训练CVR模型的数据通常远少于CTR任务。训练数据的稀疏性使得CVR模型的拟合相当困难。
(3)ESSM模型的提出便是为了同时解决样本选择偏差和数据稀疏问题。
2.问题建模
3.ESSM模型原理
(1)ESMM的核心思想在于通过引入CTR和CTCVR两个辅助任务,解决了CVR建模中的样本选择偏差和数据稀疏问题。
(2)ESMM主要由两个子网络组成:左边的CVR网络和右边的CTR网络,两个子网络具有相同的结构。
(3)ESMM中两个子网络的嵌入参数是共享的,即采用相同的输入。ESMM以两个子网络输出的乘积作为最终的输出。
(4)全空间建模
(a)基于公式(1),可将CVR网络的输出表示为:
由于pCTCVR和pCTR是在所有曝光样本上进行建模的,则PCVR可通过预估pCTCVR和pCTR,在整个输入空间上直接推导得到,直接解决了样本选择偏差问题。
(b)虽然根据公式(2),可以分别训练模型预估pCTCVR和pCTR,然后再将两者相除得到pCVR。但是,实际中pCTR是一个很小的值,将其作为分母会导致数值不稳定。ESMM通过乘法形式避免了这一问题。
(c)在ESMM中,pCVR只是一个中间变量,其受公式(1)约束。pCTR和pCTCVR才是ESMM基于全空间样本的主要预估对象。
(d)乘法形式使三个相关联和共同训练的估计量能够利用数据之间的序列模式,并在训练过程中进行信息的交流。
(e)此外,ESMM中的乘法形式能够确保输出的pCVR的值在[0,1]之内,而若直接使pCTCVR和pCTR相除可能使pCVR的值超过1。
(6)特征表征迁移:在ESMM中,CVR网络的嵌入参数和CTR网络的嵌入参数是共享的。其遵循特征表示迁移学习范式,因为CTR任务的基于所有曝光的训练样本相对于CVR任务要丰富得多,所以这种参数共享机制使得ESMM中的CVR网络可以从未点击的曝光样本中学习,从而为缓解数据稀疏问题提供很大的帮助。
4.ESMM的损失函数
损失函数由来自于CTR和CTCVR任务的两个损失项组成。这两个损失项是在所有曝光样本上计算的,不使用CVR任务的损失。具体可表示为:
- 和分别是CTR网络和CVR网络的参数。
- 表示交叉熵损失函数。
- 和分别是点击和转化的标签。
- 是模型的预测函数。
- 在损失函数中,其将分解为两部分:和,这实际上利用了点击和转化标签间的顺序依赖性。
本文转载自南夏的算法驿站,作者:赵南夏
