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:Rd→Rf:\mathbb{R} ^d→\mathbb{R}f:Rd→R,使其能够利用训练数据SSS来预测新包的输出值yyy。
注意力机制背后的最初想法是取代使用简单的平均输出y∗=n−1∑i=1nyiy^*=n^{-1}\sum_{i=1}^{n}y_iy∗=n−1∑i=1nyi来估计新输入特征向量的回归输出值yyy,而是使用Nadaraya Watson回归模型形式的加权平均值:
y∗=∑i=1nα(x,xi)yi,(1)y^*=\sum_{i=1}^{n}\alpha(x,x_i)y_i,\tag{1}y∗=i=1∑nα(x,xi)yi,(1)
其中,α(x,xi)\alpha(x,x_i)α(x,xi)表示输入值xxx与第iii个包的相关性。该相关性的计算方法由Nadaraya Watson核回归定义,它可以视为一个评分函数,用于估计xix_ixi有多接近xxx,其计算公式为:
α(x,xi)=K(x,xi)∑j=1nK(x,xj),(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=Wqxq=W_qxq=Wqx与ki=Wkxik_i=W_kx_iki=Wkxi表示为query嵌入与key嵌入,那么注意力权重能够表示为:
α(x,xi)=softmax(qTki)=exp(qTki)∑j=1nexp(qTkj).(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)
其中,WqW_qWq与WkW_kWk是参数矩阵,可以通过前馈神经网络进行学习。
4.2、Method
考虑拥有mmm个子图像区域的组织学图像,将子图像区域视为实例xijx_{ij}xij,整张组织学图像视为包BiB_iBi。在上面的图中,子图像区域用IiI_iIi或IjI_jIj表示。
将所有的实例通过向前传播输入到神经网络中以得到其对应的嵌入Fi=Conv(Ii),i=1,...,mF_i=Conv(I_i),i=1,...,mFi=Conv(Ii),i=1,...,m,嵌入是为了降低实例维度。
对于每一个补丁,我们还选择由该补丁相邻的补丁构成的邻居集。用(xi,yi)(x_i,y_i)(xi,yi)表示第iii个补丁的整数坐标,用M={1,...,m}\mathcal{M}=\left \{ 1,...,m \right \}M={1,...,m}表示整个图像中所有补丁的索引集。那么第iii个补丁的邻居索引集可以表示为:
Ni={j∈M:0<max(∣xi−xj∣,∣yi−yj∣)<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=1d=1d=1但也可以设置为任意值,主要取决于补丁的大小。
使用相邻补丁主要是为了利用图像结构的一些有用信息,同时也可以被视为某种数据增强,从而改善分类结果。本文通过注意力机制来计算补丁IiI_iIi的所有邻居的嵌入BiB_iBi,计算公式为:
Bi=∑j∈Niαj(i)Fj,(5)B_i=\sum_{j\in \mathcal{N}_i }\alpha_j^{(i)}F_j,\tag{5}Bi=j∈Ni∑αj(i)Fj,(5)
其中,jjj代表补丁的jjj个邻居,FjF_jFj代表邻居在神经网络中对应的嵌入,而αj(i)\alpha_j^{(i)}αj(i)代表注意力权重,与公式(3)类似但又不同,其计算公式为:
αj(i)=softmax(si)=exp(sj(i))∑texp(st(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)
其中,sj(i)=scorenb(Fi,Fj)=FiTtanh(VnbFj)s_{j}^{(i)}=score_{nb}(F_i,F_j)=F_i^{T}\tanh{(V_{nb}F_j)}sj(i)=scorenb(Fi,Fj)=FiTtanh(VnbFj)是计算嵌入FiF_{i}Fi与FjF_{j}Fj的注意力打分函数,VVV是学习率参数矩阵。
最后将第iii个补丁的嵌入与邻居的嵌入进行联合拼接,得到补丁的嵌入:
Ti=(Fi,Bj)(7)T_i=(F_i,B_j)\tag{7}Ti=(Fi,Bj)(7)
4.3、embedding templates
该算法提出的另一个重要概念是一组嵌入模板(embedding templates),这些模板被视为学习向量。此外,模板数量是CCC,其值决定分类质量。模板可以视为多注意力应用到嵌入TiT_iTi的实现方式。
将模板集合表示为P={P1,...,PC}\mathcal{P}=\left \{ P_1,...,P_C \right \}P={P1,...,PC},第kkk个模板为PkP_kPk。每个模板注意力都产生相应的聚合嵌入EkE_kEk,计算公式为:
Ek=∑i=1mβi(k)Ti,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)=softmax(⟨score(Pk,Ti)⟩i)\beta_{i}^{(k)}=softmax(\left \langle score(P_k,T_i) \right \rangle_i )βi(k)=softmax(⟨score(Pk,Ti)⟩i)。可以看出第kkk个模板的聚合嵌入EkE_kEk是图像中有邻居的补丁的带权嵌入平均值,即第kkk个模板聚合嵌入了整个包。关于所有补丁以及它们邻居的信息都包含在了向量E1,...,ECE_1,...,E_CE1,...,EC中。
进一步,将CCC个模板的聚合嵌入整合到整体向量ZZZ中,该整体向量对应整个包和所有模板,并考虑了包中所有的特性:
Z=∑k=1CγkEk(9)Z=\sum_{k=1}^{C}\gamma_k E_k\tag{9}Z=k=1∑CγkEk(9)
其中,γk=softmax(⟨scorefin(G,Ek)⟩k)\gamma_k=softmax(\left \langle score_{fin}(G,E_k) \right \rangle_k )γk=softmax(⟨scorefin(G,Ek)⟩k),GGG是作为训练向量的全局模板。模板GGG和相应的最终注意力共同决定了哪些聚合嵌入EkE_kEk和模板PkP_kPk是重要的。
4.4、loss function
其中,BCEBCEBCE是标准二分类交叉熵损失函数,YkY_kYk是真实标签,f(Xk)f(X_k)f(Xk)是通过神经网络输出的预测值。BCE损失函数具体公式为:
xxx是网络输出值,yyy是真实标签。
4.5、Computing the patch importance
本文算法的一个关键点为哪些补丁对包的预测具有最大的影响。由于整体嵌入ZZZ与补丁嵌入TiT_iTi之间的关系,这个问题能够得以解决。公式(9)中的EkE_kEk可以通过补丁对应嵌入的加权和来表示,即变为:
通过这种方式,权值wi=∑k=1Cγkβi(k)w_{i}=\sum_{k=1}^{C}\gamma_k\beta_{i}^{(k)}wi=∑k=1Cγkβi(k)就可以视为补丁的重要性。最后再将第iii个补丁IiI_iIi的第jjj个邻居的重要性αj(i)\alpha_j^{(i)}αj(i)纳入补丁重要性中,就能够得到最终的第iii个补丁的重要性计算公式:
vi=wi+∑j∈Niαj(i)wjv_i=w_i+\sum_{j\in N_i}\alpha_j^{(i)}w_jvi=wi+j∈Ni∑αj(i)wj