Ma J , Zhe Z , Yi X , et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts. ACM, 2018.
2.1 出发点
常见的多任务学习模型对子任务间的关系非常敏感,因此,需要权衡特定任务目标的学习和子任务间关系的学习。
2.2 创新
本文提出Multi-gate Mixture-of-Experts(MMoE),明确对不同任务间的关系建模。
采用Mixture-of-Experts(MoE)结构,在不同的子任务间共享专家子模块(expert submodels),并且通过门控网络(gating network)对各个子任务进行优化。
2.3 实验结果
当子任务之间相关性较低的时候,MMoE模型效果会更好。同时,MMoE模型更容易训练。
2.4 关键词
multi-task learning; mixture of experts; neural network; recommendation system
3.1 Baseline
本文用到的baseline是通常多任务学习会用到的Shared-Bottom multi-task DNN结构。即,所有的子任务共享从输入层到分开前的若干层,然后每个独立的子任务拥有一个独立的分支。
3.2 OMoE
原始的混合混合专家模型(Mixture-of-Experts(MoE) Model):
其中,f表示各个专家网络,g表示门控网络来组合各个专家网络的结果。
最终的结果y是各个专家网络的加权和,权重是门控网络产生的。
MoE Model一开始是作用于各个分开的网络,后面将其封装为MoE layer,叠加在DNN上。
原始的MoE Model是one-gate Mixture-of-Experts(OMoE),即所有的子任务共享一个门控网络。而本文的MMoE是每个子任务都有一个自己的门控网络。
3.3 MMoE
对于每个子任务k,都有一个自己的门控网络:
门控网络是通过对输入层进行简单的线性变换+softmax得到的:
n是专家网络的个数,d是特征的维度。
每个门控网络都会根据输入,选择专家网络的子集。
MMoE通过决定不同的门控网络如何相互重叠,来决定不同子任务间的关系。如果任务的关联性较低,则分别利用不同的专家网络,惩罚共享的专家网络的使用。
与共享底层模型相比,MMoE只增加了几个门控网络。而门控网络中模型参数的个数可以忽略不计。因此,MMoE对比增加了额外参数的模型具有一定的优势。
3.4 效果对比
1.对于所有模型,对于相关性更强的子任务的表现都好于相关性更弱的子任务。
2.对于不同相关性子任务间的表现,MMoE的差异小于Baseline和OMoE。极端的例子是,如果两个任务是一样的,MMoE和OMoE的表现是没有区别的;随着两个任务的相关性递减,OMoE的效果明显下降,而MMoE只有一点点影响。
因此,说明任务相关的门控网络在低相关性的多任务学习中是很重要的。
3.对于所有的任务,MMoE和OMoE的效果都好于Baseline。这说明MoE结果会带来额外的收益。
3.5 Trainability
在不同相关性的合成数据下,分别实验多次。
每次实验的数据都具有相同的分布,但是随机的种子不同,因此模型初始化的参数也不同。
1.对于所有相关性的子任务,Baseline的效果方差是远大于OMoE和MMoE的,说明baseline更容易陷入到差的局部极小值中。(和模型空间有关??)
2.当子任务的相关性为1的时候,OMoE和MMoE的鲁棒性差不多;当子任务的相关性为0.5的时候,两个模型的鲁棒性差异比较明显。说明了多门结构在解决任务差异冲突导致的局部极小值问题中的有效性。
3.比较三种模型可以达到的最小loss,发现MMoE可以达到的最小loss更小。
神经网络在理论上是通用的逼近器。有了足够的模型容量,就应该有一个正确的共享底层模型,能够很好地学习这两个任务。作者怀疑,对于更大、更复杂的任务(例如当共享底层网络是一个递归神经网络时),得到任务关系的“正确”模型的几率会更低。因此,显示地建模任务关系仍然是可取的。
对多任务建模有很多种方法,下面一一介绍与比较。
4.1 L2-Constrained
通过L2正则,对用于不同任务的参数进行软共享。
目标函数:
通过 alpha 调整任务间的相关性。
4.2 Cross-Stitch
通过引入cross-stitch,对两个任务间的信息进行共享。
cross-stitch接收不同任务分别的隐藏层x1、x2等,通过矩阵变换,得到新的x1、x2,再分别输入到不同任务更深的神经网络层中。
4.3 Tensor-Factorization
对要学习的张量进行分解,分别学习。
4.4 效果对比
分别对不同相关性的多任务进行对比。
(1) Task 1: Predict whether the income exceeds $50K;
Task 2: Predict whether this person’s marital status is never married.
Absolute Pearson correlation: 0.1768.
(2) Task1:Predictwhethertheeducationlevelisatleastcollege;
Task 2: Predict whether this person’s marital status is never married.
Absolute Pearson correlation: 0.2373.
1.除了Tensor-Factorization,Shared-Bottom 在所有任务中效果最差。
2.L2-Constrained 和 cross-stitch 对每个任务使用了单独的模型参数并且加了限制,效果比Shared-Bottom好。但是模型参数限制的学习比较依赖任务间关系的假设,不够灵活。
3.Tensor-Factorization的效果最差。因为它倾向于在低秩张量和矩阵中推广所有任务的隐藏层权重。这种方法对任务的相关性非常敏感,因为当任务的相关性较低时,它往往会过度泛化,需要更多的数据和更长的训练时间。
4.多任务模型没有针对验证集上的辅助“婚姻状况”任务进行优化,而单任务模型是优化了的。因此,单任务模型在辅助任务上获得最佳性能是合理的。
线上推荐任务对比:
按照线上的任务来说,(100-0.22)*(100+0.25)/100/100=1.0003。所以,最后对于单个任务engagement而言,MMoE的效果只能说是微涨。所以,更主要的其实还是充分利用参数的情况下,学习了多个任务,对原有任务的加成倒并不是很大?
1.对比其他多任务学习方法,MMoE的优点是可以更好的处理子任务间相关性不大的情况,并且更容易训练。在不同的初始化下,同样模型得到的效果的方差更小。
2.更重要的是保证了计算效率。这也是为什么多任务学习非常流行的原因。