A Survey on Deep Transfer Learning

译自:https://arxiv.org/pdf/1808.01974v1.pdf

摘要

作为一种新的分类方法,深度学习最近受到研究人员越来越多的关注,并已成功应用到诸多领域。在某些类似生物信息和机器人的领域,由于数据采集和注释费用高昂,构建大规模的注释良好的数据集非常困难,这限制了这些领域的发展。迁移学习放宽了训练数据必须与测试数据独立且相同地分布(i.i.d.)的假设,这促使我们使用迁移学习来解决训练数据不足的问题。本次调研的重点是回顾当前利用深度神经网络进行迁移学习的研究及其应用。我们根据深度迁移学习中使用的技术,给出了深度迁移学习的定义,类别并回顾了最近的研究工作。

Introduction

深度学习最近受到研究员越来越多的关注,并已成功应用于众多实际应用中。深度学习算法试图从海量数据中学习高级特征,这使得深度学习超越了传统的机器学习。它可以通过无监督或半监督特征学习算法和分层特征提取自动提取数据特征。相比之下,传统的机器学习方法需要手动设计特征(一般就是一些数据的统计信息,直方图之类的,这会严重增加用户的负担。可以说深度学习是机器学习中一种基于大规模数据的表征学习算法。数据依赖是深度学习中最严峻的问题之一。与传统的机器学习方法相比,深度学习极其依赖大规模训练数据,因为它需要大量数据去理解潜在的数据模式。我们可以发现一个有趣的现象,模型的规模和所需数据量的大小几乎呈线性关系。
一个可接受的解释是,对于特定问题,模型的表达空间必须大到足以发现数据下的模式。模型中前面的层可以识别训练数据的低级特征(颜色,纹理 etc,后面的层可以识别帮助做出最终决策所需的信息(语义信息)。在一些特殊领域,训练数据不足不可避免。数据收集复杂且昂贵,因此构建大规模,高质量的带注释数据集非常困难。例如,生物信息数据集中的每个样本通常都表示一次临床试验或一名痛苦的患者。另外,即使我们以昂贵的价格获得训练数据集,也很容易过时,因此无法有效地应用于新任务中。

迁移学习放宽了训练数据必须与测试数据独立且相同地分布(i.i.d.)这样的假设,这促使我们使用迁移学习来解决训练数据不足的问题。

在迁移学习中,训练数据和测试数据不需要是 i.i.d.,目标域中的模型也不需要从头开始训练,这可以显着降低目标域对训练数据和训练时间的需求。
过去,大多数迁移学习研究都是在传统的机器学习方法中进行的。由于深度学习在现代机器学习方法中的优势地位,深度迁移学习及其应用的调研尤为重要。这份调研文件的贡献如下:
我们定义了深度迁移学习,并首次将其分为四类。

我们回顾了目前关于每种深度迁移学习的研究工作,并给出了每个类别的标准化描述和示意图。

Deep Transfer Learning

迁移学习是机器学习中解决训练数据不足问题的重要工具。它试图通过放宽训练数据和测试数据必须为 i.i.d 的假设,将知识从源域迁移到目标域。
这将对由于训练数据不足而难以改善的许多领域产生巨大的积极影响。迁移学习的学习过程如图 1 所示。
这份调研中使用的某些符号需要明确定义。首先, 我们分别给出了域和任务的定义:域可以 用 D = {χ, P(X)} 表示,其包含两部分:特征空间 χ 边缘概率分布 P(X) 其中 X = {x1, …, xn} ∈ χ。
任务可以用 T = {y, f(x)} 表示。它由两部分组成:标签空间 y 和目标预测函数 f(x)。f(x) 也可看作条件概率函数 P(y|x) 。最后,迁移学习 可以定义如下:

定义 1:(迁移学习)。给定一个基于任务 Dt 的学习任务 Tt,我们可以从 Dt 中获取对任务 Tt 有用的因素。迁移学习旨在通过发现并转换 Dt 和 Tt 中的隐知识来提高任务 Tt 的预测函数 fT(.) 的表现,其中 Ds 不等于 Dt 且/或 Ts 不等于 Tt。此外,大多数情况下,Ds 的规模远大于 Dt 的规模。

save image

调研 [19] 和 [25] 将迁移学习就源域和目标域之间的关系分为三个主要类别,这已被广泛接受。这些调研是对过去迁移学习工作的总结,它介绍了许多经典的迁移学习方法。此外,最近提出了许多更新和更好的方法。近年来,迁移学习研究界主要关注以下两个方面:域适应和多源域迁移。
如今,深度学习近年来在许多研究领域取得了主导地位。重要的是要找到如何通过深度神经网络有效地传递知识,深度神经网络其定义如下:

定义 2:(深度迁移学习)。给定一个定义为 <Ds, Ts, Dt, Tt, fT(.)> 的迁移学习任务。这就是一个深度迁移学习任务,其中 fT(.) 是一个表示深度神经网络的非线性函数。

Categories

深度迁移学习研究如何通过深度神经网络利用其他领域的知识。由于深度神经网络在各个领域都很受欢迎,已经提出了相当多的深度迁移学习方法,对它们进行分类和总结非常重要。
基于深度迁移学习中使用的技术,本文将深度迁移学习分为四类:基于实例的深度迁移学习,基于映射的深度迁移学习,基于网络的深度迁移学习和基于对抗的深度迁移学习,如表 1 所示。

save image

1.基于实例的深度迁移学习

基于实例的深度迁移学习是指使用特定的权重调整策略,通过为那些选中的实例分配适当的权重,从源域中选择部分实例作为目标域训练集的补充。
它基于假设:“尽管两个域之间存在差异,但源域中的部分实例可以分配适当权重供目标域使用。”基于实例的深度迁移学习的示意图如图 2 所示

save image

[4] 中提出的 TrAdaBoost 使用基于 AdaBoost 的技术来过滤掉源域中的与目标域不同的实例。在源域中对实例重新加权以构成类似于目标域的分布。最后,通过使用来自源域的重新加权实例和来自目标域的原始实例来训练模型。
它可以减少保持 AdaBoost 属性的不同分布域上的加权训练误差。[27] 提出的 TaskTrAdaBoost 是一种快速算法,可以促进对新目标域的快速再训练。与 TrAdaBoost 设计用于分类问题不同,[20] 提出了 ExpBoost.R2 和 TrAdaBoost.R2 来解决回归问题。
提出的双权重域自适应(BIW)[24] 可以将两个域的特征空间对齐到公共坐标系中,然后为源域的实例分配适当的权重。[10] 提出增强的 TrAdaBoost 来处理区域砂岩显微图像分类的问题。
[26] 提出了一个量度迁移学习框架,用于在并行框架中学习实例权重和两个不同域的距离,以使跨域的知识迁移更有效。[11] 将集合迁移学习引入可以利用源域实例的深度神经网络。

2. 基于映射的深度迁移学习

基于映射的深度迁移学习是指将源域和目标域中的实例映射到新的数据空间。在这个新的数据空间中,来自两个域的实例都相似且适用于联合深度神经网络。
它基于假设:“尽管两个起始域之间存在差异,但它们在精心设计的新数据空间中可能更为相似。”基于映射的深度迁移学习的示意图如图 3 所示。

save image

由 [18] 引入的迁移成分分析(TCA)和基于 TCA 的方法 [29] 已被广泛用于传统迁移学习的许多应用中。一个自然的想法是将 TCA 方法扩展到深度神经网络。
[23] 通过引入适应层和额外的域混淆损失来扩展 MMD 用以比较深度神经网络中的分布,以学习具有语义意义和域不变性的表示。该工作中使用的 MMD 距离定义为:

save image

[12] 通过用 [8] 中提出的多核变量 MMD(MK-MMD)距离代替 MMD 距离改进了以前的工作。与卷积神经网络(CNN)中的学习任务相关的隐藏层被映射到再生核 Hilbert 空间(RKHS),并且通过多核优化方法使不同域之间的距离最小化。
[14] 提出联合最大均值差异(JMMD)来衡量联合分布的关系。JMMD 用于泛化深度神经网络(DNN)的迁移学习能力,以适应不同领域的数据分布,并改进了以前的工作。由 [2] 提出的 Wasserstein 距离可以用作域的新距离度量,以便找到更好的映射。

3. 基于网络的深度迁移学习

基于网络的深度迁移学习是指复用在源域中预先训练好的部分网络,包括其网络结构和连接参数,将其迁移到目标域中使用的深度神经网络的一部分。(这应该是当前学界最常用的迁移方式
它基于假设:“神经网络类似于人类大脑的处理机制,它是一个迭代且连续的抽象过程。网络的前面层可被视为特征提取器,提取的特征是通用的。“基于网络的深度迁移学习示意图如图 4 所示。

save image