1、基本信息
@misc{Konstantinov_Utkin,
title={Multi-Attention Multiple Instance Learning},
author={Konstantinov, AndreiV. and Utkin, LevV.}
}
2、摘要
本文提出了基于多注意力的MIL问题求解方法,该方法考虑了包中每个被分析实例的相邻实例。在该方法中,一个注意力模块考虑相邻的实例,使用几个注意力机制来获得实例的不同特征表示,并使用一个注意力模块来联合不同的实例特征表示,提供每个实例和整个包的准确分类。MAMIL以小维度嵌入的形式实现了实例及其邻居的组合表示,以达到简单分类的目的。此外,算法也有效处理了不同类型的实例,使用几个注意力机制模块来实现包中实例的不同特征表示。
3、介绍
基于注意力的深度多示例学习(Attention-based Deep Multiple Instance Learning, AbDMIL)能够有效改进MIL模型,然而现有的基于注意力的MIL方法都有一些缺点。首先它们没有考虑可能对预测产生重大影响的相邻实例,尤其是将图像视为一个包时。
本文的实验表明实例的邻居能够视为实例本身的附加信息,这也是为什么本文建议与k个邻居一起分析每个实例,并将k视为参数。此外,本文建议将所有邻居转换为嵌入向量,该嵌入向量将邻居的所有特征信息收集到一个向量中,并且嵌入是通过注意力来实现的。本文只考虑相邻的实例,并且选择尽可能小的实例,每个实例与邻居联合就可以覆盖整个图像增加的区域,小的实例也具有较简单的处理过程。
本文提出了一种解决MIL问题的多注意力方法,其中一个注意力模块考虑相邻的实例(邻域注意力),使用几个注意力模块(模板注意力)来获得每个实例的不同特征表示,并且使用一个注意力(最终注意力)来联合不同的特征表示,并对每个实和整个包进行分类。
4、MAMIL
4.1、Basics of the attention mechanism
注意力机制可以被视为一种工具,通过它神经网络可以自动区分特征的相对重要性,并对特征进行加权,以提高分类精度。
输入训练包以及对应标签,回归的目标是构造回归函数 f : R d → R f:\mathbb{R} ^d→\mathbb{R} f:Rd→R,使其能够利用训练数据 S S S来预测新包的输出值 y y y。
注意力机制背后的最初想法是取代使用简单的平均输出
y
∗
=
n
−
1
∑
i
=
1
n
y
i
y^*=n^{-1}\sum_{i=1}^{n}y_i
y∗=n−1∑i=1nyi来估计新输入特征向量的回归输出值
y
y
y,而是使用Nadaraya Watson回归模型形式的加权平均值:
y
∗
=
∑
i
=
1
n
α
(
x
,
x
i
)
y
i
,
(1)
y^*=\sum_{i=1}^{n}\alpha(x,x_i)y_i,\tag{1}
y∗=i=1∑nα(x,xi)yi,(1)
其中,
α
(
x
,
x
i
)
\alpha(x,x_i)
α(x,xi)表示输入值
x
x
x与第
i
i
i个包的相关性。该相关性的计算方法由Nadaraya Watson核回归定义,它可以视为一个评分函数,用于估计
x
i
x_i
xi有多接近
x
x
x,其计算公式为:
α
(
x
,
x
i
)
=
K
(
x
,
x
i
)
∑
j
=
1
n
K
(
x
,
x
j
)
,
(2)
\alpha(x,x_i)=\frac{K(x,x_i)}{\sum_{j=1}^{n}K(x,x_j)},\tag{2}
α(x,xi)=∑j=1nK(x,xj)K(x,xi),(2)
通常上述评分函数可以通过合并可学习参数进行扩展,如果将
q
=
W
q
x
q=W_qx
q=Wqx与
k
i
=
W
k
x
i
k_i=W_kx_i
ki=Wkxi表示为query嵌入与key嵌入,那么注意力权重能够表示为:
α
(
x
,
x
i
)
=
s
o
f
t
m
a
x
(
q
T
k
i
)
=
exp
(
q
T
k
i
)
∑
j
=
1
n
exp
(
q
T
k
j
)
.
(3)
\alpha(x,x_i)=softmax(q^Tk_i)=\frac{\exp(q^Tk_i)}{\sum_{j=1}^{n}\exp(q^Tk_j)}.\tag{3}
α(x,xi)=softmax(qTki)=∑j=1nexp(qTkj)exp(qTki).(3)
其中,
W
q
W_q
Wq与
W
k
W_k
Wk是参数矩阵,可以通过前馈神经网络进行学习。
4.2、Method
考虑拥有 m m m个子图像区域的组织学图像,将子图像区域视为实例 x i j x_{ij} xij,整张组织学图像视为包 B i B_i Bi。在上面的图中,子图像区域用 I i I_i Ii或 I j I_j Ij表示。
将所有的实例通过向前传播输入到神经网络中以得到其对应的嵌入 F i = C o n v ( I i ) , i = 1 , . . . , m F_i=Conv(I_i),i=1,...,m Fi=Conv(Ii),i=1,...,m,嵌入是为了降低实例维度。
对于每一个补丁,我们还选择由该补丁相邻的补丁构成的邻居集。用
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)表示第
i
i
i个补丁的整数坐标,用
M
=
{
1
,
.
.
.
,
m
}
\mathcal{M}=\left \{ 1,...,m \right \}
M={1,...,m}表示整个图像中所有补丁的索引集。那么第
i
i
i个补丁的邻居索引集可以表示为:
N
i
=
{
j
∈
M
:
0
<
max
(
∣
x
i
−
x
j
∣
,
∣
y
i
−
y
j
∣
)
<
d
}
,
(4)
\mathcal{N}_i=\left \{ j\in \mathcal{M}:0<\max {(\left | x_i-x_j \right |,\left | y_i-y_j \right | )} <d \right \} ,\tag{4}
Ni={j∈M:0<max(∣xi−xj∣,∣yi−yj∣)<d},(4)
其中,
d
=
1
d=1
d=1但也可以设置为任意值,主要取决于补丁的大小。
使用相邻补丁主要是为了利用图像结构的一些有用信息,同时也可以被视为某种数据增强,从而改善分类结果。本文通过注意力机制来计算补丁
I
i
I_i
Ii的所有邻居的嵌入
B
i
B_i
Bi,计算公式为:
B
i
=
∑
j
∈
N
i
α
j
(
i
)
F
j
,
(5)
B_i=\sum_{j\in \mathcal{N}_i }\alpha_j^{(i)}F_j,\tag{5}
Bi=j∈Ni∑αj(i)Fj,(5)
其中,
j
j
j代表补丁的
j
j
j个邻居,
F
j
F_j
Fj代表邻居在神经网络中对应的嵌入,而
α
j
(
i
)
\alpha_j^{(i)}
αj(i)代表注意力权重,与公式(3)类似但又不同,其计算公式为:
α
j
(
i
)
=
s
o
f
t
m
a
x
(
s
i
)
=
exp
(
s
j
(
i
)
)
∑
t
exp
(
s
t
(
i
)
)
.
(6)
\alpha_j^{(i)}=softmax(s^{i})=\frac{\exp{(s_j^{(i)})}}{\sum_{t}\exp{(s_t^{(i)})}}.\tag{6}
αj(i)=softmax(si)=∑texp(st(i))exp(sj(i)).(6)
其中,
s
j
(
i
)
=
s
c
o
r
e
n
b
(
F
i
,
F
j
)
=
F
i
T
tanh
(
V
n
b
F
j
)
s_{j}^{(i)}=score_{nb}(F_i,F_j)=F_i^{T}\tanh{(V_{nb}F_j)}
sj(i)=scorenb(Fi,Fj)=FiTtanh(VnbFj)是计算嵌入
F
i
F_{i}
Fi与
F
j
F_{j}
Fj的注意力打分函数,
V
V
V是学习率参数矩阵。
最后将第
i
i
i个补丁的嵌入与邻居的嵌入进行联合拼接,得到补丁的嵌入:
T
i
=
(
F
i
,
B
j
)
(7)
T_i=(F_i,B_j)\tag{7}
Ti=(Fi,Bj)(7)
4.3、embedding templates
该算法提出的另一个重要概念是一组嵌入模板(embedding templates),这些模板被视为学习向量。此外,模板数量是 C C C,其值决定分类质量。模板可以视为多注意力应用到嵌入 T i T_i Ti的实现方式。
将模板集合表示为
P
=
{
P
1
,
.
.
.
,
P
C
}
\mathcal{P}=\left \{ P_1,...,P_C \right \}
P={P1,...,PC},第
k
k
k个模板为
P
k
P_k
Pk。每个模板注意力都产生相应的聚合嵌入
E
k
E_k
Ek,计算公式为:
E
k
=
∑
i
=
1
m
β
i
(
k
)
T
i
,
k
=
1
,
.
.
.
,
C
(8)
E_k=\sum_{i=1}^{m}\beta_{i}^{(k)}T_i,k=1,...,C\tag{8}
Ek=i=1∑mβi(k)Ti,k=1,...,C(8)
其中,
β
i
(
k
)
=
s
o
f
t
m
a
x
(
⟨
s
c
o
r
e
(
P
k
,
T
i
)
⟩
i
)
\beta_{i}^{(k)}=softmax(\left \langle score(P_k,T_i) \right \rangle_i )
βi(k)=softmax(⟨score(Pk,Ti)⟩i)。可以看出第
k
k
k个模板的聚合嵌入
E
k
E_k
Ek是图像中有邻居的补丁的带权嵌入平均值,即第
k
k
k个模板聚合嵌入了整个包。关于所有补丁以及它们邻居的信息都包含在了向量
E
1
,
.
.
.
,
E
C
E_1,...,E_C
E1,...,EC中。
进一步,将
C
C
C个模板的聚合嵌入整合到整体向量
Z
Z
Z中,该整体向量对应整个包和所有模板,并考虑了包中所有的特性:
Z
=
∑
k
=
1
C
γ
k
E
k
(9)
Z=\sum_{k=1}^{C}\gamma_k E_k\tag{9}
Z=k=1∑CγkEk(9)
其中, γ k = s o f t m a x ( ⟨ s c o r e f i n ( G , E k ) ⟩ k ) \gamma_k=softmax(\left \langle score_{fin}(G,E_k) \right \rangle_k ) γk=softmax(⟨scorefin(G,Ek)⟩k), G G G是作为训练向量的全局模板。模板 G G G和相应的最终注意力共同决定了哪些聚合嵌入 E k E_k Ek和模板 P k P_k Pk是重要的。
4.4、loss function
其中,
B
C
E
BCE
BCE是标准二分类交叉熵损失函数,
Y
k
Y_k
Yk是真实标签,
f
(
X
k
)
f(X_k)
f(Xk)是通过神经网络输出的预测值。BCE损失函数具体公式为:
x
x
x是网络输出值,
y
y
y是真实标签。
4.5、Computing the patch importance
本文算法的一个关键点为哪些补丁对包的预测具有最大的影响。由于整体嵌入
Z
Z
Z与补丁嵌入
T
i
T_i
Ti之间的关系,这个问题能够得以解决。公式(9)中的
E
k
E_k
Ek可以通过补丁对应嵌入的加权和来表示,即变为:
通过这种方式,权值
w
i
=
∑
k
=
1
C
γ
k
β
i
(
k
)
w_{i}=\sum_{k=1}^{C}\gamma_k\beta_{i}^{(k)}
wi=∑k=1Cγkβi(k)就可以视为补丁的重要性。最后再将第
i
i
i个补丁
I
i
I_i
Ii的第
j
j
j个邻居的重要性
α
j
(
i
)
\alpha_j^{(i)}
αj(i)纳入补丁重要性中,就能够得到最终的第
i
i
i个补丁的重要性计算公式:
v
i
=
w
i
+
∑
j
∈
N
i
α
j
(
i
)
w
j
v_i=w_i+\sum_{j\in N_i}\alpha_j^{(i)}w_j
vi=wi+j∈Ni∑αj(i)wj