> 文章列表 > 【论文阅读】MAMIL

【论文阅读】MAMIL

【论文阅读】MAMIL

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=1n​yi​来估计新输入特征向量的回归输出值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=1n​K(x,xj​)K(x,xi​)​,(2)
通常上述评分函数可以通过合并可学习参数进行扩展,如果将q=Wqxq=W_qxq=Wq​x与ki=Wkxik_i=W_kx_iki​=Wk​xi​表示为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=1n​exp(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)=∑t​exp(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​)=FiT​tanh(Vnb​Fj​)是计算嵌入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​γk​Ek​(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​