1.4 迁移学习的研究领域

依据目前较流行的机器学习分类方法,机器学习主要可以分为有监督学习、半监督学习,无监督学习和强化学习这几大类。本书主要关注非强化学习部分。同理,迁移学习也可以进行这样的分类。需要注意的是,依据的分类准则不同,分类结果也不同。在这一点上,并没有统一的说法。这里仅根据目前较流行的方法,对迁移学习的研究领域进行一个大致的划分。

图1.6给出了迁移学习的研究领域与研究方法分类。

图1.6 迁移学习的研究领域与研究方法分类

大体上讲,迁移学习的分类可以按照四个准则进行:按特征空间分、按目标域有无标签分、按学习方法分、按离线与在线形式分。不同的分类方式对应着不同的专业名词。当然,即使是同一个分类下的研究领域,也可能同时处于另一个分类下。我们简单描述这些分类方法及相应的领域。

1.4.1 按特征空间分类

按照特征的属性进行分类是一种常用的分类方法。按照特征属性,迁移学习可以分为两个大类:

1. 同构迁移学习(Homogeneous Transfer Learning)

2. 异构迁移学习(Heterogeneous Transfer Learning)

这是一种很直观的方式:如果特征语义和维度都相同,那么就是同构;反之,如果完全不相同,那么就是异构。举个例子来说,不同图片的迁移就可以认为是同构的;而图片到文本的迁移则是异构的。

1.4.2 按目标域有无标签分类

这种分类方式最为直观。类比机器学习,按照目标领域有无标签,迁移学习可以分为以下三个大类:

1. 有监督迁移学习(Supervised Transfer Learning)

2. 半监督迁移学习(Semi-Supervised Transfer Learning)

3. 无监督迁移学习(Unsupervised Transfer Learning)

显然,少标签或无标签的问题(半监督和无监督迁移学习)是研究的热点和难点,也是本书重点关注的领域。

1.4.3 按学习方法分类

尽管迁移学习方法根据不同的分类准则可以有不同的分类结果,我们并不打算另起炉灶对其进行分类。根据迁移学习综述文章[Pan and Yang,2010]中的分类,按学习方法,迁移学习可以分为以下四个大类:

1. 基于实例的迁移学习方法(Instance-based Transfer Learning)

2. 基于模型的迁移学习方法(Model-based Transfer Learning)

3. 基于特征的迁移学习方法(Feature-based Transfer Learning)

4. 基于关系的迁移学习方法(Relation-based Transfer Learning)

这是一个很直观的分类方式,按照实例、特征、模型的机器学习逻辑进行区分,再加上关系模式。

基于实例的迁移学习方法,简单来说就是通过权重重用,对源域和目标域的样例进行迁移。也就是说直接给不同的样本赋予不同权重,比如给相似的样本更高的权重,这样就完成了迁移,非常简单和直接。

基于特征的迁移学习方法,就是通过对特征进行变换来完成迁移。假设源域和目标域的特征原来不在一个空间,或者说它们在原来那个空间上不相似,那就想办法把它们变换到一个空间里,于是这些特征的相似性便会大大增加。这个思路也非常直接。目前,此类方法被学术界广泛地进行了研究,在工业界也得到了大规模的应用。

基于模型的迁移学习方法,即构建参数共享的模型。例如,SVM的权重参数、神经网络的参数等,都可以进行共享。由于神经网络的结构可以直接进行迁移,因此其使用频率非常高。例如,神经网络最经典的预训练–微调(Pretrain-finetune)就是模型参数迁移的很好的体现。

基于关系的迁移,这个方法用得比较少,其主要挖掘和利用关系进行类比迁移。比如老师上课、学生听课就可以类比为公司开会的场景,这就是一种关系的迁移。

本书的主要内容是阐述迁移学习的不同方法,因此,将会侧重于介绍不同种类方法的具体内容。笔者基于自己的经验,对迁移学习的几大类方法进行了介绍,它们分别是:样本权重迁移法,对应于基于样本的迁移学习方法,见第5章;特征变换迁移法,对应于基于特征的迁移学习方法,见第6章和第7章;以及预训练方法,对应于基于模型的迁移方法,见第8章。在这些基础方法之上,则介绍基于深度学习和对抗网络的迁移方法,见第9章和第10章。由于基于关系的迁移方法相关工作较匮乏,故本书对此不作详细介绍。

1.4.4 按离线与在线形式分类

按照离线学习与在线学习的方式,迁移学习还可以被分为

1. 离线迁移学习(Offline Transfer Learning)

2. 在线迁移学习(Online Transfer Learning)

目前,绝大多数的迁移学习方法都采用了离线方式,即源域和目标域均是给定的,迁移一次即可。这种方式的缺点是显而易见的:算法无法对新加入的数据进行学习,模型也无法得到更新。与之相对的是在线的方式,即随着数据的动态加入,迁移学习算法也可以不断地更新。