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



















