多任务学习,指将涉及多个相关的任务同时并行学习,并利用包含在相关任务中的特有领域信息来改善模型的泛化性。
相较于单任务学习,多任务学习存在以下 2 大优点。
方便高效:一个模型解决了多个任务场景,大大提升了研发效率。
数据增强:多个任务的多种样本数据汇集在一起,能达到数据增强的效果。比如针对数据稀少的新任务,可以解决冷启动问题;针对某些任务的参数,能够被其他任务行更好地进行辅助训练。
多任务学习的缺点是由于参数共享,当多个任务存在不相关部分时,任务就会相互扰乱,影响效果。所以,多任务学习要求同时进行学习的任务要保证具有相关性。
比如 58 同城 App 本地服务业务中,用户的浏览点击行为的重要性会弱于打电话行为,这就意味着推荐列表中 CVR 指标的重要性要高于 CTR 指标。
CVR 的目标是预测点击后的打电话概念,然而用户在推荐列表的行为是有先后关系的:曝光——>点击——>打电话。因此,我们需要在 CTR 模型基础上建立 CVR 模型 ,才可以预测列表页的点击率。
通常来说,打电话行为会比点击行为少很多,这就意味着在训练 CVR 模型时,会遇到样本稀疏的问题。而且点击行为和打电话行为存在先后顺序关系,因此 CVR 模型采用点击行为之后的数据作为训练样本时,还需要基于整个列表曝光上的数据进行训练。不然就会导致采样存在偏差,同时使得模型预测点击后的打电话概率的准确率大大降低。
那么,能否将 CTR、CVR 二者在一个模型中进行综合考虑呢?为了解决这个问题,全量空间多任务模型(ESMM)便诞生了。
全量空间多任务模型(ESMM)
全量空间多任务模型(Entire Space Multi-Task Model,ESMM)采用迁移学习方法,将全量用户行为序列上作为样本,解决了推荐算法 CVR 预估过程中的采样偏差和样本稀疏问题。
关于 ESMM 模型的框架图如下:
模型分为左右两部分,左半部分的拟合目标为 pCVR(用来预估 CVR 条件概率),右半部分的拟合目标为 pCTR(用来预估 CTR 条件概率)。
左右两部分的输出结果相乘后便得到了 pCTCVR(用来预估点击后的转化率),然后将它作为整个模型的输出。
CioPOWGfQOKAWqLMAAWaTOoCK0Y738.pngMultiLayer Perception:多层感知器
Field-wise Pooling Layer:域池化层 | Embedding Layer:表征层
CVR-task features:CVR任务特征 | CTR-task features:CTR任务特征
user field:用户域 | item field:物品域
Shared-Lookup Table:共享查询表 | element-wise:元素级操作 | Concatenate:拼接
Main Task:主任务 | Auxiliary Task:辅助任务
此时,pCTR、pCVR 与 pCTCVR 这三者的关系用公式如下:
'''
pCTCVR = pCTR*pCVR
'''
模型的建模目标 pCTR、pCVR 和 pCTCVR 都可以在整个样本空间上得到。针对 CTR、CVR 预估问题,业内深度推荐算法通常使用经典的 Embedding + MLP 范式框架结构进行解决。
在上图中,我们发现左半部分就是基于 Embedding + MLP 范式框架的网络结构;右半部分(除 pCTCVR 计算部分外)也是基于 Embedding + MLP 范式框架的网络结构。ESMM 模型将该结构命名为 BASE 模型,并基于此进行改造。BASE 模型能根据不同的业务,随时将其变换为其他结构,由此我们看到了多任务模型在传统深度模型基础上的演化路径。
另外,我们还看到左右两部分在底层采用了共享 Embedding 的方式进行结合。
ESMM 模型解决了以下 2 类问题。
采样偏差:我们将 pCTR、pCVR、pCTCVR 这三个关联的任务进行共同训练,然后在全部样本上进行建模。
样本稀疏:共享 Embedding 遵循了迁移学习的范式,且 CTR 的样本比 CVR 样本丰富得多,利用 CTR 样本可以显著降低 pCVR 网络的数据稀疏问题,且该共享机制可以保证 pCVR 网络得到充分训练。
多任务学习采用共享各任务底层隐向量表征的方式,使得相关任务相互影响。因此,只有相关的任务之间才能较好地进行底层表征共享。因为不相关的任务底层表征差异太大,这么做会导致互相冲突,从而降低模型效能。所以,多任务学习要求同时进行学习的任务要保证具有相关性。
ESMM 模型的底层特征共享方式采用的是经典的 Shared-Bottom 结构,该结构最大的特点是共享方式只有在多任务之间相关性比较大的场景中才能起到优化作用,在多任务之间相关性比较小的场景中就不灵了。
而解决相关性不高的多个任务之间的多任务学习正是多门混合专家模型(MMoE) 需要解决的问题。
网友评论