发布于 

「迁移学习简明手册」学习笔记(1)

1.迁移学习的基本概念

1.2 迁移学习基本概念

  • 核心问题:找到新问题和原问题之间的相似性,才可以顺利地实现知识的迁移。
  • 定义:迁移学习,是指利用数据、任务、或模型之间的相似性,将在旧领域学习过的模型,应用在新领域的一种学习过程。

1.3 为什么要迁移学习

这个表格包括了1.3的所有内容,可以只看这个表格:

1.3

  • 1.大数据与少标注之间的矛盾
  • 2.大数据与弱计算之间的矛盾
  • 3.普适化模型与个性化需求之间的矛盾
    机器学习的目标是构建一个尽可能通用的模型,而人们的个性化需求五花八门,短期内根本无法用一个通用的模型去满足。
  • 4.特定应用的需求
    推荐系统的冷启动问题:一个新的推荐系统,没有足够的用户数据,如何进行精准的推荐;一个崭新的图片标注系统,没有足够的标签,如何进行精准的服务?

针对以上问题,迁移学习是如何解决的呢?

  • 1.迁移数据标注
  • 2.模型迁移(将那些大公司在大数据上训练好的模型,迁移到我们的任务中)
  • 3.自适应学习(对普适化模型进行灵活的调整,以便完成我们的任务)
  • 4.相似领域知识迁移

1.4 与已有概念的区别和联系

1.迁移学习和机器学习

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

2.迁移学习和多任务学习

多任务学习指多个相关的任务一起协同学习。

3.迁移学习和终身学习

终身学习是在已经学习好若干个任务之后,面对新的任务可以继续学习而不遗忘之前学习的任务。

4.迁移学习和领域自适应

5.迁移学习和增量学习

增量学习侧重解决数据不断到来,模型不断更新的问题。

6.迁移学习和自我学习

自我学习指的是模型不断地从自身处进行更新

7.迁移学习和协方差漂移

协方差漂移指数据地边缘概率分布发生变化

1.5 负迁移(“东施效颦”)

如果两个领域之间不存在相似性,或者基本不相似,那么就会大大损害迁移学习地效果。这时候,我们可以说出现了==负迁移(Negative Transfer)==

  • 定义:在源域上学习到的知识,对于目标域上的学习产生负面作用。
  • 产生负迁移的原因:
    • 数据问题
    • 方法问题:源域和目标域是相似的,但是迁移学习的方法不够好。
  • 传递迁移学习:传统迁移学习好比是踩着一块石头过河,传递迁移学习就是踩着连续的两块石头。当两个领域不相似时,传递迁移学习却可以利用处于这两个领域之间的若干领域,将知识传递式的完成迁移。

2.迁移学习的研究领域

机器学习可分为有监督、半监督和无监督的机器学习三大类。迁移学习也可以进行这样的分类。
t8

分类的四个准则:按目标域有无标签分、按学习方法分、按特征分、按在线形式分

2.1 按目标域标签分

  • 1.监督迁移学习 Supervised Transfer Learning
  • 2.半监督迁移学习 Semi-Supervised Transfer Learning
  • 3.无监督迁移学习 Unsupervised Transfer Learning

显然,少标签或无标签的问题(半监督和无监督迁移学习)
,是研究的热点和难点。

2.2 按学习方法分类

  • 1.基于样本的迁移学习方法(Instance based Transfer Learning)
    通过权重重用,对源域和目标域的样例进行迁移
  • 2.基于==特征==的迁移学习方法(Feature based Transfer Leaning)
    意思是说,假设源域和目标域的特征
    原来不在一个空间,或者说它们在原来那个空间上不相似,那我们就想办法把它们变换到一个空间里面,那这些特征不就相似了?
  • 3.基于==模型==的迁移学习方法(Model based Transfer Leaning)
    构建参数共享的模型
  • 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 计算机视觉

同一类图片,不同的拍摄角度、不同光照、不同背景,都会造成特征分布发生改变。因此,使用迁移学习构建跨领域的鲁棒分类器是十分重要的。

3.2 文本分类

由于文本数据有其领域特殊性,因此,在一个领域上训练的分类器,不能直接拿来作用到另一个领域上。这就需要用到迁移学习。例如,在电影评论文本数据集上训练好的分类器,不能直接用于图书评论的预测。这就需要进行迁移学习。

3.3 时间序列

行为识别 (Activity Recognition) 主要通过佩戴在用户身体上的传感器,研究用户的行
为。行为数据是一种时间序列数据。不同用户、不同环境、不同位置、不同设备,都会导致时间序列数据的分布发生变化。

3.4 医疗健康

医疗领域研究的难点问题是,无法获取足够有效的医疗数据。

4.基础知识

4.1迁移学习的问题形式化

4.1.1 领域

领域(Domain)是进行学习的主体。领域主要由两部分构成:数据和生成这些数据的概率分布。源领域:有知识、有大量数据标注的领域;目标域:我们最终要赋予知识、赋予标注的对象。

4.1.2 任务

任务(Task):学习的目标。由两部分组成:标签和标签对应的函数。

4.1.3 迁移学习

领域自适应(Domain Adaptation)

4.2 总体思路

开发算法来最大限度地利用有标注地领域地知识,来辅助目标领域的知识获取和学习。
找到相似性 (不变量),是进行迁移学习的核心。
度量工作的目标有两点:

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

一句话总结: ==相似性是核心,度量准则是重要手段。==

4.3 度量准则

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

4.3.1 常见的几种距离

  • 1.欧式距离
  • 2.闵科夫斯基距离
  • 3.马氏距离

4.3.2 相似度

  • 1.余弦相似度
  • 2.互信息
  • 3.皮尔逊相关系数
  • 4.Jaccard相关系数

4.3.3 KL散度与JS距离

4.3.4 最大均值差异MMD(Maximun mean discrepancy)

4.3.5 Principle Angle

4.3.6 A-distance

4.3.7 Hilbert-Schmidt Independence Criterion

4.3.8 Wasserstein Distance

4.4 迁移学习的理论保证

这一部分有些难度。当自己提出的算法需要理论证明时,可以借鉴这一部分。

5.迁移学习的基本方法

四种基本方法:基于样本的迁移,基于模型的迁移,基于特征的迁移,以及基于关系的迁移。

5.1 基于样本的迁移学习方法(Instance based Transfer Learning)

t8
如图,在迁移时,为了最大限度地和目标域相似,我们可以人为地提高源域中属于狗这个类别地样本权重。
优缺点:虽然实例权重法具有较好的理论支撑、容易推导泛化误差上界,但这类方法通常只在领域间分布差异较小时有效,因此对自然语言处理、计算机视觉等任务效果并不理想。

5.2 基于特征迁移

通过特征变换的方式互相迁移,来减少源域和目标域之间地差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。
t15
这类方法通常假设源域和目标域间有一些交叉的特征。

5.3 基于模型学习

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

5.4 基于关系迁移

这种方法比较关注源域和目标域的样本之间的关系。
这些文章都借助于马尔科夫逻辑网络 (Markov Logic Net)来挖掘不同领域之间的关系相似性。
我们将重点讨论基于特征和基于模型的迁移学习方法,这也是目前绝大多数研究工作的热点。
t17