一种挖掘任务之间关系的multi-task模型

本文介绍了一种名为MMOE(Multi-gate Mixture-of-Experts)的多任务学习架构,该架构通过多个门控机制来动态调整不同专家模块的权重,以适应不同任务间的相关性变化。实验结果显示,在任务相关性较低的情况下,MMOE模型相较于传统共享底层特征的模型和单门控模型,具有更优的性能和更快的收敛速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天的博客主要参考了2018年KDD会议上的paper《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》,提出了一种针对multi-task的通用处理架构。
话不多说,直接上图:
在这里插入图片描述
图中有a,b,c三种网络结构,其中网络a就是传统的multi-task结构,即两个不同的任务共享底层的特征表征Embedding部分网络结构信息,网络上层针对不同的应用使用不同的网络参数进行训练优化;b是单gate的multi-task网络结构,其中的expert 0,expert 1和expert 2其实都是神经网络单元(比方说多层的全连接网络等,这个和具体任务相关),所有的任务共享这部分网络参数;c是就是本篇文章提出的multi-task的网络结构,其中gate的数量和最终的目标数量是一致的,输出的内容是一个和expert个数一致的归一化向量,即针对不同的任务会有不同的expert权重配比。

那么问题就来了,既然已经有了图a中的网络(之前看到过的很多paper里都是这样用的),为什么要提出多gate的新网络结构呢?是因为作者发现当目标任务之间的相关性比较高的时候图a中的网络训练之后的效果是不错的;但是当目标任务之间的相关性下降的时候,图a中网络结构的效果下降的非常厉害。这就是说明了对目标任务关系之间的合理建模将对最终multi-task模型产生直接其较大的影响。

其实c中模型结构的计算公式是非常简单的:
yk=hk(fk(x))y_k=h^k(f^k(x))yk=hk(fk(x)) 其中hkh^khk是图中的Tower部分完网络参数
fk(x)=∑i=1ngk(x)ifi(x)f^k(x)=\sum_{i=1}^n g^k(x)_if_i(x)fk(x)=i=1ngk(x)ifi(x)
其中gk(x)=softmax(Wgkx)g^k(x)=softmax(W_{gk}x)gk(x)=softmax(Wgkx)
gkg^kgk就是图中的gate,fif_ifi就是expertiexpert_iexperti
到这里,其实整个模型已经介绍完了,下面就来讲一下作者做的一系列对比实验。

首先可能大家比较好奇的是,既然这篇paper说提出的模型在不相关的任务上也能有比较好的效果,其实如何知道2个不同的目标任务之间的相关性呢?(虽然业务上相似的任务会比业务上不相似的任务具有更好的相关性,但这只是一个定性的概念,如何定量的衡量显然是一个不小的困难)。这里作者采用了一种比较巧的方法,即自己构造了两批回归问题场景下使用的数据,既然是自己构造的,那么任务之间的相关性就可以随意指定了,构造过程如下:
(1) 假设目标任务的输入特征维度为d,首先随机生成2个正交单位向量u1u_1u1u2u_2u2,保证
u1Tu2=0u_1^T u_2=0u1Tu2=0∣∣u1∣∣2=1||u_1||_2=1u12=1∣∣u2∣∣1=1||u_2||_1=1u21=1
(2) 用户输入一个常量值ccc和目标任务之间的相关性−1&lt;=p&lt;=1-1&lt;=p&lt;=11<=p<=1,生成2个权重向量w1w_1w1w2w_2w2w1=cu1w_1=cu_1w1=cu1,w2=c(pu1+(1−p2)u2)w_2=c(pu_1+\sqrt{(1-p^2)u_2})w2=c(pu1+(1p2)u2)
(3) 随机生成d维向量x,其每一维度值都按照分布N(0,1)N(0,1)N(0,1)产生;
(4) 生成2个回归任务的y值
y1=w1Tx+∑i=1msin(αiw1Tx+βi)+γ1y_1=w_1^Tx+\sum_{i=1}^msin(\alpha_iw_1^Tx+\beta_i)+\gamma_1y1=w1Tx+i=1msin(αiw1Tx+βi)+γ1
y2=w2Tx+∑i=1msin(αiw2Tx+βi)+γ2y_2=w_2^Tx+\sum_{i=1}^msin(\alpha_iw_2^Tx+\beta_i)+\gamma_2y2=w2Tx+i=1msin(αiw2Tx+βi)+γ2
其中αi,βi和m\alpha_i,\beta_i和mαi,βim是用户给定的参数,γ1\gamma_1γ1γ2\gamma_2γ2是加入的噪声变量,从分布N(0,0.01)N(0,0.01)N(0,0.01)产生。
重复步骤(1)-(4)产生足够的样本数据,最终通过不同相关性任务下的对比实验,得到以下结果:
在这里插入图片描述
图中的MMOE就是本篇提出的多gate模型,OMoE是单gate模型,shared-Bottom就是共享底层特征表示的模型。

从图中可以看出越是相关性低的任务,MMOE模型领先的优势越明显。
同时为了探索不同结构对训练过程收敛速度的影响,作者通过大量的对比实验得到了以下的结果图像:
在这里插入图片描述
横轴代表了训练过程中能够到达最低的误差值,纵轴代表了百分比,即有百分之多少的实验能够收敛到这个误差值。可以看出在大部分的实验中MMOE相比于其他两种结构能更高概率收敛到这个误差值,进一步说明了这种多gate结构在multi-task任务中的合理性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值