多任务学习

article/2025/11/8 16:36:14

一、单任务学习和多任务学习

  多任务学习是和单任务学习对应的一种机器学习方法。

  1. 单任务学习

在这里插入图片描述

  在单任务学习中,认为不同任务之间是不具有关联性的。因此,每个模型的参数都是独立训练的。这样的学习方法有两个缺陷:

  • 由于每个任务中的训练数据有限,因此所训练出的模型并不能具有很好的泛化性。
  • 由于没有考虑任务之间的关联性, 缺乏任务之间共享信息的机制,使得模型训练的过程中学习能力下降。

  因此,诞生了多任务模型。

在这里插入图片描述
  在多任务学习中,主要认为不同任务之间实际上是具有一定的关联性,因此,多任务学习采用的方法是将不同任务之间的训练数据集成在一起,然后联合同时训练多个不同任务的模型参数,提高模型的学习能力,增强模型的泛化性。

多任务学习的构建原则

  • 建模任务之间的相关性
  • 同时对多个任务的模型参数进行联合学习,挖掘其中的共享信息;
  • 考虑任务之间的差异性,增强模型的适应能力。

多任务学习的两种主要方式

  • 基于参数的共享:例如,神经网络隐藏节点的共享,这种方法主要通过挖掘不同任务之间在浅层所共享的隐藏节点特征来达到任务之间相关性建模的目的。
  • 基于正则化约束的共享:例如:均值约束、联合特征学习等,实际上就是在模型中引入一些正则化的先验,通过先验对模型的约束来建模不同任务之间的相关性。

多任务学习和其他算法之间的关系图
在这里插入图片描述


二、几种常见多任务学习

  1. 基于参数共享的多任务学习(硬共享) — 神经网络节点共享
    在这里插入图片描述

  在单任务学习中,每一个任务都对应了一个网络,也就是说,不同的任务建立了不同的神经网络来学习不同的模型参数实现任务的输出。这样的方法造成每个任务都独立训练一个模型参数,也就是说,任务一训练的参数对其他任务没有任何影响。同时任务一中提取的浅层特征对其他任务也没有相应的服务。所以几个任务之间提取的浅层特征没有达到共享的目的。

在这里插入图片描述
  在多任务学习中,让同一个神经网络具有多个不同的输出,每一个输出对应不同的任务。这样的方式可以在任务的反馈中,通过反向传播机制共同的为不同的任务训练同一个模型参数。通过挖掘不同任务之间的相关性的特征,我们在底层共享同同一个参数来提取能够为所有任务服务的共享特征达到相关性建模的目的。

实例

  1. Zhanpeng Zhang, Ping Luo, Chen Change Loy, and Xiaoou Tang. Facial landmark detection by deep multi-task learning, ECCV, 2014
    在这里插入图片描述

  在右侧有7个相关任务,它们在左侧共享同一个模型参数提取能够应用于不同任务的共享特征,这样就实现了通过神经网络的方式在浅层共享同一个参数为不同的任务服务,建立任务之间的相关性,挖掘它们之间的潜在共享信息的目的。在这个网络中,通过最后不同的输出层建立不同任务之间的差异性。

  1. 基于正则化的多任务学习(软共享)

  每个任务都有自己的模型自己的参数。模型参数之间的距离是正则化的,以便鼓励参数相似化。

2.1 均值约束共享
在这里插入图片描述

  既然任务之间具有一定的相关性,但是不知道这样的相关性如何描述?那么简单认为不同模型之间的相关性实际上是通过模型参数相互接近来建模的

  但是,我们又不知道任务一和任务二更接近,还是某几个任务之间更接近?因此,为了捕获这样一种相关性,就让每一个任务的模型参数都能够接近所有任务模型参数的均值,这样就保证了不同的任务的模型参数相互之间的距离并不是很远。

  这样的方法是一个比较直观简单的方法,可能在实际中并不是很适用,但是这种方法的提出对于基于正则化约束的多任务学习模型提供了一个较好的思路。

2.2 联合特征约束的多任务学习
在这里插入图片描述

  这个方法是认为不同的任务之间的模型参数可能会共享样本的某一个共同特征集合。如图所示,Y的每一列对应不同的任务,W的每一列对应每个任务的模型参数,图中表明了每个任务都挑选了样本的第1,2,3,5,6,9个特征。通过这样的方式可以建立不同任务之间的相关性达到多任务学习的目的。

下面通过例子说明这种假设为什么是成立的?

实例:现在的任务是预测五个不同学校的学生成绩。
在这里插入图片描述

  那么现在我们五个不同的模型参数,每一个模型都能够预测对应学校的学生成绩。左侧是提取的学生的特征。
对于这样的一个回归任务,我们可以认为不同任务之间实际上是具有共享特征集合的多任务学习模型。因为我们认为影响学生成绩的主要因素是上次成绩,上次排名,睡觉时间和父母教育背景这四个因素。尽管每个任务是预测不同学校的学生,但是这个例子中可以直观地感受到每一个学校的模型参数实际上都应该与一些直观的影响成绩的特征是有关的。所以在右边模型参数上都选了第1,2,3,7个特征。

  所以上面假设是合理的。但是这样的相关性要求在实际中可能显得有些严格,只针对某一些特定任务,实际任务往往没有这种严格的形式。比如对于第一个学校来说,按照学生身高进行排座,个子小的同学坐前面,有可能这个因素会影响成绩,因此身高可能是会影响第一个学校的成绩的因素。


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

相关文章

多任务学习 (Multitask Learning) 汇总

1 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题…

【GANs学习笔记】(十八)LAPGAN、ProGAN、SRGAN

完整笔记:http://www.gwylab.com/note-gans.html ——————————————————————— 4. LapGAN 4.1 LapGAN基本思路 如果我们希望生成高分辨率图像,还有一种GANs可以考虑,那就是LapGAN。LapGAN与StackGAN有着非常类似的思路&…

GAN网络

目录 GAN生成网络G(Generative)对抗网络D(Discriminative)两分布之间差异性评价KL散度JS散度 损失函数一次代码实验 WGANWGAN-GPConditional GAN GAN 生成式对抗网络(GAN, Generative Adversarial Networks&#xff0…

基于pytorch的SRGAN实现(全网最细!!!)

基于pytorch的SRGAN实现 前言SRGAN论文概要(贡献)网络结构和损失函数pytorch代码实现1. 准备工作1.1 数据下载并放到合适位置 2. 开始训练和测试 源码详解1. 数据集的加载: data_utils.py2. 网络模型: model.py2.1 生成器: Generator2.2 判别器:Discrimi…

超分辨率——基于SRGAN的图像超分辨率重建(Pytorch实现)

基于SRGAN的图像超分辨率重建 本文偏新手项,因此只是作为定性学习使用,因此不涉及最后的定量评估环节 目录 基于SRGAN的图像超分辨率重建1 简要介绍2 代码实现2.1 开发环境2.2 主要流程2.3 构建数据集2.4 构建生成模型(Generator&#xff09…

SRCNN神经网络

0 前言 超分辨率技术(Super Resolution,SR)是指从观测到的低分辨率图像重建出相应的高分辨率图像,在监控设备、卫星图像和医学影像等领域都拥有着重要的应用价值。 1 SRCNN SRCNN是深度学习用在超分辨率重建上的开山之作。 其结构十分简单&#xff0c…

SRGAN的理解

全文翻译见:https://blog.csdn.net/weixin_42113955/article/details/89001989 和https://blog.csdn.net/c2a2o2/article/details/78930865 1. ptrain是真正的HR图像,也就是data要预测的。 pG是生成的超分辨图像 好处在于:固定 G&#xff0c…

GANs综述

生成式对抗网络GANs及其变体 基础GAN 生成式对抗网络,是lan Goodfellow 等人在2014年开发的,GANs 属于生成式模型,GANs是基于最小值和最大值的零和博弈理论。 为此,GANs是由两个神经网络组成一个Generator。另一个是Discriminat…

图像的超分辨率重建SRGAN与ESRGAN

SRGAN 传统的图像超分辨率重建方法一般都是放大较小的倍数,当放大倍数在4倍以上时就会出现过度平滑的现象,使得图像出现一些非真实感。SRGAN借助于GAN的网络架构生成图像中的细节。 训练网络使用均方误差(MSE)能够获得较高的峰值…

SRGAN With WGAN

SRGAN With WGAN RGAN 是基于 GAN 方法进行训练的,有一个生成器和一个判别器,判别器的主体使用 VGG19,生成器是一连串的 Residual block 连接,同时在模型后部也加入了 subpixel 模块,借鉴了 Shi et al 的 Subpixel Ne…

SRGAN论文与ESRGAN论文总结

博客结构 SRGANContribution:Network Architecture:Generator NetworkDiscriminator Network Perceptual loss function:Experiments:Mean opinion score (MOS) testing: ESRGANContribution:Network Architecture:ESR…

SR-GNN

Session-based Recommendation with Graph Neural Networks 一、论文 1、理论 ​ SR-GNN是一种基于会话序列建模的推荐系统。会话序列专门表示一个用户过往一段时间的交互序列。 ​ 常用的会话推荐包括循环神经网络和马尔科夫链,但有两个缺点: 当一…

SRGAN(SRResNet)介绍

生成对抗网络GAN是由蒙特利尔大学Ian Goodfellow在2014年提出的机器学习架构。 生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至…

SRGAN

摘要: 尽管使用更快更深的卷积神经网络在单图像超分辨率的准确性和速度方面取得了突破,但一个核心问题仍然很大程度上未解决:当我们在大的升级因子上超分辨时,我们如何恢复更精细的纹理细节?基于优化的超分辨率方法的行…

深度学习计划(4)SRGan简析

SRGAN 一种用于图像超分辨率(SR)的生成对抗网络(GAN) 超分辨率:从低分辨率(LR)图像来估计其对应高分辨率(HR)图像的高挑战性任务被称作超分辨率(SR) 问题: 重建的SR图像中通常缺少纹理细节。有监督SR算法的优化目标通常是最小化恢复的HR图像和真实图像…

图像超分经典网络 SRGAN精确解析

SRGAN 核心思想 早期超分辨率方法的优化目标都是降低低清图像和高清图像之间的均方误差。降低均方误差,确实让增强图像和原高清图像的相似度更高。但是,图像的相似度指标高并不能代表图像的增强质量就很高。 为什么 SRGAN 的增强结果那么清楚呢&#x…

SRGAN简单了解

超分辨率问题的病态性质尤其表现在取较高的放大因子时,重构的超分辨率图像通常会缺失纹理细节。监督SR算法的优化目标函数通常取重建高分辨率图像和地面真值之间的均方误差,在减小均方误差的同时又可以增大峰值信噪比(PSNR),PSNR是评价和比较…

【超分辨】SRGAN详解及其pytorch代码解释

SRGAN详解 介绍网络结构损失函数数据处理网络训练 介绍 「2023年更新」本代码是学习参考代码,一般不能直接运行,想找现成能运行的建议看看其他的。 SRGAN是一个超分辨网络,利用生成对抗网络的方法实现图片的超分辨。 关于生成对抗网络&#…

超分之一文读懂SRGAN

这篇文章介绍SRResNet网络,以及将SRResNet作为生成网络的GAN模型用于超分,即SRGAN模型。这是首篇在人类感知视觉上进行超分的文章,而以往的文章以PSNR为导向,但那些方式并不能让人眼觉得感知到了高分辨率——Photo-Realistic。 参…

图像超分经典网络 SRGAN 解析 ~ 如何把 GAN 运用在其他视觉任务上

生成对抗网络(GAN)是一类非常有趣的神经网络。借助GAN,计算机能够生成逼真的图片。近年来有许多“AI绘画”的新闻,这些应用大多是通过GAN实现的。实际上,GAN不仅能做图像生成,还能辅助其他输入信息不足的视觉任务。比如SRGAN&…