首页 > 其他分享 >CVR预估模型ESMM

CVR预估模型ESMM

时间:2023-06-14 19:33:40浏览次数:49  
标签:ESMM 样本 CTR dnn CVR 建模 点击 预估


1. 概述

一般在对CVR建模的过程中,正样本选择的是在点击后有转化的样本作为正样本,负样本则是在点击后没有转化的样本作为负样本。然而,这样的建模方式存在一定的问题:

  • Sample Selection Bias(SSB)问题,即样本选择有偏。在training和inference阶段面对的样本空间不一致,在training阶段,选择的样本都是点击后的样本,而在inference阶段,面对的是所有的可能曝光的样本;
  • Data Sparsity (DS)问题,即样本稀疏。点击的样本只是占了曝光样本的很小的一部分,如下图所示:

CVR预估模型ESMM_损失函数

为了解决以上的这些问题,阿里在2018年提出了ESMM(Entire space multi-task model)[1]模型,从名称来看,CVR的建模也是在全空间上的,同时这是一个基于多任务建模的模型。

2. 算法原理

2.1. CVR建模

一条样本的整个过程包括了“曝光->点击->转化”,这是一个顺序的过程。假设CVR预估模型ESMM_建模_02表示的是一条曝光样本,CVR预估模型ESMM_建模_03表示的是该曝光样本是否被点击,CVR预估模型ESMM_人工智能_04表示的是该样本在曝光点击后是否有转化,对CVR建模是预估转化率:CVR预估模型ESMM_样本空间_05,与之相关的两个概率是点击率(CTR):CVR预估模型ESMM_建模_06和点击转化率(CTCVR):CVR预估模型ESMM_样本空间_07,这三者之间的关系为:

CVR预估模型ESMM_损失函数_08

因此,在单独对CVR建模的过程中,需要选择的样本空间是在所有点击样本中,即上述过程的“点击->转化”阶段,如果存在转化,则在CVR中为正样本CVR预估模型ESMM_损失函数_09,否则为负样本CVR预估模型ESMM_损失函数_10。反观CTR建模的过程,选择的样本空间在上述过程的“曝光->点击”阶段。
而在inference阶段,所需面对的样本是所有可能曝光的样本。基于以上的公式,对于CTCVR的建模,选择的样本空间则是上述过程的融合,即“曝光->转化”。对上述公式进行简单的变换,得到如下的公式:

CVR预估模型ESMM_人工智能_11

这样就能直接利用“曝光”样本空间中的样本直接对CVR建模,不过在对CVR建模的过程中需要同时对CTR以及CTCVR建模。

2.2. ESMM模型结构

基于以上的分析,在ESMM模型的建模过程中引入两个辅助任务,即:CTR建模和CTCVR建模,ESMM的网络结构如下图所示:

CVR预估模型ESMM_人工智能_12

在ESMM模型结构中,有两个特点:

第一,在ESMM结构中包含了两个塔,如上图所示,左侧是一个CVR任务的塔,右侧是一个CTR任务的塔,两个塔可以构建两个任务,分别为pCTR和pCTCVR,这样样本分别是从“曝光->点击”和“曝光->转化”,解决了样本空间的问题,通过模型中参数的学习,可以把CVR塔中的参数学习到,这样对于CVR塔的样本空间即为“曝光->转化”。

第二,在两个塔的底层Embedding层是参数共享的,这样能充分利用CTR任务重的样本,缓解传统的CVR建模过程中面临的数据稀疏问题。

2.3. 损失函数

因为在ESMM中存在两个学习任务,分别为CTR和CTCVR,则最终的损失函数为:

CVR预估模型ESMM_损失函数_13

其中,CVR预估模型ESMM_样本空间_14表示的是CVR塔中的参数,CVR预估模型ESMM_人工智能_15表示的是CTR塔中的参数,CVR预估模型ESMM_损失函数_16表示的是样本CVR预估模型ESMM_算法_17在CTR任务上的label,CVR预估模型ESMM_样本空间_18表示的是样本CVR预估模型ESMM_算法_17在CVR任务上的label,CVR预估模型ESMM_建模_20表示的样本CVR预估模型ESMM_算法_17在CTR塔中的结果,CVR预估模型ESMM_人工智能_22表示的是样本CVR预估模型ESMM_算法_17在CVR塔中的结果。

2.4. 代码结构

在参考[2]中有具体的ESMM的实现,以该代码为例,ESMM结构的代码如下:

dnn_input = combined_dnn_input(sparse_embedding_list, dense_value_list) # 特征处理

# DNN函数针对的上述的MLP网络结构
ctr_output = DNN(tower_dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout, dnn_use_bn, seed=seed)(
        dnn_input)
cvr_output = DNN(tower_dnn_hidden_units, dnn_activation, l2_reg_dnn, dnn_dropout, dnn_use_bn, seed=seed)(
        dnn_input)

# 由MLP最后一层到最后的输出
ctr_logit = Dense(1, use_bias=False)(ctr_output)
cvr_logit = Dense(1, use_bias=False)(cvr_output)

# 计算最终的sigmoid结果
ctr_pred = PredictionLayer('binary', name=task_names[0])(ctr_logit)
cvr_pred = PredictionLayer('binary')(cvr_logit)

# 计算ctcvr的值
ctcvr_pred = Multiply(name=task_names[1])([ctr_pred, cvr_pred])  # CTCVR = CTR * CVR

model = Model(inputs=inputs_list, outputs=[ctr_pred, ctcvr_pred])

3. 总结

在ESMM网络中,通过引入两个辅助任务CTR和CTCVR,由于这两个任务的输入空间都变成了“曝光”,从而解决了传统CVR建模中在training和inference两个过程中输入空间不一致的问题,另一个方面,因为“曝光->点击”阶段的样本量要比“点击->转化”阶段的样本量要大,鉴于Embedding层参数的共享,因此,能够充分学习到Embedding层的参数。

参考文献

[1] Ma X, Zhao L, Huang G, et al. Entire space multi-task model: An effective approach for estimating post-click conversion rate[C]//The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018: 1137-1140.

[2] DeepCTR


标签:ESMM,样本,CTR,dnn,CVR,建模,点击,预估
From: https://blog.51cto.com/u_16161414/6480218

相关文章

  • EasyCVR删除没有“国标设备编号”的黑名单,提示内容undefined该如何解决?
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、智能分析以及平台级联等。有用户反馈,在EasyCVR平台中,当删除没有“国标设备编号”的黑名单,弹出的提示有异......
  • EasyCVR删除没有“国标设备编号”的黑名单,提示内容undefined该如何解决?
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、智能分析以及平台级联等。有用户反馈,在EasyCVR平台中,当删除没有“国标设备编号”的黑名单,弹出的提示有......
  • 视频汇聚融合平台EasyCVR使用国标级联出现云台控制异常的解决方法
    EasyCVR视频融合平台基于云边端协同一体化架构,具备强大的数据接入、处理及分发能力,平台可提供视频直播、录像、回放、检索、云存储、平台级联、告警、集群、H.265自动转码等功能。有用户反馈,使用EasyCVR通过国标级联到另一个EasyCVR,上级平台使用云台控制出现返回失败的问题,如下......
  • 设备通过入HIKSDK接入EasyCVR平台,3个通道只上线了1个是什么原因?
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、智能分析以及平台级联等。平台可拓展性强、开放度高、部署轻快,支持海量视频汇聚管理,支持与第三方集成。有......
  • EasyCVR移动端火狐浏览器中云台显示问题的优化
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台能对前端接入设备进行统一集中管理,支持采用设备树对设备进行分组、分级管理,支持设备状态监测、云端运维等功能,实现对接入资源的集中控制与权限分配。有用户反馈,在移动端使用火狐浏览器,发现EasyCV......
  • 在EasyCVR新版本v3.3中,如何正确接入智能分析网关V2?
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。智能分析网关是我们的AI边缘计算硬件,其中,V1的基础算......
  • 3.1分类算法之sklean转换器和预估器
    1.转换器**想一下之前做的特征工程的步骤?1、实例化(实例化的是一个转换器类(Transformer))2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)**标准化:(x-mean)/stdfit_transform() fit()计算每一列的平均值 transform()(x-mean)/std进行最终的转换我......
  • 使用EasyCVR语音对讲时,设备端没有收到音频流是什么原因?
    EasyCVR视频融合平台可支持海量视频的轻量化接入与汇聚管理。在视频能力上,EasyCVR平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、智能分析以及平台级联等。有用户反馈,使用EasyCVR平台语音对讲时,只有视频端的音频,平台对讲的设备端没声音,请求......
  • 使用EasyCVR语音对讲时,设备端没有收到音频流是什么原因?
    EasyCVR视频融合平台可支持海量视频的轻量化接入与汇聚管理。在视频能力上,EasyCVR平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、智能分析以及平台级联等。有用户反馈,使用EasyCVR平台语音对讲时,只有视频端的音频,平台对讲的设备端没声音,请......
  • 执行EasyCVR程序报错提示lib不是ELF文件,该如何解决?
    EasyCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理。在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、H.265自动转码、电子地图、集群、智能分析以及平台......