多任务学习概述


前言

单一任务独立学习存在的问题:

  • 单一任务独立学习随着任务复杂程度和数据规模的增加,对人工标注数据的数量和质量也提出了更高的要求,造成了标注成本和难度的增大。
  • 单一任务的独立学习往往忽略了来自其它任务的经验信息,致使训练冗余重复和学习资源的浪费,也限制了其性能的提升。

迁移学习(Transfer)含义

  • 把为任务A开发的模型作为初始点,重新使用在为任务B开发模型的过程中。例如我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

多任务学习的优点

  • 多任务学习假设不同任务数据分布之间存在一定的相似性,在此基础上通过共同训练和优化建立任务之间的联系,这种训练模式充分促进任务之间的信息交换并达到了相互学习的目的。

基于单任务学习存在的问题以及多任务学习的优势,本文通过论文 张钰,刘建伟,左信.多任务学习[J].计算机学报,2020,43(07):1340-1378.来对多任务学习做一个整体的把握。

1 文章信息

作者:张 钰
单位:中国石油大学(北京)自动化系
期刊:计算机学报(CHINESE JOURNAL OF COMPUTERS)
题目:多任务学习

2 背景、目的、结论

2.1 背景

多任务学习的概念
1994年,Caruana提出了多任务学习的概念:多务学习是一种归纳迁移机制,基本目标是提高泛化性能.多任务学习通过同时训练多个相关任务,学习到任务之间的一些共享表示,并进一步地挖掘训练信号中的特定域信息来提高每个任务泛化能力.
多任务学习的应用:数据挖掘、计算机视觉、语音识别、生物医疗、社交网络。
多任务学习VS单任务学习

  • 单VS多1:虽然任务数据采集的来源和分布是相似的,即可能存在共同的归纳偏置,但是由于学习的目的不完全相同,不能简单地将它们合并为一个任务,此时可以将它们看作是由多个相关的任务组成,选择多个任务联合学习,从而获得一些潜在信息以提高各自任务的学习效果.
  • 单VS多2:多任中的其它任务可以为相关的特征提供额外的参考信息,可以有效降低单个任务过拟合和泛化能力差的风险。

其它迁移学习VS多任务学习:其它迁移学习方法侧重于归纳转移,多任务学习侧重于共享。

2.1.1 多任务的类型分类

2.1.1.1 相关任务的分类

多任务学习包括但不限于联合学习(joint learning)自主学习(learning to learn)带有辅助任务的学习(learning with auxiliary task)

联合学习:联合学习又称为对称多任务学习,其认为模型是对称的,不区分主任务和辅助任务,将几个类似的学习任务同时进行训练,通过任务之间的特征信息迁移共同地提升所有任务的学习效率。

自主学习:自主学习又称为非对称多任务学习,利用源任务的信息来改进某些目标任务的学习性能,通常在源任务被学习后使用,和迁移学习不同的是,自主学习仍是建立在共同学习基础上,并不强调源域和目标域分布的差异性,如果分布相似性条件不成立,使用非对称多任务学习是不合理的,只能考虑迁移学习。

带有辅助任务的学习:针对辅助任务的用处不同,又可以将多任务学习划分为输入变输出逆多任务学习对抗性多任务学习辅助任务提供注意力特征的多任务学习附加预测性辅助任务的多任务学习

2.1.1.2 将输入变输出的逆多任务学习

无监督学习:在无监督学习中并没有监督信号,将特征同时作为输入和输出,利用不同的无监督样例的特征信息为彼此提供监督信号,此时允许测试样例的特征作为输入,将其它样例上的特征作为输出,进而达到不同的学习效果,最大地发挥这些特征的作用。

辅助任务:在有监督的多任务学习中如果存在比作为输入更有价值的特征时,可以使用其它任务上的样例的特征作为监督信号,学习目标任务训练集上其它的输入特征到这部分特征的映射关系,学习映射关系的过程可以作为辅助任务.

2.1.1.3 对抗性多任务学习

  • 具有两个任务的对抗性网络如下图所示,其由主要任务输出子网络次要任务输出子网络以及主次任务共同的输入网络构成。其中两个子网络是独立的,输入层提取任务间共享表示.

  • 次要任务在反向传播过程中经过一个反转层将梯度方向反转,弱化了对抗任务的分类精度,目的是学习次要任务的对抗表示,所以对主任务有损害且无关的域依赖信息将从表示中清除。

  • 通过共同学习一个辅助任务域和主要任务域的不变表示,对抗性任务可以发现目标任务最本质的特征,训练完成后将对
    抗性任务的输出子网删除,最终经过对抗学习过程之后,主任务学习的是去除无关信息的特征表示,鲁棒性增加,进而学习效果得到提升。
    在这里插入图片描述

2.1.1.4 辅助任务提供注意力特征的多任务学习

  • 这里的辅助任务可以称为提示性任务,是一种为监督学习增加信息的方式。
  • 在单任务学习过程中,一些显著特征对学习结果的影响较大,一些不常用特征往往被忽略,但是这类特征对于任务的某些功能是必要的,在一般的多任务学习中,这部分不常用的特征可以通过辅助任务单独引入,在共同学习过程中将其放大,平衡显著特征带来的学习不充分问题。
  • 此类在目标任务中需要单独放大的特征一般称为需要注意力集中的特征.

2.1.1.5 附加预测性辅助任务的多任务学习

在出现一些与主任务相关的未知特征时,可以将这些特征的学习作为辅助任务,在离线过程中收集,而在在线过程中为主任务提供额外的信息,帮助主任务学习更合理的归纳表示,这类辅助任务就称为预测性任务,这些额外的任务产生的未来特征测量值,可以应用于很多离线问题。

3 内容与讨论

3.1 多任务学习算法

3.1.1 多任务学习的定义

在这里插入图片描述
在这里插入图片描述

大多数现有MTL算法的一个关键假设是所有任务都通过某种结构相互关联,多任务中任务信息共享是通过特征的联系实现的。

3.1.2 多任务算法的分类

学习模式的不同:分为传统的结构化学习方法深度多任务学习方法

  1. 传统的结构化学习方法不利用抽象后的特征,最终以结构约束的形式体现任务联系,深度多任务学习方法会改变特征的表现形式。
  2. 深度多任务方法对各个任务的特征逐层进行建模,任务关系的表述是通过改变层与层之间的连接方式。

在这里插入图片描述

3.1.3 基于任务层面的学习方法

3.1.3.1 模型参数共享

在早期阶段,许多任务方法侧重于利用任务关系的先验信息,
多层前馈神经网在神经网络 ,Caruana提出,隐含层代表来自所有任务的共同特征,输出层中的每个神经元通常对应于一个任务的输出。
多任务支持向量机方法,假定存在一个通用的多任务模型,权衡每个任务到此通用模型的中心偏离度和模型参数平均值,使得总体损失函数达到最优。
W t = W 0 + V t W_t = W_0+V_t Wt=W0+Vt

  • W 0 W_0 :任务集隐含的共同模型
  • V t V_t t:表示各个任务和中心模型的距离

模型参数共享的出发点是建立在任务相似性比较大的基础上,假设任务相互关联,学习目标是获得一个中心模型来描述这些任务的公共特征集。所以可以看到大多数约束都是使得各个任务模型足够靠近这个模型均值,而现实情况中大部分多任务之间很难满足非常紧密的相关性,于是出现了只挑选一些主要特征的公共特征共享方法。

3.1.3.2 公共特征共享

在公共特征共享的方法中,假设各种任务共享相同的稀疏模式,表现在参数矩阵上就是一些特征行整体被诱导为零,作用是强制所有任务共享一组公共特征来建模任务之间的相关性.这类模型将联合损失定义为各任务损失和正则化项之和:

后文待定!!!!!!!!!!!!!!!!!!!!


总结

猜你喜欢

转载自blog.csdn.net/qq_40940944/article/details/129140853