【多任务学习】Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts KDD18

本文探讨了在多任务学习(MTL)中,如何通过Multi-gate Mixture-of-Experts(MMOE)模型来理解和解决任务之间的关系。MTL旨在为每个任务找到其独特的特征并避免优化过程中的任务主导问题。文章介绍了Share-Bottom结构、One-gate-MoE以及MMOE模型,其中MMOE通过个性化门控机制为每个任务选择重要特征,以减轻任务冲突和增强特征选择。
摘要由CSDN通过智能技术生成
  • 在模型层面理解,我们在单目标中经常会花费大量的精力“找强特征”和“删冗余特征”输入到模型,提高模型效果。那么切换到MTL时,每个task所需要的“强特”和排斥的“负特”是不同的,MTL的目的就是对每个task 尽可能的找到他们的强特和负特。

  • 在优化层面理解,多个task同时优化模型,某些task会主导了模型的优化过程,淹没了其他task。

  • 从监督信号的角度理解,MTL不仅仅是任务,也是一种数据扩增,相当于每个task多了k-1个监督信号来辅助学习,一些特征可以从其他task学的更好。监督信号的质量和task间的相似性有关,不相似的task反而是噪声。
    #SB、MOE、MMOE

《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》Google KDD 2018

在这里插入图片描述

share-bottom

多个任务共享相同的底部网络,底部网络输出一个样本的特征向量,每个子任务自己接一个小NN tower。

  • 优点:简单,并且模型过拟合的风险小(因为能同时过拟合多个任务也是不容易的,可以说多个任务互相监督惩罚过拟合);多任务越相关,互相补充效果越好。

  • 缺点:如果任务之间联系不强(矛盾、冲突),那么对底层网络的优化方向可能是相反的。

  • 底层输出:f(x),子任务tower:$h^k_x ,每个子任务输出: ,每个子任务输出: ,每个子任务输出:y_x^k = h^k_x(f(x)) $

One-gate-MoE

将input分别输入给三个独立的expert(3个nn),同时将input输入到gate,gate输出每个expert被选择的概率,然后将三个expert的输出加权求和,输出给tower:
y k = h k ( ∑ i = 1 n g i f i ( x ) )  , y^{k}=h^{k}\left(\sum_{i=1}^{n} g_{i} f_{i}(x)\right) \text { ,} yk=hk(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值