人们可以将已经从一项任务中学到的知识更快,更好地应用到另一项任务的想法,导致了对转移学习的研究。在NIPS-1995研讨会“学习中学习” [10]中讨论了这种动机,以讨论知识整合和转移的进展。Ng-Andrew Ng最近在NIPS-2016的一个名为“使用深度学习构建AI应用程序的要点”的教程中加强了该话题,他提到转移学习将成为机器学习商业成功的下一个推动力[11]。
自1990年代以来,转移学习的概念已在文献中以不同的名称进行了讨论:学习学习[10],终身学习[12],知识转移[13],归纳转移[14],多任务学习[15] ],知识整合[16],上下文相关学习[17],基于知识的归纳偏差[18],元学习[19]和增量或累积学习[20]。实际上,所有这些方法都旨在从一个或多个任务中提取知识并将其应用于另一项新任务,但多任务学习通常会同时学习这两个任务。
图显示了两个不同任务的传统学习过程与使用转移学习方法学习的相同任务之间的区别,其中任务1使用大数据集进行了充分训练,而任务2使用从任务1获得的知识来提高准确性并更快地学习。
当源域和目标域相同,并且源学习目标和目标学习任务相同时,它将成为传统的机器学习问题。
根据迁移学习的定义,根据源和目标之间存在的不同场景,将迁移学习分为三种类型:归纳迁移学习、导入迁移学习和无监督迁移学习。在最近的研究中,这些设置也被称为策略。图给出了这些设置的一个很好的表示,这取决于源和目标上的数据可用性,考虑到两者都是相关的。
A.归纳转移学习
此设置是指源任务和目标任务不同且域可以关联或不关联的用例。需要目标中的一些标记数据才能得出目标客观预测模型
归纳学习的一种常见类型是使用源域和任务获取预训练的深度学习模型,并对目标任务的不同层进行微调,另一种类型是多任务学习本身。
如果在源域中没有足够的标记数据,则归纳式转移学习类似于自学式学习。在这种情况下,由于标签空间可能不同,因此无法直接使用来自源域的信息,但是可以使用未标签的数据来提高目标任务的性能。可以训练源任务以识别未标记数据中的模式,然后可以在目标的监督学习任务中使用这些模式。
B.导入迁移学习
在此设置中,源任务和目标任务相似,但域不同。目标中没有标记数据,只有源中有标记数据,类似于半监督学习。
C.无监督迁移学习
此设置类似于归纳迁移学习,目标和源之间的任务有所不同,但是无监督迁移学习侧重于解决目标域中的无监督学习任务,例如聚类和降维。带标签的数据在两个域中均不可用。
1.第一种方法称为实例传输,其中源域的某些部分可以在目标域中重用于学习。这个过程可以称为重新加权。在某些情况下,可以将源域中的数据重用为目标域的一部分,以改善目标任务。
2.第二种方法称为特征表示转移,其中从源学习的特征表示用于改进目标任务。在这种使用情况下,可以预期源域中的数据足以为目标生成良好的特征表示。知识被编码为特征表示。
3.参数传递方法,其中源任务和目标任务共享一些参数或模型的超参数的先验分布。实际上,所传递的知识是模型之间的共享参数。与多任务学习不同,后者同时学习两个任务。在参数传递中,有两种模型,只是其中一些参数可能不同。
4.最后一个是关系知识转移,与上述三个不同的是关系域之间的知识转移。在这种方法中,假设源和目标中的数据包含相似的关系,并且要传输的知识就是数据之间的关系。
有许多深度学习网络已在不同任务中达到了最先进的性能,例如VGG ,Inception ,ResNet ,MobileNet,SSD。这些模型大多数都是公开可用的。
深度学习系统通常由卷积层和最大池化层序列构成,以学习数据的分层表示。这些层用作连接到最终层的特征提取器,负责执行特定任务,例如分类或回归。通常,这些最后一层包含完全连接的神经元。这种体系结构允许我们使用预先训练的模型来执行学习转移,方法是替换最后一层,然后为目标任务微调模型,这是实例转移方法的一种实现。
仍然使用预先训练的模型,可以冻结第一层,使源模型的一部分用作目标任务中最后一层的特征提取器,这是特征表示方法的一种实现。而且,深度学习架构允许我们通过选择冻结哪些层进行微调来结合使用这两种方法,这可能取决于源域和目标域。
域适应
指源与目标之间特征空间相似但边际概率分布不同的情况,P(XS)≠P(XT)。在使用转移学习之前,需要在两个领域之间实现这一技术。例如,考虑一个群组计数任务和一个合成群组场景的源数据集,以及一个真实群组场景的目标数据集,两者都表示相同的内容,但是可能需要诸如样式传输之类的域自适应技术来生成照片级真实感图像并在该场景中使用传输学习。在这个例子中,如果不应用领域自适应,可能会导致目标学习任务在实际图像上不能很好地泛化。一种很有前途的技术是基于对抗性的学习,这是一种转移学习的领域适应方法,使用为生成性对抗性网络(GANs)开发的相同概念来寻找适合源域和目标域的生成特征。
域混淆
该技术利用深度学习模型学习到的特征表示来学习领域不变特征,提高跨领域的可转移性。与其让模型学习任何表示,不如让两个域中的表示尽可能相似。最近有一些深度学习架构专注于实现这类技术,例如除了分类损失之外添加域混淆损失或以无监督的方式对齐源和目标特征的分布。
多任务学习
虽然它并不排斥深度学习应用,但由于实现简单以及易于分割特征提取和分类层的优点,它在此类系统中常用。多任务学习是机器学习的一种范式,其目的是利用多个相关任务中包含的有用信息,帮助提高所有任务的泛化性能。这是一种不同类型的转移学习,即源任务和目标任务同时被学习,利用两个领域中存在的共同特征来获得两个任务在性能上的最佳平衡。
一次性学习
与人类学习不同,机器学习系统需要大量的数据来学习。一个人在第一次看到一个物体后可以很容易地识别它,但不能识别现有的机器。最近的研究比较了机器和人类从一个例子中学习的能力。单发学习是转移学习的一种变体,它试图根据一个或几个训练实例推断出所需的输出。“一次学习”一词最早出现在一篇论文中,该文介绍了将此技术应用于贝叶斯方法,但最近正在使用深度学习模型探索此技术。
零射击学习
这项技术的目的是智能地应用以前学到的知识来帮助将来的识别任务。特别是,本研究领域的一个主要课题是建立能够识别没有相关标记训练样本的新视觉类别的识别模型。它使用类属性作为附加信息,并从带有标记样本的源类传递知识,也可以称为翻译学习。例如,向从未见过斑马但见过马的系统呈现斑马的图片,并且还教导斑马看起来像马但带有条纹。
后设学习
这个想法最初被J.Schmidhuber描述为在20世纪80年代末学会学习和Y.Bengio等人。上世纪90年代初。对于神经网络优化,在少镜头图像识别[83](与一次镜头学习和零镜头学习相关)和快速强化学习[84],[85]中,也用现代方法对其进行了研究,以找到更好的网络结构[82]。这些系统使用不同种类的任务进行训练,例如,它们可以更快地学习新任务,并且只需要很少的射击示例,这仅仅基于关于如何解决这些任务的先验知识。使用元学习的一个有趣的研究领域是模型不可知元学习(MAML),它旨在将这一思想应用于不同的任务,而不是与模型体系结构相联系。
迁移学习领域的一个未解决的问题与避免负迁移有关,在负迁移中,知识从源到目标的转移不会带来任何改善。避免负迁移对实施迁移学习至关重要。有必要研究源域或任务与目标域或任务之间的可转移性。负迁移的原因可能有多种,例如源任务与目标任务的关系不充分,或者转移方法不能很好地利用源任务与目标任务之间的关系的情况
《A Survey of Transfer Learning for Convolutional Neural Networks》