多任务Multitask Learning

一次只学习一个任务,大部分机器学习都属于单任务学习。

多任务学习:把多个相关的任务放在一起学习,同时学习多个任务。

对于复杂的问题,可以分解为简单的相互独立的子问题来解决,然后再合并结果,得到最初复杂问题的结果。这样是错误的。因为现实中很多问题都不能分解成一个一个独立的问题,就算可以分解,子问题之间还是相互关联的,通过一些共享因素联系在一起。多任务学习是把多个任务之间共享一些因素,在学习的过程中共享他们所学到的信息,有更好的泛化效果。(多个任务的浅层共享)。

定义

基于共享表示,把多个相关的任务放在一起学习的机器学习方法。

多个相关任务同时并行学习,梯度同时反向传播,多个任务通过底层的共享表示、互相补充学习到的领域相关的信息,互相帮助学习任务,提升泛化效果。

作用

为什么能提高学习效果?

1、噪声

多个相关的任务放在一起学习,有相关的部分,也有不相关的部分。当学习一个任务时候,和这个任务不相关的信息就相当于是噪声,引入噪声可以调高泛化效果。

2、逃离局部最优解

单任务学习时,梯度的传播容易陷入局部极小值。但是多任务学习中的不同任务的局部极小值处于不同位置,通过相互作用,可以帮助逃离局部极小值;

3、权值更新

改变了权值更新的动态特性,比如多任务并行学习,提升了浅层共享层的学习速率;

4、泛化

可能削弱了网络的能力,降低了网络的过拟合,提升了泛化效果;

原文地址:https://www.cnblogs.com/pacino12134/p/11213416.html