多任务学习可以运用到许多的场景。
首先,多任务学习可以学到多个任务的共享表示,这个共享表示具有较强的抽象能力,能够适应多个不同但相关的目标,通常可以使主任务获取更好的泛化能力。
此外,由于使用了共享表示,多个任务同时经行预测时,减少了数据来源的数量,以及整体模型参数的规模,使预测更加搞效。在多个领域中,可以利用多任务学习来提高效果或者性能,比如垃圾邮件过滤、网页检索、自然语言处理、图像识别、语音识别等等。
文章目录
``多任务学习可以运用到许多的场景。``相关任务多任务学习二分类多分类多标签分类相关关系相关任务
如果两个任务是处理输入的相同函数,但是在任务信号中加入独立的噪声处理,那么很明显这个任务就是相关任务。如果两个任务用于预测同一个个体的属性的不同方面,那么这些任务比预测不同个体的属性的不同方面更相关。两个任务共同训练时能相互帮助,并不是意味着他们时相关的。例如,通过在后向传播网络的一个额外输出中加入噪声可以提高泛化能力,但是噪声任务与其他任务不相关。多任务学习
如下图所示,展示了4个独立的神经网络,每个神经网络都是一个针对同样输入仅有一个输出的函数。误差反向传播被应用于这些网络来独立训练每个网络,由于这些网络相互之间没有任务连接欸,因此其中一个网络学习到的特征并不能帮助另一个学习网络。这里称之为任务学习。
下图展示了以恶搞输入于上图中的4个网络一致的单一网络,但该网络由4个输出,每个输出对应于上图的一个任务。
需要注意的是,这些输出可以连接他们共享的一个隐层的所有神经单元,也由如上图所示,在共享的一个隐层后形成一个独立的子网络,训练不与其他任务共享的参数。这里成为多任务学习。在多任务学习网络中,后向传播并行的作用于4个输出。由于4个输出共享底部的隐层,这些隐层中用于某个任务的特征表示也可以被其他任务利用,促使利用,促使多个任务共同学习。
多个任务并行训练共享不同任务以学习到的特征表示,是多任务学习的核心思想
二分类
对于二分类是常见的分类问题,比如判断一张图片是不是人脸。如下图所示是一个二分类示例,其中不同的颜色表示不同的类别,中间线对应的线性分类面。
多分类
多分类,是指分类数量大于2的分类问题。例如中文或者英文的OCR问题;在目标检测中针对每个候选框的分类是多分类问题。在这类问题中,总的标签数大于2,且每条数据只对应其中一个标签。比如识别问题,输入的图片必须对应于人、车、毛、狗、未知等多个标签的一个。如下图
多标签分类
针对多标签分类是指输入源可以含有多个物体,标注的标签也是有多个如下图
传统的多标签分类问题也有拆分位二分类来解决的,但是在深度学习的今天,全连接后套多个Logistic(数据流)输出是一种性价比很高的做法。
多任务学习通常包含多个任务。最为典型的是Fast RCNN 同时做softmax分类和bbox的回归,这是两个完全不同的任务。如果多任务学习中的每个任务都为二分类问题,那么这种多分类问题就是一种广义上的多标签分类问题。
一般来说,多任务学习中不同的任务之间的区别较大,所以往往不共享所有层,比如 Fast RCNN 就是独立的两个全连接层,根据任务之间的区别大小,可以决定在不同的层开始分道扬镳。这种底层共享,高层分开的做法就是迁移学习。
相关关系
二分类、多分类、多标签分类、多任务分类、多任务学习、迁移学习的相互关系:
二分类是N= 2时的多分类多分类时多标签分类的一种,时对多个相互独立的标签经行学习。多标签时多任务学习的一种,每个任务对应一个标签。多任务学习时迁移学习的一种,迁移学习中的源领域和目标领域对应多任务学习学习中的不同任务。
希望这篇文章让你对深度学习或者机器学习更加深入。
谢谢点赞评论!