前言
这篇是很久以前学习过的文章,但更多的是从使用代码的角度去学习,对文章的写作方法和结构并没有仔细的研究。现在借着做项目的机会,重新回顾这篇文章,并更多的从学习写作的方面进行阅读。
摘要
多任务学习是建立一个能够完成多个目标和任务的单一模型,重点工作在于研究模型目标和任务之间的相互关系。因此文章提出了一种多门混合专家多任务学习模型MMoE,可以学习任务之间的关系,同时具有门控网络来优化每项任务。实验表明,该模型在关联性较小的任务上表现较好,也可根据训练数据和模型初始化中不同程度的随机性,产生额外的可训练性效益。
1 简介
多任务学习模型被广泛应用于大型推荐系统中。多任务学习模型可以通过正则化和迁移学习提高模型的预测能力,但大多数多任务学习模型对任务之间的关系较为敏感,可能表现还不如单任务学习模型。
文章提出了一种基于MMoE结构的方法,明确建模任务关系,并学习任务特定功能以利用共享表示。它允许自动分配参数以捕获共享任务信息或任务特定信息,避免了为每个任务添加许多新参数的需要。
MMoE使用了一组共享底层多任务DNN结构,成为专家,同时对每一个任务都有一个门控网络。门控网络将具有不同权重的专家集合在一起,再传递到任务的专用塔网络中,这样不同任务的门控网络可以获得不同的专家集合混合模式,从而捕获任务关系。
文章的主要贡献有:
- 提出了一个显示建模的多门混合专家模型,可以自动调整模型共享信息和任务的特定信息之间的参数化。
- 使用合成数据进行实验,说明任务的相关性如何影响多任务学习的训练,以及MMoE模型是如何提高模型的表达能力和可训练性。
- 在真实的推荐系统上进行实验,验证方法和模型的可行性。
2 相关工作
2.1基于DNN网络的多任务学习
广泛使用的多任务学习模型使用了共享底部的模型结构,底部隐藏层在任务之间共享。如图1中的a。
最近的方法不使用共享隐藏层和共享参数,而是在任务特定参数上添加不同类型的约束,这种方法需要更多的特定参数,对于有大量的任务的模型来说需要更多的训练数据。
图1
2.2 子网集合和混合专家
集成模型和子网络集成可以提高模型的性能,因此可以将混合专家的模型转成基本结构块(MoE层),堆叠在DNN网络中。MoE层根据该层在训练时间和服务时间的输入选择子网(专家)。因此该模型不仅具有更强的建模能力,而且通过在门控网络中引入稀疏性降低了计算成本。
2.3 多任务学习应用
可用于多语言翻译系统和大型推荐系统。
3 初步说明
3.1 共享底层多任务模型
对于图1中的a模型,对于K个任务,该模型可以用一个共享底层网络(函数f)和k个塔网络
h
k
h^k
hk组成。共享底层网络基于输入层,塔式网络基于共享底层的输出构建,然后单独输出
y
k
y_k
yk。
对于每个任务k,有:
y
k
=
h
k
(
f
(
x
)
)
y_k=h^k(f(x))
yk=hk(f(x))。
3.2 合成数据的生成
主要通过以下公式来人工合成数据。
3.3 任务相关性的影响
对合成数据进行实验,验证在基础的多任务模型中(图1的a)低任务相关性会影响模型质量。
4 建模方法
4.1 Mixture-of-Experts
Mixture-of-Experts模型可被描述为:
f
i
f_i
fi是n个专家网络,
g
g
g表示整合所有专家结果的门控网络,在n个专家上产生不同的权重。最终输出是所有专家输出的加权和。
4.2 Multi-gate Mixture-of-Experts
Multi-gate Mixture-of-Experts的任务k的输出可表示为:
门控网络是输入带有softmax层的简单线性变换,可表示为:
每个门控网络通过训练数据来学习如何选择要使用的专家网络。在特殊情况下,如果每个门控网络指选择一个具有最高分的专家,则相当于每个门控网络将控件线性的划分成n个区域,每个区域对应一个专家,即只使用这个专家训练得到的参数,经过计算得到最后的预测结果。每个门控网络都可以根据不同任务来选择专家网络的子集,所以即使两个任务并不是十分相关,那么经过 门控网络后也可以得到不同的权重系数,此时,MMoE 可以充分利用部分专家网络的信息,近似于单个任务;而如果两个任务相关性高,那么 门控网络的权重分布相差会不大,会类似于一般的多任务学习。
5 基于合成数据的MMOE
使用了共享底层模型和MMoE模型重复3.3的实验,来验证MMoE模型能够较好处理任务相关性较低的情况。
6 真实数据实验
不同模型对在不同相关性任务下的参数分布,如图2。
图2
第一组数据集的表现,如图3。
图3
第二组的表现,如图4。
图4
大型推荐系统中的表现,如图5。
图5
Gate门控网络在两个任务的不同分布,如图6。
图6
总结
作者提出了一种新的多任务学习方法——MMoE,其通过多个 Gate 门控网络来自适应学习不同数据在不同任务下的与专家子网的权重关系系数,从而在相关性较低的多任务学习中取得不错的成绩。
共享网络节省了大量计算资源,且 Gate 网络参数较少,所以 MMoE 模型很大程度上也保持了计算优势。