[arxiv 2017]论文的重点强调的是学习特征,对零样本细粒度分类更有判别性的特征。
该方法分为两个阶段:特征学习和标签推理。
假设:
识别一个细粒度类别,需要利用高层特征和细粒度特征。而这里的高层特征,论文用的是细粒度类别中暗含的分层语义结构,即“目科属种”这样的关系。每个图片都有这样的分层标注,论文说这样的标注可以从百科中很容易地获得。
A. Feature Llearning 特征学习
在VGG16网络中的第3-5层后面加入了分层分类子网络和域适应子网络。使用了测试类的样本,说明本文的方法属于直推式的ZSL问题。
分层分类网络的loss
L
h
(
θ
F
,
θ
f
,
θ
g
,
θ
s
)
=
μ
f
L
f
(
y
f
,
G
f
(
G
(
x
;
θ
F
)
;
θ
f
)
)
+
μ
g
L
g
(
y
g
,
G
g
(
G
(
x
;
θ
F
)
;
θ
g
)
)
+
L
s
(
y
s
,
G
s
(
G
(
x
;
θ
F
)
;
θ
s
)
)
(1)
\begin{aligned} \mathcal {L}_h(\theta_F, \theta_f, \theta_g, \theta_s) = & \mu_f {L}_f(y_f, G_f(G(x; \theta_F); \theta_f)) + \\ & \mu_g {L}_g(y_g, G_g(G(x; \theta_F); \theta_g)) + \\ & {L}_s(y_s, G_s(G(x; \theta_F); \theta_s)) \tag{1} \end{aligned}
Lh(θF,θf,θg,θs)=μfLf(yf,Gf(G(x;θF);θf))+μgLg(yg,Gg(G(x;θF);θg))+Ls(ys,Gs(G(x;θF);θs))(1)
总loss
L
(
θ
F
,
θ
f
,
θ
g
,
θ
s
,
θ
d
)
=
L
h
(
θ
F
,
θ
f
,
θ
g
,
θ
s
)
−
μ
d
L
d
(
y
d
,
G
d
(
G
s
(
θ
s
,
G
(
x
;
θ
F
)
;
θ
d
)
)
(2)
\begin{aligned} \mathcal {L}(\theta_F, \theta_f, \theta_g, \theta_s, \theta_d) = & \mathcal {L}_h(\theta_F, \theta_f, \theta_g, \theta_s) - \\ & \mu_d \mathcal{L}_d(y_d, G_d(G_s(\theta_s, G(x; \theta_F); \theta_d)) \tag{2} \end{aligned}
L(θF,θf,θg,θs,θd)=Lh(θF,θf,θg,θs)−μdLd(yd,Gd(Gs(θs,G(x;θF);θd))(2)
B. Label Inference 标签推理
实验
蓝色表示预测错误,红色表示预测正确。图片下的文字,是标签。
- 只给出种类标签,预测错误;用属/种标签,预测成功。
- 只给出属/种类标签,预测错误;用科/属/种标签,预测成功。
参考