MultiTask Learning Survey

article/2025/8/21 23:18:44

目录

一、常见Multi-Task 架构

二、MTL的一些优化方法

三、Experiment+Conclusion


原文链接:MultiTask Survey

一、常见Multi-Task 架构

Hard和Soft区分:Hard共享底层参数,在高层提取中相互独立;Soft使用十字绣的形式,使得不同的“独立”Task网络之间有交互;

缺点:这两种方式都会随着Task增长模型的规模线性变大;在Hard中何处“分支”是一个较难解决的问题;

Encoder-based和Decoder-based区分:在底层特征提取时可以结合使用Hard和Soft的架构,但是Encoder在高层特征预测时候相互独立,Decoder的在高层依旧进行信息通信;

下面着重讲一下基于Encoder和Decoder架构思想的方法

Encoder-based

1.  左侧NDDRCNN同样是十字绣架构,会有分支问题确定的出现(已经有BMTAS,LTB使用树模型思想,自动确定branch节点),右侧MTAN使用Attention架构(其实可以理解为不同维度的W对backbone进行特征提取)

Decoder-based

1. PAD-Net,先进行附属目标的训练,然后使用附属目标来进行最终目标的分类,有点像Stacking策略的感觉

2. PAP Net:将相似度矩阵也输入到Model中进行训练

3. JTRL:递归训练,不再并行,改为交叉预测

4.MTR-Net:感觉像是不同的size的Conv去提取特征,然后融合特征去做最后的预测

注意:在上述模型中的Task,可以先检验Task相似性比较好。完全不相关的Task会干扰模型。

二、MTL的一些优化方法

1. Uncertainty Weighting:其实就是在目标函数中添加噪声扰动

2. Gradient Normalization:鼓励所有的tasks按照相同的速度进行训练,避免出现不同程度的梯度

3. Dynamic Weight Averaging (DWA):当一个任务相对下降速率变慢,其weight就上升。

4. Dynamic Task Prioritization(DTP):给予更难的任务更高的权重,引入了KPI的概念,但需要手动设置权重

5. MTL:利用进化计算的思想寻找帕累托最优解

三、Experiment+Conclusion

评价准则:当然不能和单任务的评价准则一致,需要综合考虑多个任务。

 

BackBone:作者选取了Res-Net50和HRNet-18。

发现结论如下:

1. 好的MTL架构的效果比优化方法的效果提升度要大。

2. Decoder-Focused的效果一般比Encoder-Focused的效果要好。

3. Encoder-Focused的模型最终效果和Single-task的训练好坏相关性较大。当性能至关重要的时候建议使用十字绣网络架构,如果资源有限,建议使用MTAN Model。Decoder-Focused的模型最终效果里面PAP-Net的效果最好,但消耗资源比JTRL多。

4. GradNorm的效果在Balance方法中是最优的,Fixed weighted和Uncertainty是最Robust的,Grid-search相比于auto-balanced的方法要好。


http://chatgpt.dhexx.cn/article/DnueBqZC.shtml

相关文章

Multitask Learning

参考 Multitask Learning - 云社区 - 腾讯云 1、单任务学习VS多任务学习 单任务学习:一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。多任务学习:把多个相关(related)的任务…

Multi-Task 多任务学习, 那些你不知道的事

作者 | 三和厂妹 来源 | 文末『阅读原文』处 概念 当在一个任务中要优化多于一个的目标函数[1] ,就可以叫多任务学习 一些例外 「一个目标函数的多任务」:很多任务中把loss加到一起回传,实质优化的是一个目标函数, 但优化的是多个任务&…

多任务学习综述:推荐系统多任务学习(multitask)的实战总结和常见问题(一)

多任务学习算法系列的主要内容是回顾和总结自己2019-2021间在深度学习多任务学习算法(multitask)的工业实践和遇到的常见问题,欢迎更多同学讨论和指正,同时也宣传一波我们组在推荐方向的工作成果——大规模推荐算法库PaddleRec(https://githu…

VS2012下载和安装

1.下载链接 https://pan.baidu.com/s/1YR7Xk9Zlv7zQWCsERdVgIQ 提取码:stvi 2.鼠标右击【Visual Studio2012】压缩包选择【解压到Visual Studio2012】。 3.打开解压后的文件夹,鼠标右击【vs_ultimate】选择【以管理员身份运行】。 4.点击【…】可更改安…

Visual Studio 2013 详细安装教程(安装+注册)

转载自:安装注册:https://jingyan.baidu.com/article/09ea3ede3b2496c0afde3944.html IE10报错解决办法:https://jingyan.baidu.com/article/ff42efa92f79cac19e2202cd.html 1.还是老样子,首先要下载安装文件,这里提供…

使用cubemx工具的STM32对外部flash(W25Q64)的简单编程

SPI SPI简介 SPI通信原理 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为…

stm32 W25QXX系列驱动 W25Q80 W25Q16 W25Q32 W25Q64 W25Q128 W25Q256

头文件 #ifndef W25QXX__H #define W25QXX__H #include "sys.h"#define W25Q80 0XEF13 #define W25Q16 0XEF14 #define W25Q32 0XEF15 #define W25Q64 0XEF16 #define W25Q128 0XEF17 #define W25Q256 0XEF18#define W25QXX_CS PAout(4)//指令表 #define W25X…

SPI专题(二)——STM32驱动FLASH(W25Q64)

前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。 github:my github 注:博客所涉及的关于 st…

STM32系列(HAL库)——F103C8T6通过SPI方式读写W25Q64—(Flash存储模块)

1.软件准备 (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) 2.硬件准备 (1)W25Q64模块 (2)F1的板子,本例使用经典F103C8T6 (3)ST-link 下载器 (4)USB-TTL模块 (5)杜邦线若干 3.模块资料 (1)模块简介: W25Q64(64M-bit)&#xff0c…

SPI协议学习Cubmx——读写Flash W25Q64

这是最好的时代,这是最坏的时代; 这是智慧的时代,这是愚蠢的时代; 这是信仰的时期,这是怀疑的时期; 这是光明的季节,这是黑暗的季节; 这是希望之春,这是失望之冬&#xf…

STM32使用QUADSPI读写外部Nor Flash(以W25Q64为例)

使用QUADSPI读写W25Q64 QUADSPI介绍硬件连接双闪存模式禁止双闪存模式使能 QUADSPI命令序列指令阶段地址阶段交替字节阶段空指令周期阶段数据阶段 QUADSPI主要信号接口协议模式单线SPI模式双线SPI模式四线SPI模式 使用QUADSPI操作W25Q64发送命令函数状态轮询函数读ID函数QUADSP…

W25Q64内部结构

和STM32片上一样 我们分析 函数接口: 擦除1个扇区 【参数必须是4096的倍数】 void SPI_FLASH_SectorErase(uint32_t SectorAddr) 擦除芯片全部 void SPI_FLASH_BulkErase(void) 写入一页【数据比256小】 pBuffer:待写入数据的指针 WriteAddr&#xff…

基于STM32F401RET6字库烧录(SPIW25Q64驱动)

目录 一、SPI&W25Q64 1-SPI介绍 2-初始化SPI 3-SPI数据接收和发送函数 4-验证SPI是否配置正确(读W25Q64的ID) 二、W25Q64简介与API函数 1 - W25Q64芯片介绍 2- W25Q64芯片管脚说明 3- W25Q64芯片工作原理 4- W25Q64芯片操作时序 三、字库烧…

STM32CubeMx开发之路—13使用SPI读写W25Q64

!!! 本文已同步到码云 - 点击此链接获取最新 - 可进入码云提交修改 !!! 附件 源码已放到码云 ! ! ! ( 请点击文首链接进入仓库 ) 运行环境 Windows10STM32CubeMX Version 5.2.0Keil5(MDK5) Version 5.28.0.0 简介 本例程主要讲解如何使用硬件IIC读写24C02 STM32CubeMx基本配…

STM32CubeMX系列08——SPI通信(W25Q64、NRF24L01无线模块)

文章目录 1. 准备工作1.1. 所用硬件1.2. SPI 简介1.3. 生成工程1.3.1. 创建工程选择主控1.3.2. 系统配置1.3.3. 配置工程目录 2. 读写EEPROM实验(W25Q64)2.1. W25Q64 简介2.2. 代码实现 3. NRF24L01无线模块通信3.1. 模块简介3.2. SPI 配置3.2.1. SPI1 配…

STM32驱动W25Q64读写数据

STM32驱动W25Q64读写数据 一.基本参数二.通信协议1、时序:2、代码: 三.引脚定义与接线1、引脚定义2、对应接线 四.主要代码五.操作步骤与现象六.总结 一.基本参数 1.采用…

学习日记——W25Q64 FLASH—QSPI

W25Q64串行FLASH基础知识 大小:8M(Byte)(128块(Block),每块64K字节,每块16个扇区(Sector),每个扇区4K字 节,每个扇区16页&#xff0c…

(STM32)W25Q64存储模块

1bit表示一个二进制位,1Byte表示8个二进制位。 每一个字节需要一个地址,所以24位地址,2^24次方最大寻址范围是16M。 W25Q256是特殊型号,切换4字节寻址模式才能使用后面的16M空间。 HOLD:芯片正常读写数据时&#xff…

SPIW25Q64(精华版)

1. SPI总线 1.1 W25Q64 1.1 W25Q64简介 W25Q64 是一种具有SPI接口的FlASH存储器,具有32768个可编程页(Page256B),2048个可擦除扇区(Sector16*Page),128个可擦除块(Block16*Sector),容量为128*16*16*256B8MB(64bit),…

W25Q64简介(译)

W25Q64是华邦公司推出的大容量SPI FLASH产品,其容量为64Mb。该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件。W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节。W25Q…