MTL多任务学习-Multitask Learning

把多个相关(related)的任务(task)放在一起学习

MTL多任务学习-Multitask Learning

多任务学习时,多个任务之间的模型空间(Trained Model)是共享的

多任务学习涉及多个相关的任务同时并行学习,梯度同时反向传播,多个任务通过底层的共享表示(shared representation)来互相帮助学习,提升泛化效果。

学习过程中通过一个在浅层的共享表示来互相分享、互相补充学习到的领域相关的信息,互相促进学习,提升泛化的效果。

MTL*享表示有两种方式:


(1)基于参数的共享(Parameter based):比如基于神经网络的MTL,高斯处理过程。
(2)基于约束的共享(regularization based):比如均值,联合特征(Joint feature)学习(创建一个常见的特征集合)。

有效的原因

1、引入其他任务噪声可以提高学习的泛化(generalization)效果

2、单任务学习时,梯度的反向传播倾向于陷入局部极小值。多任务学习中不同任务的局部极小值处于不同的位置,通过相互作用,可以帮助隐含层逃离局部极小值

3、添加的任务可以改变权值更新的动态特性,可能使网络更适合多任务学习。比如,多任务并行学习,提升了浅层共享层(shared representation)的学习速率,可能,较大的学习速率提升了学习效果。

4、多个任务在浅层共享表示,可能削弱了网络的能力,降低网络过拟合,提升了泛化效果。

参考:https://zhuanlan.zhihu.com/p/27421983