论文笔记:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

基于多门混合专家的多任务学习任务关系建模

摘要

对于多任务学习,我们的目标是建立一个同时学习这些多个目标和任务的单一模型。然而,常用的多任务模型的预测质量往往对任务之间的关系很敏感。因此,研究任务特定的c目标和任务间关系之间的建模交易是重要的。

我们提出了一种新的多任务学习方法,即多门混合专家(MMoE),它明确地学习从数据中建模任务关系。我们通过在所有任务中共享专家子模型来适应多任务学习的混合专家(MoE)结构,同时还训练了一个门控网络来优化每个任务。

方法和结果:首先将其应用于我们控制任务相关性的合成数据集。我们表明,当任务相关性较低时,所提出的方法比基线方法执行得更好。我们还表明,MMoE结构会产生额外的可训练性收益t,这取决于训练数据和模型初始化中的不同事件随机性水平

1 介绍

需求是解决同一场景下的多任务问题,例如推荐系统的购买和评分。

现有的多任务:通过使用正则化和迁移学习来提高对所有任务的模型预测。问题:在实践中,多任务学习模型并不总是在所有任务上都优于相应的单任务模型。事实上,许多基于dnn的多任务学习模型对数据分布、引用和任务间关系等因素都很敏感。来自任务差异的固有冲突实际上会损害至少一些任务的预测,特别是当模型参数在所有任务之间广泛共享时

先前的研究[4,6,8]通过假设每个任务的特定数据生成过程,测量任务的差异,然后根据任务差异的不同程度提出建议,来研究多任务学习中的任务差异

一些研究提出了新的建模技术来处理多任务学习中的任务差异,而不依赖于显式的任务差异测量[15,27,34]。然而,这些技术通常涉及到为每个任务添加更多的模型参数,以适应任务差异。由于大规模推荐系统可能包含数百万或数十亿个参数,这些额外的参数通常是不受约束的,这可能会损害模型质量。由于服务资源有限,这些参数的额外计算成本在实际生产环境中也常常令人望而却步。

MMoE显式地对任务关系建模,并学习特定任务的功能,以利用共享表示。它允许自动分配参数来捕获共享的任务信息或任务指定的c信息,从而避免了为每个任务添加许多新参数的需要。

MMoE的主干是建立在最常用的Shared-Bottom多任务DNN结构上的[8]。shared - bottom模型结构如图1 (a)所示,其中输入层之后的几个底层在所有任务之间共享,然后每个任务在底层表示的顶部有一个单独的网络“塔”。如图1 ©所示,我们的模型不是所有任务共享一个底层网络,而是有一组底层网络,每个底层网络都被称为专家。我们为每个任务引入一个门控网络。门控网络接受输入的特征并输出softmax门,用不同的权重组合专家,允许不同的任务以不同的方式利用专家。然后,组装专家的结果被传递到特定任务的塔式网络中。通过这种方式,不同任务的门控网络可以学习不同的专家组合混合模式,从而捕捉到任务关系。

验证实验:为了了解MMoE是如何针对不同程度的任务关联性学习其专家和任务门控网络的,我们进行了一个合成实验,我们可以通过它们的皮尔逊相关度来测量和控制任务关联性。我们使用两个合成回归任务,并使用正弦函数作为数据生成机制来引入非线性。在这种设置下,我们的方法优于基线方法,特别是当任务相关性较低时。在这组实验中,我们还发现MMoE更容易训练,并在多次运行中收敛到更好的损失。这与最近发现的调制和门控机制可以提高训练非凸的深度神经网络的可训练性有关。

本文的贡献有三个方面:

首先,我们提出了一个新颖的多门专家混合模型,该模型明确地对任务关系进行建模。通过调制和门控网络,我们的模型在建模共享信息和建模任务特定信息之间自动调整参数化。

第二,我们在合成数据上进行了控制实验。我们报告了任务关联性如何影响多任务学习的训练动态,以及MMoE如何提高模型的表现力和可训练性。

最后,我们在真实的基准数据和一个拥有上亿用户和项目的大规模生产性推荐系统上进行了实验。我们的实验验证了我们提出的方法在真实世界环境中的有效性和有效性。

2 相关工作

2.1 Multi-task Learning in DNNs

多任务模型可以学习不同任务之间的共同点和差异。这样做可以提高每个任务的效率和模型质量[4, 8, 30]。其中一个广泛使用的多任务学习模型是由Caruana[8, 9]提出的,它有一个共享底层模型结构,其中底层隐藏层在不同的任务中共享。这种结构大大降低了过量的风险,但也会因为任务的差异而产生优化冲突,因为所有任务都需要在共享底层上使用相同的参数集。

为了了解任务关联性对模型质量的影响,先前的工作使用合成数据生成,并操纵不同类型的任务关联性,以评估多任务模型的有效性[4-6, 8]。最近的一些方法不是在不同的任务中共享隐藏层和相同的模型参数,而是在任务特定的参数上添加不同类型的约束[15, 27, 34]。与共享底层模型相比,这些方法有更多的任务专用参数,当任务差异导致更新共享参数的冲突时,可以取得更好的性能。然而,较多的任务特定参数需要更多的训练数据,在大规模模型中可能并不有效。

2.2 Ensemble of Subnets & Mixture of Experts

参数调制和集合方法来为多任务学习的任务关系建模。在DNN中,集合模型和子网络的集合已经被证明能够提高模型性.

将专家混合模型变成基本构件(MoE层)并在DNN中堆叠。MoE层在训练时间和服务时间都根据该层的输入来选择子网(专家)。因此,这个模型不仅在建模方面更强大,而且通过在门控网络中引入稀疏性来降低计算成本

PathNet[17]是为处理不同的任务而设计的艺术性通用智能,它是一个巨大的神经网络,具有多个层和每个层中的多个子模块。在为一项任务进行训练时,多个路径被随机选择,并由不同的工作人员并行训练。最佳路径的参数是固定的,新的路径被选择用于训练新的任务。我们从这些工作中得到启发,使用一个子网(专家)的集合来实现转移学习,同时节省计算量。

2.3 多任务学习应用

由于分布式机器学习系统的发展,许多大规模的现实世界应用已经采用了基于DNN的多任务学习算法,并观察到质量的大幅提高。在多语言机器翻译任务中,通过共享模型参数,具有有限训练数据的翻译任务可以通过与具有大量训练数据的任务联合学习来改善[22]。对于建立推荐系统,多任务学习被认为有助于提供上下文感知的推荐[28, 35]。在[3]中,一个文本推荐任务通过共享特征表示和较低层次的隐藏层得到改善。在[11]中,一个共享底层模型被用来学习视频推荐的排名算法。与这些先前的工作类似,我们在一个真实世界的大规模推荐系统上评估我们的建模方法。

3 准备

3.1 Shared-bottom Multi-task Model

我们首先介绍图1(a)中的共享底层多任务模型,这是由Rich Caruana提出的一个框架,在许多多任务学习应用中被广泛采用。因此,我们把它作为多任务建模中的一个代表性的基线方法。给定K个任务,模型包括一个共享底层网络,表示为函数f,和K个塔式网络h k,其中k=1;2;::;K分别代表每个任务。共享底层网络跟随输入层,塔式网络建立在共享底层的输出之上。然后,每个任务的单个输出сk跟随相应的任务特定的塔。

3.2 合成数据的生成

多任务学习模型的性能高度依赖于数据中固有的任务关联性。然而,直接研究任务关联性如何影响实际应用中的多任务模型是很困难的,因为在实际应用中,我们不能轻易改变任务之间的关联性并观察其影响。因此,为了建立这种关系的实证研究,我们首先使用合成数据,在那里我们可以很容易地测量和控制任务关联性。

余弦,正交,非线性数据生成,

3.3 任务关联性的影响

为了验证在基线多任务模型设置中,低任务相关度会伤害模型质量,我们在合成数据上进行了如下控制实验。

(1)给定一个任务相关分数列表,为每个分数生成一个合成数据集;

(2)在这些数据集上分别训练一个共享底层多任务模型,同时控制所有的模型和训练超参数保持不变;

(3)用独立生成的数据集重复步骤(1)和(2)数百次,但控制任务相关分数列表和超参数不变;

(4)计算每个任务相关分数的模型的平均性能。图3显示了不同任务关联度的损失曲线。

正如预期的那样,随着任务相关性的降低,模型的性能呈下降趋势。这种趋势对于许多不同的超参数设置来说是普遍的。这里我们只展示了图3中控制实验结果的一个例子。请注意,这两个回归任务是对称的,所以报告一个任务的结果是足够的。这一现象验证了我们的假设:传统的多任务模型对任务关系很敏感

4 建模方法

4.1 混合型专家

解读公式

4.2 MOE层

MoE最早是作为多个单独模型的集合方法而开发的,Eigen等人[16]和Shazeer等人[31]将其转化为基本构件(MoE层)并在DNN中堆叠。MoE层的结构与MoE模型相同,但接受前一层的输出作为输入,并输出到连续的一层。然后,整个模型以端到端方式进行训练。Eigen等人[16]和Shazeer等人[31]提出的MoE层结构的主要目标是实现条件计算[7, 12],其中只有网络的一部分在每个例子的基础上被激活。对于每个输入实例,该模型能够通过门控网络只选择一个以输入为条件的专家子集

4.2 多门混合专家法

提出了一个新的MoE模型,旨在捕捉任务差异,与共享底层多任务模型相比,不需要明显更多的模型参数。这个新模型被称为多门专家混合物(MMoE)模型,其关键思想是用公式5中的MoE层代替公式1中的共享底层网络f。

实现由相同的多层感知器组成,具有ReLU激活功能。门控网络是对输入的简单线性转换,有一个softmax层。

根据输入样本每个门控网络可以学习 "选择 "一个专家子集。如果只选择一个具有最高门控分数的专家,每个门控网络实际上将输入空间线性地分成n个区域,每个区域对应一个专家。MMoE能够以一种复杂的方式对任务关系进行建模,决定不同门的分离结果如何相互重叠如果任务之间的关系较差,那么共享专家就会受到惩罚,这些任务的门控网络将学会利用不同的专家来代替。与共享底层模型相比,MMoE只有几个额外的门控网络,而且门控网络中的模型参数数量可以忽略不计。因此,整个模型仍然尽可能地享受到多任务学习中知识转移的好处。

为了了解为每个任务引入单独的门控网络如何帮助模型学习特定的任务信息,我们与所有任务共享一个门的模型结构进行比较。我们称之为 “单门混合专家”(OMoE)模型。这是MoE层对共享底层多任务模型的直接改编。

5 合成数据上的MMOE

MMoE模型是否真的能更好地处理任务关联度较低的情况。

5.1 不同任务关联度的数据的性能

模型结构:输入维度为100。两个基于MoE的模型都有8个专家,每个专家都以单层网络的形式实现。专家网络中隐层的大小为16。塔式网络仍然是单层网络,大小=8。我们注意到,共享专家和塔楼的模型参数总数为100×16×8+16×8×2=13056。对于基线共享底层模型,我们仍然将塔楼网络设置为大小=8的单层网络。我们设定单层共享底层网络的大小为13056/(100+8×2)≈113。

结果:我们用独立的随机数据生成和模型初始化进行了200次运行。平均结果显示在图4中。观察结果概述如下:

(1)对于所有的模型,在相关性较高的数据上的表现要好于相关性较低的数据。

(2) MMoE模型在不同相关性的数据上的性能差距比OMoE模型和Shared-Bottom模型小得多。这一趋势在我们将MMoE模型与OMoE模型进行比较时尤为明显。在两个任务相同的极端情况下,MMoE模型和OMoE模型之间几乎没有性能差异;然而,当任务之间的相关性降低时,OMoE模型的性能明显下降,而对MMoE模型的影响很小。因此,在低关联度的情况下,关键是要有任务特定的门来模拟任务差异。

(3) 在所有情况下,两种MoE模型的平均性能都优于Shared-Bottom模型。这表明MoE结构本身带来了额外的好处。根据这一观察,我们在下一小节中表明,MoE模型比SharedBottom模型有更好的可训练性。

5.2 可训练性

对于大型神经网络模型,我们非常关心**其可训练性,即模型在超参数设置和模型初始化范围内的鲁棒性。**最近,Collins等人[10]发现,一些我们认为比普通RNN表现更好的门控RNN模型(如LSTM和GRU)只是更容易训练,而不是有更好的模型能力。虽然我们已经证明了MMoE可以更好地处理任务关联度较低的情况,但我们也希望能更深入地了解它在可训练性方面的表现。

对不同的合成数据重复实验绘制loss

结果:

首先,在所有的任务相关性设置中,Shared-Bottom模型的性能变异比基于MoE的模型大得多。这意味着Shared-Bottom模型一般来说比基于MoE的模型有更多质量差的局部最小值。Shared-Bottom更不鲁棒

其次,虽然当任务相关性为1时,OMoE模型的性能方差与MMoE模型的性能方差相似,但当任务相关性降低到0.5时,OMoE的鲁棒性有明显下降。请注意,MMoE和OMoE之间的唯一区别是是否存在多门结构。这验证了多门结构在解决由任务相关性引起的不良局部最小值方面的作用

最后,值得注意的是,所有三个模型的最低损失是相当的。

因为神经网络在理论上是通用的近似器。有了足够的模型容量,应该存在一个 "正确的 "Shared-Bottom模型,可以很好地学习两个任务。然而,请注意,这是200次独立实验运行的分布情况。而且我们怀疑,对于更大、更复杂的模型(例如,当共享底层网络是一个递归神经网络时),得到任务关系的 "正确 "模型的机会将更低。因此,明确地对任务关系进行建模仍然是可取的。

6 真实数据实验

6.1 baseline介绍

我们采用了最近的深度学习框架中使用的超参数调谐器[10],在真实数据集的实验中为所有模型搜索最佳超参数。该调谐算法是一个类似于[14,32]中介绍的Spearmint的高斯过程模型。

6.2 超参数调谐

我们采用了最近的深度学习框架[10]中使用的超参数调谐器,在真实数据集的实验中为所有模型搜索最佳超参数。

为了保持公平,限制了所有模型的规模

6.3 收入的人口普查

(1) 任务1: 预测收入是否超过5万美元;任务2:预测此人的婚姻状况是否为从未结婚。绝对的皮尔逊相关度: 0:1768.

(2) 任务1: 预测教育水平是否至少是大学;任务2:预测此人的婚姻状况是否从未结婚。绝对皮尔逊相关: 0:2373.

鉴于这两组中的任务关联性(大致由皮尔逊相关度衡量)都不是很强,Shared-Bottom模型几乎是多任务模型中最差的(Tensor-Factorization除外)。L2-Constrained和Cross-Stitch都为每个任务设置了单独的模型参数,并对如何学习这些参数增加了约束,因此表现比Shared-Bottom好。然而,对模型参数学习有约束,严重依赖任务关系假设,这比MMoE使用的参数调制机制更不可行。因此,MMoE在第2组的所有手段中都优于其他多任务模型,该组的任务相关度甚至比第1组还要小。Tensor-Factorization方法在这两组中是最差的。这是因为它倾向于在较低等级的张量和矩阵中概括出所有任务的隐藏层权重。这种方法对任务关联性可能非常敏感,因为当任务关联性较低时,它倾向于过度泛化,并且需要更多的数据和更长的时间来训练。

6.4大规模推荐系统的多目标优化

涉及很多推荐系统相关的知识,不是很懂

7 结论

我们提出了一种新的多任务学习方法,即多门MoE(MMoE),它明确地从数据中学习任务关系模型。我们通过对合成数据的控制实验表明,所提出的方法可以更好地处理任务关系不大的情况。我们还表明,与基线方法相比,MMoE更容易训练。通过对基准数据集和一个真正的大规模推荐系统的实验,我们证明了所提出的方法比几个最先进的基线多任务学习模型更成功。除了上述优点,在真正的机器学习生产系统中,另一个主要的设计考虑是计算效率。这也是共享底层多任务模型被广泛使用的最重要原因之一。该模型的共享部分在服务时可以节省大量的计算量[18, 29]。所有三个最先进的基线模型(见第6.1节)在学习任务关系时都会损失这种计算上的好处。然而,MMoE模型在很大程度上保留了计算优势,因为门控网络通常是轻量级的,而且专家网络是在所有任务中共享的。此外,该模型有可能通过使门控网络成为一个稀疏的top-k门而达到更好的计算效率[31]。我们希望这项工作能激励其他研究人员使用这些方法进一步研究多任务建模。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值