文章目录
- 1、动机
- 2、模型结构
- Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
- ESMM: Entire Space Multi-Task Model
- 论文发表在SIGIR-2018,作者来自阿里妈妈盖坤团队。ESMM被提出用于解决pcvr建模中存在的两个非常重要的问题:样本选择偏差和数据稀疏问题。双塔多任务模型。
- 常说的cvr 即 cvr预估 即 预估广告被点击后的转化率(Post-Click Conversion Rate)即 pcvr。
1、动机
- 目前工业界商业公司流量变现的逻辑背景,一条流量为公司创造商业收入的路径为:请求 →广告曝光→ 广告点击 → 广告转化。
- 样本选择偏差(SSB,sample selection bias)问题。当时业界在训练pcvr模型时,采用的负样本为点击未转化,正样本为点击已转化。训练样本是在有d点击的样本上构建的。然而在实际线上推理时,是对整个样本空间进行推理的,这就导致了样本选择偏差问题。所以相比只用有点击的样本进行训练,ESMM通过将训练样本变成在有曝光的样本空间上进行训练,来缓解这个gap。
- 数据稀疏问题。因为用于pcvr训练的样本都是有点击的,样本量非常少,其中真正有转化的更少了。针对pcvr,在ml方面样本量少时搞个xgb也足够,后面dl流行后,通过mtl里的双塔模型ctr,cvr共享底座embedding,ctr用于增加数据,辅助cvr来训练一个更好的embedding。ESMM也是通过这种双塔结构来缓解数据稀疏问题。
2、模型结构
pcvr预估广告被点击后的转化率。若想训练样本不局限于有点击的样本空间,将训练样本空间扩大到整个有曝光的样本空间,如何做?
-
ESMM则是通过学习训练pctr和pctcvr两个任务来隐式建模学习pcvr任务。如下式(曝光->点击->转化),x样本,y是否点击,z是否转化。那么ptcvr表示如下:
-
从公式可以看出,前两项pctcvr,pctr是可以使用全部有曝光样本的,那就好办了,那就通过这两个任务来隐式学习pcvr!
ESMM网络结构特点:
-
双塔结构:ctr塔, cvr塔;共享底座embedding;ctr增加ctr样本来辅助训练cvr任务,帮助cvr训练一个更好的embedding(like transfer learning)。
-
cvr塔无自己的损失函数,即训练时无明确监督信号,真正训练的是pctcvr和pctr;通过pctr*pcvr可得到pctcvr。训练总损失如下【注:y&z就是转化label,有转化必有点击】:
-
至于为什么不用除法得出pcvr呢?即分别训练一个pctcvr和pctr,因为实际预测出的概率往往比较小,除法后会出有问题,即pcvr>1的情况,ESMM也对比了这种方法,发现还是连乘好。
参考链接: https://blog.csdn.net/u012328159/article/details/123309675