Transfer Learning

迁移学习介绍

Posted by JY on February 6, 2020

Ref

Book:《迁移学习简明手册》王晋东
Ref:
[1]. Understanding How Feature Structure Transfers in Transfer Learning
[2]. A Survey on Transfer Learning
[3]. A Survey on Deep Transfer Learning

1. Introduction 介绍

  • 迁移学习是利用数据、任务或模型之间的相似性,将在旧的领域学习过或训练好的模型,应用于新的领域。

  • 为什么要用迁移学习?
    • 大数据与少标注之间的矛盾:尽管可以获得到海量的数据,但数据往往是很初级的原始形态,很少有数据被加以正确的人工标注。
    • 大数据与若计算之间的矛盾:利用海量的大数据训练模型需要大设备、强计算能力的设备(从头开始训练一个卷积网络通常需要较长时间且依赖于强大的GPU计算资源)
    • 普适化模型与个性化需求之间矛盾:当通用任务具体到每个个体、每个需求时,都存在其唯一性和特异性,一个普适化的通用模型根本无法满足。
    • 特定应用的需求:一些特定的应用(比如一个新的推荐系统,没有足够的用户数据,如何进行精准的推荐?一个崭新的图片标注系统,没有足够的标签,如何进行精准的服务?)
  • 迁移学习作用:
    • 迁移数据标注(解决大数据与少标注的矛盾):通过寻找一些与目标数据相近的有标注的数据,从而利用这些数据来构建模型,增加目标数据的标注。
    • 模型迁移(大数据与弱计算):利用大公司在大数据上训练好的模型,迁移到所需的任务中,针对任务进行微调,进行自适应更新,从而取得更好的效果
    • 自适应学习(普适化模型与个性化需求):利用迁移学习的思想,进行自适应的学习。考虑到不同用户之间的相似性和差异性,对普适化模型进行灵活的调整,以实现个性。
    • 相似领域知识迁移(特定应用的需求):利用迁移数据标注、模型迁移和自适应学习方法,从数据和模型方法上进行迁移学习,以满足特定领域应用的需求。
  • 迁移学习 VS 传统机器学习

    比较项目 传统机器学习 迁移学习
    数据分布 训练和测试数据服从相同的分布 训练和测试数据服从不同的分布
    数据标注 需要足够的数据标注来训练模型 不需要足够的数据标注
    模型 每个任务需要分别建模 模型可以在不同任务之间迁移
  • 迁移学习 VS 多任务学习

    • 迁移学习:强调信息复用,从一个领域(domain)迁移到另一个领域。
    • 多任务学习:多个相关任务一起协同学习

2. Domains 迁移学习的研究领域

img

  • 按目标域标签分类
    • 监督迁移学习 (Supervised Transfer Learning)
    • 半监督迁移学习 (Semi-Supervised Transfer Learning)
    • 无监督迁移学习 (Unsupervised Transfer Learning) 其中少标签或无标签的问题(半监督和无监督迁移学习)是目前研究的热点和难点
  • 按学习方法分类
    • 基于样本(数据)的迁移学习方法 (Instance based Transfer Learning)
      • 通过权重复用,对源领和目标域的样本进行迁移
    • 基于特征的迁移学习方法 (Feature based Transfer Learning)
      • 通过对特征进行变换,将源域和目标域的特征转换到一个空间,在这个空间,两个域的特征相似
    • 基于模型的迁移学习方法 (Model based Transfer Learning)
      • 构建参数共享的模型,主要应用在神经网络中
    • 基于关系的迁移学习方法 (Relation based Transfer Learning)
      • 挖掘和利用源域与目标域的关系,进行类比迁移。该方法使用较少。
  • 按特征分类
    • 同构迁移学习 (Homogeneous Transfer Learning):
      • 又称领域自适应
      • 源域和目标域的特征空间和标签空间相同
    • 异构迁移学习 (Heterogeneous Transfer Learning):
      • 源域和目标域的特征空间和/或标签空间不同 img
  • 按离线与在线形式分类
    • 离线迁移学习 (Offline Transfer Learning):
      • 源域和目标域均是给定的,迁移一次即可,但是算法无法对新加入的数据进行学习,模型也无法得到更新。
      • 目前绝大多是迁移学习方法都采用了离线方式
    • 在线迁移学习 (Online Transfer Learning)
      • 随着数据的动态加入,迁移学习算法可以不断得到更新

3.Basic Knowledge 迁移学习基础知识

(1). Domain(领域)

  • 领域(Domain): 是进行学习的主体。领域主要由两部分构成:数据生成这些数据的概率分布。通常我们用$\mathcal{D}$来表示一个domain,用$\mathcal{P}$来表示一个概率分布。领域上的数据,通常用x来表示,是一种向量的表示形式(x$_i$表示第$i$个样本或特征)。用X表示一个领域的数据,是一种矩阵形式。用$\mathcal{X}$来表示数据的特征空间。
    • Source Domain(源领域):有知识、有大量数据标注的领域,是要迁移的对象,通常用$D_s$表示。
    • Target Domain(目标领域):最终要赋予知识、赋予标注的对象,通常用$D_t$表示

(2). Task(任务)

  • 任务(Task): 是学习的目标,主要由两部分组成:标签和标签对应的函数,通常用$\mathcal{Y}$来表示,用$f(·)$来表示一个学习函数。
    • 源领域的类别空间可以表示为$\mathcal{Y_s}$
    • 目标领域的类别空间可以表示为$\mathcal{Y_t}$

(3). Transfer Learning 迁移学习定义

  • 迁移学习 (Transfer Learning): 给定一个有标记的源域$\mathcal{D_s}={x_i,y_i{}}^n_{i=1}$和一个无标记的目标域$\mathcal{D_t}={{}x_j{}}^{n+m}_{j=n+1}$。这两个领域的数据分布$\mathcal{P}(x_s)$和$\mathcal{P}(x_t)$不同,即$\mathcal{P}(x_s)\neq\mathcal{P}(x_t)$。迁移学习的目的就是要借助$\mathcal{D_s}$的知识,来学习目标域$\mathcal{D_t}$的知识 (标签)。
  • 迁移学习的定义需要考虑:
    • 特征空间的异同,即$\mathcal{X_s}$和$\mathcal{X_t}$是否相等
    • 类别空间的异同,即$\mathcal{Y_s}$和$\mathcal{Y_t}$是否相等
    • 条件概率分布的异同,即$\mathcal{Q_s(y_s\mid x_s)}$和$\mathcal{Q_s(y_t\mid x_t)}$是否相等
  • 利用上述形式化,给出领域自适应(即同构迁移学习)的定义为:
    • 领域自适应(Domain Adaptation):给定一个有标记的源域$\mathcal{D_s}$=${x_i,y_i$${}}^n_{i=1}$和一个无标记的目标域$\mathcal{D_t}$=${{}x_j{}}^{n+m}_{j=n+1}$。假定它们的特征空间相同,即$\mathcal{X_s}=\mathcal{X_t}$,并且它们的类别空间也相同,即$\mathcal{Y_s}=\mathcal{Y_t}$。但是这两个域的边缘分布不同,即$\mathcal{P_s(y_s\mid x_s)}{\neq}\mathcal{P_s(y_t\mid x_t)}$,条件概率分布也不同,$\mathcal{Q_s(y_s\mid x_s)}{\neq}\mathcal{Q_s(y_t\mid x_t)}$。迁移学习的目标就是利用有标记的数据$\mathcal{D_s}$去学习一个分类器$f:\mathcal{x_t}{\to}\mathcal{y_t}$来预测目标域$\mathcal{D_t}$的标签$\mathcal{y_t}{\in}\mathcal{Y_t}$
  • 总结:相似性是核心,度量准则是重要手段
    • 总体思路:开发算法来最大限度地利用有标注的领域的知识,来辅助目标领域的知识获取和学习
    • 迁移学习的核心是找到源领域和目标领域之间的相似性,并加以合理利用。
    • 度量和利用相似性:度量工作的目标有两点,一是很好地度量两个领域的相似性,不仅定性地告诉我们它们是否相似,更定量地给出相似程度。二是以度量为准则,通过所要采用的学习手段,增大两个领域之间的相似性,从而完成迁移学习。

(4). 度量准则

  • 距离
    • 欧式距离
    • 闵可夫斯基距离
    • 马氏距离
  • 相似度
    • 余弦相似度:衡量两个向量的相关性
    • 互信息:度量两个概率分布对象的相关性
    • 皮尔逊相关系数:衡量两个随机变量的相关性
    • Jaccard相关系数:判断两个集合的相关性
  • KL散度和JS距离
    • KL散度:衡量两个概率分布的距离
    • JS距离:衡量对称度
  • 最大均值差异MMD:度量再⽣核希尔伯特空间(Reproducing Kernel Hilbert Space)中两个分布的距离,是一种核学习方法
  • Principal Angle:两组数据对应维度的夹角之和
  • A-distance:通常被用来计算两个领域数据的相似程度
  • Hilbert-Schmidit Independence Criterion:用来检验两组数据的独立性

4. Transfer Learning Methods 迁移学习方法

分类方式:基于学习方法进行分类

(1). 基于样本迁移(Instance based Transfer Learning)

  • 根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习。
  • 如下图:源域中存在不同种类的动物,如狗、鸟、猫等,目标域只有狗这一种类别。在迁移时,为了最大限度地和目标域相似,可以人为地提高源域中属于狗这个类别的样本权重。 img
  • 根据特征的同构和异构性,又可以分为同构和异构迁移学习。

(2). 基于特征迁移(Feature based Transfer Learning)

  • 通过特征变换的方式互相迁移,来减少源领和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。
  • 可以分为有监督和无监督两种情况:
    • 有监督特征构造的基本思想是学习一个低维的特征表示,使得特征可以在相关的多个任务中共享,同时也要使分类回归的误差最小。
    • 无监督特征构造的基本思想:
    • 第一步通过在源域上学习一个基向量;
      • 第二步在目标域数据上基于基向量学习更高维特征;
      • 最后在目标域上,将判别算法应用于具有相应标签的更高维特征,以训练分类和回归模型应用到目标域。 img

(3). 基于参数/模型迁移(Parameter/Model based Transfer Learning)

  • 从源域和目标域中找到两者之间共享的参数信息。
  • 该迁移方式要求的假设条件是:源域中的数据与目标域中的数据可以共享一些模型的参数
  • 目前绝大多数基于模型的迁移学习方法都与深度神经网络进行结合。 img

(4). 基于关系迁移(Relation Based Transfer Learning)

  • 关注源域和目标域的样本之间的关系。它不假设每一个域的数据都是独立同分布的,而是将数据之间的联系从源域迁移到目标域。

5. Deep Transfer Learning Methods 深度迁移学习

  • 深度迁移学习优势:
    • 与传统的非深度迁移学习方法相比,深度迁移学习直接提升了在不同任务上的学习效果
    • 由于深度学习直接对原始数据进行学习,所以其对比非深度方法还有两个优势:自动化地提取更具表现力的特征;满足了实际应用中的端对端需求
    • 深度迁移学习方法(BA、DDC、DAN)对比传统迁移学习方法(TCA、GFK),在精度上具有巨大的优势
  • 深度迁移学习方法:
    • Instance-based deep transfer learning
      • 使用特定的权重调整策略,在源域中选择实例设定适当的权重值,将其作为目标域中训练集的补充。
      • 此方法假设:虽然在两个域之间有两个域,但源域中的部分实例可以通过适当的权重从而利用到目标域中。

      img

    • Mapping-based deep transfer learning
      • 将实例从源域和目标域映射到一个新的数据空间。在新的数据空间,来自两个域的实例相似,适合于联合深度神经网络
      • 此方法假设:虽然两个源域之间存在差异,但在一个精心设计的新数据空间中,它们可能更相似

      img

    • Network-based deep transfer learning
      • 对源域预先训练的部分网络进行重用,包括其网络结构和连接参数,将其迁移为目标域中深度神经网络的一部分。
      • 此方法假设:神经网络类似于人脑的处理机制,是一个迭代的、连续的抽象过程。该网络的前端可以看作是一个特征提取器,所提取的特征具有通用性。

      img

    • Adversarial-based deep transfer learning
      • 引入生成对抗网络(GAN)中的对抗性技术,以找到适用于源域和目标域的可迁移表示
      • 此方法假设:对于有效的迁移,良好的表示应该是在主要学习任务有差异性,而在源域与目标域之间无差异。

      img