多任务学习——【KDD 2018】MMoE
作者:互联网
多任务模型通过学习不同任务的联系和差异,可提高每个任务的学习效率和质量。
多任务学习的的框架广泛采用 shared-bottom 的结构,不同任务间共用底部的隐层。这种结构本质上可以减少过拟合的风险,但是效果上可能受到任务差异和数据分布带来的影响。也有一些其他结构,比如两个任务的参数不共用,但是通过对不同任务的参数增加 L2 范数的限制;也有一些对每个任务分别学习一套隐层然后学习所有隐层的组合。和 shared-bottom 结构相比,这些模型对增加了针对任务的特定参数,在任务差异会影响公共参数的情况下对最终效果有提升。缺点就是模型增加了参数量所以需要更大的数据量来训练模型,而且模型更复杂并不利于在真实生产环境中实际部署使用。
如图,a) 是最原始的多任务学习模型
b) 是加入单门(one gate)的MoE layer的多任务学习模型,
其中:
k 表示k个任务;
n 表示n个expert network
c) 是文章提出的MMOE模型,将base的shared bottom换成了MoE layer,并对每个任务都加gate:
标签:bottom,KDD,模型,任务,学习,MMoE,2018,shared,多任务 来源: https://blog.csdn.net/u011239443/article/details/116606996