A Comprehensive Survey on Transfer Learning
作者:
Fuzhen Zhuang, Zhiyuan Qi, Keyu Duan, Dongbo Xi, Yongchun Zhu, Hengshu Zhu, SeniorMember, IEEE, Hui Xiong, Fellow, IEEE, and Qing He
下载地址:https://arxiv.org/abs/1911.02685
abstract
目的:是通过迁移不同但相关的源域所包含的知识,提高目标学习器在目标域上的学习性能。
好处:在构建目标学习器时可以减少对大量目标域数据的依赖。
前景:迁移学习由于其广阔的应用前景,已成为机器学习中一个热门且有发展前景的领域。
本文贡献:本文试图对已有的迁移学习进行调研,对迁移学习的机制和策略进行全面的总结和阐释,有助于读者更好地了解迁移学习的研究现状和思路。本论文从数据和模型的角度回顾了40多种有代表性的迁移学习方法,特别是同质迁移学习方法
(
h
o
m
o
g
e
n
e
o
u
s
t
r
a
n
s
f
e
r
l
e
a
r
n
i
n
g
)
(homogeneous \quad transfer \quad learning)
(homogeneoustransferlearning)。并简要介绍了迁移学习的应用。为了展示不同迁移学习模型的性能,我们使用了20多个有代表性的迁移学习模型进行了实验。
关键字: Transfer learning, machine learning, domain adaptation, interpretation.
1. 介绍
虽然传统的机器学习技术已经取得了巨大的成功,并在许多实际应用中得到了成功的应用,但它对于某些真实场景仍有一定的局限性。机器学习的理想场景是有大量标记的训练实例,训练数据与测试数据具有相同的分布。然而,收集大量的训练数据通常是昂贵的、耗时的,甚至在许多情况下是不现实的。半监督学习可以较少对大量标记数据的需求,在一定程度上解决这一问题。半监督方法通常只需要有限数量的标记数据,和大量的未标记数据来提高学习精度。但在许多情况下,未贴标签的实例也难以收集。
迁移学习侧重于跨领域的知识迁移,是解决上述问题的一种有前途的机器学习方法。迁移学习受人跨领域转移知识能力的启发,旨在利用相关领域(称为源域)的知识来提高目标域的学习性能或减少目标领域所需的标记示例数量。值得一提的是,知识转移并不总是会给新的任务带来积极的影响。如果领域之间没有共同点,知识转移可能是不成功的。比如说以往的经验对学习新任务有负面影响,这样的现象被称为负迁移。同样,在迁移学习领域,如果目标学习器受到迁移知识的负面影响,也称为负迁移。负迁移是否会发生取决于几个因素,如源域和目标域之间的关联性,学习器跨域寻找可转移有益部分的能力等。
粗略地讲,根据领域之间的差异,迁移学习可以进一步分为两类,即同质迁移学习和异质迁移学习。
(1)同质迁移学习方法,处理的是源域和目标域具有相同特征空间的情况。在同质迁移学习中,一些研究假设领域仅在边缘分布上不同。因此,他们通过校正样本的偏差[5]或协变量位移[6]来适应域。然而,这种假设在很多情况下并不成立。例如,在情绪分类问题中,一个词可能在不同的领域有不同的意义倾向。这种现象也被称为上下文特征偏差[7]。为了解决这一问题,一些研究对条件分布进行了进一步的适应。
(2)异质迁移学习是指在不同域具有不同特征空间的情况下进行的知识迁移过程。除了分布适应外,异质性迁移学习还需要特征空间适应[7],这使得异质性迁移学习比同质迁移学习更加复杂。
在这次调查中,我们更关注同质迁移学习。本文分为七个部分。第2部分阐明了迁移学习和其他相关机器学习技术的区别。第3节介绍了本文中使用的符号和迁移学习的定义。第4节和第5节分别从数据和模型的角度解释迁移学习方法。第6节介绍迁移学习的一些应用。第七部分是实验和结果。
2. 相关工作
总结:介绍了与迁移学习相关的一些领域。阐明了它们与迁移学习的联系和区别。
- 半监督学习
(
S
e
m
i
−
S
u
p
e
r
v
i
s
e
d
l
e
a
r
n
i
n
g
)
(Semi-Supervised\quad learning)
(Semi−Supervisedlearning)
半监督学习是介于监督学习和非监督学习之间的一种机器学习任务和方法。通常,半监督方法利用大量的未标记实例和有限的标记实例来训练学习器。半监督学习放松了对标记实例的依赖,从而降低了昂贵的标记成本。注意,在半监督学习中,标记的和未标记的实例都是从相同的分布中抽取的。相反,在迁移学习中,源域和目标域的数据分布通常是不同的。许多迁移学习方法吸收了半监督学习技术。在迁移学习中还使用了半监督学习中的关键假设,即平滑假设、聚类假设和流形假设。值得一提的是,半监督迁移学习是一个有争议的术语。原因是标签信息在迁移学习中是否可用这个概念是模糊的,因为源域和目标域都可以涉及。
补充:
半监督学习的成立依赖于模型假设,当模型假设正确时,无类标签的样例能够帮助改进学习性能。半监督学习依赖的假设有以下三个[1]:
名词 | 概念 |
---|---|
平滑假设 | 位于稠密数据区域的两个距离很近的样例的类标签相似 |
聚类假设 | 当两个样例位于同一聚类簇时,它们在很大的概率下有相同的类标签 |
流行假设 | 将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签 |
- 多视图学习
(
M
u
l
t
i
−
V
i
e
w
L
e
a
r
n
i
n
g
)
(Multi-View \quad Learning)
(Multi−ViewLearning)
多视图学习关注的是多视图数据的机器学习问题。视图代表一个独特的特征集。关于多个视图的一个直观的例子是,视频对象可以从两个不同的视角来描述,即图像信号和音频信号。简单地说,多视图学习从多个视角描述一个对象,从而产生丰富的信息。通过恰当地考虑各个方面的信息,学习器的学习性能可以得到提高。在多视图学习中有几种策略,如子空间学习、多核学习、联合训练等。在一些迁移学习方法中也采用了多视图技术。比如:
Zhang等人提出了一个多视图迁移学习框架,它强加了多个视图之间的一致性[15]。
Yang和Gao将跨不同领域的多视图信息用于[16]知识迁移。
Feuz和Cook在工作中引入了一种多视图迁移学习方法,在异构传感器平台之间迁移知识[17]。 - 多任务学习
(
M
u
l
t
i
−
T
a
s
k
L
e
a
r
n
i
n
g
)
(Multi-Task \quad Learning)
(Multi−TaskLearning)
多任务学习的思想是共同学习一组相关的任务。更具体地说,多任务学习是利用任务之间的相互联系,即兼顾任务间的相关性和任务间的差异性,从而强化每一个任务。这样,增强了每个任务的泛化性。迁移学习与多任务学习的主要区别在于前者迁移相关领域内的知识,而后者通过同时学习多个相关任务,让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务的性能和泛化能力 。 换句话说,多任务学习对每一项任务的关注是平等的,而迁移学习对目标任务的关注多于对源任务的关注。迁移学习和多任务学习之间存在一些共性和联系。二者都旨在通过知识迁移来提高学习器的学习性能。此外,它们还采用了一些相似的构建模型的策略,如特征转换和参数共享等。请注意,一些现有的研究同时利用了迁移学习和多任务学习技术。例如:
Zhang等人的工作采用了生物图像分析[19]的多任务和迁移学习技术。
Liu等人的工作提出了一个基于多任务学习和多源迁移学习人类动作识别框架[20]。
3. 符号定义
为了方便起见,本节列出了本文中使用的符号。此外,还介绍了迁移学习的一些定义和分类,并提供了一些相关的内容。
3.1 符号
为了方便起见,表1列出了符号及其定义。此外,我们用 ∣ ∣ ⋅ ∣ ∣ ||·|| ∣∣⋅∣∣表示范数,用上标 T T T来表示一个向量/矩阵的转置。
符号 | 定义 |
---|---|
n n n | 实例数量 |
m m m | 域数量 |
D D D | 域 |
T T T | 任务 |
X X X | 特征空间 |
Y Y Y | X X X对应的标签集 |
S S S | 源域 |
T ′ T' T′ | 目标域 |
L L L | 标记实例 |
U U U | 没有标记的实例 |
H H H | 重构核希尔伯特空间 |
θ θ θ | 映射/系数向量 |
α α α | 加权系数 |
α α α | 加权系数 |
λ λ λ | 权衡参数 |
δ δ δ | 参数/误差 |
b b b | 偏置 |
B B B | 边界参数 |
N N N | 迭代/核数量 |
f f f | 决策函数 |
L L L | 损失函数 |
η η η | 尺度参数 |
G G G | 图 |
Φ Φ Φ | 非线性映射 |
σ σ σ | 单调递增函数 |
Ω Ω Ω | 结构化风险 |
k k k | 核函数 |
K K K | 核方程 |
H H H | 中心矩阵 |
C C C | 协方差矩阵 |
d d d | 文档 |
w w w | 单词 |
z z z | 类变量 |
z ^ z\hat~ z ^ | 噪声 |
D D D | 鉴别器 |
S S S | 函数 |
M M M | 标准正交基 |
Θ Θ Θ | 模型参数 |
P P P | 概率 |
E E E | 期望 |
Q Q Q | 矩阵变量 |
R R R | 矩阵变量 |
W W W | 映射矩阵 |
3.2 定义
在本节中,给出了迁移学习的一些定义。在给出迁移学习的定义之前,让我们回顾一下领域和任务的定义。
- 定义1:(域)一个域 D D D由两部分组成,即特征空间 X X X和边缘分布 P ( X ) P(X) P(X)。换句话说, D = X , P ( X ) D={X,P(X)} D=X,P(X),X表示实例集, X = { x ∣ x i ∈ X , 1 = 1 , 2 , . . . , n } X=\{x|x_i∈X,1=1,2,...,n\} X={x∣xi∈X,1=1,2,...,n}。
- 定义2:(任务) T T T由标签空间 Y Y Y和决策函数 f f f组成,比如 T = { Y , f } T=\{Y,f\} T={Y,f}。决策函数 f f f是隐式函数,从样本数据中学习得到。一些机器学习模型实际上输出预测的实例的条件分布。 f ( x j ) = { P ( y k ∣ x j ) y k ∈ Y , k = 1 , . . . , ∣ Y ∣ } f(x_j)=\{P(y_k|x_j)y_k∈Y,k=1,...,|Y|\} f(xj)={P(yk∣xj)yk∈Y,k=1,...,∣Y∣} 在实践中,一个域拥有许多有标签的或没有标签信息的实例。比如源域 D s D_s Ds对应的源任务为 T s T_s Ts通过实例-标签对得出。如 D s = { ( x , y ) ∣ x i ∈ X s , y i ∈ y s , i = 1 , . . . , n s } D_s = \{(x,y)|x_i∈X^s,y_i∈y^s,i=1,...,n^s\} Ds={(x,y)∣xi∈Xs,yi∈ys,i=1,...,ns}。对目标域的观察通常由大量未标记实例和/或有限数量的标记实例组成。
- 定义3:(迁移学习)给定源域
m
s
∈
N
+
m^s∈N^+
ms∈N+和任务
{
(
D
s
i
,
T
s
i
)
∣
i
=
1
,
.
.
.
,
m
s
}
\{ (D_{si},T_{si}) |i=1,...,m^s \}
{(Dsi,Tsi)∣i=1,...,ms},目标域
m
T
∈
N
+
m^T∈N^+
mT∈N+和任务
{
(
D
T
i
,
T
T
i
)
∣
i
=
1
,
.
.
.
,
m
s
}
\{ (D_{Ti},T_{Ti}) |i=1,...,m^s \}
{(DTi,TTi)∣i=1,...,ms}。转移学习利用源域内隐含的知识来提高目标域学习决策函数的性能。
值得一提的是,对领域或任务的观察是一个广义的概念,通常被固定在有标签/无标签实例集或预先学习的模型中。迁移学习的目标是学习目标领域上更准确的决策函数。
迁移学习领域的另一个常用术语是领域适应 ( d o m a i n a d a p t a t i o n ) (domain adaptation) (domainadaptation)。领域适应是指通过适应一个或多个源域来迁移知识,提高目标学习器的学习性能。迁移学习往往依赖于领域适应过程,该过程试图减少领域之间的差异
3.3 迁移学习分类
迁移学习有几个分类标准。例如,按迁移学习问题可以分为三类,即转导 ( t r a n s d u c t i v e ) (transductive) (transductive)迁移学习、归纳 ( i n d u c t i v e ) (inductive) (inductive)迁移学习和无监督迁移学习[2]。这三个类别可以从标签设置的角度来解释。粗略地说,
- 转导迁移学习:是指标签信息只来自源域的情况。
- 归纳迁移学习:目标域实例的标签信息是可用的。
- 无监督迁移学习: 如果标签信息在源域和目标域都是未知的。
另一种分类是基于源域和目标域特征空间以及标签空间之间的一致性。
- 同质迁移学习: 如果 X s = X T X^s=X^T Xs=XT, Y s = Y s Y^s=Y^s Ys=Ys
- 异质迁移学习:如果 X s / = X T X^s/=X^T Xs/=XT and / or Y s / = Y s Y^s /=Y^s Ys/=Ys
根据论文[2],迁移学习方法可以分为四类:基于实例的、基于特征的、基于参数的和基于关系的。
- 基于实例的迁移学习方法主要基于实例加权策略。
- 基于特征的方法对原始特征进行变换,生成新的特征表示;可再分为基于特征的非对称迁移学习和基于特征的对称迁移学习。非对称方法转换源域特征以匹配目标特征。而对称方法则试图找到一个共同的潜在特征空间,然后将源域特征和目标域特征转化为一种新的特征表示。
- 基于参数的迁移学习方法在模型/参数层次上迁移知识。
- 基于关系的迁移学习方法主要关注关系领域中的问题。这些方法将源域中学习到的逻辑关系或规则传输到目标域。
为了更好地理解,图2展示了上述迁移学习的分类。
图2. 迁移学习分类
一些论文提供给读者对这一领域全面对认识。
- Pan和Yang[2]的调查是一项开创性的工作,对迁移学习进行了分类,回顾了2010年以前的研究进展。
- Weiss等人的调查介绍和总结了许多同质和异质迁移学习方法[4]。
- 在Day和Khoshgoftaar[7]的调查中特别回顾了异质迁移学习。一些调查回顾了与特定主题相关的文献,如强化学习[8]、计算智能[22]和深度学习[23]、[24]。
- 此外,还有一些针对特定应用场景的调查,包括活动识别[25]、视觉分类[26]、协同推荐[27]、计算机视觉[24]、情感分析[28]。
请注意,本文并没有严格遵循上述分类。在接下来的两部分中,我们将从数据和模型的角度来解释迁移学习方法。粗略地说,基于数据的解释涵盖了上述基于实例的迁移学习方法和基于特征的迁移学习方法,但是从更广泛的角度出发的。基于模型的解释包括上述基于参数的方法。由于涉及基于关系的迁移学习的研究相对较少,且代表性的迁移学习方法在[2]、[4]中得到了很好的介绍,因此本调查并不关注基于关系的迁移学习方法。
4. 基于数据的解释角度
许多迁移学习方法,特别是基于数据的迁移学习方法,侧重于通过数据的调整和转换来转移知识。图3从数据的角度展示了这些方法的策略和目标。如图3所示,空间适应
(
s
p
a
c
e
a
d
a
p
t
a
t
i
o
n
)
( space adaptation)
(spaceadaptation)是目标之一。这一目标在异质迁移学习场景中需要得到满足。在本文中,我们更多地关注同质迁移学习,这个场景中的主要目标是减少源域实例和目标域实例之间的分布差异。此外,一些高级方法试图在适应过程中保留数据属性。从数据的角度来看,实现这一目标通常有两种策略,即实例加权和特征转换。在本节中,我们将根据图3所示的策略,依次介绍一些相关的迁移学习方法。
4.1 实例权重策略
首先假设一个简单的场景,其中有大量已标记的源域实例和有限数量的目标域实例,并且域仅在边缘分布上有所不同。即
P
s
(
x
)
/
=
P
T
(
X
)
P^s(x)/=P^T(X)
Ps(x)/=PT(X) and
P
s
(
Y
∣
X
)
=
P
T
(
Y
∣
X
)
P^s(Y|X) = P^T(Y|X)
Ps(Y∣X)=PT(Y∣X)。假设我们需要建立一个模型来诊断老年人某特定区域的癌症。给出了有限的目标域实例,并且可以从另一个以年轻人为主的区域获得相关数据。直接从其他地区迁移数据可能不成功,因为存在边缘分布差异,而且老年人比年轻人患癌症的风险更高。在这种情况下,考虑调整边缘分布是很自然的。
一个简单的想法是在loss函数中为源域实例分配权重。加权策略的方程如下[5]:
因此,学习任务的一般目标函数可以写成[5]:
其中
β
i
(
i
=
1
,
2
,
.
.
.
,
n
s
)
β_i(i=1,2,...,n^s)
βi(i=1,2,...,ns)是权重参数,理论上来说
β
i
β_i
βi 等于
P
T
(
x
i
)
/
P
s
(
x
i
)
P^T(x_i)/P^s(x_i)
PT(xi)/Ps(xi),然而,这一比例通常是未知的,难以用传统方法得到。
核均值匹配(Kernel Mean Matching )[5]是Huang等人提出的,它通过在重构核希尔伯特空间 (RKHS)中匹配源域和目标域实例的均值来解决上述未知比值的估计问题。
其中,
δ
δ
δ是一个很小的参数,
B
B
B是一个约束参数,通过对上述优化问题进行展开并利用核技巧,可以将其转化为二次规划问题。这种估计分布比率的方法可以很容易地并入许多现有的算法中。获得权重
β
i
β_i
βi 后,就可以在加权的源域实例上训练学习器。
还有一些其他的研究试图估算权重。例如,Sugiyama等人提出了一种称为Kullback-Leibler重要性估计程序(KLIEP)[6]的方法。KLIEP依赖于kullbackleibler (KL)散度的最小化,并包含了一个内置的模型选择过程。在研究权值估计的基础上,提出了基于实例的迁移学习框架或算法。例如,Sun等人提出了一个多源框架,称为多源域适应的两阶段加权框架(2SW-MDA),其中包括以下两个阶段[29]。
- 实例权重:对源域实例进行了权值设置,以减少边缘分布差异,类似于KMM
- 区域权重:在平滑度假设的基础上,对每个源域分配权重以减小条件分布差异。
然后,根据实例权重和区域权重重新对源域实例进行权重设置。这些重新加权的实例和标记的目标域实例用于训练目标域分类。
除了直接估计权重参数外,迭代调整权重也是有效的。关键是设计一种机制来减少对目标学习器有负面影响的实例的权重。一个代表性的作品是TrAdaBoost[31],它是一个由Dai等人提出的框架。这个框架是AdaBoost[32]的扩展。TrAdaBoost将AdaBoost转化为迁移学习场景;设计了一种新的加权架构,以减少分布差异的影响。具体来说,在TrAdaBoost中,将标记的源域实例和标记的目标域实例组合为一个整体,即一个训练集来训练弱分类器。
一些研究进一步扩展了TrAdaBoost。Yao和Doretto[33]的工作提出了多源TrAdaBoost (MsTrAdaBoost)算法,每次迭代主要有以下两步。
(1) 候选分类器组成:在每个源域和目标域对的加权实例上分别训练一组候选弱分类器
(2)实例权重:一个分类器(用
j
j
j表示, 由
D
S
j
U
D
T
D_{Sj}UD_T
DSjUDT训练,选择目标域实例上分类错误率最小的符号组合,然后用于更新
D
S
j
D_{Sj}
DSj和
D
T
D_T
DT中实例的权重。
最后,将每次迭代中选择的分类器组合起来,形成最终的分类器。在工作[33]中也提出了另一种基于参数的算法TaskTrAdaBoost,在5.3节中介绍。
一些方法采用启发式的方法实现实例加权策略。例如,Jiang和Zhai提出了一个通用的权重框架[34]。框架的目标函数中有三个术语,旨在最小化三种类型实例的交叉熵损失。下面的实例类型用于构造目标分类器:
- 标记的目标域实例:分类器的交叉熵损失最小,这实际上是一项标准的监督学习任务
- 无标记的目标域实例:这些实例的真实条件分布 P ( y ∣ x i T , U ) P(y|x_i^{T,U}) P(y∣xiT,U)是未知的,需要估计。一种可能的解决方案是在已标记的源域和目标域实例上训练辅助分类器,以帮助估计条件分布或为这些实例分配伪标签。
- 有标签的源域实例:
- 无标签的源域实例:
4.2 特征转化策略
基于特征的方法通常采用特征转换策略。例如,考虑一个跨域文本分类问题。任务是使用相关领域的标记文本数据来构造目标分类器。在这种情况下,一个可行的解决方案是通过特征转换找到共同的潜在特征(如潜在主题),并将其作为传递知识的桥梁。基于特征的方法将每个原始特征转化为新的特征表示,用于知识转移。构造一个新的特征表示的目标包括最小化边缘和条件分布差异,保持数据的性质或潜在结构,以及找到特征之间的对应关系。特征变换的操作可以分为三种类型,即特征增强、特征约简和特征对齐。此外,特征约简还可以进一步分为特征映射、特征聚类、特征选择和特征编码等几种类型。在算法中设计的一个完整的特征转换过程可能包含多个操作。
4.2.1 分布差异度量
特征转换的一个主要目标是减少源域和目标域实例的分布差异。因此,如何有效地度量域之间的分布差异或相似性是一个重要的问题。
**最大平均差异(MMD)**在迁移学习领域得到了广泛的应用,其表达式为:
利用核技巧可以很容易地计算出MMD。简单地说,MMD通过计算RKHS中各实例均值的距离来量化分布差异。请注意,上述KMM实际上通过最小化域之间的MMD距离来生成实例的权重。
表2列出了一些常用的度量标准和相关算法。除表2外,迁移学习中还采用了其他一些测量标准,包括Wasserstein distance[59]、[60]、中心矩差值[61]等。一些研究集中在对现有测量方法的优化和改进上。以烟雾病为例。Gretton等人提出了一种多内核版本的MMD,即MK-MMD[62],它利用了多内核的优势。此外,Yan等人提出了一种加权版本的MMD[63],试图解决类别权重偏差的问题。
4.2.2 特征增强
特征增强操作在特征变换中得到了广泛的应用,特别是在对称特征变换中。具体来说,特征增强的实现方法有特征复制和特征叠加两种。为了更好地理解,我们从一个简单的迁移学习方法开始,它是建立在特征复制的基础上。
Daum’e的作品提出了一种简单的区域自适应方法,即 Feature Augmentation method (FAM)[64]。该方法通过简单的特征复制对原始特征进行变换。具体来说,在单源迁移学习场景中,特征空间被扩大到原来的3倍大小。新特征表示包括一般特征、源域特定特征和目标域特定特征。请注意,对于已转换的源域实例,其特定于目标域的特征被设置为零。类似地,对于转换后的目标域实例,它们特定于源域的特征被设置为零。FAM的新特征表示如下:
4.2.3 特征映射
在传统机器学习领域,基于映射的特征提取方法有很多可行的,如主成分分析(PCA)[68]和核化-PCA (KPCA)[69]。但这些方法主要关注的是数据方差,而不是分布差异。为了解决分布差异问题,提出了一些用于迁移学习的特征提取方法。让我们首先考虑一个简单的场景,其中域的条件分布几乎没有差别。在这种情况下,可以使用以下简单的目标函数找到一个映射进行特征提取:
4.2.4 特征聚集
4.2.5 特征选择
4.2.6 特征编码
4.2.7 特征对齐
5 基于模型的解释
5.1 模型控制策略
5.2 参数控制策略
5.2.1 参数共享
5.2.2 参数限制
5.3 模型集成策略
5.4 深度学习技术
5.4.1 传统深度学习
5.4.2 生成深度学习
6 应用
6.1 医疗
6.2 生物信息
6.3 交通应用
6.4 推荐系统
6.5 其他应用
社交应用
城市计算应用
7 实验
8 总结和展望
未完待续🦆!
Reference
[1]https://zhidao.baidu.com/question/394552222601959925.html
[2] Zhuang, F. , Qi, Z. , Duan, K. , Xi, D. , & He, Q. . (2020). A comprehensive survey on transfer learning. Proceedings of the IEEE, PP(99), 1-34.