迁移学习Transfer Learning

概述

迁移学习,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

利用源域中的逻辑网络 关系 进行迁移。

与上述三种方法具有截然不同的思路。这种方法比较关注源域和目标域的样本之间的 关系。

例子

社会网络,社交网络之间的迁移,如下图:

迁移学习的核心

找到源领域和目标领域之间的相似性,并加以合理利用。

比如:不同人的身体构造是相似的;国际象棋和中国象棋是相似的;羽毛球和网球的打球方式是相似的。

有了这种相似性后,下一步工作就是:如何度量和利用这种相似性。

度量工作的目标有两点:

  1. 很好地度量两个领域的相似性,不仅定性地告诉我们它们是否相似,更定量地给出相似程度。
  2. 以度量为准则,通过我们所要采用的学习手段,增大两个领域之间的相似性,从而完成迁移学习。

迁移学习与传统学习区别?

迁移学习 传统学习
训练和测试数据 不需要同分布 同分布
数据标签 不需要足够的数据标注 足够的数据标注
建模 可以重用之前的模型 每个任务分别建模

感谢:
http://blog.itpub.net/69942346/viewspace-2654034/

https://blog.csdn.net/cumttzh/article/details/79792010


原文出处:/show_1EF4buY7xJwu.html