一、简介
迁移学习(transfer learning)通俗来讲,就是运用 已有的知识来学习新的知识(模型) ,核心是找到已有知识和新知识之间的 相似性 。在迁移学习中,我们已有的知识叫做 源域(source domain) ,要学习的新知识叫 目标域(target domain) ,源域和目标域不同但有一定关联。迁移学习把源域训练得到的模型迁移到目标域上。
源域目标域区别: 一般目标域相对于源域,在 数据分布、特征维度以及模型输出变化条件 有不同,有机地利用源域中的知识来对目标域更好地建模。另外,在有目标域标定数据缺乏的情况下,迁移学习可以很好地利用 相关领域有标定的数据 完成数据的标定。
负迁移: 如果源域和目标域之间 相似度不够 ,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。
迁移学习资料库 : https://github.com/jindongwan…
为什幺要进行迁移学习:
数据的标签很难获取 从头建立模型是复杂和耗时的
二、迁移学习常用概念
Domain (域):由数据特征和特征分布组成,是学习的主体
Source domain (源域):已有知识的域
Target domain (目标域):要进行学习的域
Task (任务):由目标函数和学习结果组成,是学习的结果
三、迁移学习分类
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]
2、按迁移情境
- 归纳式迁移 (inductive transfer learning):源域目标域学习任务不同但相关
- 直推式迁移(transductive transfer learning):源域目标域不同但相关,学习任务相同
- 无监督迁移(unsupervised transfer learning):源域目标域及任务均不同但相关,均没有
3、按特征空间
- 同构迁移学习:特征维度相同分布不同
- 异构迁移学习:特征维度不同
Be First to Comment