AcMR学习笔记
注:此文章为论文:Rapid Performance Gain through Active Model Reuse 的学习笔记
简介
模型重用试图通过利用预训练的模型,减少新目标任务训练模型的资源消耗,这项技术在被标记的样本数量有限时的应用首要关注并且效果良好。
然而传统的模型重用方法对于模型的性能提升缓慢并且需要大量的查询才能获得较好的准确率(如图一)。
论文中提出的新的方法AcMR(图2),可以帮助模型构建查询,能够在有标签样本不足的情况下更好地主动学习,并且利用预训练模型可以过滤掉非必要的查询,与主动学习相比节约了资源。
相关工作
理想情况是模型可以在和初始环境不一样的情境下重复应用。这种理论已经被证明是可行的,例如FMR算法将有识别能力的固定模型融合到深度网络中,在各种应用中取得了不错的效果。
active learning
主动学习查询信息量最丰富的例子,主要关注未标记样本中最具有代表性和不确定性的数据。
transfer learning
迁移学习是模型重用的一种方法,但更适合应用于更一般的问题,例如通过数据表示、模型构建传递知识。迁移学习需要额外的数据并不是严格的模型重用。
robust model reuse
基于半监督学习的鲁棒模型重用在已标记样本数量有限的情况下能做出安全预测(性能不会比通过有限已标记样本得到的直接监督模型的的性能差),但由于其不考虑加入更多的已标记数据,导致其模型性能的提升十分有限。
AcMR方法
假设训练集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
l
,
y
n
l
)
,
x
n
l
+
1
,
.
.
.
.
,
x
N
}
D=\{(x_1,y_1),(x_2,y_2),...,(x_{n_l},y_{n_l}),x_{n_l+1},....,x_N\}
D={(x1,y1),(x2,y2),...,(xnl,ynl),xnl+1,....,xN},其中前
n
l
n_l
nl为有标签的样本,无样本的个数为
n
u
=
N
−
n
l
n_u=N-n_l
nu=N−nl。其中每一个样本
x
t
=
[
x
t
1
,
x
t
2
,
.
.
.
,
x
t
d
]
T
x_t=[x_{t_1},x_{t_2},...,x_{t_d}]^T
xt=[xt1,xt2,...,xtd]T有
d
d
d维属性。图三说明了各个符号的意义。
模型重用的目的是从已有的模型中派生出更好的模型:
f
+
=
g
(
{
f
1
,
f
2
,
.
.
.
,
f
k
}
,
f
L
)
f^+=g(\{{f_1,f_2,...,f_k}\},f_\mathcal L)
f+=g({f1,f2,...,fk},fL),可以通过最小化结构风险来构建
f
+
f^+
f+:
min
f
+
L
(
L
Y
,
f
+
(
L
X
)
)
+
λ
Ω
(
f
+
)
\min_{f^+}L(\mathcal L_Y,f^+(\mathcal L_X))+\lambda\Omega(f^+)
f+minL(LY,f+(LX))+λΩ(f+)
其中
L
L
L为损失函数,
Ω
\Omega
Ω为正则化,
L
X
=
{
x
1
,
x
2
,
.
.
.
,
x
n
l
}
,
L
Y
=
{
y
1
,
y
2
,
.
.
.
,
y
n
l
}
\mathcal L_X=\{x_1,x_2,...,x_{n_l}\},\mathcal L_Y=\{y_1,y_2,...,y_{n_l}\}
LX={x1,x2,...,xnl},LY={y1,y2,...,ynl}。根据具体的任务,可以灵活的选择损失函数、正则化和派生更好的模型
f
+
f^+
f+的方法。
假定对于任务预训练的模型已经得到了较好的权重
η
=
[
η
1
,
.
.
.
,
η
k
]
\eta=[\eta_1,...,\eta_k]
η=[η1,...,ηk],按照加权表决法(Dietterich,2000),未标记的例子
x
t
x_t
xt的标签预测值为:
y
^
=
arg max
c
∈
{
−
1
,
+
1
}
∑
j
=
1
k
η
j
∗
∐
(
f
j
(
t
)
=
c
)
\hat{y}={\argmax_{c\in \{-1,+1\}} }\sum_{j=1}^k\eta_j*\coprod(f_j^{(t)}=c)
y^=c∈{−1,+1}argmaxj=1∑kηj∗∐(fj(t)=c)
其中,当
z
z
z是真值时
∐
(
z
)
=
1
\coprod(z)=1
∐(z)=1,否则为0。因为不能够得到准确的先验权重,我们假定信任部分预训练的模型,利用预训练模型过滤掉主动学习不必要地查询,进而加速主动学习进程;此外,一旦有标签的样本数增加,我们就更新预训练模型地权重以更好的适应任务要求。在主动学习地过程中,两个过程互相促进。
主动重用预训练模型
当预训练模型风险过高时,可能会观察到以下结果:1)预训练模型对于未标记样本给出的标签与主动学习给出的标签不同;2)预训练模型的后验概率较低。因此,定义一个查询标志函数
θ
(
x
t
)
\theta(x_t)
θ(xt)来反映未标记样本
x
t
x_t
xt是否需要查询标签:
P
(
y
^
∣
x
t
)
=
∑
j
=
1
k
η
j
P
j
(
y
^
(
t
)
∣
x
t
)
∗
∐
(
f
j
(
t
)
=
y
^
(
t
)
)
P(\hat y|x_t)=\sum_{j=1}^k\eta_jP_j(\hat y^{(t)}|x_t)*\coprod(f_j^{(t)}=\hat y^{(t)})
P(y^∣xt)=j=1∑kηjPj(y^(t)∣xt)∗∐(fj(t)=y^(t))
α
(
x
t
)
=
(
1
−
∐
(
y
^
(
t
)
≠
f
L
(
t
)
)
)
P
(
y
^
∣
x
t
)
\alpha(x_t)=(1-\coprod(\hat y^{(t)}\not=f_{\mathcal L}^{(t)}))P(\hat y|x_t)
α(xt)=(1−∐(y^(t)=fL(t)))P(y^∣xt)
θ
(
x
t
)
=
(
1
+
α
(
x
t
)
)
−
1
\theta(x_t)=(1+\alpha(x_t))^{-1}
θ(xt)=(1+α(xt))−1
其中,
P
j
(
y
^
∣
x
t
)
P_j(\hat y|x_t)
Pj(y^∣xt)是预训练模型
f
j
f_j
fj对于未标记样本
x
t
x_t
xt的预测概率。可以看出,
α
(
x
t
)
\alpha(x_t)
α(xt)的值越大,就越不用查询标签。由于少量的错误标注可能对准确率造成很大的影响,在
α
(
x
t
)
\alpha(x_t)
α(xt)的基础上,又定义了
θ
(
x
t
)
\theta(x_t)
θ(xt),保证查询的必要性不低于50%,保证只有
α
(
x
t
)
\alpha(x_t)
α(xt)很大时才相信预训练模型预测的标签。
定义一个
R
∈
(
0
,
1
)
R\in(0,1)
R∈(0,1)和函数
F
(
x
t
)
=
{
0
,
i
f
R
>
θ
(
x
t
)
1
,
o
t
h
e
r
w
i
s
e
F(x_t)= \begin{cases} 0, ifR>\theta(x_t) \\ 1, otherwise \end{cases}
F(xt)={0,ifR>θ(xt)1,otherwise,当
F
(
x
t
)
=
0
F(x_t)=0
F(xt)=0时,
x
t
x_t
xt的标签为预训练模型预测的标签,否则,
x
t
x_t
xt的标签应由领域内的专家标定。
评价指标
令
δ
=
ε
p
+
ε
a
\delta=\varepsilon_p+\varepsilon_a
δ=εp+εa,其中
ε
p
\varepsilon_p
εp和
ε
a
\varepsilon_a
εa分别表示预训练模型和主动学习
F
L
F_\mathcal L
FL的期望误差,评价指标与函数见图四。
采样误差应满足
ε
≤
ε
p
2
1
+
(
1
−
ε
p
)
\varepsilon\leq\frac{\varepsilon_p^2}{1+(1-\varepsilon_p)}
ε≤1+(1−εp)εp2。由函数
F
(
x
t
)
F(x_t)
F(xt)可知,只有当预训练模型和主动学习模型
f
L
f_\mathcal L
fL给出相同的错误标签时,AcMR预测的标签才会错误。假定
ε
p
>
ε
a
\varepsilon_p>\varepsilon_a
εp>εa,则
ε
=
ε
p
ε
a
(
1
−
θ
(
x
)
)
≤
ε
p
2
(
1
−
θ
(
x
)
)
\varepsilon=\varepsilon_p\varepsilon_a(1-\theta(x))\leq\varepsilon_p^2(1-\theta(x))
ε=εpεa(1−θ(x))≤εp2(1−θ(x)),其中
θ
(
x
)
=
1
1
+
(
1
−
ε
p
)
\theta(x)=\frac{1}{1+(1-\varepsilon_p)}
θ(x)=1+(1−εp)1,进而推出Sampling Error公式。
查询率应满足
P
(
Q
)
≤
δ
+
1
−
δ
1
+
(
1
−
ε
p
)
P(Q)\leq\delta+\frac{1-\delta}{1+(1-\varepsilon_p)}
P(Q)≤δ+1+(1−εp)1−δ。由函数
F
(
x
t
)
F(x_t)
F(xt)可知,当预训练模型和主动学习模型给出的预测值不同时,AcMR算法会询问样本的标签,但两个模型预测相同时,也会有
θ
(
x
)
\theta(x)
θ(x)的概率询问样本的标签。
P
(
Q
)
=
ε
a
(
1
−
ε
p
)
+
[
ε
p
ε
a
+
(
1
−
ε
p
)
(
1
−
ε
a
)
]
θ
(
x
)
+
(
1
−
ε
a
)
ε
p
=
θ
(
x
)
+
(
ε
p
+
ε
a
−
2
ε
p
ε
a
)
(
1
−
θ
(
x
)
)
≤
δ
+
(
1
−
δ
)
θ
(
x
)
≤
δ
+
1
−
δ
1
+
(
1
−
ε
p
)
P(Q)=\varepsilon_a(1-\varepsilon_p)+[\varepsilon_p\varepsilon_a+(1-\varepsilon_p)(1-\varepsilon_a)]\theta(x)+(1-\varepsilon_a)\varepsilon_p \\ =\theta(x)+(\varepsilon_p+\varepsilon_a-2\varepsilon_p\varepsilon_a)(1-\theta(x)) \\ \leq\delta+(1-\delta)\theta(x) \\ \leq\delta+\frac{1-\delta}{1+(1-\varepsilon_p)}
P(Q)=εa(1−εp)+[εpεa+(1−εp)(1−εa)]θ(x)+(1−εa)εp=θ(x)+(εp+εa−2εpεa)(1−θ(x))≤δ+(1−δ)θ(x)≤δ+1+(1−εp)1−δ
预训练模型的权重更新
受到Murugesan et al. [2016]的启发,我们提出了一种错误驱动的权重更新策略,只有当预训练模型的预测错误的时候才更新其权重。权重优化函数为:
η
(
m
+
1
)
=
arg min
η
∈
Θ
∑
j
∈
[
k
]
η
j
l
j
(
t
(
m
)
)
+
λ
D
K
L
(
η
∣
∣
η
(
m
)
)
\eta^{(m+1)}=\argmin_{\eta\in \Theta}\sum_{j\in [k]}\eta_jl_j^{(t(m))}+\lambda D_{KL}(\eta||\eta^{(m)})
η(m+1)=η∈Θargminj∈[k]∑ηjlj(t(m))+λDKL(η∣∣η(m))
其中,
D
K
L
(
η
∣
∣
η
(
m
)
)
D_{KL}(\eta||\eta^{(m)})
DKL(η∣∣η(m))表示现在和过去soft-attention分布的KL散度,它使得
η
\eta
η平滑变化。
η
(
m
+
1
)
\eta^{(m+1)}
η(m+1)的闭式解为:
η
j
(
m
+
1
)
=
η
j
(
m
)
e
x
p
(
−
l
j
t
(
m
)
/
λ
)
∑
j
′
=
1
k
η
j
′
(
m
)
e
x
p
(
−
l
j
′
t
(
m
)
/
λ
)
,
j
∈
[
k
]
\eta_j^{(m+1)}=\frac{\eta_j^{(m)}exp(-l_j^{t(m)}/\lambda)}{\sum_{j'=1}^k\eta_{j'}^{(m)}exp(-l_{j'}^{t(m)}/\lambda)},j\in [k]
ηj(m+1)=∑j′=1kηj′(m)exp(−lj′t(m)/λ)ηj(m)exp(−ljt(m)/λ),j∈[k]
试验
试验计划
两种样本选择标准:1)QBC:选择在假设集合中引起最大分歧的样本;2)随机选择样本。
一种主动迁移学习方法:AcTraK。
一种基准线的方法:Safer。
针对AcMR,我们分别选择上述两种采样方法,将训练好的模型作为输入,例如将DVD预先训练好的模型作为书的情感分析任务的输入。因为AcMR需要专家标注未标注的样本,所以需要在专家标注的不同数量的样本上进行实验对比。对于每项任务,我们随机将数据集划分为两部分:75%作为未标记数据,25%作为测试集。试验重复30次,得到平均的准确率。
文本分类任务
样本从20个Newsgroups中收集,包含两个层次,其中高层类别之间的区别较大,每一类的子类之间的区别较小。我们规定六组二分类任务,对比AcMR和其它算法的性能,结果见图五,可见在两种样本选择方法中,AcMR算法的性能是最好的。
情感分析任务
我们通过分析产品评价的好坏测量我们的算法,产品评价选用亚马逊商城的4个类:书、DVD、电子产品和厨房用品。每一类都看作一个二分类任务:评价大于3的为好评,评价小于3的为差评。对于以上的情感分析数据集,我们得到了4个分类任务。结果见图六,在大多数情况下,AcMR的性能都比基于主动学习的方法好,且能够随着标注样本数量的增加提高性能。更重要的,我们发现即使预训练模型性能的提升有限,我们的建议仍能使它的性能迅速提高。
垃圾邮件识别任务
选用ECML PAKDD Discovery上的任务B挑战数据集,它包含来自15个收件箱的已标注训练数据,我们测试了前四个分类任务,结果见图七。在大多数情况下AcMR算法是最优的,这说明在主动学习的框架下,将预训练的模型考虑进去可以快速提高模型的性能。
总结
我们提出的AcMR方法,当标记的样本不足以完成任务时,通过预训练的模型重构查询,并且过滤掉不必要的查询,能够快速提高模型性能。未来展望将此算法推广到深度学习模型。
问题:1)Random selects examples randomly是什么算法
2)怎么体现快速提高性能