论文链接 MMoE
1、摘要
基于神经网络的多任务学习已经在实际场景如推荐系统中有了大规模应用,例如在电影推荐中,除了要给用户推荐他们可能购买或者观看的电影,还要考虑用户后续对这部电影的评价。通过多任务学习,我们的目标是利用一个模型来学习多个实际业务中的目标,但是,常用的多任务模型的预测质量通常对任务之间的关系很敏感。因此,研究特定于任务的目标与任务间关系之间的建模权衡非常重要。
google推荐团队提出了一种新的多任务学习方法,Multi-gate Mixture-of-Experts (MMoE),明确地通过数据学习任务模型关系。通过在所有任务之间共享专家子模型,使专家混合(MoE)结构适合多任务学习,同时还拥有经过门控网络训练的结构来优化每个任务。为了验证该方法在不同相关度任务数据集上的性能,首先应用到了人为控制任务相关度的数据集,通过实验也表面,任务相关度越小,该方法比当前的baseline表现更好,我们还表明,MMoE结构会带来额外的可训练性好处,具体取决于训练数据和模型初始化中不同程度的随机性。 此外,我们展示了MMoE在包括二进制分类基准和Google大型内容推荐系统在内的实际任务上的性能改进。
2、模型介绍
MMoE结构灵感来自于MoE,MMoE显式地建模任务关系,并学习特定于任务的功能以利用共享表征。 它允许自动分配参数以捕获共享任务信息或特定于任务的信息,而无需为每个任务添加许多新参数。MMoE的骨架结构还是参考了图1(a) shared-bottom模型的多任务DNN结构,对于底层的shared-bottom,上层两个学习任务是共享的,本文的模型结构如图1(c )所示,底部有多个网络块组成,每个网络块称为一个专家,两个门控制网络通过输入原始特征,输出一个softmax后的权重向量,分别对应每个专家,对于不同的任务让每个专家发挥不一样的作用。
2.1 Shared-Bottom Multi-task Model
给定 k 个任务,这个模型由 shared-bottom网络,由函数 表示,以及 个任务塔网络 组成,对于任务 ,模型可以表示为:
2.2 Original Mixture-of-Experts (MoE) Model
原始的混合专家模型可以表示为
其中
是控制门网络,
,输入原始特征,输出是每个专家的权重,并且
,
是 n 个专家神经网络,通过门控网络
来集成各个专家的结果。更具体地说,门控网络g根据输入产生n位专家的分布,最终输出是所有专家的输出的加权和。
有文章中将MoE作为一个单元,类似lstm中的cell,用上一个单元的输出作为下一个单元的输入。
2.3 Multi-gate Mixture-of-Experts Model
文章提出了一种新的MoE模型,该模型旨在捕获任务差异,而与共享底部多任务模型相比,不需要明显更多的模型参数。新的模型叫Multi-gate Mixture-of-Experts(MMoE)模型,核心的想法是用MoE层去替换 Shared-Bottom网络,并且额外针对每个任务 ,添加了一个新的门空网络 ,更准确的,任务 的输出为: 其中 我们的实现包括具有ReLU激活的相同多层感知器。 门控网络只是带有softmax层的输入的线性变换 每一个门控网络以输入样本为条件来学习选择一部分专家子集。对于多任务学习情况下的灵活参数共享,这是理想的。作为特例,如果仅选择一个具有最高门得分的专家,则每个门控网络实际上会将输入空间线性地分为n个区域,每个区域对应一个专家。MMoE可以通过确定不同门之间的分隔如何相互重叠这种复杂的方式来对任务关系进行建模。如果任务的相关性较低,则共享专家将受到惩罚,而这些任务的门控网络将学会使用不同的专家来代替。相比于 shared-bottom model,MMoE仅仅是多了一些额外的门控网络,增加的门控网络参数基本可以忽略。
3、实验效果
在公开数据集上的表现,可以看到mmoe整体上均优于其他base model
参考文献:
1、https://zhuanlan.zhihu.com/p/55752344