文章目录
引入
在多示例中,图像的类别语义信息 (标签) 通常来自于其部分区域,而非整个图像。已有的方法常常构建包到包 (bag-to-bag, B2B)的距离度量,这将花费巨大且无法反映语义。
对此,本文提出类别到包 (class-to-bag, C2B)的距离度量,其直接对类别与包的关系进行评估。示例如下图:
本文算法M
3
^3
3I的目的为,通过学习类别特定距离度量
M
k
M_k
Mk和局部自适应显著性系数
w
k
j
w_k^j
wkj来实现该距离。这样的一大优势为排除噪声从而习得更准确的模型。
1 习得M 3 ^3 3I距离
介绍问题定义、求解方法及显著性系数 (significance coefficient (SC))。
1.1 问题定义
部分符号表如下:
符号 | 含义 |
---|---|
D = { ( X i , y i ) } i = 1 N \mathcal{D}=\{(X_i,y_i)\}_{i=1}^N D={(Xi,yi)}i=1N | 训练集 |
X i = { x i 1 , … , x i n i } X_i=\{\mathbf{x}_i^1,\dots,\mathbf{x}_i^{n_i}\} Xi={xi1,…,xini} | 包 |
x i j ∈ R p \mathbf{x}_i^j\in\mathbb{R}^p xij∈Rp | 实例 |
y i ∈ { 0 , 1 } K y_i\in\{0,1\}^K yi∈{0,1}K | 包类别向量 |
N , n i , K N, n_i, K N,ni,K | 包数、每个包的大小、类别数 |
Y = [ y 1 , … , y N ] T Y=[y_1,\dots,y_N]^T Y=[y1,…,yN]T | 类别矩阵 |
这里
y
i
∈
{
0
,
1
}
K
y_i\in\{0,1\}^K
yi∈{0,1}K为一个类别向量,如果
y
i
(
k
)
=
1
y_i(k)=1
yi(k)=1,则表明当前包属于第
k
k
k类,反之则不。
对于类别矩阵,
∑
k
Y
i
k
=
1
\sum_kY_{ik}=1
∑kYik=1表示每一个只属于一个类别,大于
1
1
1则对应于多标签任务。
基于多示例,我们有以下假设:
1)包属于第
k
k
k类,则至少一个实例属于该类;
2)包不属于
k
k
k类,则没有实例属于该类。
为了简便,我们定义
P
(
X
i
)
\mathcal{P}(X_i)
P(Xi)和
N
(
X
i
)
\mathcal{N}(X_i)
N(Xi)表示包属于与不属于的类别。
1.2 C2B距离
首先收集同一类的所有实例作为超级包 (super-bag):
S
k
=
{
s
k
1
,
…
,
s
k
m
k
}
=
{
x
i
j
∣
Y
i
k
=
1
}
,
(1)
\tag{1} S_k=\{\mathbf{s}_k^1,\dots,\mathbf{s}_k^{m_k}\}=\{\mathbf{x}_i^j|Y_{ik}=1\},
Sk={sk1,…,skmk}={xij∣Yik=1},(1)其中
s
k
j
\mathbf{s}_k^j
skj是重新排号的实例,
m
k
=
∑
{
i
∣
Y
i
k
=
1
}
m_k=\sum_{\{i|Y_{ik}=1\}}
mk=∑{i∣Yik=1}。需要注意的是,在多示例中每个包只属于一个类别,则
S
k
∩
S
l
=
∅
(
∀
k
≠
l
)
S_k\cap S_l=\emptyset(\forall k\neq l)
Sk∩Sl=∅(∀k=l),
∑
k
m
k
=
∑
i
n
i
\sum_km_k=\sum_in_i
∑kmk=∑ini;多标签中则会有交叠。
超级包中的实例与包的距离度量定义为当前实例与包中离它距离最近实例的距离:
d
(
s
k
j
,
X
i
)
=
∥
s
k
j
−
s
~
k
j
∥
M
2
,
(2)
\tag{2} d(\mathbf{s}_k^j,X_i)=\|\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j\|_M^2,
d(skj,Xi)=∥skj−s~kj∥M2,(2)其中
s
~
\tilde{\mathbf{s}}
s~表示离
s
k
j
\mathbf{s}_k^j
skj最近的实例。进一步,超级包与包的C2B距离定义为:
D
(
S
k
,
X
i
)
=
∑
j
=
1
m
k
d
(
s
k
j
,
X
i
)
.
(3)
\tag{3} D(S_k, X_i)=\sum_{j=1}^{m_k}d(\mathbf{s}_k^j,X_i).
D(Sk,Xi)=j=1∑mkd(skj,Xi).(3)
1.3 C2B的参数化
1.3.1 类别特定距离度量
公式 (3)中的基础距离度量为欧式距离,这是与输入数据独立的。对此,为了提高多示例数据的识别性,我们为每一个类别学得一个距离度量,所有类别的合计为为
{
M
k
}
k
=
1
K
⊂
R
p
×
p
\{M_k\}_{k=1}^K\subset\mathbb{R}^{p\times p}
{Mk}k=1K⊂Rp×p。进一步,为了捕获输入数据的二阶统计信息,我们使用马氏距离来计算C2B:
D
(
S
k
,
X
i
)
=
∑
j
=
1
m
k
[
(
s
k
j
−
s
~
k
j
)
T
M
k
(
s
k
j
−
s
~
k
j
)
]
.
(4)
\tag{4} D(S_k,X_i)=\sum_{j=1}^{m_k}\left[(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)^TM_k(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)\right].
D(Sk,Xi)=j=1∑mk[(skj−s~kj)TMk(skj−s~kj)].(4)
1.3.2 局部自适应C2B
主要考虑为根据实例与相应类别的相关性来为它们分配权重。
令
w
k
j
w_k^j
wkj表示实例
s
k
j
\mathbf{s}_k^j
skj的权重,则:
D
(
S
k
,
X
i
)
=
∑
j
=
1
m
k
[
w
k
j
(
s
k
j
−
s
~
k
j
)
T
M
k
(
s
k
j
−
s
~
k
j
)
]
.
(5)
\tag{5} D(S_k,X_i)=\sum_{j=1}^{m_k}\left[w_k^j(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)^TM_k(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)\right].
D(Sk,Xi)=j=1∑mk[wkj(skj−s~kj)TMk(skj−s~kj)].(5)由于
w
k
j
w_k^j
wkj反映的是实例的相对重要性,因此我们将其称之为显著性系数SC。
1.4 M k M_k Mk和 w k j w_k^j wkj的学习
为了习得
M
k
M_k
Mk和
w
k
j
w_k^j
wkj,我们通过一个间隔 (margin) 限定包到其所属类别超级包的距离小于其他任何类别:
∀
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
:
D
(
S
n
,
X
i
)
−
D
(
S
p
,
X
i
)
≥
1
−
ξ
i
p
n
,
(6)
\tag{6} \forall p\in\mathcal{P}(X_i),n\in\mathcal{N}(X_i): D(S_n,X_i)-D(S_p,X_i)\geq1-\xi_{ipn},
∀p∈P(Xi),n∈N(Xi):D(Sn,Xi)−D(Sp,Xi)≥1−ξipn,(6)其中
ξ
i
p
n
\xi_{ipn}
ξipn是一个松弛变量,度量了三元组
(
i
,
p
,
n
)
(i,p,n)
(i,p,n)下的偏离情况。,接下来我们制定两个最大间隔优化问题来学习
M
k
M_k
Mk和
w
k
j
w_k^j
wkj。
1.4.1 优化 M k M^k Mk
首先固定
w
k
j
w_k^j
wkj来优化
M
k
M_k
Mk。为了应对过拟合,我们最小化:
min
M
1
,
…
,
M
K
∑
i
,
p
∈
P
(
X
i
)
,
D
(
S
p
,
X
i
)
+
C
∑
i
,
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
ξ
i
p
n
,
s.t.
∀
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
:
ξ
i
p
n
≥
0
,
D
(
S
n
,
X
i
)
−
D
(
S
p
,
X
i
)
≥
1
−
ξ
i
p
n
,
∀
k
:
M
k
⪰
0
,
(7)
\tag{7} \begin{gathered} \min _{M_{1}, \ldots, M_{K}} \sum_{i, p \in \mathcal{P}\left(X_{i}\right),} D\left(S_{p}, X_{i}\right)+C \sum_{i, p \in \mathcal{P}\left(X_{i}\right), n \in \mathcal{N}\left(X_{i}\right)} \xi_{i p n}, \\ \text { s.t. } \forall p \in \mathcal{P}\left(X_{i}\right), n \in \mathcal{N}\left(X_{i}\right): \xi_{i p n} \geq 0, D\left(S_{n}, X_{i}\right)-D\left(S_{p}, X_{i}\right) \geq 1-\xi_{i p n}, \\ \forall k: M_{k} \succeq 0, \end{gathered}
M1,…,MKmini,p∈P(Xi),∑D(Sp,Xi)+Ci,p∈P(Xi),n∈N(Xi)∑ξipn, s.t. ∀p∈P(Xi),n∈N(Xi):ξipn≥0,D(Sn,Xi)−D(Sp,Xi)≥1−ξipn,∀k:Mk⪰0,(7)其中
C
C
C是一个类似于SVM中的权衡参数。
公式 (7)是一个半定规划问题 (semi-definite programming (SDP)),可以使用标准SDP求解,然而这是相当耗时的。因此我们使用梯度下降SDP来求解。
1.4.2 优化 w k j w_k^j wkj
接下来固定
M
k
M_k
Mk来优化
w
k
j
w_k^j
wkj。令
d
M
(
s
k
j
,
X
i
)
=
(
s
k
j
−
s
~
k
j
)
T
M
k
(
s
k
j
−
s
~
k
j
)
d_M(\mathbf{s}_k^j,X_i)=(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)^TM_k(\mathbf{s}_k^j-\tilde{\mathbf{s}}_k^j)
dM(skj,Xi)=(skj−s~kj)TMk(skj−s~kj),
d
k
i
=
[
d
M
(
s
k
1
,
X
i
)
,
…
,
d
M
(
s
k
m
k
,
X
i
)
]
\mathbf{d}_{ki}=[d_M(\mathbf{s}_k^1,X_i),\dots,d_M(\mathbf{s}_k^{m_k},X_i)]
dki=[dM(sk1,Xi),…,dM(skmk,Xi)],且
w
k
=
[
w
k
1
,
…
,
w
k
m
k
]
T
\mathbf{w}_k=[w_k^1,\dots,w_k^{m_k}]^T
wk=[wk1,…,wkmk]T,则公式 (6) 重写为:
w
n
T
−
w
p
T
≥
1
−
ξ
i
p
n
,
∀
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
.
(8)
\mathbf{w}_n^T-\mathbf{w}_p^T\geq1-\xi_{ipn},\forall p\in\mathcal{P}(X_i),n\in\mathcal{N}(X_i). \tag{8}
wnT−wpT≥1−ξipn,∀p∈P(Xi),n∈N(Xi).(8) 遵循标准的soft-margin SVM框架,我们最小化三元组约束
(
i
,
p
,
n
)
(i,p,n)
(i,p,n)的累积误差并引入
w
\mathbf{w}
w的
ℓ
2
\ell_2
ℓ2标准化:
min
w
,
ξ
i
p
n
1
2
∥
w
−
w
(
0
)
∥
2
+
C
∑
i
,
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
ξ
i
p
n
s.t.
∀
i
,
p
∈
P
(
X
i
)
,
n
∈
N
(
X
i
)
:
ξ
i
p
n
≥
0
,
w
T
d
i
p
n
≥
1
−
ξ
i
p
n
,
∀
j
:
w
(
j
)
>
0
,
(10)
\tag{10} \begin{gathered} \min _{\mathbf{w}, \xi_{i p n}} \frac{1}{2}\left\|\mathbf{w}-\mathbf{w}^{(0)}\right\|^{2}+C \sum_{i, p \in \mathcal{P}\left(X_{i}\right), n \in \mathcal{N}\left(X_{i}\right)} \xi_{i p n} \\ \text { s.t. } \quad \forall i, p \in \mathcal{P}\left(X_{i}\right), n \in \mathcal{N}\left(X_{i}\right): \xi_{i p n} \geq 0, \mathbf{w}^{T} \mathbf{d}_{i p n} \geq 1-\xi_{i p n}, \\ \forall j: \mathbf{w}(j)>0, \end{gathered}
w,ξipnmin21∥∥∥w−w(0)∥∥∥2+Ci,p∈P(Xi),n∈N(Xi)∑ξipn s.t. ∀i,p∈P(Xi),n∈N(Xi):ξipn≥0,wTdipn≥1−ξipn,∀j:w(j)>0,(10)其中
w
\mathbf{w}
w的正性约束是由于本文的目标是通过正定算子定义一个的距离函数。此外强制引入了一个优先级权重向量
w
(
0
)
\mathbf{w}^{(0)}
w(0)。
在标准SVM中,
w
\mathbf{w}
w的所有元素初始化为
0
0
0,而我们设置为
1
1
1,因为我们认为在没有优先级学习时每一个实例同等重要。
公式 (10) 的求解参照 http://w3.cs.huji.ac.il/~daphna/course/CoursePapers/FromeSingerShaMalikICCV07.pdf
1.5 使用C2B距离进行标签预测
给定输入数据集
D
\mathcal{D}
D且优化公式 (7) 与 (10),我们将获得类别特定距离度量
M
k
M_k
Mk和显著性系数
w
k
j
w_k^j
wkj,其中
1
≤
k
≤
K
,
1
≤
j
≤
m
k
1\leq k\leq K, 1\leq j\leq m_k
1≤k≤K,1≤j≤mk。
给定一个包
X
X
X,首先基于公式 (5) 计算C2B距离
D
(
S
k
,
X
)
D(S_k,X)
D(Sk,X),包的预测标签则为距离最近的类别。
对于多标签多示例数据,由于每个包对应于至少一个类,我们需要一个阈值来辅助预测:
对于每一个类,我们学习一个阈值
b
k
=
∑
i
=
1
N
Y
i
k
D
(
S
k
,
X
i
)
/
∑
i
=
1
K
Y
i
k
b_k=\sum_{i=1}^NY_{ik}D(S_k,X_i)/\sum_{i=1}^KY_{ik}
bk=∑i=1NYikD(Sk,Xi)/∑i=1KYik,然后根据以下规则决定包的标签:
如果一个包的
D
(
S
k
,
X
)
<
b
k
D(S_k,X)<b_k
D(Sk,X)<bk,则属于当前类。
2 实验
2.1 单标签图像数据集
由于M
3
^3
3包含两个部分的优化,因此我们设置四种不同的学习版本:
1)C2B:公式 (3),无需任何学习;
2)C2B-M:公式 (4),需要学习类别特定度量;
3)C2B-SC:公式 (5),且设置
M
k
=
I
M_k=I
Mk=I;
4)M
3
^3
3I:公式 (5)。