1 概述
1.1 题目
2022:广义注意力深度多示例 (Generalized attention?based deep multi?instance learning, GAttNet)
1.2 摘要
基于注意力机制的深度多示例 (MIL) 是一个高效和可解释的模型,其可解释性来源于其内置的注意力MIL池化。该方法隐含的假设了包和实例概念位于相同语义空间,且关键问题是习得一个用于实例加权的统一实例级别目标概念。本文将这些约束解构为:
- 多个实例概念;
- 不同语义空间中包和实例的概念;
基于此,一个两层级注意力MIL池化被提出:
- 首先在较低级别语义空间习得多个实例概念;
- 随后在高级别语义空间捕获包概念;
- 提出基于相似性的损失用于加速不同实例概念的捕获。
1.3 Bib
@article{zhao2022generalized,
author = {Lu Zhao and Li Ming Yuan and Kun Hao and Xian Bin Wen},
title = {Generalized attention-based deep multi-instance learning},
journal = {Multimedia Systems},
pages = {1--13},
year = {2022},
doi = {10.1007/s00530-022-00992-w}
}
2 GAttNet
本章节内容如下:
- 回顾注意力网络 (AttNet);
- 提出GAttNet并讨论;
- 利用基于相似性的损失来优化算法。
图2和图3展示了深度MIL的传统结构和GAttNet结构。
图2:深度MIL模型的传统结构
图3:GAttNet的结构
2.1 回顾AttNet
任意序列不变 (Permutation invariant) 集合函数都可以分解为如下形式:
ρ
(
∑
x
∈
X
?
(
x
)
)
,
(1)
\tag{1} \rho(\sum_{x\in X}\phi(x)),
ρ(x∈X∑??(x)),(1)其中
ρ
\rho
ρ和
?
\phi
?均为适当的转换。
?
\phi
?是序列等质 (Permutation-equivariant),即
?
(
Γ
(
X
)
)
=
Γ
(
?
(
X
)
)
\phi(\Gamma(X))=\Gamma(\phi(X))
?(Γ(X))=Γ(?(X)),其中
Γ
\Gamma
Γ亦是转换。将包看作是集合的前提下,AttNet被制定为:
θ
(
X
)
=
g
(
A
t
t
P
o
o
l
i
n
g
(
f
(
X
)
)
)
,
(2)
\tag{2} \theta(X)=g(AttPooling(f(X))),
θ(X)=g(AttPooling(f(X))),(2)其中
θ
(
X
)
∈
[
0
,
1
]
\theta(X)\in[0,1]
θ(X)∈[0,1]是包
X
=
{
x
1
,
…
,
x
K
}
X=\{\mathbf{x}_1,\dots,\mathbf{x}_K\}
X={x1?,…,xK?}标签
Y
=
1
Y=1
Y=1的概率、
Y
∈
{
0
,
1
}
Y\in\{0,1\}
Y∈{0,1}、
K
K
K是
X
X
X中的实例数量、
f
f
f是实例转换,以及
g
g
g是分类器。
A
t
t
P
o
o
l
i
n
g
AttPooling
AttPooling是一个注意力MIL池化:
A
t
t
P
o
o
l
i
n
g
(
H
)
=
H
?
s
o
f
t
m
a
x
(
tanh
?
(
H
?
V
)
w
)
,
(3)
\tag{3} AttPooling(H)=H\ softmax(\tanh(H^\top V)\mathbf{w}),
AttPooling(H)=H?softmax(tanh(H?V)w),(3)其是输入集合
H
H
H的加权平均,
V
V
V和
w
\mathbf{w}
w是习得参数,以及
w
\mathbf{w}
w可以看作是注意力机制中的查询向量。进一步,有
θ
(
X
)
=
g
(
∑
x
∈
X
?
(
x
)
)
\theta(X)=g(\sum_{\mathbf{x}\in X}\phi(\mathbf{x}))
θ(X)=g(∑x∈X??(x)),其中
?
(
x
)
=
[
exp
?
(
tanh
?
(
f
(
x
)
?
V
)
w
)
∑
z
∈
X
exp
?
(
tanh
?
(
f
(
z
)
?
V
)
w
)
]
\phi(\mathbf{x})=[\frac{\exp(\tanh(f(\mathbf{x})^\top V)\mathbf{w})}{\sum_{\mathbf{z}\in X}\exp(\tanh(f(\mathbf{z})^\top V)\mathbf{w})}]
?(x)=[∑z∈X?exp(tanh(f(z)?V)w)exp(tanh(f(x)?V)w)?],以及
f
=
?
f=\phi
f=?。
公式2的关键部分是由公式3定义的
A
t
t
P
o
o
l
i
n
g
AttPooling
AttPooling,这使得该类算法区别于其他深度MIL方法。然而,公式3只使用一个权重向量
w
\mathbf{w}
w来建立一个目标概念,这隐含地假设包级概念与实例级概念相同。这可能导致无法解决更一般的MIL问题。
2.2 Inst2BagPooling:两层级注意力MIL池化
为了克服AttNet的缺陷,我们必须松弛强约束,故本文采用两个弱假设:
- 存在多个实例级别目标概念;
- 包级别和实例级别概念存在于不同的语义空间。
基于此提出了Inst2BagPooling,其结构如图4。第一个层级用于在低层语义空间 (实例空间) 捕捉实例级别概念,第二个层级用于在高层语义空间 (包空间) 探索最终的包级别概念。两层级之间是实例空间到包空间的映射。
图4:Inst2BagPooling
? Inst2BagPooling的完整过程如算法1。 最终目标是捕捉包级别概念,即行4中的
w
B
\mathbf{w}^B
wB,因此需要具有包级别语义的包,其应当建立在实例级概念的代表之上。如果直接使用
H
I
H^I
HI,可能无法逃脱实例级别语义空间,甚至于无法获得所需要的包。而如果把
H
I
H^I
HI映射到其他空间,尽快可能获得包级别语义包
H
B
H^B
HB,但这并不意味着
H
B
H^B
HB中的任意“实例”拥有包级别语义。
2.3 GAttNet
GAttNet算法的核心是Inst2BagPooling,其被制定为:
θ
(
X
)
=
g
(
I
n
s
t
2
B
a
g
P
o
o
l
i
n
g
(
f
(
X
)
)
)
.
(4)
\tag{4} \theta(X)=g(Inst2BagPooling(f(X))).
θ(X)=g(Inst2BagPooling(f(X))).(4)
2.4 相似性损失
为了更高效地捕获不同类型的实例级别概念,提出了一个结合交叉熵损失的新的基于相似性的损失函数:
L
(
θ
(
X
)
,
Y
)
=
?
[
(
1
?
Y
)
log
?
(
1
?
θ
(
X
)
)
+
Y
log
?
θ
(
X
)
]
+
λ
1
(
N
2
)
∑
1
≤
i
≤
j
≤
N
<
H
i
I
,
H
j
I
>
,
(5)
\tag{5} \begin{aligned} L(\theta(X),Y)&=-[(1-Y)\log(1-\theta(X))+Y\log\theta(X)]+\\ &\lambda\frac{1}{\left(\begin{array}{c}N\\2\end{array}\right)}\sum_{1\leq i\leq j\leq N}\left<H_i^I,H_j^I\right>, \end{aligned}
L(θ(X),Y)?=?[(1?Y)log(1?θ(X))+Ylogθ(X)]+λ(N2?)1?1≤i≤j≤N∑??HiI?,HjI??,?(5)其中
H
I
=
{
H
1
I
,
…
,
H
N
I
}
H^I=\{H_1^I,\dots,H_N^I\}
HI={H1I?,…,HNI?}是Inst2BagPooling中第一个注意力池化层的输出。实践上,
H
I
H^I
HI中的每个个体都应归一化为单位向量。
|