简介
MMoe(Multi-gate Mixture-of-Experts)是Google于2018年提出的soft parameter sharing类型的多任务学习模型。通过引入专家,实现了对更多信息的提取。通过引入门控机制,实现了对不同任务的侧重学习
解决的问题
hard parameter sharing:不同的任务都是共享同一批参数,没有每个任务单独的处理过程
hard parameter sharing:各任务没有明显关联度时,学习效果不佳
解决的方案
由一组专家系统(Experts)组成的神经网络结构替换原来的Shared-Bottom部分,每一个Expert都是一个前馈神经网络
针对不同任务得到不同的 Experts 权重,从而实现对 Experts 的选择性利用,不同任务对应的门控网络可以学习到不同的Experts 组合模式,因此模型更容易捕捉到子任务间的相关性和差异性
模型结构和Loss设计
模型结构

模型的数学表达
Shared-Bottom:

Moe:

MMoe:

Loss
Loss多为多任务的交叉熵损失函数之和
模型效果
数据集
synthetic data:人工构造的数据集,验证多个任务的Pearson相关性对模型的影响。这个数据集只在Shared-Bottom、Moe、MMoe上进行了对比
Census-income Data:真实的数据集,训练集:验证集:测试集 = 199523:49881:49881。涉及两个任务,任务1的Pearson相关性为0.1768,任务1的Pearson相关性为0.2373
公司内容推荐真实数据集:训练集:测试集=3000万:100万=30:1。涉及两个任务:Engagement、Satisfaction
synthetic data的模型效果对比
目标:验证多个任务的Pearson相关性对模型的影响
说明:这个数据集只在Shared-Bottom、Moe、MMoe上进行了对比
具体的模型效果
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 |



模型效果对比
任务1(Pearson相关性为0.1768)
任务2(Pearson相关性为0.2373)
任务1和任务2中的Tensor-Factorization效果不佳的原因在于:上述的结果是按照400 step去统计的,而模型需要更多的数据和时间去训练
基于公司内容推荐真实数据集的模型效果对比
对比的模型同3.b
模型效果对比
评估指标:AUC、R-Squared Score
离线、在线效果


代码实现
结尾
亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️
正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。
若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花
我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。
有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。
愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!
万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~
自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系)
友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注!