多任务学习之PLE算法
一、背景
在推荐领域,多目标已经成为了业界的主流,各大公司的各种业务场景,基本都是基于多目标的框架来搭建推荐系统。然而在现有的多目标模型中,很难同时对多个目标进行优化,通常会出现负迁移(negative transfer)和跷跷板现象(seesaw phenomenon)。
1.1、为什么要多目标建模
- 多任务场景下,多个任务会从不同的角度学习特征,增强模型泛化能力来提升收益,最常见的就是通过增加优化目标,比如在信息流推荐领域中的点击,时长,评论,点赞等多个维度,比如在电商领域的点击和转化;
- 共享参数,不额外增加资源的前提下变相增加参数规模。推荐系统的核心是embedding,对于相关的多个目标,比如点击/时长等,用户及相关特征的重合或者接近的,多个任务共享这部分参数可以极大的节省离线和在线资源;
- 用数据更多的任务指导学习数据较少的任务。一般常见的就是某个任务的数据量较少,期望能通过大数据训练较好的模型指导稀疏数据场景下的模型,比如点击率和转化率,一跳场景和二跳场景;
- 冷启模型的快速收敛。将冷启模型和收敛模型同时训练,帮助冷启模型可以在一个相对正确的方向上快速收敛;
- 有更多反馈和指导的模型指导学习其他模型。最常见的就是在精排阶段或者重排序阶段有一些"精准"评分用来指导更上层的粗排或者召回模型;
- 多个模型合并为一个模型后的线上资源多路请求可以合并为一路,减少请求资源;
- 减少多模型的维护成本。有很多策略和架构同学减少维护多个"相