「迁移学习简明手册」学习笔记(1)
1.迁移学习的基本概念
1.2 迁移学习基本概念
- 核心问题:找到新问题和原问题之间的相似性,才可以顺利地实现知识的迁移。
- 定义:迁移学习,是指利用数据、任务、或模型之间的相似性,将在旧领域学习过的模型,应用在新领域的一种学习过程。
1.3 为什么要迁移学习
这个表格包括了1.3的所有内容,可以只看这个表格:
- 1.大数据与少标注之间的矛盾
- 2.大数据与弱计算之间的矛盾
- 3.普适化模型与个性化需求之间的矛盾
机器学习的目标是构建一个尽可能通用的模型,而人们的个性化需求五花八门,短期内根本无法用一个通用的模型去满足。 - 4.特定应用的需求
推荐系统的冷启动问题:一个新的推荐系统,没有足够的用户数据,如何进行精准的推荐;一个崭新的图片标注系统,没有足够的标签,如何进行精准的服务?
针对以上问题,迁移学习是如何解决的呢?
- 1.迁移数据标注
- 2.模型迁移(将那些大公司在大数据上训练好的模型,迁移到我们的任务中)
- 3.自适应学习(对普适化模型进行灵活的调整,以便完成我们的任务)
- 4.相似领域知识迁移
1.4 与已有概念的区别和联系
1.迁移学习和机器学习
迁移学习属于机器学习的一类
2.迁移学习和多任务学习
多任务学习指多个相关的任务一起协同学习。
3.迁移学习和终身学习
终身学习是在已经学习好若干个任务之后,面对新的任务可以继续学习而不遗忘之前学习的任务。
4.迁移学习和领域自适应
5.迁移学习和增量学习
增量学习侧重解决数据不断到来,模型不断更新的问题。
6.迁移学习和自我学习
自我学习指的是模型不断地从自身处进行更新
7.迁移学习和协方差漂移
协方差漂移指数据地边缘概率分布发生变化
1.5 负迁移(“东施效颦”)
如果两个领域之间不存在相似性,或者基本不相似,那么就会大大损害迁移学习地效果。这时候,我们可以说出现了==负迁移(Negative Transfer)==
- 定义:在源域上学习到的知识,对于目标域上的学习产生负面作用。
- 产生负迁移的原因:
- 数据问题
- 方法问题:源域和目标域是相似的,但是迁移学习的方法不够好。
- 传递迁移学习:传统迁移学习好比是踩着一块石头过河,传递迁移学习就是踩着连续的两块石头。当两个领域不相似时,传递迁移学习却可以利用处于这两个领域之间的若干领域,将知识传递式的完成迁移。
2.迁移学习的研究领域
机器学习可分为有监督、半监督和无监督的机器学习三大类。迁移学习也可以进行这样的分类。
分类的四个准则:按目标域有无标签分、按学习方法分、按特征分、按在线形式分
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)
如图,在迁移时,为了最大限度地和目标域相似,我们可以人为地提高源域中属于狗这个类别地样本权重。
优缺点:虽然实例权重法具有较好的理论支撑、容易推导泛化误差上界,但这类方法通常只在领域间分布差异较小时有效,因此对自然语言处理、计算机视觉等任务效果并不理想。
5.2 基于特征迁移
通过特征变换的方式互相迁移,来减少源域和目标域之间地差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。
这类方法通常假设源域和目标域间有一些交叉的特征。
5.3 基于模型学习
基于模型的迁移方法 (Parameter/Model based Transfer Learning) 是指从源域和目标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条件是:源域中的数据与目标域中的数据可以共享一些模型的参数。
5.4 基于关系迁移
这种方法比较关注源域和目标域的样本之间的关系。
这些文章都借助于马尔科夫逻辑网络 (Markov Logic Net)来挖掘不同领域之间的关系相似性。
我们将重点讨论基于特征和基于模型的迁移学习方法,这也是目前绝大多数研究工作的热点。