多任务学习-An Overview of Multi-Task Learning in Deep Neural Networks论文笔记

2023-05-16

An Overview of Multi-Task Learning in Deep Neural Networks论文笔记

 

  • 概述:多任务学习有很多形式,如联合学习(Joint Learning),自主学习(Learning to Learn),借助辅助任务学习(Learning with Auxiliary Tasks)等。一旦发现正在优化多于一个的目标函数,就可以通过多任务学习来进行有效求解。即使优化目标只有一个,利用辅助任务仍然有可能改善主任务的学习性能。
  • 目标:利用额外的信息来源来提高当前任务的学习性能,包括提高泛化准确率、学习速度和学习的模型的可理解性。
  • 从机器学习的角度来看,多任务学习可视为一种归纳迁移(inductive transfer)。归纳迁移(inductive transfer)通过引入归纳偏置(inductive bias)来改进模型,使得模型更倾向于某些假设。举例来说,常见的一种归纳偏置(Inductive bias)是L1正则化,它使得模型更偏向于那些稀疏的解。在多任务学习场景中,归纳偏置(Inductive bias)是由辅助任务来提供的,这会导致模型更倾向于那些可以同时解释多个任务的解,这样做会使得模型的泛化性能更好。
  • 归纳偏置:提供更强的归纳偏置是迁移提高泛化能力的一种方法,可以在固定的训练集上产生更好的泛化能力,或者减少达到同等性能水平所需要的训练样本数量。归纳偏置会导致一个归纳学习器更偏好一些假设,多任务学习正是利用隐含在相关任务训练信号中的信息作为一个归纳偏置来提高泛化能力。
  • 参数的硬共享机制:

参数的硬共享机制是神经网络的多任务学习中最常见的一种方式,在实际应用中,通常通过在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现。硬共享机制降低了过拟合的风险。事实上,有文献证明了这些共享参数过拟合风险的阶数是N,其中N为任务的数量,比任务相关参数的过拟合风险要小。这表明越多任务同时学习,模型就能捕捉到越多任务的同一个表示,从而导致在原始任务上的过拟合风险越小。

  • 参数的软共享机制:

在共享 Soft 参数时,每个任务都有自己的参数和模型,对模型参数的距离进行正则化来保障参数的相似性。通常使用L2距离正则化或者迹正则化(trace norm)。

  • 多任务学习的有效性
  1. 隐世数据增加机制:由于所有任务都或多或少存在一些噪音,例如,当我们训练任务A上的模型时,我们的目标在于得到任务A的一个好的表示,而忽略了数据相关的噪音以及泛化性能。由于不同的任务有不同的噪音模式,同时学习到两个任务可以得到一个更为泛化的表示。如果只学习任务A要承担对任务A过拟合的风险,然而同时学习任务A与任务B对噪音模式进行平均,可以使得模型获得更好表示F;
  2. 注意力集中机制:若任务噪音严重,数据量小,数据维度高,则对于模型来说区分相关与不相关特征变得困难。多任务有助于将模型注意力集中在确实有影响的那些特征上,是因为其他任务可以为特征的相关与不相关性提供额外的证据;
  3. 窃听机制:对于任务B来说很容易学习到某些特征G,而这些特征对于任务A来说很难学到。这可能是因为任务A与特征G的交互方式更复杂,或者因为其他特征阻碍了特征G的学习。通过多任务学习,我们可以允许模型窃听(eavesdrop),即使用任务B来学习特征G;
  4. 表示偏置机制:多任务学习更倾向于学习到一类模型,这类模型更强调与其他任务也强调的那部分表示。由于一个对足够多的训练任务都表现很好的假设空间,对来自于同一环境的新任务也会表现很好,所以这样有助于模型展示出对新任务的泛化能力;
  5. 正则化机制:多任务学习通过引入归纳偏置起到与正则化相同的作用。正是如此,它减小了模型过拟合的风险,同时降低了模型的Rademacher复杂度,即拟合随机噪音的能力。
  • 辅助任务(Auxiliary Tasks)

辅助任务应该是与主任务密切相关的,或者是能够对主任务的学习过程有益的。对于如何定义辅助任务,Caruana在1997年给出的定义是:若两个任务使用相同的特征来做决策,那么两个任务是相似的。Baxer于2000年补充道:理论上讲相关的任务共享同一个最优的假设类,也就是同样的归纳偏置。另一文献提出若两个任务中的数据都产生自由同一类变换F得到固定的概率分布,那么两个任务是F相关的。尽管可以使用于同一个分类问题,但是不能用于处理不同问题的任务。Xue等人2007年提出若两个任务的分类边界(参数向量)是闭合的,那么两个任务是相似的。

常见的辅助任务类型如下:

1. 相关任务(Related Tasks)

可以使用相关任务作为一个辅助任务。例如:使用预测不同道路的特征来辅助学习自动驾驶的方向掌控、使用头部姿势估计与面部特征属性推断辅助脸部轮廓检测任务、同时学习查询分类与网页搜索、同时预测图像中物体的类别和位置、同时预测文本到语言的过程中音素的持续时间和频率。

2.对抗性(Adversarial)任务

在一些场景下,可以用与想要实现的目标是相反的任务做辅助任务。相反任务的数据是可以用来做对抗损失,对抗损失不用最小化的,而是使用Gradient Reversal Layer来做最大化训练误差。

3. 提示(Hints)性任务

多任务学习可以学到单任务学不到的特征。使用Hints就是这样一种有效的机制:在辅助任务中预测特征。例如在自然语言处理中,可以在情感分析中将一个输入句子中是否包含正负面情感词作为辅助任务,或者在错误名字识别中将判断一个句子中是否包含名字作为辅助任务。

4. 注意力机制

辅助任务可以用来将注意力集中在网络可能忽略的图像的某部分上。例如,对于学习方向掌控的任务中,单一的任务模型通常忽略那些图像的细微之处,如路标等。那么预测路标就可以作为一个辅助任务。对于人脸识别来说,可以将预测脸部特征的位置作为辅助任务。

5. 量化平滑

对于多任务来讲,优化目标是已经被量化的。在大多数情况下,需要人工评价来收集数据,例如,预测疾病的风险或情感分析(正面、负面、中立),由于目标函数是光滑的,所以使用较少量的量化辅助任务会使主任务得学习变得容易。

6. 预测输入

在一些情况下使用某些特征作为输入并不会对预测目标输出有益,但是它们可能可以指导监督学习的过程。在这些情形下,特征是作为输出的一部分,而非输入。

7. 用未来预测现在

许多场景中一些特征仅在做出预测后才可用。例如,在自动驾驶中,一旦汽车经过障碍物或路标,便可以对它们做出准确的度量。Caruana于1997年举了一个肺炎的例子,只有事发后才能又额外的诊断案例可用。对于这些例子来讲,这些额外的数据由于在输入的时刻并不可用,所以并不能作为特征。然而,可以用作辅助任务来为模型传授额外的知识以辅助训练。

8. 表示学习

多任务学习中辅助任务的目标在于使得模型学习到共享的表示,以帮助主任务的学习。一个显式的做法是利用一个辅助任务专门来学习一个可以迁移的表示。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多任务学习-An Overview of Multi-Task Learning in Deep Neural Networks论文笔记 的相关文章

随机推荐

  • 点云地面点滤波(Cloth Simulation Filter, CSF)“布料”滤波算法介绍

    本篇博客参考Wuming Zhang的文章 An Easy to Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation 不方便的小伙伴可以在此 xff1a 资源
  • TSCAN + TMODEL处理点云数据生成DEM

    点云数据生成DEM流程 目录 点云数据生成DEM流程1 软件环境2 操作流程2 1 加载TSCAN TMODEL插件2 2 读取点云数据2 3 点云去噪 滤波2 4 构建tin模型2 5 生成格网DEM2 6 查看DEM数据 对基于商业软件
  • LeGO-LOAM算法详解

    LeGO LOAM算法详解 整体框架 LeGO LOAM算法的总体框架如下图所示 xff1a 图中新增加了绿框中的Segmentation环节 xff0c 同时对后续的特征提取 Odometry以及Mapping部分均有一定的修改 xff0
  • 最速下降法解析(理解笔记)

    我们在高中或本科时期就了解到 xff1a 当函数存在解析形式且容易进行求导 xff08 f x f x f x 在最优点
  • ROS学习-tf介绍

    tf简介 一个机器人系统一个时间段通常有多个3D坐标系在变化 xff0c 如世界全局坐标系 xff0c world frame base frame gripper frame xff08 手臂 夹子坐标框架 xff09 xff0c hea
  • Anaconda 与 ROS 冲突解决

    Anaconda默认使用Python 3 而 ROS默认使用Python2 xff0c 若同时使用二者则会在调用一些ros包时出现冲突 目前解决方案是先在 bashrc文件中注释掉Anaconda xff1a span class toke
  • TI AWR1843毫米波雷达采集三维点云数据(ROS)

    毫米波雷达以其稳定性 对不同环境的适应能力 价格等方面的优势逐步引起了科研人员的注意 xff0c 本文主要介绍利用了TI xff08 德州仪器 xff09 的AWR1843设备 xff0c 基于ROS系统进行采集点云数据的流程 供大家参考及
  • 毫米波雷达原理介绍

    毫米波雷达是指工作在波长为1 10mm的毫米波段 xff0c 频率为30 xff5e 300GHz 基于其工作模式可以分为 脉冲 和 连续波 两种 其中 xff0c 脉冲类型的毫米波雷达的原理与激光雷达相似都是采用TOF的方法 而连续波类型
  • Ubuntu18.04使用Xorg创建虚拟屏幕

    目标 xff1a 使用远程软件 xff0c 如向日葵 TeamViewer Nomachine等来控制远程的电脑 xff08 Ubuntu 18 04桌面版本 xff09 作为服务端 存在问题 xff1a 被远程电脑若不连接屏幕会出现错误
  • 数学符号大全

    虽然在 Mathtype 能输入绝大多数想要的数学字符 xff0c 但是有些在 Visio 中无法输入 xff0c 可以在这里找出 xff0c copy就好了 xff0c 嘻嘻 xff5e 1 几何符号 2 代数符号 xff5e 3 运算符
  • 8小时用HTML5打造VNCViewer

    8小时用HTML5打造VNCViewer http cnborn net blog 另一个话题是ThoughtWorks徐昊带来的 8小时用HTML5打造VNCViewer 这个分享非常精彩 xff0c 其实现过程中的思考方式 使用的新技术
  • 自制ST-Link V2.1,带串口,可自动更新固件,含全套资料下载

    自制ST Link V2 1 xff0c 带串口 xff0c 可自动更新固件 xff0c 含全套资料下载 最近自制了一个带串口的ST Link V2 1 xff0c 现将全部资料共享给大家 xff0c 支持最新版的Keil 和IAR xff
  • LIO-SAM-自采数据运行踩坑

    一直觉得LIO SAM还是一个比较不错的激光雷达惯性里程计框架 xff0c 最近在使用自己的数据进行测试过程中出现了很多坑 xff0c 花费了一周多的时间才填平 xff0c 在此记录一下 前言 Ouster 128激光雷达数据Ouster内
  • ROS bag包提取数据

    日常使用中有时需要提取bag包中的某个topic数据为新的bag包 xff0c 或者裁剪其中的一段时间数据 这些功能均可以通过rosbag filter命令实现 下面 xff0c 我们简单介绍一下其使用流程 xff1a 首先 xff0c 使
  • Ouster激光雷达使用PTP时间同步

    IEEE1588 the Precision Time Protocol 简称为 PTP xff09 全称是 网络测量和控制系统的精密时钟同步协议标准 xff0c 可以使用ubuntu中的网卡作为时间的master也可以外接一个精准的时钟
  • MATLAB绘图:plot函数与bar函数详解

    MATLAB是由美国mathworks公司发布的主要面对科学计算 可视化以及交互式程序设计的高科技计算环境 我们可以利用它方便快捷的进行矩阵运算 绘制函数和数据 图像处理 前一段时间作者在进行毕业设计时使用MATLAB绘制了论文中的一系列插
  • 树莓派ubuntu mate系统连接PX4并通过UDP连接至QGC地面站

    前提条件 xff1a 树莓派安装了ubuntu mate 20 04系统ubuntu mate已经安装好ros 这里是noetic版本 系统 xff0c Mavros安装好QGC地面站的PCUSB数据线 xff08 确定能传输数据 xff0
  • make px4_sitl_default gazebo出现错误解决办法

    Ubuntu20 04按上图操作进行PX4配置的时候出现如下错误 xff08 确保你已经完整git Firmware或者已经翻墙 xff09 xff1a Configuring incomplete errors occurred See
  • ubuntu 常用命令汇总

    安装 sudo apt get install vim sudo apt get install nano 卸载 sudo apt get remove nano 给root用户设置密码 sudo passwd root 切换到root用户
  • 多任务学习-An Overview of Multi-Task Learning in Deep Neural Networks论文笔记

    An Overview of Multi Task Learning in Deep Neural Networks论文笔记 概述 xff1a 多任务学习有很多形式 xff0c 如联合学习 xff08 Joint Learning xff0