1. 写在前面
这篇文章开始多任务模型的学习,算是把多任务模型这块的坑填一下哈哈。
随着推荐技术的蓬勃发展,目前越来越多的推荐场景,往往并不是单纯的优化一个指标,比如:
- 视频推荐领域: 推荐排序任务不仅需要考虑到用户点击率,完播率,也需要考虑到一些满意度指标,例如,对视频是否喜欢,用户观看后对视频的评分;
- 文章推荐领域: 不仅希望用户点击阅读文章,还希望用户有更多的停留时长,互动、关注。
- 电商推荐领域: 不仅希望用户更多对商品点击浏览,还希望用户看完商品后进行付费,点击率和转化率
所以,推荐系统做到后期,往往会朝着多目标学习进行演化,承担更多的业务目标,提高用户粘性。 而多目标排序呢, 大致上有4种解决方案:
- 改变样本权重进行多目标优化: 这是一种比较初级的方式。 比如主目标是点击率,分享功能是我们希望提高的功能。 那么点击和分享都是正样本,分享的样本可以设置更高的样本权重。 模型训练在计算梯度更新参数时,梯度要乘以权重,对样本权重大的样本给予更大权重。 通过这种方法,使得原始目标A会受到一定的损失以换取新增加目标B的增长,实现初级的多目标优化。
- 优点: 模型简单,不需要额外架构支持,没有增加算法复杂度
- 缺点: 没有对多目标建模,而是将多个目标折算成一个,折算权重不好确定
- 多模型分数融合: 这个比较好理解, 之前的整理的模型大多都是只针对于单目标的优化模型,多模型融合的思路,就是用多个模型分别预测每个目标,最后的预测分数加权融合, 比如