多任务学习
概述
多任务学习(Multi-Task Learning, MTL)是一种机器学习范式,用一个模型同时优化多个相关任务,通过共享表征提升泛化能力和计算效率。
关键内容
核心思想
常见架构
- Shared-Bottom:所有任务共享底层表征网络,顶部接任务特定塔网络;假设所有任务共享同一组底层特征表示
- OMoE(One-gate MoE):多专家网络替代共享底层,所有任务共享同一门控网络
- MMoE:为每任务配备独立门控网络,自适应选择专家组合
- Cross-Stitch:通过可学习参数控制任务间信息流动
- L2-Constrained:通过 L2 正则约束任务间参数差异
负迁移问题
- 当不同任务的学习信号产生冲突时,共享参数被拉向不同方向,导致所有任务性能下降
- 在推荐系统中后果灾难性:本应提升所有指标的多任务模型可能让某些指标不升反降
- MMoE 通过梯度隔离、专家特化和软性参数分配有效缓解此问题
推荐系统中的应用
- 工业界推荐系统需同时优化多目标:CTR 预估、CVR、观看时长、用户满意度等
- 目标间存在复杂关系:有些正相关(点击率与观看时长),有些冲突(点击率与满意度)
- MMoE 在 YouTube 推荐系统中同时优化参与度预测和满意度预测取得显著效果
后续发展
- PLE(腾讯, 2020):显式分离共享专家和任务特定专家,引入渐进式分层提取
- ESMM(阿里巴巴, 2018):利用用户行为序列关系建模任务因果依赖
- DBMTL(2020):引入贝叶斯方法建模任务关系的不确定性
来源
- raw/books/推荐系统/14-mmoe.md — MMoE 深度解读文章,包含多任务学习背景介绍
相关
- MMoE — 多任务学习的重要架构创新
- 负迁移 — 多任务学习的核心挑战
- Shared-Bottom — 最简单的多任务学习架构
- PLE — 多任务学习的后续改进工作