迁移学习一些笔记整理

迁移学习

1. 定义及分类

定义

Ability of a system to recognize and apply knowledge and skills learned in previous domains/tasks to novel domains/tasks.

目标

将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。

简介

  • 域(domain): D = { χ , P ( X ) } D=\left\{ \chi,P(X)\right\} D={χ,P(X)},其中 χ \chi χ表示特征空间, P ( X ) P(X) P(X)表示边缘概率密度分布。表示某个时刻的某个特定领域,可以表示为数据集。

  • 任务(task): T = { y , f ( ˙ ) } T=\left\{y,f(\dot{})\right\} T={y,f(˙)} y y y表示标签空间, f ( ˙ ) f(\dot{}) f(˙)表示目标预测函数。表示预测、分类任务。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MXwAucDX-1639382496688)(E:\Study\迁移学习\分布图)]

关键点

关键点

  • ​ 研究哪些知识在不同的领域或者任务中进行迁移学习,即不同领域之间有哪些共有知识可以迁移。

  • ​ 采用哪种迁移学习的特定算法,即如何设计出合适的算法来提取和迁移共有知识。

  • ​ 研究什么情况下适合迁移,负迁移的问题。负迁移指的是旧知识对算法学习新知识的阻碍作用

2. 基于实例的迁移

​ 基于实例的迁移学习研究的是,如何从源领域中挑选出,对目标领域的训练有用的实例,比如对源领域的有标记数据实例进行有效的权重分配,让源域实例分布接近目标域的实例分布,从而在目标领域中建立一个分类精度较高的、可靠地学习模型。

​ 因为,迁移学习中源领域与目标领域的数据分布是不一致,所以源领域中所有有标记的数据实例不一定都对目标领域有用。戴文渊等人提出的TrAdaBoost算法就是典型的基于实例的迁移。

在这里插入图片描述

3. 基于特征的迁移

​ 基于特征映射的迁移学习算法,关注的是如何将源领域和目标领域的数据从原始特征空间映射到新的特征空间中
这样,在该空间中,源领域数据与的目标领域的数据分布相同,从而可以在新的空间中,更好地利用源领域已有的有标记数据样本进行分类训练,最终对目标领域的数据进行分类测试。

4. 基于共享参数的迁移

​ 基于共享参数的迁移研究的是如何找到源数据和目标数据的空间模型之间的共同参数(建模网络参数?)或者先验分布,从而可以通过进一步处理,达到知识迁移的目的,假设前提是,学习任务中的的每个相关模型会共享一些相同的参数或者先验分布。

5.Domain-Adversarial Neural Netowrk(DANN)

DANN结构图

领域适应性网络,框架由Feature Extractor、Label Predictor和Domain Classifier三个部分组成,并且在Feature Extractor和Domain Classifier 之间有一个Gradient Reversal Layer,将域分类器的梯度传给特征提取器更新权重;其中Domain Classifier只在训练过程中发挥作用。label predictor 类似于Regressor。

6.(Domain Separation Networks)DSN

​ DSN 方法认为各领域都是由公共部分和私有部分组成的,公共部分可以学习领域的公共特征,私有部分用来保持各个领域独立的特性。

Bousmalis K , Trigeorgis G , Silberman N , et al. Domain Separation Networks[C].Annual
Conference on Neural Information Processing Systems , 2016 ,pp. 343-351.

7.零次学习(Zero-shot Learning)

7.文献有价值内容

迁移学习的泛化边界

J. Blitzer, K. Crammer, A. Kulesza, F. Pereira, and J. Wortman. Learning bounds for
domain adaptation[C]. In Advances in neural information processing systems, 2008 , pp.
129–136.

通过多个源域分布的加权组合结果来表示目标域数据的预测结果

Y. Mansour, M. Mohri, and A. Rostamizadeh. Domain adaptation with multiple
sources[C]. In Advances in neural information processing systems, 2009, pp. 1041–1048.

多源域对抗网络(Multi-source Domain Adversarial Network, MDAN),深度鸡尾酒网络(Deep

Cocktail Network,DCTN),矩匹配网络(Moment Matching Network,MMN),多特征空间适应网络(Multiple Feature Spaces Adaptation Network,MFSAN)。

​ 所有这些深度多源域自适应方法都使用共享特征提取器网络对称地将多个源域和目标域映射到同一个空间中

​ 对于 MDANDCTN 中的每个源域与目标域对,两个网络都采用了领域判别器来区分源域和目标域特征。

MDAN 将所有源域的数据特征和标签输入到同一个特征提取网络中,以训练单一的任务分类器,然而DCTN 将不同源域的数据特征输入到不同的特征提取网路中,并为各个源域训练一个任务分类器,将置信分数作为各分类器的权重以预测目标域数据。

MMNMFSAN 将各源域与目标域的特征分布进行对齐,在特征对齐迭代过程中,各支路产生的的自适应损失其权重设置相同且不变。

MFSAN 通过各源域分类器的均值输出得到目标域数据的预测结果,然而 MMN 是通过各源域分类器的加权输出对目标域数据进行预测。

迁移学习的有效性

(1)源域和目标域的学习任务是相关的或者是相似的,源域和目标域应该拥有相同的种类类别

(2)源域和目标域不能有太大的分布差异,即领域样本之间不能有太大的差异;

(3)需要训练出一个可以同时适用于源域和目标域的网络模型。

负迁移

​ 负迁移指的是,在源域上学习到的知识,对于目标域上的学习产生负面作用

​ 方法没选好,从源域上获得的知识与任务域的知识具有相反作用。

特征分布差异的评价指标

​ 特征分布差异的评价指标,最大均值差异(MMD)度量准则,相互关系对齐(CORAL)度量准则,对比领域差异(Contrastive Domain Discrepancy,CDD)度量和 Wasserstein 度量,四种度量准则量化数据分布差异;

最大均值差异(MMD)度量准则

​ 为了使用 MMD 度量进行域自适应,研究学者主要是在源域与目标域相同全连接层的输出之间计算 MMD,并将其最小化。

DDC方法在第 2 层全连接层加入域自适应层,采用的度量为 MMD 度量,提出了 DDC 方法,解决了域自适应问题;

多核MMD在3 层全连接层处同时加入了域自适应层,采用的度量为多核 MMD 度量,区别于 DDC 方法中只在第七层全连接层后加入单核的 MMD 度量,多核 MMD 更具有特征表达能力;

相互关系对齐(CORAL)度量准则

​ 相似于 MMD,主要是通过计算以及最小化领域特征之间的二阶统计量,也可称为协方差矩阵或欧式距离

对比领域差异(Contrastive Domain Discrepancy,CDD)度量

​ 基于 MMD 度量提出的,它与 CORAL 度量准则和原始的 MMD 度量准则不同,它是将同一种类数据之间的差异最小化,同时将不同种类之间的差异最大化。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
neo4j api neo4j学习资料 neo4j教程 │ neo4j官方API(官方各种API的文档整理).7z │ neo4j数据迁移--初探(一).htm │ neo4j笔记.docx │ neo4j错误码状态码.html │ └─01.neo4j学习博客汇总 │ index.html └─neo4j_cypher │ Cypher(神奇的WITH).html │ cypher_index.html │ Cypher查询语言--Neo4j 综合(四) - divenswu - 博客园.html │ Cypher查询语言--Neo4j中的SQL - 爱上包子 - 博客园.html │ DETACH DELETE n 删除node n ,并删除所有与n相关的关系.html │ Neo4j - NOT IN query.html │ Neo4j CQL - (11)- REMOVE删除 DELETE.html │ Neo4j Cypher 复杂查询详解在之With - 何源浩的博客 - CSDN博客.html │ neo4j 中使用sparql查询.html │ Neo4j 中文社区,致力于 Neo4j 的技术研究。.html │ Neo4j 使用cypher语言进行查询 - MHL - 博客园.html │ Neo4j 第一篇:在Windows环境中安装Neo4j - 悦光阴 - 博客园.html │ Neo4j 第三篇:Cypher查询入门 - 悦光阴 - 博客园.html │ Neo4j 第二篇:图形数据库 - 悦光阴 - 博客园.html │ Neo4j 第五篇:批量更新数据 - 悦光阴 - 博客园.html │ Neo4j 第四篇:使用C更新和查询Neo4j - 悦光阴 - 博客园.html │ Neo4J(Cypher语句)初识.html │ Neo4J(Cypher语句)学习 - 赵晓雷的专栏 - CSDN博客.html │ Neo4j_事务&深度遍历.html │ neo4j中的分组查询.html │ Neo4j之Cypher学习总结.html │ NEO4J亿级数据导入导出以及数据更新 - 耶和华靠近伤心的人,拯救灵性痛悔的人 - CS.html │ Neo4j入门点滴(一):Cypher.html │ Neo4j入门点滴(三):用Cypher完善图.html │ Neo4j入门点滴(二):模式与模式匹配.html │ Neo4j入门点滴(五):Windows Shell for Cypher.html │ Neo4j入门点滴(四):Cypher查询优化.html │ Neo4J几种数据导入方式的效率对比 - 何源浩的博客 - CSDN博客.html │ Neo4j模糊查询及分页查询 - c1052981766的专栏 - CSDN博客.html │ neo4j笔记 - Neo4j 中文社区.html │ Neo4j语句 - zhuweiba_321的博客 - CSDN博客.html │ Neo4j语句 - 阿里云.html │ 【程裕强的专栏】大数据学习笔记(1.01^365=37.78,0.99^365=0.025.html │ 五岳之巅-Neo4j入门点滴-博文目录.html │ 关于Neo4j和Cypher批量更新和批量插入优化的5个建议 - 逆水行舟 - CSDN博.html │ 图数据库-Neo4j介绍与Cypher入门.html │ 图数据库之Cypher语言 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 图数据库之neo4j-jdbc的使用 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 数据分页处理系列之三:Neo4j图数据分页处理.html │ 暖暖动听.html │ 飘涯 - 简书.html
随着国家十四五新战略规划的推出,众多国内企业都参与到国产芯片替代浪潮中来,可以预测未来越多的国产芯片会被设计、生产和使用在我们日常所使用的电子产品中,国产芯片拥有巨大的市场前景。 目前国产芯片采用的体系架构主要有X86、ARM、MIPS、RISC V、PowerPC、Alpha等。我们知道电子产品正常工作必须要有操作系统和各种应用软件,没有操作系统和应用软件的芯片就是一堆废铁,而大多数人并不知道的是没有系统固件来加载操作系统的电脑亦是一堆废铁, UEFI就是由UEFI行业协会提出和维护一种行业标准的系统固件,它支持目前市面上的大多数芯片体系结构和操作系统,随着标准的不断演进相信越来越多的体系结构的芯片和操作系统会被支持。 笔者从事BIOS开发已有十余年的时间,见证了Legacy BIOS辉煌与隐退,也有幸了参与了新世纪初系统固件从Legacy BIOS往UEFI BIOS的迁移的全过程。科技行业风起云涌新技术新架构日新月异,每每回望不禁感慨我辈可谓是“眼见着他起高楼,眼见着他宴宾客”的那一波BIOS人。曾经系统固件江湖还是Legacy BIOS的天下,BIOS人使用汇编语言编码、通过中断来与操作系统沟通。自UEFI框架被广泛使以来开我们的发环境从纯汇编变成了99%的C语言加1%的汇编语言的模式,开发效率大大的加强了。 虽然UEFI框架大大加快了开发效率,但是由于系统固件开发属于比较偏门和专业的领域,学习和入门门槛比较高,现有的BIOS工程师又分布在大大小小的各个公司内部缺乏有效沟通和交流,同时BIOS源码又属于敏感和机密数据受到各种NDA限制,市面上对UEFI框架介绍的资料少之又少,因此笔者从2000左右开始就陆续以Cstyle_0x007为ID在https://blog.csdn.net/CStyle_0x007发布一系列博文,现已有数十篇原创文章。刚开始的想法是把博文当作工作笔记方便自己随时查阅,后来慢慢发展成了与业内外感兴趣的朋友的沟通交流的平台。 随手写的博文难免有错误与纰漏为了避免误导大众,准备把博文重新整理在纠正谬误同时也会补充一些新的内容,尽量做到所写的每句话都是无误的,也欢迎有兴趣的朋友踊跃提出意见和建议。组建了微信公众号,目的在于方便有兴趣的朋友一起交流,名字初步定为“固件C字营”,其中“固件”泛指一切固化的软件,这里主要指UEFI BIOS系统固件,“C”泛指“China“,我们可以把这里当作大家沟通交流的营地,我们会不定时发布一些行业资讯、工作、学习心得,感兴趣扫描下面二维码就可以加入,也可以发邮件到[email protected]投稿分享你的想法。 本文取名《UEFI内核的导读》这里的UEFI专指“UEFI BIOS”,全文专注于对UEFI内核的梳理与分享,同时兼顾对X86系统固件生态中常用的工程技术的介绍,主要包含以下内容:UEFI启动流程以及各个阶段主要完成的任务及参考的实现方式导读UEFI及PI规范中的常见Protocol的实现与使用技巧UEFI固件生态中常见外设、总线、行业标准的协议内容及使用方法 雄关漫道真如铁,而今迈步从头越,系统固件雄起之路道阻且长,相信我们的BIOS人一定可以为国产芯片的起飞助力、为系统固件团队的壮大贡献自己的一份微薄之力,为每一个不畏艰难、不惧寂寞坚守在工作岗位的BIOS人加油,好样的。
为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的学习平台。 一、文件手册 资源包中的文件手册部分,详细记录了Android开发的核心知识点和常用技术。无论是初学者还是有一定经验的开发者,都能从中找到所需的学习资料。手册采用了简洁明了的排版方式,使得查阅更加方便快捷。同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的Android项目案例,从需求分析、设计思路到实现过程,都有详细的讲解和代码示例。学习者可以通过实际操作,深入了解Android开发的整个流程,提升自己的实战能力。 此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具能够大大提高开发效率。因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包是一份不可多得的学习资料,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。我们希望通过这份资源包,为广大Android开发爱好者与从业者提供一个更加便捷、高效的学习平台,共同推动Android开发领域的发展。
机器学习&深度学习资料笔记&基本算法实现&资源整理.zip 0.不调库系列 No free lunch. 线性回归 - logistic回归 - 感知机 - SVM(SMO) - 神经网络 决策树 - Adaboost kNN - 朴素贝叶斯 EM - HMM - 条件随机场 kMeans - PCA ROC曲线&AUC值 Stacking(demo) 计算IOU 参考:《机器学习》周志华 《统计学习方法》李航 1.机器学习&深度学习 工具 | 书籍 | 课程 | 比赛 | 框架 ---------|---------------|-------------|-------- |--------- Scikit-learn| 机器学习实战 | 机器学习/Andrew Ng | Kaggle | Keras ★ XGBoost | 集体智慧编程 | Deep Learning/Andrew Ng | 天池 | Tensorflow LightGBM | | | Biendata | PyTorch ★ Spark| | | AI challenge |Mxnet | | | | DataFountain | Caffe 2.自然语言处理 课程:自然语言处理班 - 七月在线 | CS224n 工具:NLTK | jieba | gensim | NLPIR | word2vec | LDA | BLEU(介绍、使用) 代码:社交网络语言re | 经典项目: funNLP AI写诗 对话系统DeepQA Awesome-Chinese-NLP NLP知识点整理>> 3.计算机视觉 常用代码 常用预处理:打乱数据集 | 计算图像均值方差 | 分类数据增强 | 检测数据增强 数据集相关:生成VOC目录结构 | 标签转xml写入 | coco txt转voc xml | 可视化VOC标签框 | 更新训练验证txt图片名 | VOC转csv格式 | 计算csv格式数据合适的anchor | labelme标注的人体17点json转COCO 常用算法:NMS | Mixup | label_smoothing | Weighted-Boxes-Fusion(NMS,WBF..) | mAP计算 | IOU计算 | YOLO F1 其他 课程: CS231n/Feifei Li 笔记: chinese-ocr项目 | 《深度卷积网络:原理与实践》读书笔记 | 手写汉字识别调研 经典分类网络: LeNet-5 | AlexNet | VGGNet | GoogleNet | ResNet | DenseNet | Xception | EfficientNet 经典检测网络: SSD(自己实现)| FasterRCNN | Yolo | CornerNet | CenterNet | EfficientDet 经典分割网络:Unet | DeepLab | 谷歌bodypix(走通了tfjs转onnx转tnn安卓部署的流程,但是实时精度不高) 经典项目: HyperLPR车牌识别 中文OCR1(YOLOv3+CRNN) 中文OCR2(CTPN + DenseNet) RFBNet(ECCV2018快速目标检测) AlphaPose(人体姿态估计) 轻量级性别年龄分类模型 图像风格迁移 超分辨率 Mask_RCNN人体关键点、分割 人像卡通化 移动端人脸检测1:libface | 移动端人脸检测2:Ultra Face 人脸识别facenet-tf(2018) | 人脸识别facenet-pth(2018) | AdaFace(2022) 人脸关键点pth版 CV知识点整理>> 4.数据挖掘 笔记:特征工程 常见数学、机器学习知识点整理>> 5.其他 资源索引
尽管迁移学习在很多场景下具有很多优势,但也存在一些缺陷和挑战,包括: 1. 领域差异问题:源领域和目标领域之间可能存在较大的差异,包括数据分布的差异、特征的差异等。这种领域差异可能导致迁移学习效果下降,因为源领域上学到的知识和特征在目标领域上可能不适用。 2. 负迁移问题:在某些情况下,源领域的知识和特征可能对目标任务产生负面影响,即负迁移。这种情况下,使用迁移学习可能会导致性能下降,因为源领域的知识与目标任务不一致。 3. 数据稀缺问题:在一些场景下,目标任务的数据可能相对较少,不足以充分训练一个好的模型。这会限制迁移学习的效果,因为模型无法从有限的目标数据中学到足够的知识。 4. 任务间关系问题:迁移学习通常假设源任务和目标任务之间存在一定的相关性或共享特征。然而,在某些情况下,任务之间的关系可能并不明显,这会限制迁移学习的有效性。 5. 预训练模型依赖问题:在使用预训练模型进行迁移学习时,模型的性能很大程度上依赖于预训练模型的质量和适用性。如果没有合适的预训练模型,或者预训练模型与目标任务不匹配,迁移学习的效果可能会受到限制。 6. 迁移策略选择问题:选择合适的迁移策略是迁移学习中一个重要的挑战。不同的迁移策略适用于不同的场景和任务,需要根据具体情况进行选择和调整。 以上是迁移学习中存在的一些缺陷和挑战。尽管如此,迁移学习仍然是一种强大的技术,可以在很多实际问题中提供有价值的解决方案。不断的研究和创新可以进一步改进迁移学习的效果和应用范围。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值