迁移论述题历史(【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey))
序言
这篇综述整体来说还是比较详实的 ,迁移学习本身在人工智能中的应用是非常广泛的 ,因此很容易与其他方法相结合 ,原文第三大节关于适应性的部分是非常关键的 ,也是本笔注的重点内容 ,理论性极强 ,其他两部分相对要水一些 ,很多老生常谈的东西就不作记录了 。个人感觉是比较适合有一定机器学习基础 ,然后希望巩固迁移学习相关知识的人进行阅读理解 。
摘要
The success of deep learning algorithms generally depends on large-scale data, while humans appear to have inherent ability of knowledge transfer, by recognizing and applying relevant knowledge from previous learning experiences when encountering and solving unseen tasks. Such an ability to acquire and reuse knowledge is known as transferability in deep learning. It has formed the long-term quest towards making deep learning as data-efficient as human learning, and has been motivating fruitful design of more powerful deep learning algorithms. We present this survey to connect different isolated areas in deep learning with their relation to transferability, and to provide a unified and complete view to investigating transferability through the whole lifecycle of deep learning. The survey elaborates the fundamental goals and challenges in parallel with the core principles and methods, covering recent cornerstones in deep architectures, pre-training, task adaptation and domain adaptation. This highlights unanswered questions on the appropriate objectives for learning transferable knowledge and for adapting the knowledge to new tasks and domains, avoiding catastrophic forgetting and negative transfer. Finally, we implement a benchmark and an open-source library, enabling a fair evaluation of deep learning methods in terms of transferability.
1 导论 Introduction
预训练本身就是一种迁移学习 。
迁移学习分为两阶段:预训练(pre-training)与适应(adaptation) 。前者关注一般的可迁移性(generic transferability) ,后者关注具体的可迁移性(specific transferability) 。
1.1 术语 Terminology
数学标记 具体含义X
\mathcal X
X 输入空间Y
\mathcal Y
Y 输出空间f
f
ff
:
X
→
Y
f:\mathcal X\rightarrow \mathcal Y
f:X→Y是需要学习的标注函数l
l
ll
:
Y
×
Y
→
R
+
l:\mathcal{Y}\times \mathcal{Y}\rightarrow \R_+
l:Y×Y→R+是给定的损失函数D
\mathcal D
DX
\mathcal X
X上的某个未知分布D
^
\mathcal{\hat D}
D 独立同分布采样自D
\mathcal D
D的样本{
x
1
,
.
.
.
,
x
n
}
\{{\bf x}_1,...,{\bf x}_n\}
{x1,...,xn}P
(
⋅
)
P(\cdot)
P(⋅) 定义在X
\mathcal X
X上的事件概率E
(
⋅
)
\mathbb E(\cdot)
E(⋅) 随机变量数学期望U
\mathcal U
U 上游数据S
\mathcal S
S 下游数据的源领域T
\mathcal T
T 下游数据的目标领域t
∗
t_{*}
t∗∗
*
∗领域的任务 ,∗
*
∗可以取T
,
S
,
U
\mathcal{T,S,U}
T,S,UH
\mathcal H
H 假设空间(可以理解为模型集合)h
h
h 假设空间中的一个假设(下文中如不作特殊说明 ,假设和模型含义相同)ψ
\psi
ψ 特征生成器θ
\theta
θ 假设参数x
\bf x
x 模型输入y
\bf y
y 模型输出z
\bf z
z 隐层特征激活生成结果D
D
D 用于区分不同分布的辨识器定义
1
1
1(可迁移性):给定源领域
S
\mathcal{S}
S的学习任务t
S
t_{\mathcal{S}}
tS以及目标领域T
\mathcal T
T的学习任务t
T
t_{\mathcal{T}}
tT ,可迁移性(transferability)指从t
S
t_{\mathcal S}
tS中获取可迁移的知识,将获取到的知识在t
T
t_{\mathcal T}
tT中进行重用并能够使得t
T
t_{\mathcal T}
tT的泛化误差降低 ,其中S
≠
T
\mathcal S\neq \mathcal T
S=T或t
S
≠
t
T
t_{\mathcal S}\neq t_{\mathcal T}
tS=tT 。1.2 概述 Overview
本文分三部分展开:
预训练(Pre-training):关于一些重要的迁移模型架构 ,有监督的预训练与无监督的预训练方法综述 。这部分相对浅显,只对重点内容进行摘要记录 。 适应性(Adaptation):重点在任务适应性(task adaptation)与领域适应性(domain adaptation) ,这部分理论性极强 ,尤其是领域适应性部分汇总了大量的定理与统计结果 ,感觉就不是同一个人写的 。 评估(Evaluation):本文提出一个开源包用于迁移学习的通用算法以及评估 ,项目地址在GitHub@TLlib2 预训练 Pre-Training
2.1 预训练模型 Pre-Training Model
一般来说 ,预训练任务学习的好坏直接影响预训练模型在下游任务中的应用性能 。
一般来说 ,预训练会在非常大量的数据集上进行 ,因此如RNN和CNN这种做了局部连接假设的模型架构通常不会被作为预训练模型架构(因为数据足够多 ,不需要简化模型架构) ,目前主流的基本伤都是基于Transformer的大规模预训练模型 。相较于RNN和CNN ,Transformer对输入数据的结构几乎不作任何假定 ,即可以用于处理更广泛的数据类型 。
预训练模型在迁移学习中的发展历程(如Figure 3所示):
Figure 4中左图是直接训练时模型参数搜索的过程 ,右图是预训练迁移后的模型参数搜索过程,意思是说预训练的本质是缩小了模型参数的搜索范围(不过似乎也可以理解为是找到了一个更好的初始点):
2.2 有监督的预训练模型 Supervised Pre-training Model
有监督的预训练目的是在大规模标注数据上训练获得预训练模型 ,然后再迁移以增强下游任务(如Figure 5所示)。
标准的有监督的预训练在标注数据量重组的情况下是非常有用的 ,但是它有时候对于对立样本(adversarial examples)的存在是极其敏感的,这可能会影响迁移的鲁棒性 。因此本部分将会着重介绍另外两种有监督的预训练方法 。
2.2.1 元学习 Meta Learning所谓元学习(meta-learning) ,通俗而言即学习如何学习 ,以提升迁移的效率。其核心在于将元知识(meta knowledge)
ϕ
\phi
ϕ与模型融合 ,元知识ϕ
\phi
ϕ可以捕获不同学习任务的本质属性(intrinsic properties) ,又称为元训练(meta-training) 。当需要解决一个新任务时 ,学习到的元知识救可以帮助目标模型参数θ
\theta
θ快速适应到新任务中 ,这个过程称为元测试(meta-testing) 。如Figure 6所示 ,左图是为了模拟元测试过程中的快速适应条件 ,将元训练数据构造成一个由
n
n
n个学习任务组成的集合 ,每个任务分别对应一个学习任务i
∈
[
n
]
i\in[n]
i∈[n] ,包含用于适应此任务的训练集D
i
t
r
\mathcal{D}_i^{\rm tr}
Ditr和用于评估的测试集D
i
t
s
\mathcal{D}_i^{\rm ts}
Dits ,右图则是说明元训练的目标函数是一个二级优化问题:
ϕ
∗
=
argmax
ϕ
∑
i
=
1
n
log
P
(
θ
i
(
ϕ
)
∣
D
i
t
s
)
,
where
θ
i
(
ϕ
)
=
argmax
θ
log
P
(
θ
∣
D
i
t
r
,
ϕ
)
(1)
\phi^*=\text{argmax}_{\phi}\sum_{i=1}^n\log P(\theta_i(\phi)|\mathcal{D}_i^{\rm ts}),\quad\text{where }\theta_i(\phi)=\text{argmax}_{\theta}\log P(\theta|\mathcal{D}_i^{\rm tr},\phi)\tag{1}
ϕ∗=argmaxϕi=1∑nlogP(θi(ϕ)∣Dits),where θi(ϕ)=argmaxθlogP(θ∣Ditr,ϕ)(1) 这里内层优化用于更新模型参数θ
\theta
θ ,外层优化用于寻找更好的元知识用于迁移,元学习的关键就在于如何构建元知识的形式 。基于内存的元学习(memory-based meta-learning):
控制器将从训练数据
D
i
t
r
\mathcal{D}_i^{\rm tr}
Ditr中挖掘得到的知识写入内存 ,并从内存中读取知识以使用基础学习器θ
\theta
θ在测试数据D
i
t
r
\mathcal{D}_i^{\rm tr}
Ditr上进行预测 ,控制器的参数将不断更新 。感觉上这个并不是什么很新奇的方法,本质上你在做项目时预先存好的一些预处理数据都可以视为是基于内存的元学习 。如参考文献
[
150
]
[150]
[150]提出的内存增强神经网络(memory-augmented neural networks ,MANN)将绑定样本表示类信息(bound sample representation-class label information)存储在外部内存中 ,以用于检索作为特征来进行预测 。参考文献[
121
]
[121]
[121]则是提出另一种内存机制 ,基础学习器用于提供关于当前任务的状态 ,元学习器则与外部内存交互以生成用于基础学习器的模型参数 ,以快速学习新任务 。基于内存的元学习对于如少射分类(few-shot classification)以及强化学习的下游任务是比较有优势的 ,但是需要设计黑盒架构来合并内存机制 ,往往我们并不知道到底存储了什么东西 ,以及为什么存储的东西是有益于模型迁移的 。
基于优化的元学习(optimization-based meta-learning):
这种方法考察的是将模型较好的初始化作为元知识 。如参考文献
[
43
]
[43]
[43]中提出的模型不可知元学习(model-agnostic meta-learning ,MAML)直接寻找一个最适合迁移微调的初始化 ,即只需要少量梯度下降迭代以及少量标注数据即可适应到新任务中 。为了学习这样的一个初始化 ,对于每一个样本任务i
∈
[
n
]
i\in[n]
i∈[n] ,模型ϕ
\phi
ϕ首先其训练数据D
i
t
r
\mathcal{D}_i^{\rm tr}
Ditr上进行一次步长为α
\alpha
α的梯度下降迭代:θ
i
=
ϕ
−
α
∇
ϕ
L
(
ϕ
,
D
i
t
r
)
(2)
\theta_i=\phi-\alpha\nabla_{\phi}L(\phi,\mathcal{D}_i^{\rm tr})\tag{2}
θi=ϕ−α∇ϕL(ϕ,Ditr)(2)这是在模仿从
ϕ
\phi
ϕ这个点开始对模型进行微调 。作为元知识,ϕ
\phi
ϕ应当具有良好的可迁移性 ,因此对于所有任务i
∈
[
n
]
i\in[n]
i∈[n] ,经过微调的参数θ
i
\theta_i
θi在测试集D
i
t
s
\mathcal{D}_i^{\rm ts}
Dits上的表现应当很好:min
ϕ
∑
i
=
1
n
L
(
θ
i
(
ϕ
)
,
D
i
t
s
)
=
∑
i
=
1
n
L
(
ϕ
−
−
α
∇
ϕ
L
(
ϕ
,
D
i
t
r
)
,
D
i
t
s
)
(3)
\min_{\phi}\sum_{i=1}^nL(\theta_i(\phi),\mathcal{D}_i^{\rm ts})=\sum_{i=1}^nL(\phi--\alpha\nabla_{\phi}L(\phi,\mathcal{D}_i^{\rm tr}),\mathcal{D}_i^{\rm ts})\tag{3}
ϕmini=1∑nL(θi(ϕ),Dits)=i=1∑nL(ϕ−−α∇ϕL(ϕ,Ditr),Dits)(3)注意道MAML的元知识维数太高,因此参考文献
[
167
]
[167]
[167]使用标准的预训练作为初始化来进行改进 。另外 ,参考文献[
137
,
145
,
196
]
[137,145,196]
[137,145,196]也对MAML进行了一定改进。元学习的表现并不稳定 ,有时候会比标准的预训练方法更差 。
2.2.2 因果学习 Casual Learning因果学习(casual learning)旨在对分布外的(out-of-distribution ,OOD)领域进行外推式的(extrapolated)迁移学习 。其核心是使用某种因果机制(causal mechanisms)来捕获复杂真实世界的分布 ,当分布发生变化时 ,只有少数因果机制发生变化 ,而其余保持不变 ,这样即可得到更好的OOD推广。具体如Figure 7所示:
因果机制由一张有向无环图中的顶点作为变量表示 ,每一条边表示了某种因果关系 ,这样就可以在给定父节点分布的条件下 ,得到每个变量的联合分布的非纠缠因子分解(disentangled factorization)形式 ,此时分布上的一些小变化只会对非纠缠因子分解的局部或者以一种稀疏的方式进行影响 。因果学习的关键问题是获取由独立因果机制控制的变量 ,下面是两种常用的方法:
模块化模型(modular model):参考文献
[
56
,
31
]
[56,31]
[56,31],简而言之就是使用LSTM或者GRU来作为因果机制的表示模块 。不变学习(invariant learning):参考文献
[
129
,
4
]
[129,4]
[129,4] ,这里介绍后一篇参考文献
[
4
]
[4]
[4]的方法 ,给定数据表示ψ
:
X
→
Z
\psi:\mathcal{X\rightarrow Z}
ψ:X→Z,以及训练环境E
t
r
\mathcal{E}^{\rm tr}
Etr ,表示与输出的条件概率是不变的若有一个分类器h
:
Z
→
Y
h:\mathcal{Z\rightarrow Y}
h:Z→Y同时对于所有环境都是最优的 。着可以表示为下面带约束的优化问题:
minimize
ψ
:
X
→
Z
,
h
:
Z
→
Y
∑
e
∈
E
t
r
ϵ
e
(
h
∘
ψ
)
subject to
h
∈
argmin
h
ˉ
:
Z
→
Y
ϵ
e
(
h
∘
ψ
)
,
∀
e
∈
E
t
r
(4)
\begin{aligned} &\text{minimize}_{\psi:\mathcal{X\rightarrow Z},h:\mathcal{Z\rightarrow Y}}&&\sum_{e\in\mathcal{E}^{\rm tr}}\epsilon^{e}(h\circ\psi)\\ &\text{subject to}&&h\in\text{argmin}_{\bar h:\mathcal{Z\rightarrow Y}}\epsilon^{e}(h\circ\psi),\forall e\in\mathcal{E}^{\rm tr} \end{aligned}\tag{4}
minimizeψ:X→Z,h:Z→Ysubject toe∈Etr∑ϵe(h∘ψ)h∈argminhˉ:Z→Yϵe(h∘ψ),∀e∈Etr(4) 其中ϵ
e
(
h
∘
ψ
)
\epsilon^{e}(h\circ\psi)
ϵe(h∘ψ)表示在环境e
e
e中预测器h
∘
ψ
h\circ \psi
h∘ψ的期望误差 。2.3 无监督的预训练模型
无监督预训练主要是指自监督学习(self-supervised learning) ,重点在于如何构建自监督学习任务用于预训练 ,方法主要可以分为生成学习(generative learning)与对比学习(contrastive learning)两大类 。
2.3.1 生成学习 Generative Learning如Figure 8所示 ,生成学习中采用一个编码器
f
θ
f_{\theta}
fθ将扰乱的输入x
~
\bf \tilde x
x~映射到隐层表示z
=
f
θ
(
x
~
)
{\bf z}=f_{\theta}({\bf \tilde x})
z=fθ(x~) ,一个解码器g
θ
g_{\theta}
gθ将表示重构为一个估计输入x
^
=
g
θ
(
z
)
{\bf \hat x}=g_{\theta}({\bf z})
x=gθ(z) ,模型通过最小化重构误差L
g
e
n
(
x
^
,
x
)
L_{\rm gen}({\bf \hat x},{\bf x})
Lgen(x,x)进行训练 。这样做的目的是为了赋予模型以生成数据分布的能力 。生成学习方法可以分为两类:自回归模型(auto-regressive)与自编码模型(auto-encoding) 。
自回归模型:老生常谈 ,如Figure 9所示 ,典型的语言模型及其若干变体就属于自回归模型 。
给定文本序列
x
1
:
T
=
[
x
1
,
.
.
,
x
T
]
{\bf x}_{1:T}=[x_1,..,x_T]
x1:T=[x1,..,xT],语言模型的训练目标是最大化每个分词的条件概率:
max
θ
∑
t
=
1
T
log
P
θ
(
x
t
∣
x
t
−
k
,
.
.
.
,
x
t
−
1
)
(5)
\max_{\theta}\sum_{t=1}^T\log P_{\theta}(x_t|x_{t-k},...,x_{t-1})\tag{5}
θmaxt=1∑TlogPθ(xt∣xt−k,...,xt−1)(5) 经典的GPT模型(参考文献[
134
]
[134]
[134])即属于自回归模型 。自编码模型:思想是根据编码表示生成原始数据来近似数据分布 ,常见的BERT模型就属于自编码模型 。
在Figure 9中的最后一张图中的掩盖语言模型(Masked Language Model ,MLM ,这个也是BERT模型训练中使用的机制),首先用
[
M
A
S
K
]
\rm [MASK]
[MASK]标记在输入语句x
{\bf x}
x中随机掩盖掉一些分词m
(
x
)
m({\bf x})
m(x) ,然后训练模型根据剩余的分词x
\
m
(
x
)
{\bf x}_{\backslash m({\bf x})}
x\m(x)来预测这些掩盖掉分词:
max
θ
∑
x
∈
m
(
x
)
log
P
θ
(
x
∣
x
\
m
(
x
)
)
(6)
\max_{\theta}\sum_{x\in m({\bf x})}\log P_{\theta}(x|{\bf x}_{\backslash m({\bf x})})\tag{6}
θmaxx∈m(x)∑logPθ(x∣x\m(x))(6) 这种掩盖的思想是很常用的 。自回归自编码混合模型:
在Figure 9中的第三张图置换语言模型(permuted language model ,PLM,参考文献
[
195
]
[195]
[195])首先随机地置换采样了语句序列地顺序 ,然后再在置换后的序列上进行自回归预测。其他的一些经典模型的训练也都采用了类似的方法(即既挖空 ,又改变顺序) ,比如T5模型(参考文献[
136
]
[136]
[136]) ,RoBERTa(参考文献[
109
]
[109]
[109]) ,ERNIE(参考文献[
168
]
[168]
[168]) ,SpanBERT(参考文献[
83
]
[83]
[83]) ,BART(参考文献[
98
]
[98]
[98]) ,GPT-3(参考文献[
18
]
[18]
[18]) ,多语言BERT(参考文献[
132
]
[132]
[132]) ,XLM(参考文献[
91
]
[91]
[91]) 。 2.3.2 对比学习 Contrastive Learning如Figure 10所示 ,在对比学习中 ,有两个不同的视图(views),查询
x
q
{\bf x}^q
xq与键x
k
{\bf x}^k
xk(由原始数据x
{\bf x}
x构建得到) ,编码器将不同的视图映射到隐层表示 ,解码器则进一步将隐层表示映射到指标空间(metric space) 。模型学习的目标是最小化同一个样本x
{\bf x}
x的查询和键之间的距离。典型的对比学习方法:
互信息最大化(mutual information maximization):
以参考文献
[
70
]
[70]
[70]提出的深度信息最大化(Deep InfoMax)模型为例,它旨在从高级别的全局上下文以及低级别的局部特征之间的联系来学习得到可迁移的表示 。具体而言 ,给定输入x
{\bf x}
x ,模型学习一个编码器ψ
\psi
ψ来最大化x
{\bf x}
x的输入输出之间的互信息 ,互信息可以通过训练一个区分器(discriminator)D
D
D来区分它们联合分布与边际值(marginals)乘积来被估计与约束 。通过使用噪声对比估计(noise-contrastive estimation ,NCE)方法 ,模型的训练目标为:
max
ψ
E
x
∼
U
[
D
(
x
,
ψ
(
x
)
)
−
E
x
′
∼
U
~
(
log
∑
x
′
e
D
(
x
′
,
ψ
(
x
)
)
)
]
(7)
\max_{\psi}\mathbb{E}_{{\bf x}\sim\mathcal U}\left[D({\bf x},\psi({\bf x}))-\mathbb{E}_{{\bf x}\sim\mathcal{\tilde U}}\left(\log\sum_{\bf x}e^{D({\bf x},\psi({\bf x}))}\right)\right]\tag{7}
ψmaxEx∼U[D(x,ψ(x))−Ex′∼U~(logx′∑eD(x′,ψ(x)))](7) 其中x
\bf x
x是从上游任务的训练分布U
\mathcal U
U中采样得到的输入样本 ,x
′
\bf x
x′是从另一个分布U
~
=
U
\mathcal {\tilde U}=\mathcal U
U~=U中采样得到的样本 ,D
D
D用于区分联合分布与边际值乘积 。其余的一些相关工作包括参考文献
[
124
,
178
,
135
]
[124,178,135]
[124,178,135] ,最后一篇是处理零射问题的 。相关位置预测(relative position prediction):
这里主要讲的是下一句预测(next sentence prediction ,NSP)任务 ,这个任务首次在BERT模型中使用 ,此后经典的ALBERT模型(参考文献
[
93
]
[93]
[93])也是使用的类似的预训练策略 。样例区分(instance discrimination):
这里介绍的是参考文献
[
191
]
[191]
[191]的InstDisc模型 ,旨在根据样例间的关系来学习可迁移的表示 。具体而言,给定n
n
n个样例 ,训练编码器ψ
\psi
ψ用于区分不同的样例 ,即最小化同一样例的查询q
\bf q
q与键k
+
{\bf k}_+
k+之间的距离(这也称为整个样本),以及最大化不同样本之间的查询q
\bf q
q与键k
+
{\bf k}_+
k+之间的距离(这也称为负样本):
min
ψ
−
log
exp
(
q
⋅
k
+
/
τ
)
∑
j
=
K
exp
(
q
⋅
k
j
/
τ
)
(8)
\min_{\psi}-\log\frac{\exp({\bf q}\cdot{\bf k}_+/\tau)}{\sum_{j=0}^K\exp({\bf q}\cdot{\bf k}_j/\tau)}\tag{8}
ψmin−log∑j=0Kexp(q⋅kj/τ)exp(q⋅k+/τ)(8) 其中τ
\tau
τ是一个超参数用于控制softmax值的偏移程度 ,K
K
K是负样本的数量 ,其实这个就是负采样 。如Figure 11所示 ,InstDisc模型使用了一个内存条(memory bank)来存储每个键最近更新的表示 ,由此增加了负样本的数量 ,可能会导致不一致的特征表示:
其他的一些相关研究包括参考文献
[
67
,
171
,
23
,
59
,
25
,
206
]
[67,171,23,59,25,206]
[67,171,23,59,25,206]2.4 注释 Remarks
总结一下本小节所有方法的性能:
方法 模态延展性 任务延展性 数据功效 标注成本 标准预训练 优 中 优 差 元学习 优 差 差 差 因果学习 中 差 差 差 生成学习 中 优 优 优 对比学习 差 优 优 优字段说明:
模态延展性(modality scalability):能否用于多模态数据 ,如文本 、图片 、音像 。 任务延展性(task scalability):能否轻松的将预训练模型迁移到不同下游任务中 。 数据功效(data efficiency):能否通过大规模预训练获得强有力的可迁移性 。 标注成本(labeling cost):是否依赖手动数据标注 。3 适应性 Adaptation
3.1 任务适应性 Task Adaptation
所谓任务适应性(task adaptation) ,指给定一个预训练模型
h
θ
h_{\theta^0}
hθ0以及目标领域T
^
=
{
x
i
,
y
i
}
i
=
1
m
\mathcal{\hat T}=\{{\bf x}_i,{\bf y}_i\}_{i=1}^m
T={xi,yi}i=1m(带标签的m
m
m个样本对) ,我们的目的是据此在假设空间H
\mathcal{H}
H中找到一个具体的假设h
θ
:
X
→
Y
h_{\theta}:\mathcal X\rightarrow \mathcal Y
hθ:X→Y ,使得风险ϵ
T
(
h
θ
)
\epsilon_{\mathcal T}(h_{\theta})
ϵT(hθ)最小化 。一般而言 ,有两种方法将预训练模型适应到下游任务中:
特征转换(feature transfer):此时预训练模型的网络层权重将被固定 ,只是再训练一个全连接网络用于输入特征转换。 微调(finetune):此时预训练模型的网络层权重相当于是模型训练的一个初始点 ,将继续在目标领域的样本对中继续训练优化其网络层权重 。特征转换操作便利 、成本更小,但微调得到的模型性能通常会更好 。
这里有一个概念叫作基准微调(vanilla finetune) ,即直接在目标数据上 ,根据经验风险最小化(empirical risk minimization)对预训练模型进行微调,但是这种方法将会受到灾难性遗忘(catastrophic forgetting)与负迁移(negative transfer)问题的困扰 ,Section 3.1.1与Section 3.1.2主要探讨的是如何缓解这两个问题。此外因为模型尺寸与训练数据量越来越庞大 ,Section 3.1.3与Section 3.1.4将探讨参数功效(parameter efficiency)与数据功效(data efficiency)的问题 。
3.1.1 灾难性遗忘 Catastrophic Forgetting灾难性遗忘的概念最早在终身学习(lifelong learning)中提出 ,指的是机器学习模型在新任务中训练时会逐渐损失从先前任务中学习到的知识(参考文献
[
86
]
[86]
[86]) 。微调环节中 ,由于已标注数据的稀缺 ,可能会导致模型在目标数据上训练到过拟合 ,这种现象称为表征崩溃(representational collapse ,参考文献
[
2
]
[2]
[2]) 。传统的解决方案是训练模型时采用微小的学习率并采用早停(early-stopping)策略 ,但是容易使得模型陷入局部最优 ,一些比较新的研究方法:
参考文献[
197
]
[197]
[197]:发现模型中不同网络层的可迁移性是有区别的 ,因此在迁移时对待不同网络层的训练方式应当有所区别; 参考文献[
112
]
[112]
[112]:基于上述发现 ,提出深度适应网络(deep adaptation network ,DAN),这种网络架构中具体任务头(task-specific head)的的学习率是其他层的十倍; 参考文献[
74
]
[74]
[74]:从预训练模型的最后一层逐渐解冻(unfreeze)网络层权重直到第一层 ,这样可以有效地保留第一层中预训练的知识 。 参考文献[
62
]
[62]
[62]:提出一个基于策略网络(policy networks)的强化学习算法指导微调 。微调的两种方法:
领域适应调优(domain adaptive tuning):参考文献
[
74
,
63
,
32
]
[74,63,32]
[74,63,32]指在源领域预训练模型 ,然后在目标领域的训练样本对上进行调优,通常预训练任务是无监督的 ,如Figure 13所示 ,参考文献
[
74
,
63
]
[74,63]
[74,63]提出在微调时首先会先在一个与预训练任务相关的适应性任务T
′
\mathcal T
T′上进行微调 ,然后再在目标领域T
\mathcal T
T上进行微调 ,两阶段的微调常可以通过多任务学习(multi-task learning)技术进行结合 。正则化调优(regularization tuning):参考文献
[
86
,
101
,
103
,
202
,
79
]
[86,101,103,202,79]
[86,101,103,202,79]min
θ
∑
i
=
1
m
L
(
h
θ
(
x
i
)
,
y
i
)
+
λ
⋅
Ω
(
θ
)
(9)
\min_{\theta}\sum_{i=1}^mL(h_{\theta}({\bf x}_i),{\bf y}_i)+\lambda\cdot\Omega(\theta)\tag{9}
θmini=1∑mL(hθ(xi),yi)+λ⋅Ω(θ)(9) 其中L
L
L是损失函数 ,Ω
\Omega
Ω是正则项的一般形式(如Ω
(
θ
)
=
∥
θ
∥
2
2
/
2
\Omega(\theta)=\|\theta\|_2^2/2
Ω(θ)=∥θ∥22/2即为L
2
L_2
L2正则项) ,λ
\lambda
λ是惩罚系数 。这里记录参考文献
[
86
]
[86]
[86]提出的弹性权重合并(Elastic Weight Consolidation ,EWC)中使用的正则项:
Ω
(
θ
)
=
∑
j
1
2
F
j
∥
θ
j
−
θ
j
∥
2
2
(10)
\Omega(\theta)=\sum_j\frac12F_j\|\theta_j-\theta_j^0\|_2^2\tag{10}
Ω(θ)=j∑21Fj∥θj−θj0∥22(10) 其中F
F
F是费雪信息矩阵估计量(estimated Fisher information matrix) ,θ
j
\theta_j
θj与θ
j
\theta_j^0
θj0分别是微调后的模型与预训练模型对应网络层的参数 ,正则项本质是希望微调不会太多改变预训练模型的网络层权重 。事实上 ,EWC基于的假设是如果网络层的权重相似 ,那么它们的输出也是相似的 ,但是因为神经网络的尺寸越来越大,网络层权重的微小改变极容易产生蝴蝶效应 ,因此海域另外两篇参考文献
[
101
,
103
]
[101,103]
[101,103]提出的DELTA与LWF ,前者正则化的是预训练模型与微调模型对应网络层输出特征之间差值,后者正则化的是直接是模型最终输出结果差值 ,三者具体图示详见Figure 14:另一种正则化的思想基于正则化本质是使得模型更加平滑 ,因此参考文献
[
202
,
79
]
[202,79]
[202,79]直接通过使得在对模型输入进行微小扰动的情况下 ,模型输出不能发生太大变化 ,以强制实现平滑模型 ,如此构建的正则项为:
Ω
(
θ
)
=
∑
i
=
1
m
max
∥
x
~
i
−
x
∥
p
≤
ϵ
L
s
(
h
θ
(
x
~
i
)
,
h
θ
(
x
i
)
)
(11)
\Omega(\theta)=\sum_{i=1}^m\max_{\|\tilde {\bf x}_i-{\bf x}\|_p\le\epsilon}L_s(h_{\theta}(\tilde {\bf x}_i),h_{\theta}({\bf x}_i))\tag{11}
Ω(θ)=i=1∑m∥x~i−x∥p≤ϵmaxLs(hθ(x~i),hθ(xi))(11) 其中ϵ
>
\epsilon>0
ϵ>0是一个小正数 ,x
i
{\bf x}_i
xi与x
~
i
\tilde{\bf x}_i
x~i是扰动前后的模型输入 ,L
s
L_s
Ls是衡量两个模型输出的距离的损失函数 ,比如用于分类的对称KL散度或者均方误差 。最后一种其他的正则化方法是基于参数更新策略:
参考文献[
89
]
[89]
[89]:随机标准化(stochastic normalization) ,即随机用预训练模型中的批正则化层(batch-normalization layer ,参考文献[
77
]
[77]
[77])的统计量(statistics)来替换掉目标统计量 ,由此作为一种间接的正则化以减轻对目标统计量的依赖 。 参考文献[
96
]
[96]
[96]:直接用部分预训练模型权重替换微调模型权重 。 参考文献[
193
]
[193]
[193]:根据某种标准只选取部分参数在微调中进行更新 。 3.1.2 负迁移 Negative Transfer负迁移(negative transfer)的概念由参考文献
[
142
]
[142]
[142]提出。参考文献
[
187
]
[187]
[187]进一步提出衡量不同领域之间负迁移程度的方法 ,本文将这种想法推广到预训练与微调 。定义
2
2
2(负迁移差距):h
θ
(
U
,
T
)
h_{\theta}(\mathcal{U,T})
hθ(U,T)表示从上游数据U
\mathcal U
U中预训练的模型适应到目标数据T
\mathcal T
T中的一个模型,h
θ
(
∅
,
T
)
h_{\theta}(\emptyset,\mathcal T)
hθ(∅,T)表示直接从T
\mathcal T
T上训练得到的模型 ,则负迁移差距(negative transfer gap)定义为:
NTG
=
ϵ
T
(
h
θ
(
U
,
T
)
)
−
ϵ
T
(
h
θ
(
∅
,
T
)
)
(12)
\text{NTG}=\epsilon_{\mathcal T}(h_{\theta}(\mathcal{U,T}))-\epsilon_{\mathcal T}(h_{\theta}(\emptyset,\mathcal{T}))\tag{12}
NTG=ϵT(hθ(U,T))−ϵT(hθ(∅,T))(12) 称发生了负迁移 ,若NTG
\text{NTG}
NTG为正 。笔者注:
根据定义,
NTG
\text{NTG}
NTG衡量的是迁移得到的模型与直接训练得到的模型之间的性能差距(损失函数值之间的差距)。若NTG
\text{NTG}
NTG为正 ,即发生了负迁移 ,这说明迁移得到的模型还不如直接从目标数据上进行训练得到的模型 ,那么迁移本身就是无意义的 。负迁移出现的原因:
上游任务与下游任务关联度不高的情形(分布漂移过大):参考文献
[
109
,
207
]
[109,207]
[109,207]是分词预测和文档分类中的情形;取决于已标注的目标数据规模:并不是越大越好 ,参考文献
[
187
,
66
]
[187,66]
[187,66]就说明ImageNet预训练模型在进行大规模实体发现数据集上(比如COCO数据集)的表现就不是很理想;取决于任务适应性算法:理想的适应性算法应当能够提升相关任务之间的正迁移性而避免不相关任务之间的负迁移性 ,但是这两者其实是矛盾的 ,具体如Figure 15所示:
避免负迁移的方法:(这部分感觉废话居多 ,纯凑字数)
增强安全迁移(enhancing safe transfer):参考文献[
27
,
78
,
160
,
186
]
[27,78,160,186]
[27,78,160,186] ,指识别出预训练模型中具有危害的知识 。 选取正确的预训练模型:参考文献[
199
,
123
,
198
,
68
,
23
]
[199,123,198,68,23]
[199,123,198,68,23] 3.1.3 参数功效 Parameter Efficiency参数功效(parameter efficiency)考察的是预训练模型会为每一个下游任务生成完整的一套模型参数 ,这在存储上非常不利 。一种解决方案是使用参考文献
[
20
]
[20]
[20]提出的多任务学习技术 ,即微调一个模型来解决多个目标任务 ,或许对每一个目标任务都有利 。问题在于多个目标任务未必关联度很高 ,此时还是需要分别微调,且多任务学习需要同时访问每一个目标任务 ,这在线上场景(online scenarios)中是不可实现的(目标任务是一个接一个到来的) 。提升参数功效的方法:
残差调优(residual tuning):参考文献
[
64
,
203
,
73
,
139
,
183
]
[64,203,73,139,183]
[64,203,73,139,183]残差调优的思想源于拟合残差要比直接拟合函数更容易 。这里只记录参考文献
[
64
]
[64]
[64]的方法(其他几篇写得都太笼统 ,没有什么参考意义),固定预训练模型h
p
r
e
t
r
a
i
n
e
d
h_{\rm pretrained}
hpretrained权重 ,额外训练一个新的模型h
s
i
d
e
h_{\rm side}
hside来拟合残差 ,最终的模型为h
(
x
)
=
α
h
p
r
e
t
r
a
i
n
e
d
+
(
1
−
α
)
h
s
i
d
e
h(x)=\alpha h_{\rm pretrained}+(1-\alpha)h_{\rm side}
h(x)=αhpretrained+(1−α)hside ,注意α
\alpha
α在训练过程中是可以发生改变的 。参数差异调优(parameter difference tuning):参考文献
[
62
,
103
,
119
]
[62,103,119]
[62,103,119]θ
t
a
s
k
=
θ
p
r
e
t
r
a
i
n
e
d
⊕
δ
t
a
s
k
(13)
\theta_{\rm task}=\theta_{\rm pretrained}\oplus\delta_{\rm task}\tag{13}
θtask=θpretrained⊕δtask(13) 其中⊕
\oplus
⊕是元素级别相加(其实跟普通加法也没啥区别) ,θ
p
r
e
t
r
a
i
n
e
d
\theta_{\rm pretrained}
θpretrained是固定的预训练模型权重 ,δ
t
a
s
k
\delta_{\rm task}
δtask则是具体任务不同的残差权重 ,我们的目的是归约(reduce)δ
t
a
s
k
\delta_{\rm task}
δtask以实现参数功效 。 参考文献[
62
]
[62]
[62]:使用L
L_0
L0的惩罚项(参考文献[
117
]
[117]
[117]) ,以使得δ
t
a
s
k
\delta_{\rm task}
δtask稀疏 。 参考文献[
103
]
[103]
[103]:使用参考文献[
2
]
[2]
[2]提出的FastFood变换矩阵M
M
M以使得δ
t
a
s
k
\delta_{\rm task}
δtask低维(δ
t
a
s
k
=
δ
l
o
w
M
\delta_{\rm task}=\delta_{\rm low}M
δtask=δlowM) 。 参考文献[
119
]
[119]
[119]:将加法替换为乘法 ,即θ
t
a
s
k
=
θ
p
r
e
t
r
a
i
n
e
d
⊙
δ
t
a
s
k
\theta_{\rm task}=\theta_{\rm pretrained}\odot\delta_{\rm task}
θtask=θpretrained⊙δtask两种方法的区别在于前者认为可迁移性源于模型输出特征 ,后者认为可迁移性源于模型权重 。
3.1.4 数据功效 Data Efficiency数据功效(data efficiency)讨论的是适应训练需要耗费大量标注样本对 ,为降低对训练数据的依赖性 ,由此引出的概念是少射学习(few-shot learning)与零射学习(zero-shot learning) 。主要的思路有两个 ,一是提升预训练模型的广泛适用性(可以集成更多的知识和数据到预训练模型中),二是根据源领域数据简单快捷地生成目标领域数据及其标注。
提升数据功效的方法:,
指标学习(metric learning):参考文献
[
180
,
162
,
24
]
[180,162,24]
[180,162,24]主要指的是大模型在少量数据训练极易过拟合 ,但是可以考虑使用一些非参方法 ,比如近邻算法可以有效处理过拟合 、少射问题 、零射问题等 。
参考文献[
180
]
[180]
[180]:注意力机制在获得加权近邻方面的应用 。(感觉这也太牵强了) 参考文献[
162
]
[162]
[162]:对于分类问题,认为每一类中所有样本特征的均值可以作为该类别的类型(prototype) ,然后通过寻找每个样本最近的类型来进行分类。(其实就是标准的聚类算法) 参考文献[
24
]
[24]
[24]:将线性分类器替换为基于余弦距离的分类器 ,用于少射学习 。提示学习(prompt learning):
笔者注:
起初感觉有点像软件工程里的敏捷开发 ,而翻译成敏捷学习 ,但是似乎跟提示更关联 。
以参考文献
[
18
]
[18]
[18]中的超大预训练模型GPT-3为例 ,在微调过程中 ,模型接受输入x
\bf x
x并预测输出y
\bf y
y的概率为P
(
y
∣
x
)
P({\bf y}|{\bf x})
P(y∣x) ,而在提示过程中 ,根据提示模板(prompt template)将原始输入x
\bf x
x挖去一些槽位(unfilled slots)得到x
~
{\bf \tilde x}
x~ ,预训练模型将会将x
~
{\bf \tilde x}
x~中挖去的槽位补上得到x
^
\bf \hat x
x ,并得到基于x
^
\bf \hat x
x的输出y
\bf y
y ,具体操作如下表所示: 名称 标记 例子 输入x
\bf x
x 我喜欢这部电影 输出y
\bf y
y 情感极性:正 提示模板f
p
r
o
m
p
t
(
x
)
f_{\rm prompt}({\bf x})
fprompt(x)[
X
]
[X]
[X]总之这是一部[
Z
]
[Z]
[Z]电影 提示输入(未填充)x
~
\bf \tilde x
x~ 我喜欢这部电影 ,总之这是一部[
Z
]
[Z]
[Z]电影 提示输入(已填充)x
^
\bf \hat x
x 我喜欢这部电影,总之这是一部好电影引入提示的好处是可以处理少射任务或零射任务的适应学习 ,尤其在问答系统中有用 。
最后是将提示学习与微调相结合的方法:参考文献
[
151
,
100
,
189
]
[151,100,189]
[151,100,189] ,具体如Figure 17所示: 3.1.5 注释 Remarks总结一下本小节所有方法的性能:
方法 适应性能 数据功效 参数功效 模态延展性 任务延展性 特征转换 差 中 优 优 优 平凡微调 优 差 差 优 优 领域适应性调优 优 中 差 中 优 正则化调优 优 中 差 优 差 残差调优 中 中 中 中 中 参数差异调优 中 中 中 优 优 指标学习 差 优 优 优 差 提示学习 中 优 优 差 差字段说明:
适应性能(adaptation performance):下游任务中有大量标注数据时的模型性能 。 数据功效(data efficiency):下游任务中只有少量数据时的模型性能 。 参数功效(parameter efficiency):在下游任务数量不断增加时,能否控制住参数总量 。 模态延展性(modality scalability):能否用于多模态数据 ,如文本 、图片 、音像 。 任务延展性(task scalability):能否轻松的将预训练模型迁移到不同下游任务中 。3.2 领域适应性 Domain Adaptation
所谓领域适应性(Domain Adaptation) ,指的是在目标领域中训练数据是未标注的 ,源领域中的训练数据是已标注的 。因此试图在源领域中预训练模型 ,再设法迁移到目标领域中进行微调 。尽管源领域与目标领域的数据存在某种关联性 ,但是在分布上必然存在一定差异 ,因而往往迁移微调的模型性能欠佳 。这种现象称为分布漂移(distribution shift ,参考文献
[
133
]
[133]
[133]) ,领域适应性正是用于消除训练领域与测试领域之间的分布漂移问题 。传统的领域适应性方法如重加权(re-weighting) 、从源领域采样(参考文献
[
165
]
[165]
[165]) 、建模源领域分布特征空间到目标领域分布特征空间的转换(参考文献[
53
]
[53]
[53]]) ,这些方法相对平凡 ,如参考文献[
76
,
126
,
111
]
[76,126,111]
[76,126,111]研究的是核重生希尔伯特空间(kernel-reproducing Hilbert space)分布映射方法 ,参考文献[
53
]
[53]
[53]研究的是将主成分轴(principal axes)与各个领域分布相联系。本综述着重探讨的是深度领域适应性(deep domain adaptation) ,即采用深度学习模型架构来建模适应性模块,用于匹配不同领域的数据分布在无监督领域适应性(unsupervised domain adaptation ,UDA)中 ,源领域
S
^
=
{
(
x
i
s
,
y
i
s
)
}
i
=
1
n
\mathcal{\hat S}=\{({\bf x}_i^{s},{\bf y}_i^{s})\}_{i=1}^n
S={(xis,yis)}i=1n中包含n
n
n个已标注的样本,目标领域T
^
=
{
x
i
t
}
i
=
1
m
\mathcal{\hat T}=\{{\bf x}_i^t\}_{i=1}^m
T={xit}i=1m中包含m
m
m个未标注的样本 ,目标是学习算法来找到一种假设(hypothesis ,其实就是映射)h
∈
H
:
X
→
Y
h\in\mathcal{H}:\mathcal{X\rightarrow Y}
h∈H:X→Y,使得目标风险最小化:
minimize
ϵ
T
(
h
)
=
E
(
x
t
,
y
t
)
∼
T
[
l
(
h
(
x
t
)
,
y
t
)
]
\text{minimize}\quad\epsilon_{\mathcal{T}}(h)=\mathbb{E}_{({\bf x}^t,{\bf y}^t)\sim\mathcal{T}}[l(h({\bf x}^t),{\bf y}^t)]
minimizeϵT(h)=E(xt,yt)∼T[l(h(xt),yt)] 其中l
:
Y
×
Y
→
R
+
l:\mathcal{Y\times Y}\rightarrow\R_+
l:Y×Y→R+是损失函数 。目前关于UDA的理论研究核心在于如何通过源风险ϵ
S
\epsilon_{\mathcal{S}}
ϵS以及分布距离(distribution distance)来控制目标风险ϵ
T
(
h
)
\epsilon_{\mathcal{T}}(h)
ϵT(h)的量级 ,这里主要介绍两个经典的研究理论H
Δ
H
\mathcal{H}\Delta\mathcal{H}
HΔH散度(Divergence ,参考文献[
9
,
10
,
120
]
[9,10,120]
[9,10,120])与差距矛盾(Disparity Discrepancy ,参考文献[
204
]
[204]
[204]) ,以及如何基于这些理论设计不同的算法 。笔者注:
这里的假设
h
h
h可以理解为机器学习的黑盒模型 ,假设只分真伪 ,因此h
h
h的输出应该是只有零一值 ,即针对的是二分类问题。风险(risk)可以理解为损失函数值(的数学期望) ,整体来看说的就是在降低模型训练的损失值 。首先使用三角不等式 ,可以构建目标风险与源风险之间的不等关系:
定理
3
3
3(Bound with Disparity):假设损失函数
l
l
l是对称的(symmetric)且服从三角不等式,定义任意两个在分布D
\mathcal{D}
D上的假设h
h
h与h
′
h
h′之间差距(disparity):
ϵ
D
(
h
,
h
′
)
=
E
x
,
y
∼
D
[
l
(
h
(
x
)
,
h
′
(
x
)
)
]
(14)
\epsilon_{\mathcal{D}}(h,h)=\mathbb{E}_{{\bf x},{\bf y}\sim\mathcal{D}}[l(h({\bf x}),h({\bf x}))]\tag{14}
ϵD(h,h′)=Ex,y∼D[l(h(x),h′(x))](14) 则目标风险ϵ
T
(
h
)
\epsilon_{\mathcal{T}}(h)
ϵT(h)满足:
ϵ
T
(
h
)
≤
ϵ
S
(
h
)
+
[
ϵ
S
(
h
∗
)
+
ϵ
T
(
h
∗
)
]
+
∣
ϵ
S
(
h
,
h
∗
)
−
ϵ
T
(
h
,
h
∗
)
∣
(15)
\epsilon_{\mathcal{T}}(h)\le\epsilon_{\mathcal{S}}(h)+[\epsilon_{\mathcal{S}}(h^*)+\epsilon_{\mathcal{T}}(h^*)]+|\epsilon_{\mathcal{S}}(h,h^*)-\epsilon_{\mathcal{T}}(h,h^*)|\tag{15}
ϵT(h)≤ϵS(h)+[ϵS(h∗)+ϵT(h∗)]+∣ϵS(h,h∗)−ϵT(h,h∗)∣(15) 其中h
∗
=
argmax
h
∈
H
[
ϵ
S
(
h
)
+
ϵ
T
(
h
)
]
h^*=\text{argmax}_{h\in\mathcal{H}}[\epsilon_{\mathcal{S}}(h)+\epsilon_{\mathcal{T}}(h)]
h∗=argmaxh∈H[ϵS(h)+ϵT(h)]是理想联合假设(ideal joint hypothesis) ,ϵ
ideal
=
ϵ
S
(
h
∗
)
+
ϵ
T
(
h
∗
)
\epsilon_{\text{ideal}}=\epsilon_{\mathcal{S}}(h^*)+\epsilon_{\mathcal{T}}(h^*)
ϵideal=ϵS(h∗)+ϵT(h∗)是理想联合误差(ideal joint error) ,∣
ϵ
S
(
h
,
h
∗
)
−
ϵ
T
(
h
,
h
∗
)
∣
|\epsilon_{\mathcal{S}}(h,h^*)-\epsilon_{\mathcal{T}}(h,h^*)|
∣ϵS(h,h∗)−ϵT(h,h∗)∣是分布S
\mathcal{S}
S与T
\mathcal T
T之间的差距差异(disparity difference) 。笔者注:
损失函数对称即满足交换律,即
l
(
y
1
,
y
2
)
=
l
(
y
2
,
y
1
)
l(y_1,y_2)=l(y_2,y_1)
l(y1,y2)=l(y2,y1);损失函数可以看作是两个向量之间的差异 ,因此式(
14
)
(14)
(14)衡量的是两个假设(即模型)预测结果的差异程度 。在领域适应性的研究中 ,通常假定理想联合误差(即源领域任务与目标领域任务的损失函数之和)是充分小的 ,否则领域适应本身就是不可行的(即无法训练至损失函数达到低水平 ,对应参考文献
[
10
]
[10]
[10]中提出的不可能定理 ,impossibility theorem) ,此时式(
15
)
(15)
(15)中只需要考察最后一项差距差异的数值 。然而目标数据集标签不可得 ,于是理想假设
h
∗
h^*
h∗是未知的 ,因此差距差异并不能直接估计 ,H
Δ
H
\mathcal{H}\Delta\mathcal{H}
HΔH散度正是用于衡量差距差异的上界:定义
4
4
4(H
Δ
H
\mathcal{H}\Delta\mathcal{H}
HΔH散度):定义
H
Δ
H
=
Δ
{
h
∣
h
=
h
1
⊗
h
2
,
h
1
,
h
2
∈
H
}
\mathcal{H}\Delta\mathcal{H}\overset{\Delta}{=}\{h|h=h_1\otimes h_2,h_1,h_2\in\mathcal{H}\}
HΔH=Δ{h∣h=h1⊗h2,h1,h2∈H}为假设空间H
\mathcal{H}
H的对称差异假设空间(symmetric difference hypothesis space) ,其中⊗
\otimes
⊗表示异或运算符(XOR) ,则分布S
\mathcal S
S与T
\mathcal T
T之间的H
Δ
H
\mathcal{H}\Delta\mathcal{H}
HΔH散度可以表示为:
d
H
Δ
H
(
S
,
T
)
=
Δ
sup
h
,
h
′
∈
H
∣
ϵ
S
(
h
,
h
′
)
−
ϵ
T
(
h
,
h
′
)
∣
d_{\mathcal{H}\Delta\mathcal{H}}(\mathcal{S,T})\overset\Delta=\sup_{h,h\in\mathcal{H}}|\epsilon_{\mathcal S}(h,h)-\epsilon_{\mathcal T}(h,h)|
dHΔH(S,T)=Δh,h′∈Hsup∣ϵS(h,h′)−ϵT(h,h′)∣ 特别地 ,对于二分类问题的零一损失函数,即l
(
y
,
y
′
)
=
1
(
y
≠
y
′
)
l(y,y)=\textbf{1}(y\neq y)
l(y,y′)=1(y=y′),有:
d
H
Δ
H
(
S
,
T
)
=
Δ
sup
δ
∈
H
Δ
H
∣
E
S
[
δ
(
x
)
≠
]
−
E
T
[
δ
(
x
)
≠
]
∣
d_{\mathcal{H}\Delta\mathcal{H}}(\mathcal{S,T})\overset\Delta=\sup_{\delta\in\mathcal{H\Delta H}}|\mathbb{E}_{\mathcal{S}}[\delta({\bf x})\neq0]-\mathbb{E}_{\mathcal{T}}[\delta({\bf x})\neq0]|
dHΔH(S,T)=Δδ∈HΔHsup∣ES[δ(x)=0]−ET[δ(x)=0]∣笔者注:
H
Δ
H
\mathcal{H}\Delta\mathcal{H}
HΔH检验的是两个假设真伪相异的情形(异或运算) 。因此第二个式子中δ
(
x
)
\delta({\bf x})
δ(x)的取值只有零一 ,δ
(
x
)
≠
\delta(x)\neq 0
δ(x)创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!