一、简介

背景:现如今数据爆炸:

对机器学习模型来说要求快速构建,强泛化

对于数据来说,大部分数据没有标签

所以收集标签数据和从头开始构建一个模型都是代价高昂的,需要对模型和带有标签的数据进行重用

传统机器学习:假设数据服从相同分布,但我们希望针对不同分布的数据,快速构建模型,实现数据标记

迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性。在迁移学习中,我们已有的知识叫做源域(source domain),要学习的新知识叫目标域(target domain),源域和目标域不同但有一定关联,我们需要减小源域和目标域的分布差异,进行知识迁移,从而实现数据标定。

源域目标域区别:一般目标域相对于源域,在数据分布、特征维度以及模型输出变化条件有不同,有机地利用源域中的知识来对目标域更好地建模。另外,在有目标域标定数据缺乏的情况下,迁移学习可以很好地利用相关领域有标定的数据完成数据的标定。

负迁移:如果源域和目标域之间相似度不够,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。

为什么要进行迁移学习:

数据的标签很难获取

从头建立模型是复杂和耗时的

二、迁移学习常用概念

Domain (域):由数据特征和特征分布组成,是学习的主体

Source domain (源域):已有知识的域

Target domain (目标域):要进行学习的域

Task (任务):由目标函数和学习结果组成,是学习的结果,可理解为分类器

迁移学习条件:给定源域和源域的任务,目标域和目标域的任务,目标:利用源域和源域任务学习目标域预测函数f(),限制条件:源域和目标域不同或源任务和目标任务不同

domain adaptation(领域自适应):有标签的源域和无标签的目标域共享一致的类别和特征,但分布不同

space coding(稀疏编码):给定一组输入数据向量 { x1,x2,...,xN },去学习一组基字典(dictionary of bases),将每个样本表示为一组基的线性组合,其中这组基较为完备,多于输出,而系数向量则大部分都为 0,所以称为「稀疏」。

稀疏编码过程:

1、训练(training):给定一系列的样本图片[x1, x 2, …],我们需要学习得到一组基[Φ1, Φ2, …],也就是字典,这需要不断迭代,目标函数表示为Min |I – O| + u*(|a1| + |a2| + … + |an |)I为输入,O为输出,其后为正则化。

每次迭代分两步:

a)固定字典Φ[k],然后调整a[k],使得上式,即目标函数最小(即解LASSO问题)。

b)然后固定住a [k],调整Φ [k],使得上式,即目标函数最小(即解凸QP问题)。

不断迭代,直至收敛。这样就可以得到一组可以良好表示这一系列x的基,也就是字典。

2、编码(Coding):给定一个新的图片x,由上面得到的字典,通过解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达了。

三、迁移学习分类

3.1 按照学习方式分四类:

基于样本的迁移:通过对源域中有标记样本加权利用完成知识迁移,例如相似的样本就给高的权重

假设:源域中的一些数据和目标域会共享很多共同的特征

方法:对源域进行样本重新加权,筛选出与目标域数据相似度高的数据,然后进行训练学习

代表工作:

• TrAdaBoost [Dai, ICML-07]

• Kernel Mean Matching (KMM) [Smola, ICML-08]

• Density ratio estimation [Sugiyama, NIPS-07]

优点:

• 方法较简单,实现容易

缺点:

• 权重选择与相似度度量依赖经验

• 源域和目标域的数据分布往往不同

基于特征的迁移:通过将源域和目标域特征变换到相同的空间(或者将其中之一映射到另一个的空间中)并最小化源域和目标域的距离来完成知识迁移;目前使用最多也最易于上手完成

假设:源域和目标域仅仅有一些交叉特征

方法:通过特征变换,将两个域的数据变换到同一特征空间,然后进行传统的机器学习

代表工作:

• Transfer component analysis (TCA) [Pan, TKDE-11]

• Spectral Feature Alignment (SFA) [Pan, WWW-10]

• Geodesic flow kernel (GFK) [Duan, CVPR-12]

• Transfer kernel learning (TKL) [Long, TKDE-15]

优点:

• 大多数方法采用

• 特征选择与变换可以取得好效果

缺点:

• 往往是一个优化问题,难求解

• 容易发生过适配

基于模型的迁移:将源域和目标域的模型与样本结合起来调整模型的参数;一般来说使用于神经网络,使用较多

假设:源域和目标域可以共享一些模型参数

方法:由源域学习到的模型运用到目标域上,再根据目标域学习新的模型

代表工作:

• TransEMDT [Zhao, IJCAI-11]

• TRCNN [Oquab, CVPR-14]

• TaskTrAdaBoost [Yao, CVPR-10]

优点:

• 模型间存在相似性,可以被利用

缺点:

• 模型参数不易收敛

基于关系的迁移:通过在源域中学习概念之间的关系,然后将其类比到目标域中,完成知识的迁移。

假设:如果两个域是相似的,那么它们会共享某种相似关系

方法:利用源域学习逻辑关系网络,再应用于目标域上

代表工作:

• Predicate mapping and revising [Mihalkova, AAAI-07],

• Second-order Markov Logic [Davis, ICML-09]

3.2 按迁移情境分三类:

归纳式迁移 (inductive transfer learning):源域目标域学习任务不同但相关

直推式迁移(transductive transfer learning):源域目标域不同但相关,学习任务相同

无监督迁移(unsupervised transfer learning):源域目标域及任务均不同但相关,均没有标签

3.3 按特征空间分两类:

同构迁移学习:特征维度相同分布不同

异构迁移学习:特征维度不同或特征本身就不同,如图片到文字

四、迁移学习热门研究领域

4.1、域适配问题 (domain adaptation)

有标签的源域和无标签的目标域共享相同的特征和类别,但是特征分布不同,如何利用源域标定目标域计算机视觉的一个重要问题

解决思路:

数据分布角度:最小化概率分布距离————概率分布适配(distribution adaptation)

边缘分布适配:目标域数据每类分布图形和源域的看起不一样

条件分布适配:目标域数据每类分布图形和源域的看起大致一样,但类内分布不一样

联合分布适配:目标域数据每类分布图形和源域的看起不一样,但类内分布也不一样

方法:

基础:大多数方法基于MMD距离进行优化求解

效果:平衡(BDA)>联合(JDA)> 边缘(TCA)> 条件

使用:数据整体差异大(相似度低),边缘分布更重要

数据整体差异小(协方差漂移),条件分布更重要

最新成果:深度学习+分布适配往往有更好的效果(DDC、DAN、JAN)

特征选择角度:选择源域目标域公共特征,建立统一模型————特征选择法(feature selection)

特征变换角度:把源域目标域变换到公共子空间内————子空间学习法(subspeace learning)

迁移方法:

1、基于特征的迁移方法:

(TCA)Transfer component analysis [Pan, TKDE-11]

迁移成分分析:将源域和目标域变换到相同空间,最小化它们的距离

其中优化目标表示最小化源域目标域在高维空间的低维嵌入的距离,其后是正则化

分布距离由MMD求出,当源域数据和目标域数据映射在一个高维完备的希尔伯克空间中,其分布可以用其平均值表示,

TCA的扩展:

ACA:最小化MMD,同时维持迁移过程中目标域的结构

DTMKL:多核MMD,原来有一个k现在有多个k求解

DDC:MMD加入神经网络(一层)

DAN:MMD加入神经网络(三层)

DME:先进行矩阵变换再映射

CMD:不只一阶的MMD,k阶

joint distribution adaptation(JDA)

直接继承于TCA,但是加入了条件分布适配

联合分布的结果普遍优于单独适配边缘或条件分布

JDA扩展:

ARTL:分类器学习+联合分布适配

VDA:加入类间距的类内距比值

JGSA:加入类间距,类内距,标签适配(非深度学习效果最好)

JAN:提出JMMD度量,在深度网络中进行联合分布适配

SCL(structural corresponding learning):

寻找主特征并把源域和目标域对齐

Geodesic flow kernel[Duan, CVPR-12]

利用流形学习,将数据映射到高维空间中,然后测量其距离,使得源域和目标域差异最大

Transfer kernel learning [Long, TKDE-15]

在再生核希尔伯特空间中学习一个领域不变核矩阵,从而实现源域和目标域的适配

TransEMDT [Zhao, IJCAI-11]

首先通过聚类得到初始的目标域决策树模型,然后迭代更新决策树的参数直到收敛为止

2、基于实例的迁移方法:

Kernel mean matching [Huang, NIPS-06]

在再生希尔伯特空间中计算源域和目标域的协方差分布差异,然后用二次规划求解样本权重

Covariate Shift Adaptation [Sugiyama, JMLR-07]

采用自然估计法估计源域和目标域的密度比例,然后进行实例权重的分配,最后迁移

3、基于模型的迁移方法:

(ASVM)Adaptive SVM [Yang et al, ACM Multimedia-07]

使用SVM模型,在适配和原始模型之间学习“数据函数”,达到模型迁移效果

Multiple Convex Combination (MCC) [Schweikert, NIPS-09]

对一些域适配的方法做集成学习

Domain Adaptation Machine (DAM) [Duan, TNNLS-12]

4.2、多源迁移学习 (multi-source TL)

TrAdaBoost [Dai, ICML-07]

利用Boost的技术过滤掉多个源域中与目标域不相似的样本,然后进行实例迁移学习

MsTL-MvAdaboost [Xu, ICONIP-12]

不仅考虑源域和目标域的样本相似度情况,同时,以多视图学习的目标来进行统一的迁移

Consensus regularization [Luo, CIKM-08]

同时在源域和伪标注的目标域上训练分类器,利用一致性约束进行知识的迁移

4.3、深度迁移学习 (deep TL)

4.4、异构迁移学习 (heterogeneous TL)

五、机器学习常见框架

AlexNet:基于神经网络学习(CNN)的框架,解决了图像分类的问题

输入:是1000个不同类型图像(如猫、狗等)中的一个图像,输出是1000个数字的矢量。输出向量的第i个元素即为输入图像属于第i类图像的概率。因此,输出向量的所有元素之和为1。

架构:AlexNet由5个卷积层和3个全连接层组成,多个卷积内核(a.k.a过滤器)可以提取图像中有趣的特征。

VGG:在AlexNet网络的基础上发展而来的神经网络模型,可以应用在人脸识别、图像分类等方面

ResNet(Residual Neural Network):基于神经网络学习(CNN)的框架,通过使用ResNet Unit成功训练出了152层的神经网络,参数量比VGGNet低,效果突出。ResNet的结构可以极快的加速神经网络的训练,模型的准确率也有比较大的提升。

PyTorch:一个以Python 优先的深度学习框架,不仅能够实现强大的GPU 加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow 等都不支持的。

TensorFlow :是世界上最受欢迎的开源机器学习框架,它具有快速、灵活并适合产品级大规模应用等特点

迁移学习resnet_迁移学习——入门简介相关推荐

  1. 多模态学习、迁移学习、元学习、联邦学习、表示学习、知识图谱、无监督学习、半监督学习、弱监督学习、自监督学习简介

    多模态学习 Multimodal Learning :文本.视觉.声音模态结合的学习 迁移学习 transfer learning:在某训练集上训练后的模型(预训练模型),相似训练集再进行训练后可以使 ...

  2. 【深度学习】迁移学习理论与实践

    迁移学习 Author:louwill From:深度学习笔记 在深度学习模型日益庞大的今天,并非所有人都能满足从头开始训练一个模型的软硬件条件,稀缺的数据和昂贵的计算资源都是我们需要面对的难题.迁移 ...

  3. 【自然语言处理】【多模态】CLIP:从自然语言监督中学习可迁移视觉模型

    从自然语言监督中学习可迁移视觉模型 <Learning Transferable Visual Models From Natural Language Supervision> 论文地址 ...

  4. ICML2018见闻 | 迁移学习、多任务学习领域的进展

    作者 | Isaac Godfried 译者 | 王天宇 编辑 | Jane 出品 | AI科技大本营 [导读]如今 ICML(International Conference on Machine ...

  5. 什么是迁移学习?迁移学习的超参数有哪些?

    什么是迁移学习?迁移学习的超参数有哪些? 目录 什么是迁移学习?迁移学习的超参数有哪些? 什么是迁移学习?

  6. 智源青年科学家张新雨:从模型平均到集成学习、迁移学习

    2020年2月11日上午,在 "智源论坛Live | 青年科学家线上报告会"中,智源青年科学家.中科院系统所研究员张新雨做了题为<模型平均.集成学习与迁移学习>的主题演 ...

  7. 联邦学习 OR 迁移学习?No,我们需要联邦迁移学习

    2020-11-18 13:40:43 机器之心分析师网络 作者:仵冀颖 编辑:H4O 在这篇文章中,作者通过 4 篇论文详细介绍了联邦学习中的联邦迁移学习问题,并探讨了向经典联邦学习中引入迁移学习的 ...

  8. 干货丨 简述迁移学习在深度学习中的应用

    文章来源:机器之心 迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中. 深度学习中在计算机视觉任务和自然语言处理任务中将预训练的模型作为新模型 ...

  9. 3.2.4 迁移学习和多任务学习

    迁移学习 总结一下,什么时候迁移学习是有意义的?如果你想从任务A学习并迁移一些知识到任务B,那么当任务A和任务B都有同样的输入时,迁移学习是有意义的.在第一个例子中,A和B的输入都是图像,在第二个例子 ...

最新文章

  1. 量子计算机 漫画,漫画 | 10分钟看懂量子比特、量子计算和量子算法
  2. Nginx 挂了怎么办?怎么实现高可用?
  3. php管理员登录文件,使用PHP文件重置管理员密码(Drupal 8)
  4. slimftp超小型的FTP服务器
  5. hdu 2686 Matrix 最大费用最大流
  6. PCL:全程详解 VS2010+PCL配置
  7. python提取pdf表格信息
  8. 11个Java 开源 socket框架
  9. 这家大厂手机业务也凉了 改做手表?官方回应让人放心了...
  10. Python爬虫开发【第1篇】【Requests】
  11. RNN 卷积神经网络- 吴恩达Andrew Ng 论文等资料汇总
  12. 历年考研计算机专业英语平均分,历年考研英语平均分及难度分析(截止至2020年)...
  13. 台式计算机如何上无线网络,台式电脑如何实现无线上网
  14. Android性能优化系列之App启动优化
  15. ueditor插入图片调节框显示bug
  16. 【51单片机】霹雳灯实验代码
  17. 麒麟820和鸿蒙系统,网曝魅族正在适配麒麟820和鸿蒙系统,黄章:我怎么不知道...
  18. 浙商银行入职计算机考试,浙商银行计算机笔试心得
  19. [Andriod官方训练教程]管理Activity的生命活动之开始一个Activity
  20. 公司监控显示无网络连接服务器,监控显示无网络视频什么原因

热门文章

  1. Sketch Cache Cleaner Mac(Sketch缓存清理助手)
  2. SQL性能分析工具SOAR介绍及实践
  3. python中装饰器的使用教程详解(wraps)
  4. excel组合汇总_Excel汇总20150504
  5. GPT-4 Plugins插件的介绍与使用
  6. 【Cadence】psp or hbsp仿真设置
  7. Photoshop CS6完全自学基础知识入门到精通视频教程.docx
  8. 微信为什么发布 Mac 版?
  9. 影视专业摄像机与DV摄像机的区别
  10. 封神台在线靶场--尤里的复仇Ⅰ 小芳!【8题】