赞
踩
问题:
1)注意力机制被广泛用于深度学习,却少有用来解决多示例问题;
2)已有的多示例方法利用注意力机制来学习实例权重,再雇佣一个全连接层来预测包的标签。因此包的标签将很大程度上决定于习得的权重;
解决:
1)提出了一种全新的基于注意力机制的损失函数,在计算权重的同时完成预测;
2)利用一致性代价来提升模型的泛化性能。
源代码:
https://github.com/xsshi2015/Loss-Attention
主要流程如下图:
1)数字1表示用于获取实例特征的传统或卷积神经网络;
2)数字2表示接指数函数的全连接层;
3)实例权重和实例损失点积后求和作为融合的实例损失;
4)包损失基于softmax加交叉熵计算获得;
5)平方损失是训练过程的一致性代价。
部分符号表如下:
符号 | 含义 |
---|---|
x \mathbf{x} x | 训练图像 |
y ∈ { 0 , 1 , … , K − 1 } y\in\{0,1,\dots,K-1\} y∈{0,1,…,K−1} | 图像标签 |
K K K | 图像类别数 |
f ( ⋅ ) f(\cdot) f(⋅) | 神经网络 |
z = f ( x ) ∈ R K \mathbf{z}=f(\mathbf{x})\in\mathbb{R}^K z=f(x)∈RK | 网络输出 |
基于softmax函数,
x
\mathbf{x}
x的属于每一类的概率预测如下:
q
k
=
e
x
p
(
z
k
)
∑
c
K
−
1
e
x
p
(
z
c
)
,
(1)
\tag{1} q_k=\frac{exp(z_k)}{\sum_c^{K-1}exp(z_c)},
qk=∑cK−1exp(zc)exp(zk),(1)其中
e
x
p
exp
exp表示指数函数。
令
p
c
∈
{
0
,
1
}
p_c\in\{0,1\}
pc∈{0,1}表示
x
\mathbf{x}
x的真实类别,则
p
∈
0
,
1
K
\mathbf{p}\in{0,1}^K
p∈0,1K与
q
∈
{
0
,
1
}
K
\mathbf{q}\in\{0,1\}^K
q∈{0,1}K的交叉熵计算如下
L
(
p
,
q
)
=
−
∑
c
=
0
K
−
1
p
c
l
o
g
q
c
.
(2)
\tag{2} L(\mathbf{p}, \mathbf{q})=-\sum_{c=0}^{K-1}p_clog q_c.
L(p,q)=−c=0∑K−1pclogqc.(2)由于
∑
c
=
0
K
−
1
p
c
=
1
\sum_{c=0}^{K-1}p_c=1
∑c=0K−1pc=1,且当
x
\mathbf{x}
x属于
k
k
k类时,有
p
k
=
1
p_k=1
pk=1及
∑
c
=
0
,
c
≠
k
K
−
1
p
c
=
0
\sum_{c=0,c\neq k}^{K-1}p_c=0
∑c=0,c=kK−1pc=0。因此 式 (2)等价于:
L
(
p
,
q
)
=
−
l
o
g
e
x
p
(
z
k
)
∑
c
=
0
K
−
1
e
x
p
(
z
c
)
(3)
\tag{3} L(\mathbf{p}, \mathbf{q})=-log \frac{exp(z_k)}{\sum_{c=0}^{K-1}exp(z_c)}
L(p,q)=−log∑c=0K−1exp(zc)exp(zk)(3)
部分符号表如下:
符号 | 含义 |
---|---|
X = { X 1 , X 2 , … , X n } \mathbf{X}=\{\mathbf{X}_1, \mathbf{X}_2,\dots,\mathbf{X}_n\} X={X1,X2,…,Xn} | 训练图像集合 |
X i = { x i , 1 , x i , 2 , … , x i , n i } \mathbf{X}_i=\{\mathbf{x}_{i,1},\mathbf{x}_{i,2},\dots,\mathbf{x}_{i,n_i}\} Xi={xi,1,xi,2,…,xi,ni} | 包 |
y i y_i yi | 包标签 |
x i , t \mathbf{x}_{i,t} xi,t第 t t t个实例 | |
y i , t y_{i,t} yi,t实例标签 |
假设一: 包中至少包含两类实例,即
y
i
,
t
=
0
y_{i,t}=0
yi,t=0和一个其他类别的实例
y
i
,
t
∈
{
1
,
…
,
K
−
1
}
y_{i,t}\in\{1,\dots,K-1\}
yi,t∈{1,…,K−1},则:
y
i
=
max
1
≤
t
≤
n
i
y
i
,
t
.
(4)
\tag{4} y_i = \max_{1\leq t\leq n_i}y_{i,t}.
yi=1≤t≤nimaxyi,t.(4) 假设二: 包中的每一个实例拥有相同的意义,且一个
L
L
L层带有平均操作网络可以获取实例的低维表示。
给定一个实例
x
i
,
t
\mathbf{x}_{i,t}
xi,t,令
h
i
,
t
l
(
1
≤
l
≤
L
−
1
)
h_{i,t}^l(1\leq l\leq L-1)
hi,tl(1≤l≤L−1)表示第
l
l
l层的特征表示。例如
h
i
,
t
L
−
1
=
g
(
h
i
,
t
L
−
2
)
∈
R
d
\mathbf{h}_{i,t}^{L-1}=g(\mathbf{h}_{i,t}^{L-2})\in\mathbb{R}^d
hi,tL−1=g(hi,tL−2)∈Rd是第
L
−
1
L-1
L−1层的输出和第
L
L
L层的输入,其中
g
(
⋅
)
g(\cdot)
g(⋅)是激活函数,
h
i
,
2
L
−
2
\mathbf{h}_{i,2}^{L-2}
hi,2L−2是
L
−
1
L-1
L−1层的输入。
假设三:
W
∈
R
d
×
K
\mathbf{W}\in\mathbb{R}^{d\times K}
W∈Rd×K和
b
∈
R
K
\mathbf{b}\in\mathbb{R}^K
b∈RK分别
L
L
L层表示权重矩阵和偏置向量,则神经网络的最终输出为
z
i
=
h
i
L
−
1
W
+
b
\mathbf{z}_i = \mathbf{h}_i^{L-1}\mathbf{W}+\mathbf{b}
zi=hiL−1W+b,其中
h
i
L
−
1
=
1
n
i
∑
t
=
1
n
i
h
i
,
t
L
−
1
\mathbf{h}_i^{L-1}=\frac{1}{n_i}\sum_{t=1}^{n_i}\mathbf{h}_{i,t}^{L-1}
hiL−1=ni1∑t=1nihi,tL−1,以及
z
i
∈
R
K
\mathbf{z}_i\in\mathbb{R}^K
zi∈RK表示包的类别预测向量。
当每个包中的实例的重要性不同时,我们引入注意力机制如下:
α
i
,
j
=
∑
c
=
0
K
−
1
exp
(
h
i
,
j
L
−
1
w
c
+
b
c
)
∑
t
=
1
n
i
∑
c
=
0
K
−
1
exp
(
h
i
,
t
L
−
1
w
c
+
b
c
)
h
i
,
j
L
−
1
←
α
i
,
j
h
i
,
j
L
−
1
h
i
L
−
1
=
∑
t
=
1
n
i
h
i
,
t
L
−
1
,
(5)
\tag{5}
最终的损失函数如下:
L
=
L
1
+
L
2
=
−
log
exp
(
h
i
L
−
1
w
k
+
b
k
)
∑
c
=
0
K
−
1
exp
(
h
i
L
−
1
w
c
+
b
c
)
−
λ
∑
t
=
1
n
i
α
i
,
t
log
exp
(
h
i
,
t
L
−
1
w
k
+
b
k
)
∑
c
=
0
K
−
1
exp
(
h
i
,
t
L
−
1
w
c
+
b
c
)
,
(6)
\tag{6}
式 (5) (6)主要的启发点如下:
1)实例权重在其标签与所属包不一致时,应该趋近于零;
2)当
L
2
→
L_2\to
L2→时,如果第
j
j
j个实例的
α
i
j
≫
0
\alpha_{ij}\gg0
αij≫0且属于第
k
k
k类,则必有
e
x
p
(
z
i
,
j
,
k
)
≈
∑
c
=
0
K
−
1
e
x
p
(
z
i
,
j
,
c
)
exp(z_{i,j,k})\approx\sum_{c=0}^{K-1}exp(z_{i,j,c})
exp(zi,j,k)≈∑c=0K−1exp(zi,j,c);
3)如第
r
r
r个实例的
α
i
,
r
→
0
\alpha_{i,r}\to0
αi,r→0,则意味着
∑
c
=
0
K
−
1
e
x
p
(
z
i
,
r
,
c
)
\sum_{c=0}^{K-1}exp(z_{i,r,c})
∑c=0K−1exp(zi,r,c)和
e
x
p
(
z
i
,
r
,
k
)
exp(z_{i,r,k})
exp(zi,r,k)可以忽略。
为了平衡训练过程,我们首次加入集成目标到实例权重。具体的,对于
α
i
,
t
\alpha_{i,t}
αi,t,对于每一个训练批次,将累积作为集成权重
α
~
i
,
t
=
β
α
i
,
t
~
+
(
1
−
β
)
α
i
,
t
\tilde{\alpha}_{i,t}=\beta\tilde{\alpha_{i,t}}+(1-\beta)\alpha_{i,t}
α~i,t=βαi,t~+(1−β)αi,t,其中
β
≥
0
\beta\geq0
β≥0用于决定集成权重与历史记录的偏离程度。然后,利用一致性代价
∥
α
i
,
t
−
α
~
i
,
t
∥
2
2
\|\alpha_{i,t}-\tilde{\alpha}_{i,t}\|_2^2
∥αi,t−α~i,t∥22来为每个实例制定一致性预测。最终的损失函数如下:
L
p
=
L
1
+
L
2
+
L
3
=
−
log
exp
(
h
i
L
−
1
w
k
+
b
k
)
∑
c
=
0
K
−
1
exp
(
h
i
L
−
1
w
c
+
b
c
)
−
λ
∑
t
=
1
n
i
α
i
,
t
log
exp
(
h
i
,
t
L
−
1
w
k
+
b
k
)
∑
c
=
0
K
−
1
exp
(
h
i
,
t
L
−
1
w
c
+
b
c
)
+
ω
(
m
)
∑
t
=
1
n
i
∥
α
i
,
t
−
α
~
i
,
t
∥
2
2
,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。