专业的编程技术博客社区

网站首页 > 博客文章 正文

多目标之ESMM(多目标管理)

baijin 2024-08-14 12:24:12 博客文章 118 ℃ 0 评论



前言

前两期我们介绍了Google提出的多目标优化模型,MMoE和SNR,有希望了解相关内容的,可以翻看之前的记录,今天我们介绍一款由阿里巴巴提出的Entire Space Multi-Task Model(如下文未作详细说明,均以ESMM简称)。这是一款针对电商场景的多目标模型,但是也可以衍生至其他个性化场景。

背景

在电商个性化中,传统的CTR模型只是去关注用户是否对所给出的商品进行点击,但是这样的单模型其实是远远不够的,我们更希望用户在进行点击后,能进而进行下一步操作,即希望用户此次点击尽可能是一个有效点击,也就是CVR。从上述的场景中,我们能看出这一连串的动作,其实是具有前后序列关系的,因此我们的模型也可以从这个角度去思考问题。

ESMM

以下是ESMM模型的架构图,可以看出,模型分为两个部分,分别用来预测CVR和CTR,然后在结果输出时,合并输入一个CTCVR的概率值(后面详细介绍),那么在两部分的底层都是使用的相同的特征(用户特征和item的特征),并且在分类特征中,两部分使用的是"share embedding lookup",这保证了两侧特征输入的一致性,而且笔者认为这也减少了模型参数个数,紧接着在上层进行了域级池化(这一步相当于之前笔者介绍的《使用TensorFlow做特征选择》,有需要的同学可以翻看之前记录),然后再对池化结果进行连接,最终进入到MLP层进行结果输出。

那么,我们该如何理解模型架构图中的pCTCVR呢?其实作者认为只有被点击了,之后的转化的概率才能是有效的。该如何理解这个意思呢?其实,我们可以把用户的转化行为单独看成一个概率问题,那么根据全概率公式,用户的转化率应为:

单独把两个行为看作是一个独立同分布的问题,这样就构成了上述的公式。然后由上式做变换,得:

从变换结果可以看出,通过对CTR和CTCVR的估计,CVR可以导出全部的输入空间,这也就可以直接解决样本选择偏差问题。

以下给出了ESMM模型的损失函数:

其中θ_ctr和θ_cvr是CTR侧和CVR侧的网络,l是交叉熵函数,而在损失函数后半部分做了有效性点击的计算。

实验

实验数据来源于阿里天池算法竞赛:


通过实验结果可以看出,ESMM在CVR和CTCVR的表现均好于其他模型。

并且在不同的样本采样率下,ESMM模型均超越其他对照模型:

总结

ESMM的提出是基于电商这个场景的,因此在原论文中想问题的方式都是电商思路,这就带来了ESMM模型的场景应用的局限性。虽然ESMM可以应用到其他的个性化领域,但是在多目标模型下,除了分类问题,其实还夹杂着回归问题,此时的ESMM就不能很好的进行拓展了,而反观Google的模型的可拓展能力就得到了有效的保证。

再者,笔者认为,虽然说ESMM模型通篇考虑了点击在通过之后,但是按照常规想法,在通过率高的情况下,点击率也会比较高,二者其实有着比较紧密的内在联系,但是在ESMM只体现了单向联系,而并没有体现相互的联系,这也是未来我们在设计多目标模型时可以尝试的方法或想法。


如果你喜欢我的文章,欢迎关注我的微信公众号【软客圈】(ID:recoquan)

纯手工打造,实属不易,欢迎大家分享和转发~

原创内容,转载需注明出处,否则视为侵权并将被追诉!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表