购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 迁移学习

2.6.1 迁移学习的基本概念

迁移学习(Transfer Learning),是机器学习的一个重要分支,目标是将某个领域或任务上学习到的知识或模式应用到其他不同但相关的领域中。更具体来说就是,利用数据、任务或者模型之间的相似性,将旧领域学习过的模型应用于新领域的一种学习过程,如图2.15所示。具体地,在迁移学习中,在旧领域已学习到的知识叫作源域(Source Domain),要学习的新领域的知识叫作目标域(Target Domain)。

图2.15 迁移学习示意图

那么为什么需要迁移学习呢?主要有以下几个原因。

(1)优质数据与深度学习的矛盾

大数据时代的到来,使得深度学习技术受到了越来越多的关注与研究,并且已成功应用于多个领域。它可以通过无监督或半监督特征学习算法及分层特征提取来自动提取数据特征,相反,传统的机器学习方法需要手动设计功能,从而增加了用户的负担。但是数据依赖是深度学习中最严重的问题之一。深度学习需要大量数据才能理解数据的潜在模式。对于特定问题,模型的表达空间必须足够大才能发现数据下的模式。许多机器学习和数据挖掘算法中的重要假设是,训练数据和未来数据必须在相同的特征空间中并且具有相同的分布。但是,在许多实际应用中,此假设可能不成立。例如,有时在一个感兴趣的领域中有一个分类任务,但在另一个感兴趣的领域中只有足够的训练数据,其中后者的数据可能在不同的特征空间中或遵循不同的数据分布。并且,在一些特殊领域,训练数据不足的情况是不可避免的,例如,生物信息数据集中的每个样本通常都代表一次临床试验或一名痛苦的患者。

以上原因导致很难高效地构建大规模的数据集,因此这些领域的发展受到了极大的限制。另外,即使我们以昂贵的代价获得训练数据集,也很容易过时,因此无法有效地应用于新任务中。于是,优质数据与深度学习之间的矛盾便是迁移学习兴起的主要原因。

(2)普适模型与个性化需求的矛盾

机器学习的目标是构建一个尽可能完备且通用的模型,使得这个模型对于不同用户、不同设备、不同环境、不同需求,都可以很好地得到满足。这就要求提高模型的泛化能力,使之适用不同的数据情形。但是,由于人们的个性化需求五花八门,数量非常庞大,很难在有限的时间和计算能力中学习到如此万能的模型。比如基于文本任务,有人想做语言态度识别,有人想做作家文风识别,千奇百怪的使用条件就使得通用模型很难得以实现,于是需要拥有将一个通用模型迁移到不同场景使用的学习方法。

为了解决这些问题,研究人员将目光转向了迁移学习。迁移学习可以将某个领域或任务上学习到的知识或模式应用到其他不同但相关的领域中,从而解决训练数据不足的问题。在迁移学习中,不需要从头开始训练目标域中的模型,还可以显著减少目标域中训练数据和训练时间的需求。

2.6.2 迁移学习主要技术

根据迁移学习中使用的技术,可以将迁移学习分为四类:基于实例的迁移学习、基于映射的迁移学习、基于网络的迁移学习和基于对抗的深度迁移学习。

1.基于实例的迁移学习

基于实例的迁移学习(Instances-based Transfer Learning)是指使用特定的权重调整策略,通过为这些选定实例分配适当的权重值,从源域中选择部分实例作为对目标域中训练集的补充。它基于以下假设:尽管两个域之间存在差异,但目标域可以使用适当的权重来使用源域中的部分实例。

这种方法的基本思想是,由于源域和目标域的数据概率分布不同,那么最直接的方式就是通过一些变换,将不同的数据分布的距离拉近。根据数据分布的性质,这类方法又可以分为边缘分布自适应、条件分布自适应和联合分布自适应。边缘分布自适应方法的目标是减小源域和目标域的边缘概率分布的距离。条件分布自适应方法的目标是减小源域和目标域的条件概率分布的距离。联合分布自适应方法的目标是减小源域和目标域的联合概率分布的距离。

2.基于映射的迁移学习

基于映射的迁移学习(Mapping-based Transfer Learning)是指将实例从源域和目标域映射到新的数据空间。在这个新的数据空间中,来自两个域的实例类似,并且适用于联合深度神经网络。它基于以下假设:尽管两个源域之间存在差异,但在精心设计的新数据空间中它们可能更相似。

在卷积神经网络中,隐藏层将学习任务映射到希尔伯特空间中,采用多核优化方法将不同域之间的距离最小化,利用深度神经网络将迁移学习能力进行了推广,以适应不同数据的分布。

3.基于网络的迁移学习

基于网络的迁移学习(Network-based Transfer Learning)指对源域中经过预训练的局部网络(包括其网络结构和连接参数)进行重用,将其转变为目标域中使用的深度神经网络的一部分。它基于以下假设:神经网络类似于人脑的处理机制,它是一个迭代且连续的抽象过程。网络的前层可以被当作特征提取器,提取的特征是通用的。

基于网络的深度迁移学习的示意图如图2.16所示。将深度神经网络分为两部分,前一部分是与语言无关的特征转换,后一部分是与语言相关的分类器。与语言无关的特征转换可以在多种语言之间传递。一般认为浅层网络结构是与最终分类任务无关的特征变换,固定住这部分结构(网络参数不参与更新),添加新的输出层进行再训练。例如,卷积神经网络可以使用在ImageNet数据集上训练的前层,以计算其他数据集中图像的中间图像表示,对CNN进行训练以学习图像表示,这些图像表示可以在训练数据量有限的情况下有效地转移到其他视觉识别任务。另外,有研究表明,网络结构和可传输性之间,某些模块可能不会影响域内的准确性,但会影响可传递性。

图2.16 基于网络的迁移学习

4.基于对抗的深度迁移学习

基于对抗的深度迁移学习(Adversarial-based Deep Transfer Learning)是指引入对抗性技术,该技术受生成对抗性网络(GAN)的启发,以找到适用于源域和目标域的可转移表示形式。它基于这样的假设:为了有效地进行转移,良好的代表应区别于主要学习任务,并且在源域和目标域之间不加区别。

基于对抗的深度迁移学习由于其良好的效果和较强的实用性,近年来获得了长足的发展。引入对抗技术,通过在损失函数中使用域适应正则项来转移学习以进行域适应。通过增加几个标准层和一个简单的新的梯度逆转层来进行扩展,从而适用于大多数前馈神经模型。随机多线性对抗网络利用多个特征层和基于随机多线性对抗者的分类器层,以实现深度和判别性对抗适应。领域对抗性损失使用基于度量学习的方法将嵌入推广到新任务中,以在深度转移学习中找到更易处理的特征。

2.6.3 迁移学习的应用

近年来,迁移学习技术已成功应用于许多实际应用中。比如从文本数据学习中学习解决情感分类问题,使用不充分的目标域数据和大量低质量的源域数据来解决图像分类问题。

此外,有几个基于迁移学习的国际竞赛,这些竞赛提供了一些急需的公共数据。在ECML/PKDD—2006挑战中,该任务是处理相关学习任务中的个性化垃圾邮件过滤和泛化。为了训练垃圾邮件过滤系统,从一组用户中收集大量带有相应标签的电子邮件:垃圾邮件或非垃圾邮件,并根据这些数据训练分类器。对于新的电子邮件用户,为该用户调整学习的模型。第一组用户和新用户的电子邮件分配是不同的,目的是使旧的垃圾邮件过滤模型适应具有更少训练数据和更少训练时间的新情况。 YTVDGS1x+eOFfGpq/eLQ68jS7QePwhChtIYjq1f3gaHrKhAARdeLqonDj6lmiAoW

点击中间区域
呼出菜单
上一章
目录
下一章
×