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

简介: 八、迁移学习和多任务学习

1、迁移学习


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


4bae607a82704a7c8ced76f8ad3e405b.png

如在图像识别中,当前手头的任务是需要训练一个关于医学影像识别的分类器,但是没有过多的训练数据,则可以使用其他训练好的分类器,如猫/狗/车分类器,其中的部分学习到的知识(部分神经网络参数)应用到医学影像识别分类器中。或者在语音识别中,当前训练好了普通语音识别的分析器,但需要快速构建一个命令识别分类器,没有很多的命令训练数据,则可以将普通语音识别分类器部分神经网络的参数迁移到命令识别分类器中。


这样做的一个原因是因为,相似的任务中,神经网络学习到的知识具有相似性,从而在一定程度上可以进行迁移使用。但同时需要满足一个大的前提,即现有分类器的的训练数据量一定要超过目标分类器的训练数据量,否则,肯定是直接使用目标训练数据直接训练效果要更好。


总结来说,迁移学习(从任务A迁移到任务B)在满足下述条件时,才会有意义:

   任务A和任务B的输入相似

   任务A的数据量远超于任务B的数据量

   任务A和任务B有相似的底层特征,如都是图像,或者都是声音





2、多任务学习


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


ba34953f0f944a5ca25d3e03d674d2f1.png


多任务学习在满足以下条件时,会有意义:


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




3、端到端学习



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


所以使用端到端学习的大前提是由足够的数据量来训练模型。






相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
88 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】Transformer模型大小与性能探究
【机器学习】Transformer模型大小与性能探究
371 5
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
多任务学习
【5月更文挑战第25天】多任务学习
59 5
|
5月前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度神经网络(DNN):原理、应用与代码实践
【机器学习】深度神经网络(DNN):原理、应用与代码实践
733 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
|
自然语言处理 Java 物联网
干货!MFTCoder论文多任务微调技术详解
代码大模型(Code LLMs)已经成为一个专门的研究领域,通过使用代码相关数据对预训练模型进行微调来提升模型的编码能力。以往的微调方法通常针对特定的下游任务或场景进行定制,意味着每个任务需要单独进行微调,需要大量的训练资源,并且由于多个模型并存而难于维护和部署。此外,这些方法未能利用不同代码任务之间的内在联系。
423 0
|
机器学习/深度学习 算法 自动驾驶
强化学习模型
强化学习模型
185 0
|
机器学习/深度学习 算法 搜索推荐
多任务学习模型之DBMTL介绍与实现
本文介绍的是阿里在2019年发表的多任务学习算法。该模型显示地建模目标间的贝叶斯网络因果关系,整合建模了特征和多个目标之间的复杂因果关系网络,省去了一般MTL模型中较强的独立假设。由于不对目标分布做任何特定假设,使得它能够比较自然地推广到任意形式的目标上。
|
机器学习/深度学习 存储 分布式计算
Taskonomy 多任务学习
Taskonomy 多任务学习
201 0
|
机器学习/深度学习 算法 自动驾驶
手把手教你强化学习 (七) 强化学习中的无模型控制
手把手教你强化学习 (七) 强化学习中的无模型控制
261 0
下一篇
无影云桌面