文章目录
Deep Convolutional Ranking for Multilabel Image Annotation
2014 ICLR Google
多标签几种损失
成对排序损失
它直接对标注问题建模。特别是,我们希望将正面标签排在总是比负面标签更高的个刻度,这导致了以下最小化问题
J
=
∑
i
=
1
n
∑
j
=
1
c
+
∑
k
=
1
c
−
max
(
0
,
1
−
f
j
(
x
i
)
+
f
k
(
x
i
)
)
J = \sum _ { i = 1 } ^ { n } \sum _ { j = 1 } ^ { c _ { + } } \sum _ { k = 1 } ^ { c _ { - } } \max \left( 0,1 - f _ { j } \left( \boldsymbol { x } _ { i } \right) + f _ { k } \left( \boldsymbol { x } _ { i } \right) \right)
J=i=1∑nj=1∑c+k=1∑c−max(0,1−fj(xi)+fk(xi))
其中c +是正标签,c-是负标签。在反向传播期间,我们计算了该损失函数的子梯度。
这种损失的一个限制是它优化了ROC曲线下面积(AUC),但没有直接优化top-k标注精度。
因为对于图像标注问题我们最感兴趣的是top-k标注,这种成对排名损失并不符合我们的目的。
加权近似排名(WARP)
这一损失是加权近似排名(WARP)是对上述损失函数的拓展,这在(2011 IJCAI-Wsabie: Scaling up to large vocabularyimage annotation)中首次描述。它通过使用随机抽样方法专门优化注释的top-k精度。这种方法非常适合深层体系结构的随机优化框架。它最小化
J
=
∑
i
=
1
n
∑
j
=
1
c
+
∑
k
=
1
c
−
L
(
r
j
)
max
(
0
,
1
−
f
j
(
x
i
)
+
f
k
(
x
i
)
)
J = \sum _ { i = 1 } ^ { n } \sum _ { j = 1 } ^ { c _ { + } } \sum _ { k = 1 } ^ { c _ { - } } L \left( r _ { j } \right) \max \left( 0,1 - f _ { j } \left( \boldsymbol { x } _ {i } \right) + f _ { k } \left( \boldsymbol { x } _ { i } \right) \right)
J=i=1∑nj=1∑c+k=1∑c−L(rj)max(0,1−fj(xi)+fk(xi))
其中
L
(
⋅
)
L(·)
L(⋅)是不同等级的加权函数,
r
j
r_j
rj是衡量某一个正标签预测值的惩罚程度。我们工作中使用的加权函数
L
(
⋅
)
L(·)
L(⋅)定义为:
L
(
r
)
=
∑
j
=
1
r
1
j
L ( r ) = \sum _ { j = 1 } ^ { r } \dfrac {1}{j}
L(r)=j=1∑rj1
如果正面标签在标签列表中排名靠前,那么
L
(
⋅
)
L(·)
L(⋅)将为损失分配一个小权重,并且不会花费太多损失。但是,如果正面标签没有排在最前面,
L
(
⋅
)
L(·)
L(⋅)将为损失分配更大的权重,从而将正面标签推到顶部。
最后一个问题是如何估计等级
r
j
r_j
rj。
求出 r j r_j rj,
- 对于每一个正标签 j j j的预测值 f j ( x i ) f_j(x_i) fj(xi),从负标签预测值集合 f k , k ∈ c − f_k, k \in c_- fk,k∈c−,进行随机采样一个 f k f_k fk
- 一旦 f k f_k fk满足 1 − f j ( x i ) + f k ( x i ) > 0 1 - f _ { j } \left( x _ { i } \right) + f _ { k } \left( x _ { i } \right) > 0 1−fj(xi)+fk(xi)>0, 记录采样次数 N N N,则 r j = ⌊ C − 1 N ⌋ r _ { j } = \left\lfloor \frac { C - 1 } { N } \right\rfloor rj=⌊NC−1⌋, c c c为标签空间的维度
- 如果采样了 C − 1 C-1 C−1次都没有满足上式,则 L ( r j ) L \left( r _ { j } \right) L(rj) = 0,即不计算误差