天天看点

论文阅读 (28):Loss-Based Attention for Deep Multiple Instance Learning (2020)引入1 Loss attention

文章目录

  • 引入
  • 1 Loss attention
    • 1.1 交叉熵
    • 1.2 基于损失的注意力机制

引入

  问题:

  1)注意力机制被广泛用于深度学习,却少有用来解决多示例问题;

  2)已有的多示例方法利用注意力机制来学习实例权重,再雇佣一个全连接层来预测包的标签。因此包的标签将很大程度上决定于习得的权重;

  解决:

  1)提出了一种全新的基于注意力机制的损失函数,在计算权重的同时完成预测;

  2)利用一致性代价来提升模型的泛化性能。

  源代码:

  https://github.com/xsshi2015/Loss-Attention

  主要流程如下图:

  1)数字1表示用于获取实例特征的传统或卷积神经网络;

  2)数字2表示接指数函数的全连接层;

  3)实例权重和实例损失点积后求和作为融合的实例损失;

  4)包损失基于softmax加交叉熵计算获得;

  5)平方损失是训练过程的一致性代价。

论文阅读 (28):Loss-Based Attention for Deep Multiple Instance Learning (2020)引入1 Loss attention

1 Loss attention

1.1 交叉熵

  部分符号表如下:

符号 含义
x \mathbf{x} x 训练图像
y ∈ { 0 , 1 , … , K − 1 } y\in\{0,1,\dots,K-1\} y∈{0,1,…,K−1} 图像标签
K K K 图像类别数
f ( ⋅ ) f(\cdot) f(⋅) 神经网络
z = f ( x ) ∈ R K \mathbf{z}=f(\mathbf{x})\in\mathbb{R}^K z=f(x)∈RK 网络输出

  基于softmax函数, x \mathbf{x} x的属于每一类的概率预测如下:

q k = e x p ( z k ) ∑ c K − 1 e x p ( z c ) , (1) \tag{1} q_k=\frac{exp(z_k)}{\sum_c^{K-1}exp(z_c)}, qk​=∑cK−1​exp(zc​)exp(zk​)​,(1)其中 e x p exp exp表示指数函数。

  令 p c ∈ { 0 , 1 } p_c\in\{0,1\} pc​∈{0,1}表示 x \mathbf{x} x的真实类别,则 p ∈ 0 , 1 K \mathbf{p}\in{0,1}^K p∈0,1K与 q ∈ { 0 , 1 } K \mathbf{q}\in\{0,1\}^K q∈{0,1}K的交叉熵计算如下

L ( p , q ) = − ∑ c = 0 K − 1 p c l o g q c . (2) \tag{2} L(\mathbf{p}, \mathbf{q})=-\sum_{c=0}^{K-1}p_clog q_c. L(p,q)=−c=0∑K−1​pc​logqc​.(2)由于 ∑ c = 0 K − 1 p c = 1 \sum_{c=0}^{K-1}p_c=1 ∑c=0K−1​pc​=1,且当 x \mathbf{x} x属于 k k k类时,有 p k = 1 p_k=1 pk​=1及 ∑ c = 0 , c ≠ k K − 1 p c = 0 \sum_{c=0,c\neq k}^{K-1}p_c=0 ∑c=0,c​=kK−1​pc​=0。因此 式 (2)等价于:

L ( p , q ) = − l o g e x p ( z k ) ∑ c = 0 K − 1 e x p ( z c ) (3) \tag{3} L(\mathbf{p}, \mathbf{q})=-log \frac{exp(z_k)}{\sum_{c=0}^{K-1}exp(z_c)} L(p,q)=−log∑c=0K−1​exp(zc​)exp(zk​)​(3)

1.2 基于损失的注意力机制

  部分符号表如下:

符号 含义
X = { X 1 , X 2 , … , X n } \mathbf{X}=\{\mathbf{X}_1, \mathbf{X}_2,\dots,\mathbf{X}_n\} X={X1​,X2​,…,Xn​} 训练图像集合
X i = { x i , 1 , x i , 2 , … , x i , n i } \mathbf{X}_i=\{\mathbf{x}_{i,1},\mathbf{x}_{i,2},\dots,\mathbf{x}_{i,n_i}\} Xi​={xi,1​,xi,2​,…,xi,ni​​}
y i y_i yi​ 包标签
x i , t \mathbf{x}_{i,t} xi,t​第 t t t个实例
y i , t y_{i,t} yi,t​实例标签

  假设一: 包中至少包含两类实例,即 y i , t = 0 y_{i,t}=0 yi,t​=0和一个其他类别的实例 y i , t ∈ { 1 , … , K − 1 } y_{i,t}\in\{1,\dots,K-1\} yi,t​∈{1,…,K−1},则:

y i = max ⁡ 1 ≤ t ≤ n i y i , t . (4) \tag{4} y_i = \max_{1\leq t\leq n_i}y_{i,t}. yi​=1≤t≤ni​max​yi,t​.(4)  假设二: 包中的每一个实例拥有相同的意义,且一个 L L L层带有平均操作网络可以获取实例的低维表示。

  给定一个实例 x i , t \mathbf{x}_{i,t} xi,t​,令 h i , t l ( 1 ≤ l ≤ L − 1 ) h_{i,t}^l(1\leq l\leq L-1) hi,tl​(1≤l≤L−1)表示第 l l l层的特征表示。例如 h i , t L − 1 = g ( h i , t L − 2 ) ∈ R d \mathbf{h}_{i,t}^{L-1}=g(\mathbf{h}_{i,t}^{L-2})\in\mathbb{R}^d hi,tL−1​=g(hi,tL−2​)∈Rd是第 L − 1 L-1 L−1层的输出和第 L L L层的输入,其中 g ( ⋅ ) g(\cdot) g(⋅)是激活函数, h i , 2 L − 2 \mathbf{h}_{i,2}^{L-2} hi,2L−2​是 L − 1 L-1 L−1层的输入。

  假设三: W ∈ R d × K \mathbf{W}\in\mathbb{R}^{d\times K} W∈Rd×K和 b ∈ R K \mathbf{b}\in\mathbb{R}^K b∈RK分别 L L L层表示权重矩阵和偏置向量,则神经网络的最终输出为 z i = h i L − 1 W + b \mathbf{z}_i = \mathbf{h}_i^{L-1}\mathbf{W}+\mathbf{b} zi​=hiL−1​W+b,其中 h i L − 1 = 1 n i ∑ t = 1 n i h i , t L − 1 \mathbf{h}_i^{L-1}=\frac{1}{n_i}\sum_{t=1}^{n_i}\mathbf{h}_{i,t}^{L-1} hiL−1​=ni​1​∑t=1ni​​hi,tL−1​,以及 z i ∈ R K \mathbf{z}_i\in\mathbb{R}^K zi​∈RK表示包的类别预测向量。

  当每个包中的实例的重要性不同时,我们引入注意力机制如下:

α i , j = ∑ c = 0 K − 1 exp ⁡ ( h i , j L − 1 w c + b c ) ∑ t = 1 n i ∑ c = 0 K − 1 exp ⁡ ( h i , t L − 1 w c + b c ) h i , j L − 1 ← α i , j h i , j L − 1 h i L − 1 = ∑ t = 1 n i h i , t L − 1 , (5) \tag{5} \begin{array}{r} \alpha_{i, j}=\frac{\sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i, j}^{L-1} \mathbf{w}_{c}+b_{c}\right)}{\sum_{t=1}^{n_{i}} \sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i, t}^{L-1} \mathbf{w}_{c}+b_{c}\right)} \\ \\ \mathbf{h}_{i, j}^{L-1} \leftarrow \alpha_{i, j} \mathbf{h}_{i, j}^{L-1} \\ \\ \mathbf{h}_{i}^{L-1}=\sum_{t=1}^{n_{i}} \mathbf{h}_{i, t}^{L-1}, \end{array} αi,j​=∑t=1ni​​∑c=0K−1​exp(hi,tL−1​wc​+bc​)∑c=0K−1​exp(hi,jL−1​wc​+bc​)​hi,jL−1​←αi,j​hi,jL−1​hiL−1​=∑t=1ni​​hi,tL−1​,​(5)其中 α i , j \alpha_{i,j} αi,j​表示实例 x i , j \mathbf{x}_{i,j} xi,j​的权重, w c ∈ R d \mathbf{w}_c\in\mathbb{R}^d wc​∈Rd是是 W \mathbf{W} W的第 c c c列, b c b_c bc​是 b \mathbf{b} b的第 c c c个值。

  最终的损失函数如下:

L = L 1 + L 2 = − log ⁡ exp ⁡ ( h i L − 1 w k + b k ) ∑ c = 0 K − 1 exp ⁡ ( h i L − 1 w c + b c ) − λ ∑ t = 1 n i α i , t log ⁡ exp ⁡ ( h i , t L − 1 w k + b k ) ∑ c = 0 K − 1 exp ⁡ ( h i , t L − 1 w c + b c ) , (6) \tag{6} \begin{gathered} L=L_{1}+L_{2} \\ =-\log \frac{\exp \left(\mathbf{h}_{i}^{L-1} \mathbf{w}_{k}+b_{k}\right)}{\sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i}^{L-1} \mathbf{w}_{c}+b_{c}\right)} \\ -\lambda \sum_{t=1}^{n_{i}} \alpha_{i, t} \log \frac{\exp \left(\mathbf{h}_{i, t}^{L-1} \mathbf{w}_{k}+b_{k}\right)}{\sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i, t}^{L-1} \mathbf{w}_{c}+b_{c}\right)}, \end{gathered} L=L1​+L2​=−log∑c=0K−1​exp(hiL−1​wc​+bc​)exp(hiL−1​wk​+bk​)​−λt=1∑ni​​αi,t​log∑c=0K−1​exp(hi,tL−1​wc​+bc​)exp(hi,tL−1​wk​+bk​)​,​(6)其中 L 1 L_1 L1​是包损失, L 2 L_2 L2​是融合的实例损失,作为正则项, λ > 0 \lambda>0 λ>0则用于平衡两个优化项。需要说明的是,由于 z i = h i L − 1 W + b \mathbf{z}_i=\mathbf{h}_i^{L-1}\mathbf{W}+\mathbf{b} zi​=hiL−1​W+b和 h i L − 1 = ∑ t = 1 n i h i , t L − 1 \mathbf{h}_i^{L-1}=\sum_{t=1}^{n_i}\mathbf{h}_{i,t}^{L-1} hiL−1​=∑t=1ni​​hi,tL−1​,故 z i , k = h i L − 1 w k + b k z_{i,k}=\mathbf{h}_i^{L-1}\mathbf{w}_k+b_k zi,k​=hiL−1​wk​+bk​, z i , t , k = h i , t L − 1 w k + b k z_{i,t,k}=\mathbf{h}_{i,t}^{L-1}\mathbf{w}_k+b_k zi,t,k​=hi,tL−1​wk​+bk​和 z i , k = ∑ t = 1 n i z i , t , k z_{i,k}=\sum_{t=1}^{n_i}z_{i,t,k} zi,k​=∑t=1ni​​zi,t,k​,其中 t ∈ [ 1.. n i ] t\in[1..n_i] t∈[1..ni​]和 c ∈ [ 0.. K − 1 ] c\in[0..K-1] c∈[0..K−1]。

  式 (5) (6)主要的启发点如下:

  1)实例权重在其标签与所属包不一致时,应该趋近于零;

  2)当 L 2 → L_2\to L2​→时,如果第 j j j个实例的 α i j ≫ 0 \alpha_{ij}\gg0 αij​≫0且属于第 k k k类,则必有 e x p ( z i , j , k ) ≈ ∑ c = 0 K − 1 e x p ( z i , j , c ) exp(z_{i,j,k})\approx\sum_{c=0}^{K-1}exp(z_{i,j,c}) exp(zi,j,k​)≈∑c=0K−1​exp(zi,j,c​);

  3)如第 r r r个实例的 α i , r → 0 \alpha_{i,r}\to0 αi,r​→0,则意味着 ∑ c = 0 K − 1 e x p ( z i , r , c ) \sum_{c=0}^{K-1}exp(z_{i,r,c}) ∑c=0K−1​exp(zi,r,c​)和 e x p ( z i , r , k ) exp(z_{i,r,k}) exp(zi,r,k​)可以忽略。

  为了平衡训练过程,我们首次加入集成目标到实例权重。具体的,对于 α i , t \alpha_{i,t} αi,t​,对于每一个训练批次,将累积作为集成权重 α ~ i , j = β α i , t ~ + ( 1 − β ) α i , t \tilde{\alpha}_{i,j}=\beta\tilde{\alpha_{i,t}}+(1-\beta)\alpha_{i,t} α~i,j​=βαi,t​~​+(1−β)αi,t​,其中 β ≥ 0 \beta\geq0 β≥0用于决定集成权重与历史记录的偏离程度。然后,利用一致性代价 ∥ α i , t − α ~ i , t ∥ 2 2 \|\alpha_{i,t}-\tilde{\alpha}_{i,t}\|_2^2 ∥αi,t​−α~i,t​∥22​来为每个实例制定一致性预测。最终的损失函数如下:

L p = L 1 + L 2 + L 3 = − log ⁡ exp ⁡ ( h i L − 1 w k + b k ) ∑ c = 0 K − 1 exp ⁡ ( h i L − 1 w c + b c ) − λ ∑ t = 1 n i α i , t log ⁡ exp ⁡ ( h i , t L − 1 w k + b k ) ∑ c = 0 K − 1 exp ⁡ ( h i , t L − 1 w c + b c ) + ω ( m ) ∑ t = 1 n i ∥ α i , t − α ~ i , t ∥ 2 2 , \begin{gathered} L_{p}=L_{1}+L_{2}+L_{3} \\ =-\log \frac{\exp \left(\mathbf{h}_{i}^{L-1} \mathbf{w}_{k}+b_{k}\right)}{\sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i}^{L-1} \mathbf{w}_{c}+b_{c}\right)} \\ -\lambda \sum_{t=1}^{n_{i}} \alpha_{i, t} \log \frac{\exp \left(\mathbf{h}_{i, t}^{L-1} \mathbf{w}_{k}+b_{k}\right)}{\sum_{c=0}^{K-1} \exp \left(\mathbf{h}_{i, t}^{L-1} \mathbf{w}_{c}+b_{c}\right)} \\ +\omega(m) \sum_{t=1}^{n_{i}}\left\|\alpha_{i, t}-\tilde{\alpha}_{i, t}\right\|_{2}^{2} , \end{gathered} Lp​=L1​+L2​+L3​=−log∑c=0K−1​exp(hiL−1​wc​+bc​)exp(hiL−1​wk​+bk​)​−λt=1∑ni​​αi,t​log∑c=0K−1​exp(hi,tL−1​wc​+bc​)exp(hi,tL−1​wk​+bk​)​+ω(m)t=1∑ni​​∥αi,t​−α~i,t​∥22​,​其中 ω ( m ) \omega(m) ω(m)依赖于训练轮次 m m m,用于逐渐提升 L 3 L_3 L3​的权重。

继续阅读