迁移学习(自我归纳总结)

迁移学习基础 读A survey on Transfer Learning后的一些想法,仅供参考,若有错误还希望与大家多多交流。1.什么时候需要进行迁移学习:目前大多数机器学习算法均是假设训练数据以及测试数据的特征分布相同。然而这在现实世界中却时常不可行。例如我们我们要对一个任务进行分类,但是此任务中数据不充足(在迁移学习中也被称为目标域),然而却又大量的相关的训练数据(在迁移学习中也被称为源域),但是此训练数据 阅读详情

一、  背景介绍

在现有的机器学习,深度学习和数据挖掘的任务中,通常会假设train和test所使用的数据服从相同的分布,有着相同的特征空间,但在现实应用中,这种理想状态往往难以达到:

⑴带标记的训练样本数量有限。比如处理A领域的分类问题时,缺少足够的训练样本。同时,与A领域相关的B领域却有着大量的训练样本,但B领域与A领域处于不同的特征空间或样本服从不同的分布。

⑵数据分布会因时间,地点,或其他因素发生改变,随着动态因素的变化,数据分布会发生变化,或以前收集的数据已经过时,需要重新收集数据,重新建模。

无论是大量样本标记,还是模型的重建都会耗费大量的财力人力,在这种情况下,知识迁移是一个不错的选择,即把B领域中的知识迁移到A领域中来,提高A领域的分类效果。

感觉就是一个老师-学生的过程,学生学习老师已学的知识,而学生之后的学习领域可能不和老师相同,但却应用到之前学到的知识,让旧知识能在新的领域中应用好。

二、  迁移学习的方式

迁移学习中需要回答的三个问题

⑴迁移什么?源域的哪些知识是需要被迁移的

⑵何时迁移?这个工作是考虑到源域和目标域是否相似,如果不相似的两个域,强行进行迁移学习会出现负迁移的情况(即使用目标域本身的数据进行训练的效果比迁移学习的效果好)。

⑶如何迁移

⑴⑶中涉及到四种方法,基于实例的迁移,基于特征表示的迁移,基于参数的迁移,基于相关性的迁移。

①基于实例的迁移

主要思想就是在目标领域的训练中,虽然源数据域不能直接使用,但可以从中挑选部分,用于目标领域的学习。实例重加权和重要性抽样是这类方法的两个重要技术。

②基于特征表示迁移

主要思想是寻找一个“好的”特征表示,最小化域间差异和分类回归的误差,期望通过新的特征表示能让目标任务的性能显著提升。

③基于参数迁移

该方法假定在相关任务上的模型应该共享一些参数、先验分布或者超参数。多任务学习中多使用这种方法,通过将多任务学习对源域和目标域的权值做改变(增大目标值权值,减小源域权值),即可将多任务学习转变成迁移学习。

④基于相关性的迁移

和前三种方式不同,相关知识迁移方法在相关域中处理迁移学习的问题,它不假设每一个域的数据都是独立同分布的,而是将数据之间的联系从源域迁移到目标域。

迁移学习又可以分为三大类

⑴归纳学习

目标任务和源任务不同,无论目标域与源域是否相同。

这种情况下,要用目标域中的一些已标注数据生成一个客观预测模型以应用到目标域中。除此之外,根据源于中已标注和未标注数据的不同情况,可以进一步将归纳学习分为两种情况:

①源域中大量已标注数据可用。这种情况下归纳学习与多任务学习类似。然而,归纳学习只关注通过源任务中迁移知识以便在目标任务中获得更高性能,然而多任务学习创世同时学习源任务和目标任务。

②源域中无已标注数据可用。这种情况下归纳迁移学习和自我学习类似。自我学习中,源域和目标域间的特征空间可能不同,这意味着源域中的边缘信息不能直接使用。因此当源域中无已标注数据可用时这两种学习方法类似。

⑵直推式迁移学习

源任务和目标任务相同,源域和目标域不同。这种情况下,目标域无已标注数据可用,源域中有大量已标注数据可用,除此之外,根据源域和目标域中不同的状况,可以进一步将直推式迁移学习分为两类:

①源域和目标域中的特征空间不同

②源域和目标域的特征空间相同,但输入数据的边缘概率分布不同。

⑶无监督迁移学习

与直推式迁移学习相似,目标任务与源任务不同但相关。然而,无监督迁移学习专注于解决目标域中的无监督学习问题,如聚类、降维、密度估计。这种情况下,训练中源域和目标域都无已标注数据可用。

三种迁移学习类型整合如下表所示

 

三、  迁移学习的补充

关于迁移学习中可能会出现的负迁移的情况,可采用多个源域进行学习,从多个源域中提取知识,以求降低负迁移的影响。那这样可以先涉及一个算法模型来评估两个域之间的相关性,根据相关性来决定是否适合迁移学习。

现在大多数的研究主要集中于归纳式迁移学习和直推式迁移学习,对无监督迁移学习的研究较少,发现在无监督模型中使用元学习方法比在有监督模型使用元学习要更好,因为能定义多个不同的无标签任务[3]中提出了两个模型MetaUMT,MetaGUMT。

MetaUMT:主要是找到模型的最佳参数,来快速适应一个新的领域。

MetaGUMT:meta-test阶段,MetaUMT优化的参数是使用自适应函数,但是它抛弃了在不同任务上meta-train训练的参数。MetaGUMT在meta-test阶段,充分使用了不同任务的loss。这不仅利于模型发现最佳参数快速适应目标领域,同时也有利于维持所有任务的公共知识:比如限定词、连词和代词,而这些词是用来适应多个不同的领域的。

从文章中可以看出MetaGUMT本质上就是结合了多个loss函数。

四、  迁移学习的应用

  1. 理论研究价值
  1. 解决标注数据稀缺性

大数据时代亿万级别规模的数据导致数据的统计异构性、标注缺失问题越来越严重。标注数据缺失会导致传统监督学习出现严重过拟合问题。目前解决数据稀缺性的方法有传统半监督学习、协同训练、主动学习等,但这些方法都要求目标域中存在一定程度的标注数据,而在标注数据稀缺的时候额外获取人工标注数据的代价太大。这时需要迁移学习来辅助提高目标领域的学习效果。

  1. 非平稳泛化误差分享

经典统计学习理论给出了独立同分布条件下模型的泛化误差上界保证。而在非平稳环境(不同数据域不服从独立同分布假设)中,传统机器学习理论不再成立,这给异构数据分析挖掘带来了理论风险。从广义上看,迁移学习可以看作是传统机器学习在非平稳环境下的推广。因此在非平稳环境下,迁移学习是对经典机器学习的一个重要理论补充。

  1. 迁移学习的实际应用

1)训练机械臂

在真实的机器人上训练模型太慢,而且非常昂贵。解决办法是先进行模拟学习,将模拟学习学到的知识迁移到现实世界的机器人训练中,这里源域和目标域之间的特征空间是相同的。

2)舆情分析

迁移学习也可应用在舆情分析中的用户评价上。以电子产品和视频游戏产品用户评价为例,图中绿色为好评标签,而红色为差评标签。从图左的电子产品评价(源域)中抽取特征,建立电子产品评价领域的模型,然后将其应用到右图的视频游戏领域(目标域)中,实现舆情大规模的迁移,并且在新的领域不需要标签。

 

3)推荐系统

迁移学习也可以用在推荐系统中,在某个领域做好一个推荐系统,然后应用在稀疏的、新的垂直领域。比如已成熟完善的电影推荐系统可以应用在冷启动中的额书籍推荐系统中。

4)计算机视觉

基于不同的CNN架构,深度学习在多种计算机视觉任务上的应用取得了相当大的成功。Yosinski及其协助者的论文(深度神经网络中特征的迁移性如何)揭示了低层如何提取边缘等计算机视觉特征,最终层如何作用于任务特定的特征。因此,这些发现帮助我们在风格迁移和人脸识别等目标任务中利用VGG、AlexNet、Inception等现有的当前最先进模型,目标任务和这些模型原本训练的任务不同。

5)NLP

对机器学习和深度学习而言,文本数据提出了各种各样的挑战。通常,我们使用不同的向量化技术转换文本。基于不同的训练数据及,可得到Word2Vec和FastTest之类的嵌入。通过从源任务迁移学习,可以用于不同的任务,例如情绪分析和文档分类。除此之外,普适句编码器和BERT这类较新的模型毫无疑问地展现了未来的无穷可能。

6)医疗健康

在医疗健康领域,医学成像识别和肿瘤标注,以及肿瘤分类等场景也都有迁移学习的一席之地。5

参考文献

  1. Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on knowledge and data engineering, 2009, 22(10): 1345-1359.
  2. Yao Y, Doretto G. Boosting for transfer learning with multiple sources[C]//2010 IEEE computer society conference on computer vision and pattern recognition. IEEE, 2010: 1855-1862.
  3. Park C, Tae Y, Kim T, et al. Unsupervised Neural Machine Translation for Low-Resource Domains via Meta-Learning[C]//Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021: 2888-2901.
  4. 姚添译. 机器学习中迁移学习的发展研究[J]. 中国科技投资,2018(3). DOI:10.3969/j.issn.1673-5811.2018.03.337.

5.龚少英. 学习迁移研究的历史与发展[J]. 内蒙古师大学报(哲学社会科学版),2001(4). DOI:10.3969/j.issn.1001-7623.2001.04.010.

迁移学习基本知识 本文用于了解迁移学习的基本知识!!! 1. 什么是迁移学习? 迁移学习也称为归纳迁移、领域适配,其目标是将某个领域或任务上学习到的知识或模式应用到不同的但相关的领域或问题中。例如学习走路的技能可以用来学习跑步、学习识别轿车的经验可以用来识别卡车等。 2. 迁移学习的主要思想? 从相关的辅助领域中迁移标注数据或知识结构、完成或改进目标领域或任务的学习效果。 3. 迁移学习研究的意义... 阅读详情

相关推荐

机器学习之直推式迁移学习(Transductive Transfer Learning)

直推式迁移学习(Transductive Transfer Learning)是一种特殊的迁移学习方法,它主要关注的是在特定的目标任务上的表现,通过利用源任务的知识来提高目标任务的性能。与传统的迁移学习不同,直推式迁移学习假设目标任务的测试数据在训练过程中是可用的,并利用这些数据来改进模型的泛化能力。

JustinMars的博客 781

迁移学习总结

迁移学习与fine-tuning有什么区别? 举个例子,假设今天老板给你一个新的数据集,让你做一下图片分类,这个数据集是关于Flowers的。问题是,数据集中flower的类别很少,数据集中的数据也不多,你发现从零训练开始训练CNN的效果很差,很容易过拟合。怎么办呢,于是你想到了使用Transfer Learning,用别人已经训练好的Imagenet的模型来做。 做的方法有很多: 把Ale...

Yasin的博客 1万+

8.9 归纳式迁移学习

文章目录5.1、归纳式迁移学习DAN部分迁移学习SAN多对抗域自适应MADA 8.5 意境级讲解迁移学习 5.1、归纳式迁移学习 基于 Boosting,提出了基于实例的TrAdaBoost 迁移学习算法.当目标域中的样本被错误地分类之后,可以认为这个样本是很难分类的,因此增大这个样本的权重,在下一次的训练中这个样本所占的比重变大.如果源域中的一个样本被错误地分类了,可以认为这个样本对于目标数据是不同的,因此降低这个样本的权重,降低这个样本在分类器中所占的比重. 深度神经网络可以学习可迁移的特征,这些特征可

炫云云 1129

迁移学习(Transfer),面试看这些就够了!(附代码)

文章目录1. 什么是迁移学习2. 为什么需要迁移学习?3. 迁移学习的基本问题有哪些?4. 迁移学习有哪些常用概念?5. 迁移学习与传统机器学习有什么区别?6. 迁移学习的核心及度量准则?7. 迁移学习与其他概念的区别?8. 什么情况下可以使用迁移学习?9. 什么是finetune?10. 什么是深度网络自适应?11. GAN在迁移学习中的应用12. 代码实现13. 参考文献 1. 什么是迁移学习...

mantch 1万+

ctfshow WEB web4

ctfshow WEB web4

weixin_68416970的博客 722

使用 ArcGIS Pro 和 Google Earth Engine 可视化地表温度

在这项研究中,利用 Landsat 热数据通过各种方法检查了 2013 年和 2023 年恰纳卡莱省的地表温度变化。使用了 NDVI、大气层顶部、亮度温度、植被比例和地表温度等公式。研究结果表明,从热图像中获得的数据,特别是地表温度(LST),是土地解释的重要资源。恰纳卡莱 — 土耳其(土耳其)使用 ArcGIS 程序和 Google Earth Engine 对不同季节的卫星图像进行分析。

gis收藏家的博客 2003

【深度学习】迁移学习中的领域转移及迁移学习的分类

根据分布移位发生的具体部分,域移位可分为三种类型,包括协变量移位、先验移位和概念移位 协变量移位: 在协变量移位的情况下,源域和目标域的边际分布是不同的,即ps(x)∕= pt(x),而给定x的y的后验分布在域之间保持相似,即ps(y|x)≈pt(y|x)(图1)。当不同的传感器、遥远的地理区域或不同的时间窗采集相同光谱波段的数据时,就会发生协变量移位。例如,Landsat-8和Sentinel-2都提供可见光和近红外波段的观测。然而,其传感器之间的中心波长、带宽和空间分辨率的变化可能导致Landsat-

TwcatL 2791

HI3516CV610海思SOC:超高清智慧视觉开发全攻略

本文全面解析海思HI3516CV610 SOC在超高清智慧视觉开发中的应用。该芯片集成双核A7处理器、1Tops NPU、AI ISP及4K视频编码器,专为智能摄像头设计。文章详细介绍了开发环境搭建、核心硬件架构、媒体处理平台(MPP)实战、AI算法集成与系统调优等全流程攻略,帮助开发者高效构建稳定可靠的视觉AI产品。

weixin_29269441的博客 1255

迁移学习(Transfer Learning)

1 迁移学习概念 机器学习和数据挖掘的基本假设 (1)用于学习的训练样本与新的测试样本满足独立同分布的条件 (2)必须有足够多的训练样本才能学习得到一个好的分类模型 然而,由于系统的特征往往会随时间改变,因此数据的特征空间和分布规律也会发生变化 如果每次针对新问题都需要对数据做标签的任务,代价是十分高昂的,因此,迁移学习的目的在于应用过去的知识来快速有效解决新问题。 迁移学习可应用与分类、回归和聚类问题 迁移学习与domain adaptation、multitask learning and sa.

积流成河 5126

开源CMDB与资产管理平台对比报告

本文对比分析了9款主流开源CMDB平台,从集成能力、功能完整性和多语言支持三个维度进行评测。重点介绍了VeCMDB、蓝鲸CMDB、WeCMDB和OpsAny等国产平台的特色:VeCMDB以动态模型和自动发现见长;蓝鲸CMDB适合超大规模企业级应用;WeCMDB专注金融级高并发场景;OpsAny提供一体化运维解决方案。针对不同规模企业给出选型建议:中小团队推荐Snipe-IT等轻量工具;大型企业建议蓝鲸或WeCMDB;需国产化适配的可选VeCMDB或OpsAny。文章还特别指出iTop、GLPI等适合ITIL

huang0612123的博客 1081

EuROC 数据集格式及相关代码

Euroc提供ROS和zip两种数据格式。

~勿据散客~的博客 2093

[转载]关于迁移学习,和CNN有关

[转载]关于迁移学习 作者:刘诗昆 链接:https://www.zhihu.com/question/41979241/answer/123545914 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 2018.1. 二次更新 / 重点介绍迁移学习和其相关方向,完整删除之前的答案,并重新...

qq_36248632的博客 905

我的python学习之路

Python 是一门功能强大且易于学习的编程语言,广泛应用于数据分析、人工智能、Web 开发、自动化等领域。以下是一个 Python 学习路径的总结,帮助你系统地掌握 Python 编程。

数据知道的博客 3万+

关于迁移学习

作者:刘诗昆 链接:https://www.zhihu.com/question/41979241/answer/123545914 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 2018.1. 二次更新 / 重点介绍迁移学习和其相关方向,完整删除之前的答案,并重新规整了迁移学习内容和代表性文章。 什么是/为什么要迁移学习? 迁移学习(T

站在巨人的肩膀上coding 7965

华为OD新系统机试真题 - 获取大写字母瓷砖拼出独特图案数量

华为OD机试新系统真题【获取大写字母瓷砖拼出独特图案数量】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统四月二十九号机试真题【获取大写字母瓷砖拼出独特图案数量】

qq_45776114的博客 1219

【WRF-GHG 教程上】完整教程(2024年更新版)

完整教程(2024年更新版)

WW、forever的博客 1436

迁移学习 (Transfer Learning)

什么是/为什么要迁移学习? 迁移学习(Transfer learning) 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习(starting from scratch,tabula ...

u012879957的专栏 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

什么是迁移学习 (Transfer Learning)?这个领域历史发展前景如何?【文末彩蛋】...

阅读大概需要5分钟跟随小博主,每天进步一丢丢作者:刘诗昆链接:https://www.zhihu.com/question/ 41979241/answer/1235...

zenRRan的博客 750

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

迁移学习:经典算法解析

一. 了解迁移学习        迁移学习(Transfer Learning)目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。             > The ability of a system to recognize and apply knowledge and skills learned in previous tasks to novel tasks。

kwame211的博客 1625

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

迁移学习小记(一)仅用于学习记录

  万事开头难,刚接触迁移学习,网上的资料水平又良莠不齐,在一时间没能找到合适的学习资料,幸得老师为我们寻找了最新的也非常齐全的相关资料,让我感到柳暗花明又一村。本应该动手实践,但由于基本概念还未掌握,我选择了先“纸上谈兵”。以下记录我本段时间的学习所得。   一.什么是迁移学习    迁移学习,是指利用数据,任务,或者模型之间的相似性,将在旧的领域学习过的模型,应用于新领域的一种学习过程。 ...

GUANYX的博客 1879

迁移学习--综述

最近开始入迁移学习的坑。在此必须感谢一下知乎用户@王晋东不在家,他做了超级详细的关于迁移学习的归纳整理,从最新文章到可以上手的代码,应有尽有:http://transferlearning.xyz/开始正文!文章:A Survey on Transfer Learning这篇文章可以说是十分经典了,对迁移学习的历史、分类、遇到的挑战都做了很详尽的解释。1. 迁移学习的重要性传统的机器学习/数据挖掘...

vvnzhang2095的博客 5万+

迁移学习(Transfer)

迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

sikh_0529的博客 11万+

迁移学习简介

随着计算硬件和算法的发展,缺乏有标签数据的问题逐渐凸显出来,不是每个领域都会像 imagenet 这样花费大量的人工标注来产出一些数据,尤其针对工业界,每时每刻都在产生大量的新数据,标注这些数据是一件耗时耗力的事情,因此,目前监督学习虽然能够解决很多重要的问题,却也存在着一定的局限性,基于这样的一个环境,迁移学习变的尤为重要。 本文主要整理了综述文章 Transfer Learning F...

学习笔记 2万+

迁移学习笔记归纳梳理(参考:迁移学习简明手册)

手册地址:http://jd92.wang/assets/files/transfer_learning_tutorial_wjd.pdf 目录:(超链接) 暂时省略。。。 一、迁移学习的基本概念 1、为什么需要迁移学习? 2、迁移学习如何解决问题? 3、与已有概念的区别和联系 1. 迁移学习 VS 传统机器学习: 迁移学习属于机器学习的一类,但它在如下几个方面有别于传统的...

浅若清风cyf的博客 2801

迁移学习原理与实例

一、资源简介   这次给大家推荐一篇关于卷积神经网络迁移学习的实战资料,卷积神经网络迁移学习简单的讲就是将一个在数据集上训练好的卷积神经网络模型通过简单的调整快速移动到另外一个数据集上。   随着模型的层数及模型的复杂度的增加,模型的错误率也随着降低。但是要训练一个复杂的卷积神经网络需要非常多的标注信息,同时也需要几天甚至几周的时间,为了解决标注数据和训练时间的问题,就可以使用迁移学习。   ...

qq_39444290的博客 1452
上一篇: Window10 安装pyspark
下一篇: eclipse安装pydev失败
hellife
博客等级 码龄7年 5粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值