文章内容引自于https://github.com/jindongwang/transferlearning

1 迁移学习概念:

是指利用数据、任务、或模型之间的相似性,将在旧领域学习过的模型应用于新领域的一种学习过程。

在这里插入图片描述
在这里插入图片描述

Why?
  1. 大数据与少标注之间的矛盾。
  2. 大数据与弱计算之间的矛盾。
  3. 普适化模型与个性化需求之间的矛盾。
  4. 特定应用的需求。
Solution:
  1. 大数据与少标注:迁移数据标注。
    寻找一些与目标数据相近的有标注的数据,从而利用这些数据来构建模型,增加目标数据的标注。
  2. 大数据与弱计算:模型迁移。
    将大公司在大数据上训练好的模型,迁移到我们的任务中,针对我们的任务进行微调,从而我们也可以拥有在大数据上训练好的模型,更进一步,我们可以将这些模型针对我们的任务进行自适应更新,从而取得更好的效果。
  3. 普适化模型与个性化需求:自适应学习。
    考虑到不同用户之间的相似性和差异性,我们对普适化模型进行灵活的调整,以便完成我们的任务。
  4. 特定应用的需求:相似领域知识迁移。
    为了满足特定领域的应用需求,我们可以利用上述介绍过的手段,从数据和模型方法上进行迁移学习。

迁移学习的必要性

迁移学习与已有概念的区别和联系:
  1. 迁移学习VS传统机器学习

    迁移学习属于机器学习的一类。

    迁移学习与传统机器学习的区别:

在这里插入图片描述

  1. 迁移学习VS多任务学习

    多任务学习指多个相关的任务一起协同学习;迁移学习则强调知识由一个领域迁移到另
    一个领域的过程。迁移是思想,多任务是其中的一个具体形式。

  2. 迁移学习VS终身学习
    终身学习可以认为是序列化的多任务学习,在已经学习好若干个任务之后,面对新的任务可以继续学习而不遗忘之前学习的任务。迁移学习则侧重于模型的迁移和共同学习。

  3. 迁移学习VS领域自适应

领域自适应问题是迁移学习的研究内容之一,它侧重于解决特征空间一致、类别空间一
致,仅特征分布不一致的问题。而迁移学习也可以解决上述内容不一致的情况。

  1. 迁移学习VS增量学习
    增量学习侧重解决数据不断到来,模型不断更新的问题。迁移学习显然和其有着不同
    之处。

  2. 迁移学习VS自我学习
    自我学习指的是模型不断地从自身处进行更新,而迁移学习强调知识在不同的领域间
    进行迁移。

  3. 迁移学习VS协方差漂移
    协方差漂移指数据的边缘概率分布发生变化。领域自适应研究问题解决的就是协方差
    漂移现象。

负迁移:

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

Why?
  1. 数据问题:源域和目标域压根不相似。

  2. 方法问题:源域和目标域是相似的,但是,迁移学习方法不够好,没找到可迁移的成分。

传递式迁移学习(Transitive transfer learning):在这里插入图片描述

2 迁移学习的研究领域

迁移学习研究领域与研究方法

2.1 按目标域标签分类
  1. 监督迁移学习
  2. 半监督迁移学习
  3. 无监督迁移学习
    其中半监督和无监督迁移学习是研究的热点和难点。
2.2 按学习方法分类
  1. 基于样本的迁移学习方法(Instance based Transfer Learning)
  2. 基于特征的迁移学习方法(Feature based Transfer Learning)(目前研究最热)
  3. 基于模型的迁移学习方法(Model based Transfer Learning)
  4. 基于关系的迁移学习方法(Relation based Transfer Learning)
2.3 按特征分类
  1. 同构迁移学习(Homogeneous Transfer Learning)
  2. 异构迁移学习(Heterogeneous Transfer Learning)
2.4 按离线与在线形式分类
  1. 离线迁移学习(Offline Transfer Learning)
  2. 在线迁移学习(Online Transfer Learning)

3 迁移学习的基础知识

3.1 迁移学习一些基本概念
  1. 领域(Domain):是进行学习的主体,由数据和生成这些数据的概率分布组成。有两个基本的领域即源领域(Source Domain)和目标领域(Target Domain)。领域上的数据用小写粗体x表示,也为向量的表示形式,xi 就是表示第i个样本或特征。用大写X 表示一个领域的矩阵形式。
  2. 任务(Task):是学习的目标,由标签和标签对应的函数组成。f(*)表示一个学习函数。

迁移学习形式化表示常用的符号

3.2 总体思路

迁移学习的总体思路是:开发算法来最大限度地利用有标注的领域的知识,来辅助目标领域的知识获取和学习。核心是找到源领域和目标领域的相似性,并加以利用。

3.3 度量准则

度量的核心是衡量两个数据域的差异。

  1. 几种常见的距离:
    a)欧式距离
    公式如下:欧式距离

    b)闵可夫斯基距离
    公式如下:
    闵可夫斯基距离

    c)马氏距离
    公式如下:
    马氏距离

  2. 相似度
    a)余弦相似度
    余弦相似度

    b)互信息
    互信息

    c)皮尔逊相关系数:协方差除以标准差之积,绝对值越大表示相关性越大。
    皮尔逊相关系数

    d)Jaccard相关系数:两个集合的交集除以并集。
    Jaccard

  3. KL散度与JS距离
    在迁移学习中应用最广泛的度量手段。
    a)KL散度,又叫相对熵衡量两个概率分布的距离,是非对称距离。
    KL散度公式
    b)JS距离,基于KL散度发展而来,是对称的度量。
    JS公式

  4. 最大均值差异MMD
    迁移学习中使用频率最高的度量,就是求两堆数据在RKHS中的均值的距离。

5. Principal Angle
6. A-distance
7. Hilbert-Schmidt Independence Criterion
8. Wasserstein Distance

4 迁移学习的基本方法

  1. 基于样本的迁移(Instance based Transfer Learning)
    根据一定的权重生成规则,对数据样本进行重用。在迁移时,为了最大限度地和目标域相似,可以人为地提高源域中属于目标域这个类别的样本权重。

  2. 基于特征的迁移(Feature based Transfer Learning)(研究热点
    将源域和目标域的特征变换到相同空间,减少源域和目标域之间的差距,根据特征的同构和异构性,可以分为同构迁移学习和异构迁移学习。
    同构迁移学习与异构迁移学习

  3. 基于模型的迁移(Model based Transfer Learning)(研究热点
    源域和目标域的参数共享模型。基于模型的迁移方法是指从源域和目标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条件是:源域中的数据和目标域中的数据共享一些模型的参数。
    基于模型的迁移方法

  4. 基于关系的迁移(Relation based Transfer Learning)(研究较少)
    利用源域中的逻辑网络关系进行迁移,比较关注源域和目标域的样本之间的关系。

更多推荐