八、迁移学习和多任务学习

news2024/9/20 1:24:03

文章目录

  • 1、迁移学习
  • 2、多任务学习
  • 3、端到端学习
  • THE END

1、迁移学习

\qquad 迁移学习是将某个任务学习到的知识(神经网络的参数信息)迁移到另外一个相似的任务中使用,从而重复利用相似任务学习共同之处,节省模型训练的时间,提高模型的训练效率和训练精度。如下图的神经网络,将之前训练好的神经网络的最后一层或者几层的参数重新随机初始化之后,应用到其他相似任务中,从而将当前训练好的知识进行前移使用。
在这里插入图片描述

\qquad 如在图像识别中,当前手头的任务是需要训练一个关于医学影像识别的分类器,但是没有过多的训练数据,则可以使用其他训练好的分类器,如猫/狗/车分类器,其中的部分学习到的知识(部分神经网络参数)应用到医学影像识别分类器中。或者在语音识别中,当前训练好了普通语音识别的分析器,但需要快速构建一个命令识别分类器,没有很多的命令训练数据,则可以将普通语音识别分类器部分神经网络的参数迁移到命令识别分类器中。
\qquad 这样做的一个原因是因为,相似的任务中,神经网络学习到的知识具有相似性,从而在一定程度上可以进行迁移使用。但同时需要满足一个大的前提,即现有分类器的的训练数据量一定要超过目标分类器的训练数据量,否则,肯定是直接使用目标训练数据直接训练效果要更好。
\qquad 总结来说,迁移学习(从任务A迁移到任务B)在满足下述条件时,才会有意义:

  • 任务A和任务B的输入相似
  • 任务A的数据量远超于任务B的数据量
  • 任务A和任务B有相似的底层特征,如都是图像,或者都是声音

2、多任务学习

\qquad 之前所说的学习方式均使用一个神经网络结构来解决一个问题,如果使用单一的神经网络通过训练之后可以解决多个问题,则称为多任务学习。如给定在自动驾驶图像识别训练过程中,通常需要识别一幅图片之中是否包含多种物体,如是否包含车辆,行人,红绿灯,标志牌等等。这样,就需要使用单一的神经网络来是被不同的物体是否存在于同一张图片之中,称之为多任务学习。如下图所示:
在这里插入图片描述
\qquad 多任务学习在满足以下条件时,会有意义:

  • 不同任务之间有相似的底层特征
  • 不同任务之间的训练数据量相似,对于某一项任务,其余任务总的数据量要要超这项任务
  • 需要使用足够大的神经网络进行训练和学习

3、端到端学习

\qquad 端到端学习是相对于流水线学习而言的一种学习方式,如语音识别中,在端到端学习出现之前,会有一个复杂的流水线流程来实现一段语音的识别,流水线中包含很多繁琐的细节,每个细节中又包含许多繁杂的手工设计。而端到端学习省略了流水线中繁杂的细节设计,直接使用一个神经网络来替代流水线流程,通过给予大量的数据训练,在样本量足够的的情况下,可以超过流水线学习方法的性能。当前门禁系统使用流水线更加高效,因为没有足够多的样本来进行端到端的学习。
\qquad 所以使用端到端学习的大前提是由足够的数据量来训练模型。

THE END

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

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

相关文章

一名普通22届本科毕业生|前端程序员|22年年终总结

文章目录22年上半年:最后的学生时光隔离实习币基金迷茫困惑难受不要去想人生意义读书景点环境的力量再次隔离返校入职前的学习22年下半年:上班工作生活总结本来准备在22年年末写的,奈何那段时间工作太忙没抽出时间。现在是23年的1月27日&…

paddleOCR代码工程的MD模式改造

一、下载cmake_3.22.3,用于生成vs工程 Index of /files/v3.22 下载完成,解压文件,打开cmake-gui.exe,即可使用: 二、下载Git(Git-2.36.0-64-bit.exe)并按照默认路径安装,cmake需调用…

使用Moment格式化时间出现时间差

诶嘿,很离奇。前些天后端老哥给我说我这时间展示不对。 我就奇了个大怪,就是取的这个字段嘛,怎么肥事😭 看半天发现是时间格式化出的问题。 原代码⬇️,看起来没毛病嘛,值打印出来也与接口里的这个时间一…

到底卡在了哪里,2023年再撒谎网慢就说不过去了

前言互联网下行带来灵魂追问。钱花哪去了?产出在哪里?动辄自建的遮羞布逐步显现,不过自建的成本可能还不是最大的负担,掣肘的可能是把不重要的事情当成了主业来做,比如:互联网比如数字化转型比如研发效率和…

Verilog HDL基本语法规则

⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。 🔥文章和代码已归档至【Github仓库&#xf…

10大面试必备的排序算法 Python 实现(附源码)

今天给大家分享一篇关于Python实现排序算法的文章,来自GitHub。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一…

STM32入门基础

GPIO <1>说明 引脚电平&#xff1a;0~3.3V&#xff0c;部分可达到5V(参考引脚定义&#xff0c;带FT的就可以) 同时 GPIO有两个模式 输出模式&#xff1a;进行端口高低电平的输出&#xff0c;用于驱动LED&#xff0c;蜂鸣器等 输入模式&#xff1a;读取端口高低电平…

SimBERT剖析

SimBERT SimBERT&#xff0c;它是以Google开源的BERT模型为基础&#xff0c;基于微软的UniLM思想设计了融检索与生成于一体的任务&#xff0c;来进一步微调后得到的模型&#xff0c;所以它同时具备相似问生成和相似句检索能力。 UniLM UniLM是一个融合NLU和NLG能力的Transfo…

远程桌面控制:SmartCode VNC ViewerX ActiveX 3.10 Crack

SmartCode::ViewerX VNC 查看器 ActiveX 毫不费力地将 VNC 查看器功能添加到您的应用程序 SmartCode ViewerX VNC 查看器 ActiveX 使开发人员可以使用一组直观的 ActiveX 属性和方法完全访问 VNC 查看器功能。借助ViewerX 控件&#xff0c;开发人员可以轻松地为其应用程序提供屏…

将自己写的代码利用git 上传到码云(gitee)或者github----最简洁明了版

前置操作 注册并激活码云账号&#xff08; 注册页面地址&#xff1a;https://gitee.com/signup &#xff09; 生成并配置 SSH 公钥 官方提供的生成并配置公钥的方法点此 创建空白的码云仓库 输入仓库名称之后路径会自动生成 把本地项目上传到码云对应的空白仓库中 如果您是…

MyBatis-Plus快速开始

文章目录介绍特性框架结构传统编程模式快速开始介绍 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。只做增强不做改变的意思是&#xff1a;MP不会影响原生的 M…

[HITCON 2017]SSRFme(perl脚本中get命令执行漏洞)

目录 代码审计 思路 知识补充 PHP中$_SERVER的详细用法 pathinfo() 函数 str_replace() 函数 escapeshellarg peal函数中get命令漏洞 Perl中open命令执行&#xff08;GET&#xff09; 代码审计 <?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) {$http_x_headers…

GuLi商城-项目初始结构创建

GitHub账号和密码 账号&#xff1a;11360XXXXXqq.com 密码&#xff1a;ZH**SH*19**1016 新建仓库&#xff1a; gulimall 记得勾选下Add a README file&#xff0c;上面忘记勾选了&#xff0c;实际建议还是要勾选下 复制路径&#xff1a; 打开IDEA检出项目 创建商品微服务模…

flutter 作为模块引入 iOS 项目

原文 http://summerxx.com/2023/01/28/ios-use-flutter/ 前言: 上篇我讲了下 flutter 环境在 MacOs 下搭建, 今天写下如何在一个成熟的 iOS 项目内引用 flutter, Demo 会放到文章最后哈 上篇 : MacOS 下配置flutter 环境 大致如下: 在项目内创建一个 flutter 模块 新建一个 …

Unity 在URP中显示动态批处理 Dynamic Batching 选项

Unity 在URP中显示动态批处理 Dynamic Batching 选项前言步骤1. 打开 Preferences 设置2. 选择 Core Render Pipeline 选项卡3. 修改 Visibility 为 All Visible4. 打开 Project Settings5. 打开 Graphics 选项卡6. 找到 URP 设置7. 开启 Dynamic Batching鸣谢前言 使用URP时突…

计算机相关专业提升学历的解决方案(本科及以下)

文章目录1、学历与学位的区别1.1 学历与学位的概念&#xff0c;学籍的规则1.2 学历与学位的作用2、正规全日制本科2.1 高考2.2 统招专升本3、继续教育&#xff08;非全日制&#xff09;3.1 自学考试&#xff08;无学籍&#xff09;3.2 成人高考&#xff08;函授&#xff0c;业余…

详谈ORB-SLAM2的跟踪线程Tracking

ORB-SLAM2的三大线程几乎都是每个部分对应一个函数&#xff0c;非常清晰。函数名起的都十分贴切&#xff0c;望文就能生义&#xff0c;我们更应该关注的是里面的关键帧地图点这些变量是怎么流转的。 Tracking线程的流程就是&#xff1a;首先输入一帧图像&#xff0c;然后实际上…

开启前端CSS学习之路-css003

&#x1f60a;博主页面&#xff1a;鱿年年 &#x1f449;博主推荐专栏&#xff1a;《WEB前端》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 目录 CSS引入方式 一、CSS的三种样式表 1.内部样式表 2.行内样式表 3.外…

用java判断闰年

闰年的判断&#xff1a; 能被400整除的年份是闰年能被4整除的但是不能被100整除的年份是闰年 import java.util.Scanner; public class leapYear{public static void main(String[] args){int year;Scanner sc new Scanner(System.in);year sc.nextInt();if((year % 400 0)…

Java中对象的比较

从大根堆说到对象的比较大小根堆对象的比较equalsComparableComparator大小根堆 大小根堆是堆相关的知识,堆这种数据结构总结起来就是:堆顶元素是最大的就是大根堆,而每个堆顶元素以下的又可以看成一个堆: 要注意的是,堆底层是用数组实现的: 但是对这种数据结构具体化之后与…