多任务学习-MMoe

发布于:2025-07-06 ⋅ 阅读:(19) ⋅ 点赞:(0)

简介

MMoe(Multi-gate Mixture-of-Experts)是Google于2018年提出的soft parameter sharing类型的多任务学习模型。通过引入专家,实现了对更多信息的提取。通过引入门控机制,实现了对不同任务的侧重学习

解决的问题

  1. hard parameter sharing:不同的任务都是共享同一批参数,没有每个任务单独的处理过程

  2. hard parameter sharing:各任务没有明显关联度时,学习效果不佳

解决的方案

  1. 由一组专家系统(Experts)组成的神经网络结构替换原来的Shared-Bottom部分,每一个Expert都是一个前馈神经网络

  2. 针对不同任务得到不同的 Experts 权重,从而实现对 Experts 的选择性利用,不同任务对应的门控网络可以学习到不同的Experts 组合模式,因此模型更容易捕捉到子任务间的相关性和差异性

模型结构和Loss设计

模型结构

图1 3种模型结构

模型的数学表达

Shared-Bottom:

图2 Shared-Bottom模型的数学表达

Moe:

图3 Moe模型的数学表达

MMoe:

图4 MMoe模型的数学表达

Loss

Loss多为多任务的交叉熵损失函数之和

模型效果

数据集

  1. synthetic data:人工构造的数据集,验证多个任务的Pearson相关性对模型的影响。这个数据集只在Shared-Bottom、Moe、MMoe上进行了对比

  2. Census-income Data:真实的数据集,训练集:验证集:测试集 = 199523:49881:49881。涉及两个任务,任务1的Pearson相关性为0.1768,任务1的Pearson相关性为0.2373

  3. 公司内容推荐真实数据集:训练集:测试集=3000万:100万=30:1。涉及两个任务:Engagement、Satisfaction

synthetic data的模型效果对比

  1. 目标:验证多个任务的Pearson相关性对模型的影响

  2. 说明:这个数据集只在Shared-Bottom、Moe、MMoe上进行了对比

  3. 具体的模型效果

Census-income Data的模型参数整定及效果对比

  • 模型参数整定

    • 方法:The tuning algorithm is a Gaussian Process model similar to Spearmint

    • 方法详见论文第7页

  • 模型说明

模型 模型说明 模型数学表达
Single-Task 单任务学习模型 L(y, f(x, parameter))
Shared-Bottom hard parameter sharing多任务学习模型 见图2
L2-Constrained parameters used for different tasks are shared softly by an L2 constraint论文:Low Resource Dependency Parsing: Cross-lingual Parameter Sharing in a Neural Network Parser.(2015年) Loss:见图5
Cross-Stitch shares knowledge between two tasks by introducing a “Cross-Stitch” unit论文:Cross-stitch networks for multi-task learning(2016年) The Cross-Stitch unit takes the input of separated hidden layers x1 and x2 from task1and2, and outputs x ̃1i and x ̃2i respectively by the following equation:见图6
Tensor-Factorization weights from multiple tasks are modeled as tensors and tensor factorization methods are used for parameter sharing across tasks论文:Deep multi-task representation learning: A tensor factorisation approach(2016年) Loss:见图7
OMoE 只有一个gate 见图3
MMoE 有多个gate 见图4

图5 loss

图6 equation

图7 loss

模型效果对比

任务1(Pearson相关性为0.1768)

任务2(Pearson相关性为0.2373)

任务1和任务2中的Tensor-Factorization效果不佳的原因在于:上述的结果是按照400 step去统计的,而模型需要更多的数据和时间去训练

基于公司内容推荐真实数据集的模型效果对比

  • 对比的模型同3.b

  • 模型效果对比

    • 评估指标:AUC、R-Squared Score

    • 离线、在线效果

图8.1 离线效果

图8.2 在线效果

代码实现

  1. 基于PyTorch/TensorFlow实现MMoe、SNR、PLE

结尾

亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️

正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。

若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花

我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。

有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。

愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!

万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~ 


自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系) 

友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注!   


网站公告

今日签到

点亮在社区的每一天
去签到