概述
迁移学习,Transfer Learning
为 任务A 开发的模型,应用在为 任务B 中,那么:
- 任务A,又称:源领域(Source Domain)
- 任务B,又称:目标领域(Target Domain)
在 视觉 和 自然语言 处理任务中,是一种常用的方法
例如:学习识别 苹果 的模型,可以用来识别 梨
杨强
迁移学习的大神
迁移学习,就是举一反三的学习能力。
比如:让AlphaGo 在学会围棋后,使用迁移学习,拥有下象棋的能力
为什么需要迁移学习?
- 数据少:没有足够的数据,无法训练模型。如:医学影像少
- 计算能力弱:没有庞大的计算资源。如:没有强劲的GPU
- 个性化需求:即使是在同一个任务上,一个模型也往往难以满足每个人的个性化需求。如:输入法词库、推荐等
- 特定应用(如冷启动)的需求。
迁移学习的概念
基本定义
- 域(Domain):数据特征和特征分布组成,是学习的主体
- 源域 (Source domain):已有知识的域
- 目标域 (Target domain):要进行学习的域
- 任务 (Task):由目标函数和学习结果组成,是学习的结果
按特征空间分类
- 同构迁移学习(Homogeneous TL): 源域和目标域的特征空间相同,
- 异构迁移学习(Heterogeneous TL):源域和目标域的特征空间不同,
按迁移情景分类
- 归纳式迁移学习(Inductive TL):源域和目标域的学习任务不同
- 直推式迁移学习(Transductive TL):源域和目标域不同,学习任务相同
- 无监督迁移学习(Unsupervised TL):源域和目标域均没有标签
迁移学习的4种方法
基于样本的迁移
Instance based Transfer Learning
在 源领域 中找到与 目标领域 相似的数据,把这个数据 进行加权,与目标领域的数据进行匹配
例子:
下图:源域 中存在不同种类的动物,如狗、鸟、猫等,目标域 只有狗这一种类别。
在迁移时,为了最大限度地和目标域相似,人为地提高源域中属于狗这个类别的样本权重。
基于特征的迁移
Feature-based Transfer Learning
将源域和目标域的特征变换到相同空间
将通过特征变换的方式互相迁移,来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。
根据特征的同构和异构性,又可以分为同构和异构迁移学习。
例子
下图表示两种基于特征的迁移学习方法
基于模型的迁移
Model-based Transfer Learning,也叫 基于参数迁移,Parameter based
利用源域和目标域的 参数 共享模型
利用 大量图片 训练一个图象识别模型,当遇到一个新的图象领域,将该模型迁移过来,用 少量图片 即可训练相同的效果。
这种迁移方式要求的假设条件是: 源域中的数据与目标域中的数据可以共享一些模型的参数。
例子
下图,基于模型的迁移学习方法的基本思想
基于关系的迁移
Relational Transfer Learning
利用源域中的逻辑网络 关系 进行迁移。
与上述三种方法具有截然不同的思路。这种方法比较关注源域和目标域的样本之间的 关系。
例子
社会网络,社交网络之间的迁移,如下图:
迁移学习的核心
找到源领域和目标领域之间的相似性,并加以合理利用。
比如:不同人的身体构造是相似的;国际象棋和中国象棋是相似的;羽毛球和网球的打球方式是相似的。
有了这种相似性后,下一步工作就是:如何度量和利用这种相似性。
度量工作的目标有两点:
- 很好地度量两个领域的相似性,不仅定性地告诉我们它们是否相似,更定量地给出相似程度。
- 以度量为准则,通过我们所要采用的学习手段,增大两个领域之间的相似性,从而完成迁移学习。
迁移学习与传统学习区别?
| 迁移学习 | 传统学习 | |
|---|---|---|
| 训练和测试数据 | 不需要同分布 | 同分布 |
| 数据标签 | 不需要足够的数据标注 | 足够的数据标注 |
| 建模 | 可以重用之前的模型 | 每个任务分别建模 |
感谢:
http://blog.itpub.net/69942346/viewspace-2654034/
https://blog.csdn.net/cumttzh/article/details/79792010





