论文阅读_多任务学习_MMoE

介绍

英文题目:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
中文题目:多门专家混合多任务学习中的任务关系建模
论文地址:https://dl.acm.org/doi/pdf/10.1145/3219819.3220007
领域:深度学习,多任务学习
发表时间:2018
作者:Jiaqi Ma,密歇根大学,谷歌
出处:KDD
被引量:137
代码和数据:https://github.com/drawbridge/keras-mmoe
阅读时间:22.07.24

读后感

多任务学习一般用于相同输入特征,用一个模型同时学习多个任务.一次预测多个标签,这样可以节约训练和预测时间,也能节约存储模型的空间.
之前的方法主要是底层共用网络,上层针对每个任务分别训练自己的网络.这样做的问题是,如果多个任务相关性不强,可能向不同方向拉扯共享参数,虽然理论上多个任务可以互为辅助,提供更多信息,但实现效果往往不如单独训练模型效果好.

介绍

多任务学习效果一般取决于不同任务之间的相关性.文中提出的MMoE(Multi-gate Mixture-of-Experts)是对之前方法MoE的改进.主要用于解决多任务相关性小时,同时优化多个目标的问题.比如同时预测用户是否购买及用户满意度.

在研究过程中,遇到的问题还有:如何衡量不同任务的相关性;如果不让模型由于多任务变得过大和过于复杂.

文章贡献

  • 提出MMoE结构,构建了基于门控的上层网络,模型可自动调节网络参数.
  • 设计了生成实验数据的方法,以便更好的衡量任务相关性对建模的影响
  • 在实验数据集中实现了更好的效果,解决了现实世界中大规模数据训练问题

方法

之前的实现方法如图-1(a)所示,底层网络Shared Bottom共享参数,上层使用双塔或多塔结构以适配不同任务:

其中k是具体任务,f(x)是底层模型,hk是上层模型.

进而是如图-1(b)所示的MoE模型(在后续的实验中也记作OMoE),它使用多个专家网络作为底层,利用输入计算门控值用于设置各个专家贡献的占比,然后将计算出的结果送入上层网络.

其中g是门控,n是专家的各数,公式结合了各个专家的结果.对于每个实体,只有部分网络被激活.

图-1©是本文提出的网络结构MMoE,与MoE不同的是它针对不同的任务计算不同的门控分别设置专家占比.

其中的 Wgk 是可训练的矩阵,用于根据输入选择专家.

每个门控网络线性地将输入空间分割成n个区域,每个区域对应一个专家。MMoE决定不同门控制管理的区域如何相互重叠。如果某区域与任务的相关性较低,那么共享专家将受到惩罚,任务的门控网络将学会使用不同的专家。

实验

合成数据实验

合成数据能更好的对比不同任务相关性的影响,利用合成数据的实验对比如图-4所示:

  • 对于所有模型,相关度高的任务训练效果都更好
  • 在不同相关度的情况下,MMoE都好于OMoE和Shared-Bottom模型.而在相关性一致的情况下,MMoE和OMoE结果几乎一致
  • 基于MoE的两个模型效果都明显好于Shared-Bottom,且收敛更快,这说明MoE结构使模型更好训练.

真实数据实验

人口收入数据

使用人口收入数据,分别进行两组实验,第一组同时训练两个任务:训练收入是否超过50K和婚否;第二组同时训练教育程度和婚否.训练数据199523.训练结果如下:

大规模的内容推荐

利用谷歌数以亿计的推荐数据训练.目的是同时优化:与粘性相关的目标,如点击率和粘性时间;以及与满意度相关的目标.具体评价标准使用AUC和R-Squared scores.效果如表-3所示:

从图-6中可以看到不同专家对不同任务的贡献:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值