推荐广告算法模型之多目标模型

2022-06-03 04:25:11 浏览数 (1)

MMoE 的结构优化为每个任务都单独使用一个门控网络。这样的改进可以针对不同任务得到不同的 Experts 权重,从而实现对 Experts 的选择性利用,不同任务对应的门控网络可以学习到不同的 Experts 组合模式,因此模型更容易捕捉到子任务间的相关性和差异性。

1 多目标学习背景

在推荐广告场景中,用户的不同行为代表用户对内容的不同需求和兴趣。点击:用户想看这个内容,点赞:喜欢这个内容,投币:用户爱这个视频,收藏:用户认为这个视频自己还能用到,会反复观看这个视频。因此在对用户进行推荐的时候,我们要综合考虑用户的各种行为,我们需要对用户的各种行为都进行预测,如果单独的对各种行为进行预测,然后再去融合的话,容易过拟合和样本选择偏差,因此将多个任务放在一个模型中,就成为了对用户各种行为去建模的主流做法,好处就是:一定程度上会缓解模型的过拟合,提高了模型的泛化能力;充分利用数据。

2 多目标学习方法

2.1 修改样本权重

对深层目标设置更高的样本权重来用户对内容的喜好度,比如我们的主目标是ctr,当用户*物品是点击时,我们将权重设置为1,当用户*物品是点赞时,我们将权重设置为2,当用户*物品是投币时,我们将权重设置为2.5,,当用户*物品是收藏时,我们将权重设置为3,优点:实现简单,缺点:没有真正对各个目标进行预测,权重大小很难设计。

2.2 多模型分数融合

给每个优化目标单独创建一个模型,然后通过weighted sum融合多个目标,给不同的目标分配不同的权重。优点:模型实现简单,缺点:模型之前独立,不能互相利用各自训练的部分作为先验,容易过拟合。

2.3 多任务学习

2.3.1 hard parameter sharing

实现方式:底层参数统一共享(Shared-Bottom),顶层参数各个模型各自独立。

特点:任务相关性越高,模型的loss可以降到更低。当两个任务相关性没有那么好时(例如,推荐系统排序中的点击率和互动率、点击率和停留时长等),Hard parameter sharing 的模式就不是那么适用了,会损害到一些效果。

2.3.2 MMOE模型

针对share bottom模型结构的缺点,谷歌在2018提出了Multi-gated Mixture of Expert (MMoE)模型[2],该模型引入了多个专家子网络和门控结构,通过门控用不同的专家组合分别去学习不同的目标,使得各个目标能被更好地学习。

特点:MMoE 的结构优化为每个任务都单独使用一个门控网络。这样的改进可以针对不同任务得到不同的 Experts 权重,从而实现对 Experts 的选择性利用,不同任务对应的门控网络可以学习到不同的 Experts 组合模式,因此模型更容易捕捉到子任务间的相关性和差异性。

2.3.3 ESMM模型

由于解决任务序列有依赖关系的多任务建模,文章指出CVR预估模型,预估的正是这个转化概率,它与CTR没有绝对的关系,很多人有一个先入为主的认知,即若user对某item的点击概率很低,则user对这个item的转化概率也肯定低,这是不成立的。更准确的说,CVR预估模型的本质,不是预测“item被点击,然后被转化”的概率(CTCVR),而是“假设item被点击,那么它被转化”的概率(CVR)。这就是不能直接使用全部样本训练CVR模型的原因,因为咱们压根不知道这个信息:那些unclicked的item,假设他们被user点击了,它们是否会被转化。如果直接使用0作为它们的label,会很大程度上误导CVR模型的学习。

认识到点击(CTR)、转化(CVR)、点击然后转化(CTCVR)是三个不同的任务后,我们再来看三者的关联:

再思考下,ESMM的结构是基于“乘”的关系设计——pCTCVR=pCVR*pCTR,是不是也可以通过“除”的关系得到pCVR,即 pCVR = pCTCVR / pCTR ?例如分别训练一个CTCVR和CTR模型,然后相除得到pCVR,其实也是可以的,但这有个明显的缺点:真实场景预测出来的pCTR、pCTCVR值都比较小,“除”的方式容易造成数值上的不稳定。

损失函数设计为:

特点:解决了样本选择的问题,CVR是在点击的基础上进行训练,训练集只有点击的,实际数据可能有曝光点击和曝光未点击的数据,我们往往把曝光未点击的数据给忽略了,这样就造成了样本选择偏差,训练集和实际数据分布不一致的情况。解决了数据稀疏的问题。因为我们现在在全样本空间上进行训练,不是只在点击的样本上进行训练,所以样本就多了很多,所有样本可以进行辅助更新CVR网络中的Embedding,这样Embedding向量就会训练的更加充分。ESMM还提出子网络MLP可以替换,为我们提供了一种可扩展的多任务模型架构。

2.3.4 PLE

在MMOE的基础上,分离了任务共享专家部分和任务独享专家部分,并提出了CGC(如下图所示)。顶部是一些和任务相关的多层塔网络,底部是一些专家模块,每个专家模块由多个专家网络组成。专家模块分为两类,一类是任务共享的专家模块,负责学习任务的共享模式,一类是任务独享的专家模块,负责学习任务的独享模式。每个塔网络从所有专家模块(共享专家模块和独享专家模块)学习知识。

特点:多任务学习中往往存在跷跷板现象,也就是说,多任务学习相对于多个单任务学习的模型,往往能够提升一部分任务的效果,同时牺牲另外部分任务的效果。即使通过MMoE这种方式减轻负迁移现象,跷跷板现象仍然是广泛存在的。

参考文献

  • 绝密伏击:多目标学习在推荐系统的应用(MMOE/ESMM/PLE)
  • 多目标学习在推荐系统中的应用
  • 2021年浅谈多任务学习
  • 推荐算法中的“多目标学习”
  • Recommender:推荐系统中的多任务学习与多目标排序工程实践(上)
  • 多目标模型工程实践优化细节有哪些
  • 多目标排序在腾讯QQ看点推荐的应用实践
  • 推荐系统中的多任务学习
  • 推荐系统之多目标优化小结
  • CTR/推荐系统中多任务/多目标学习应用概述文章汇总

0 人点赞