迁移学习

来源:互联网 发布:网络诈骗5000 编辑:程序博客网 时间:2024/06/13 23:10

    迁移学习(Transfer Learning)是机器学习的分支。由于标记数据集费时费力,很多时候我们想要做一个领域的学习,但是并没有充足的已经标记好的数据集,但是在与此相关联的另一个领域,我们有足够的已经标注好的数据集和训练完成的模型

Transfer Learning的初衷就是让模型可以通过已有的标记数据(source domain data)向未标记数据(target domain data)迁移。从而训练出适用于target domain的模型。

迁移学习主要分为四种:

(1)基于样本的迁移学习 通过对源域中有标签样本的加权完成知识迁移

(2)基于特征的迁移学习 将源域和目标域映射到同一个空间中,并最小化源域和目标域的距离来完成知识迁移

(3)基于模型的迁移学习 将源域和目标域的模型结合起来,调整模型的参数

(4)基于关系的迁移学习 在源域中学习概念之间的关系,然后将其类比到目标域中。

如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。如果相似度太低,会出现负迁移的问题。

1.基于样本的迁移学习

基于实例的迁移学习的基本思想是,尽管目标训练数据和源训练数据或多或少会有些不同,但是目标训练数据中应该还是会存在一部分比较适合用来训练一个有效的分类模型,并且适应测试数据。于是,我们的目标就是从目标训练数据中找出那些适合测试数据的实例,并将这些实例迁移到源训练数据的学习中去

在基于实例的迁移学习方面,我们推广了传统的AdaBoost法,提出一种具有迁移能力的boosting算法:Tradaboosting [9],使之具有迁移学习的能力,从而能够最大限度的利用目标训练数据来帮助目标的分类。我们的关键想法是,利用boosting的技术来过滤掉目标数据中那些与源训练数据最不像的数据。其中,boosting的作用是建立一种自动调整权重的机制,于是重要的目标训练数据的权重将会增加,不重要的目标训练数据的权重将会减小。调整权重之后,这些带权重的目标训练数据将会作为额外的训练数据,与源训练数据一起从来提高分类模型的可靠度。

基于实例的迁移学习只能发生在源数据与目标数据非常相近的情况下。但是,当源数据和目标数据差别比较大的时候,基于实例的迁移学习算法往往很难找到可以迁移的知识。但是我们发现,即便有时源数据与目标数据在实例层面上并没有共享一些公共的知识,它们可能会在特征层面上有一些交集。因此我们研究了基于特征的迁移学习,讨论的是如何利用特征层面上公共的知识进行学习的问题。

2.同构空间下基于特征的迁移学习

在基于特征的迁移学习研究方面,我们提出了多种学习的算法,如CoCC算法[7]TPLSA算法[4],谱分析算法[2]与自学习算法[3]等。其中利用互聚类算法产生一个公共的特征表示,从而帮助学习算法。我们的基本思想是使用互聚类算法同时对源数据与目标数据进行聚类,得到一个共同的特征表示,这个新的特征表示优于只基于源数据的特征表示。通过把源数据表示在这个新的空间里,以实现迁移学习。应用这个思想,我们提出了基于特征的有监督迁移学习与基于特征的无监督迁移学习。

2.1 基于特征的有监督迁移学习

我们在基于特征的有监督迁移学习方面的工作是基于互聚类的跨领域分类[7],这个工作考虑的问题是:当给定一个新的、不同的领域,标注数据及其稀少时,如何利用原有领域中含有的大量标注数据进行迁移学习的问题。在基于互聚类的跨领域分类这个工作中,我们为跨领域分类问题定义了一个统一的信息论形式化公式,其中基于互聚类的分类问题的转化成对目标函数的最优化问题。在我们提出的模型中,目标函数被定义为源数据实例,公共特征空间与目标数据实例间互信息的损失。

2.2 基于特征的无监督迁移学习:自学习聚类

我们提出的自学习聚类算法[3]属于基于特征的无监督迁移学习方面的工作。这里我们考虑的问题是:现实中可能有标记的目标数据都难以得到,在这种情况下如何利用大量无标记数据目标数据进行迁移学习的问题。自学习聚类的基本思想是通过同时对源数据与目标数据进行聚类得到一个共同的特征表示,而这个新的特征表示由于基于大量的目标数据,所以会优于仅基于源数据而产生的特征表示,从而对聚类产生帮助。

上面提出的两种学习策略(基于特征的有监督迁移学习与无监督迁移学习)解决的都是源数据与目标数据在同一特征空间内的基于特征的迁移学习问题。当源数据与目标数据所在的特征空间中不同时,我们还研究了跨特征空间的基于特征的迁移学习,它也属于基于特征的迁移学习的一种。

3异构空间下的迁移学习:翻译学习

我们提出的翻译学习[1][5]致力于解决源数据与测试数据分别属于两个不同的特征空间下的情况。在[1]中,我们使用大量容易得到的标注过文本数据去帮助仅有少量标注的图像分类的问题,如上图所示。我们的方法基于使用那些用有两个视角的数据来构建沟通两个特征空间的桥梁。虽然这些多视角数据可能不一定能够用来做分类用的训练数据,但是,它们可以用来构建翻译器。通过这个翻译器,我们把近邻算法和特征翻译结合在一起,将目标数据翻译到源数据特征空间里去,用一个统一的语言模型进行学习与分类