深度学习领域的多任务学习综述

news2025/1/12 18:17:30

文章目录

  • 前言
  • 1. 什么是多任务学习?
  • 2. 为何要使用多任务学习?
  • 3. 多任务学习有哪些类型?
    • 3.1 基于硬参数共享的多任务学习
    • 3.2 基于软参数共享的多任务学习
  • 4. 为什么多任务学习能提升模型的性能?
    • 4.1 隐藏数据扩充(Implicit data augmentation)
    • 4.2 注意力聚焦 ( Attention focusing)
    • 4.3 窃听(Eavesdropping)
    • 4.4 表示偏差(Representation bias)
    • 4.5 正则化(Regularization)
  • 5 非神经模型的多任务学习
    • 5.1 块稀疏正则化
    • 5.2 学习任务关系
  • 6 深度学习领域的多任务学习
    • 6.1 深度关系网络(Deep Relation Networks)
    • 6.2 全自适应特征共享(Fully-Adaptive Feature Sharing)
    • 6.3 十字绣网络(Cross-stitch Networks)
    • 6.4 低监督(Low supervision)
    • 6.5 多任务联合模型(A Joint Many-Task Model)
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

本文通过对论文An Overview of Multi-Task Learning in Deep Neural Network的解读来对多任务学习做一个大概的了解,把握多任务学习的方向。

多任务学习的应用领域:自然语言处理、语音识别、计算机视觉、药物发现。


1. 什么是多任务学习?

含义:通过相关任务间的参数或权重的共享,模型的性能表现的更加优越,这便是多任务学习。
界定:同时优化多个损失函数便可界定为多任务学习。
目标:通过利用包含在相关任务的训练参数中特定领域的训练参数,多任务学习提高了模型的泛化能力。


2. 为何要使用多任务学习?

在生物学角度,多任务学习受到人类学习的启发——在认识新事物的时候,人会使用之前认识旧事物时所获得的旧知识。
在教与学角度,不断学习的简单技术能够为我们提供掌握复杂技术的必要技能。
机器学习角度,归纳转移。


3. 多任务学习有哪些类型?

:此处的多任务学习类型是指在深度学习领域下的多任务学习类型。

3.1 基于硬参数共享的多任务学习

在这里插入图片描述
在各个任务的共有隐藏层中共享权重参数,在各任务的隐藏层中独享参数,这大大降低了模型过拟合的风险;

3.2 基于软参数共享的多任务学习

在这里插入图片描述
每个任务都有自己的模型和自己的参数,通过正则化模型中部分隐藏层参数之间的距离来促进参数的相似性。

4. 为什么多任务学习能提升模型的性能?

:假设存在相似的任务A和B,A与B有相同的隐藏层F。

4.1 隐藏数据扩充(Implicit data augmentation)

多任务学习有效地增加了用于训练模型的样本数量。不同的任务有不同的偏差,一个同时学习两个任务的模型能够学习一个更一般的权重表示。只学习A任务,A任务存在过拟合的风险,而共同学习A任务和B任务可以使模型通过对偏差的平均获得更好的隐藏层F的权重表示。

4.2 注意力聚焦 ( Attention focusing)

若在一个任务中,其数据集中数据偏差较大或数据维度较高且数据量有限,那么单任务获得的一个模型可能很难区分相关的和不相关的特征。由于在多任务学习中其他任务能为原任务中的某些特征提供相关性大小的参考,所以在多任务学习中模型能够将其注意力集中在那些有用的特征上。

4.3 窃听(Eavesdropping)

有些特性G对于B任务很容易学习,而对于A任务则很难学习 (这可能是因为A以一种更复杂的方式与特征进行交互,或者是因为其他特征阻碍了模型学习G的能力)。通过多任务学习,A任务能够窃听到B任务学习到的特征G。

4.4 表示偏差(Representation bias)

多任务学习在训练的过程中偏向于选择其他任务也喜欢的权重参数,这将有助于模型泛化到新任务中,由于模型在来自同一个环境的多个任务中表现良好,那么其在来自相同环境的任务上也会表现良好。

4.5 正则化(Regularization)

多任务学习引入一个归纳偏置来作为一个正则化器。其降低了模型过拟合的风险以及模型的复杂性。

5 非神经模型的多任务学习

存在模型:线性模型、核方法和贝叶斯算法

通过范数正则化来加强任务间的稀疏性;以及建模任务之间的关系

5.1 块稀疏正则化

:假定存在T个任务,对于其中的每一个任务t,都有与其对应的模型 m t m_t mt和一个维度为d的权重参数向量 a t a_t at:
a t = [ a 1 , t . . . a d , t ] T a_t = \left[ \begin{matrix} a_{1,t}\\ . \\ . \\ . \\ a_{d,t} \end{matrix} \right] ^T at= a1,t...ad,t T

5.2 学习任务关系

6 深度学习领域的多任务学习

6.1 深度关系网络(Deep Relation Networks)

在计算机视觉的MTL中,通常共享卷积层,学习特定任务的全连接层。通过对任务层设定先验,使模型学习任务间的关系。
在这里插入图片描述

6.2 全自适应特征共享(Fully-Adaptive Feature Sharing)

首先构建共享参数的权重共享层以及各个分任务的任务层,之后使用贪心算法从底层开始将权重共享层不断拓宽网络(网络结构不变,不同组的权重共享层中的权重参数不一样),贪心方法可能无法做到全局最优。
在这里插入图片描述

6.3 十字绣网络(Cross-stitch Networks)

在这里插入图片描述构建两个独立的模型架构,在模型的池化和完全连接的层后放置十字绣单元,从而允许模型学习其他任务的特征,本质上是一种软参数共享的多任务学习,十字绣单元如下,详情请参考Cross-stitch Networks for Multi-task Learning。
在这里插入图片描述

6.4 低监督(Low supervision)

低层任务在网络低层建模的性能高于在网络高层建模。低层任务在低层建模,高层任务才能使用低层任务的共享表示,预训练+微调。

6.5 多任务联合模型(A Joint Many-Task Model)

在这里插入图片描述

二、使用步骤

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于sudo配置

前言这里做一个小补充,主要讲一下关于利用sudo对指令提权以及普通用户无法使用sudo指令的问题。在前面的文章【Linux】一文掌握Linux权限中,我们讲到了关于权限的一些问题。我们知道root身份下,一切畅通无阻,而权限只是用来限制我…

urp SpotLight 衰减方式扩展

背景: 解决默认spotLight 的衰减模式下, 在距离灯光特别近的时候,灯光过爆的情况 解决方法: 修改SpotLight的衰减方式 下图是unity给出的几种衰减模式以及图示: 其中InverseSquare是当前2021.2 unity版本中urp(12.1…

相恨见晚的办公插件神器,颠覆我们对辅助工具的认知

不坑盒子 这是一个非常好用的插件工具,专门应用在Word文档和wps,支持Office 2010以上的版本,操作也简单且实用。 不坑盒子下载及使用说明 一键排版功能 像是下面的自动排版功能,可以在配置里面先设定好需要的格式,…

结合java中的锁聊聊锁的本质

在操作系统里面,也会遇到什么信号量、互斥量,然后说利用互斥量、信号量可以实现锁的功能,而操作系统提供的原语有又mutex锁在学习数据库的时候,什么表锁、行锁、读锁、写锁、排它锁、意向锁、meta锁等等,各种各样的锁的…

mysql数据库limit的四种用法

文章目录前言一、语法二、参数说明三、常用示例-4种用法总结前言 mysql数据库中limit子句可以被用于强制select语句返回指定的记录数。limit接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量&#xff0c…

实践数据湖iceberg 第四十一课 iceberg的实时性-业界的checkpoint配置

系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg 实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到…

硬件系统工程师宝典(12)-----EMC应该知道的事

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们说到在做电源完整性分析时去耦电容要遵循的规则,大电容的去耦半径大,小电容的去耦半径小,电容焊盘扇出时…

2023年java春招面试题及答案

2023年java春招面试题1、下面有关jdbc statement的说法错误的是?2、下面有关JVM内存,说法错误的是?3、下面有关servlet service描述错误的是?4、下面有关servlet和cgi的描述,说法错误的是?5、下面有关SPRIN…

Radio Link Monitoring(RLM)

欢迎关注微信同步公众号“modem协议笔记”。 这篇看下radio link monitoring相关的内容,就是UE进行DL radio link quality监听的规定,这部分与RLF的判定息息相关。市面上讲NR相关的书籍,多少都会涉及这部分内容,可能spec上这块的…

pdf免费转换工具,只需记住这3款就够了

PDF格式的文档在人们的办公过程中扮演着非常重要的角色,而PDF格式的文档之所以受到人们的青睐,是因为它不容易被篡改,可以用多种阅读器打开浏览。然而,在实际的应用过程中,我们不仅需要阅读PDF文档,也经常还…

HTTP压力测试概论

常用的HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资源成本。 HTTP服务压力测试工具 在…

如何使用403bypasser绕过目标页面上的访问控制限制

关于403bypasser 403bypasser是一款自动化工具,该工具能够以自动化的形式实现针对目标页面的访问控制限制绕过技术。403bypasser项目目前仍处于积极开发阶段,并且还会增加新的功能。 该工具基于Python语言开发,因此具备良好的跨平台特性。 …

最好的 QML 教程,让你的代码飞起来!

想必大家都知道,亮哥一直深耕于 CSDN,坚持了好很多年,目前为止,原创已经 500 多篇了,一路走来相当不易。当然了,中间有段时间比较忙,没怎么更新。就拿 QML 来说,最早的一篇文章还是 …

基于云服务器的hexo博客搭建(稳)

文章目录序一、前置工具的准备域名购买及服务器购买二、搭建步骤1.配置服务器环境2.nginx 的配置4.git 及node.js安装1.安装node.js:2.安装Git及配置仓库1.安装git:5.本地主机配置(这里winr ,cmd,打开命令行操作)1.安装node.js2.安…

c++11 标准模板(STL)(std::unordered_set)(十二)

定义于头文件 <unordered_set> template< class Key, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator<Key> > class unordered_set;(1)(C11 起)namespace pmr { templ…

【计算机二级python】综合题目

计算机二级python真题 文章目录计算机二级python真题文本文件“红楼梦. txt”中包含了《红楼梦》小说前20章内容&#xff0c;“ 停用词. txt”包含了需要排除的词语。请修改模板&#xff0c;实现以下功能。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪…

【安卓】安卓设备实现wifi display解决方案

看文章前&#xff0c;我们需要知道的几个概念&#xff1a; 1、Wifi Direct技术&#xff1b; 2、Wifi Display技术&#xff1b; 3、Miracast标准&#xff1b; 安卓手机用户都知道我们的安卓手机有一个wifi直连功能&#xff0c;在点击设置–》WIFI–》更多Wifi设置–》Wifi直连&a…

回顾2-JAVA的标识符和关键词

JAVA的标识符和关键词 标识符概念: 所有地方都需要名称 如: 类的名字>类名 如:变量的名字,方法的名字,特殊关键词语的名字 这些符号就是一种标识, 涵盖一些意思 简单理解, 就是一种标记,识别,的符号关键词 这些词语, 在JAVA程序中, 被赋予了特殊的意义, 使用时候要避开同名…

编写SPI设备驱动程序

编写SPI设备驱动程序 文章目录编写SPI设备驱动程序参考资料&#xff1a;一、 SPI驱动程序框架二、 怎么编写SPI设备驱动程序2.1 编写设备树2.2 注册spi_driver2.3 怎么发起SPI传输2.3.1 接口函数2.3.2 函数解析致谢参考资料&#xff1a; 内核头文件&#xff1a;include\linux\s…

Python实现GWO智能灰狼优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。1.项目背景灰狼优化算法(GWO)&#xff0c;由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优…