迁移学习Transfer Learning

1、简介

一句话概括:从以前的任务当中去学习知识(knowledge)或经验,并应用于新的任务当中。

传统的机器学习方法包括有监督学习、无监督学习和半监督学习,针对不完全数据,有监督和半监督学习还有相应的变形,如处理噪声分类标签问题以及代价敏感学习。然而,这些方法的大多数都假设已标注数据与未标注数据的分布是相同的。与之相反的是,迁移学习允许源空间、任务空间,并且在测试集和训练集中的分布是不同的。

 

2、数学形式描述

domain. 数据域(domain)由两个部分组成:特征空间 XXXX 和边缘概率分布 P(X)P(X) 

task. 一个任务(task)由两个部分组成:空间的标签 YYYY,和一个目的预测函数 f(.)

Transfer Learning: Ds≠Dt或者 Ts≠Tt 

说明:当 Ds=DtDs=Dt 且 Ts=TtTs=Tt 的时候是传统的机器学习算法。比如在文本分类的例子中, Ds≠DtDs≠Dt 可能两个文本的语言不同,也有可能文本相同但是多关注的主题不同; Ts≠TtTs≠Tt 可能是一个是二分类问题,另一个十分类问题,也有可能是根据用户定义的类源和目标中的文本是不均衡的。
 

3、分类

迁移学习Transfer Learning_第1张图片

迁移学习Transfer Learning_第2张图片

4、迁移学习方法

(1)Domain-adversarial Training:

引入一个 domain classifier(相当于GAN 中 discriminator),用于判别 feature extractor 输出的 feature 属于 target domain 还是 source domain, feature extractor 则努力消除 features 分布在 target domain 和 source domain 上的差异,骗过domain classifier的鉴别

(2) Fine-tuning:拿训练好的网络(参数load而不是随机初始化),在目标数据集上稍微迭代几次

迁移学习Transfer Learning_第3张图片

(3)Multitask Learning:copy某些层,改变某些层

迁移学习Transfer Learning_第4张图片

(4)Zero-Shot learning:测试集中的标签在训练集中没有出现过。但是我们知道测试集的特征,然后通过语料知识库,便可以将这个类别识别出来。。

参考:https://blog.csdn.net/dugudaibo/article/details/78727360

https://www.jianshu.com/p/cfe91b2fdd1d

 

你可能感兴趣的:(人工智能)