MMoE论文研读
论文:Modeling Task Relationships in Multi-task Learning With Multi-gate Mixture-of-experts
要解决的问题
常用的多任务(multi-task)模型对于任务之间的关系很敏感。
目标
构建一个模型,可以同时学习多目标、多任务。捕捉到任务的不同,且不显著增加更多的模型参数(和Shared-Bottem多任务模型相比)。
MMoE简介
MMoE对任务之间的关系建模,学习任务特殊性与共享的表示之间进行权衡。
它使得参数可以自动的分配,来学习任务间共享的信息,或任务独特的信息。
MMoE很容易训练,并且在几个回合就会收敛到一个比较好的损失。
通过共享expert子网络,采用MoE结构来进行多任务学习,同时训练一个gate网络来优化每个任务。
图1-a是shared-bottom结构,在input层之后的多个bottom层,由各个task共享,在这之上,每个task都有一个单独的tower网络。图1-c是MMoE网络,有着一群叫做expert的bottom网络。gate网络把输入的特征作为输入,输出集合不同权重的softmax gate,使得不同的任务区别使用不同的expert。整合后的expert被传输到不同的tower网络。
网络结构详解
1 Shared-Bottom Multi-task Model
共 K K K个任务,模型包含了一个shared-bottom网络,用函数 f f f表示,tower网络用 h k h^k hk表示,其中 k = 1 , 2 , 3 , . . . K k=1,2,3,...K k=1,2,3,...K。任务 k k k的输出表示为:
y k = h k ( f ( x ) ) y_k=h^k(f(x)) yk=hk(f(x))
2 Mixture-of-Experts
原始MoE网络可以用如下公式表示: