BA^2M:图像分类的批量注意力模块.

在图像分类任务中,使用Softmax函数构造交叉熵损失:

\[L_i = - \log (\frac{e^{f_{y_i}}}{\sum_j^K e^{f_j}})\]

其中$y_i$是样本$x_i$的类别,$f_i$是样本$x_i$的logits得分。从损失函数中可以看出,每一个图像样本对于优化过程的贡献是相等的;但是由于图像内容的复杂性不同,在计算损失的时候不同图像应该具有不同的重要性。

本文作者提出了Batch Aware Attention Module (BA^2M),在批量训练中为每个样本$x_i$的损失函数赋予一个重要性权重$w_i$,从而调整其在损失计算中的重要性:

\[\begin{aligned} L &= -\frac{1}{N} \sum_i^N w_i\log (\frac{e^{f_{y_i}}}{\sum_j^K e^{f_j}}) \\ &= -\frac{1}{N} \sum_i^N \log (\frac{e^{w_i\cdot f_{y_i}}}{(\sum_j^K e^{f_j})^{w_i}}) \\ &\leq -\frac{1}{N} \sum_i^N \log (\frac{e^{w_i\cdot f_{y_i}}}{\sum_j^K e^{w_i\cdot f_j}}) \\ &= -\frac{1}{N} \sum_i^N \log (\frac{e^{W^T_{y_i}(w_i\cdot x_i)}}{\sum_j^K e^{W^T_j(w_i\cdot x_i)}}) \end{aligned}\]

由上式可得,对样本$x_i$的损失函数赋予权重,等价于对样本$x_i$的特征$f_i$赋予权重,并进一步近似等价于对样本$x_i$赋予权重。

样本权重$w_i$通过以下注意力机制生成:

\[A_C(x_i) = BN(FC_1(FC_0(GAP(x_i))))\] \[A_{LS}(x_i) = BN(g_2^{1\times 1}(g_1^{3\times 3}(g_0^{1\times 1}(x_i))))\] \[A_{GS}(x_i) = softmax(f(x_i)\times (g(x_i))^T)\times h(x_i)\]

把三个注意力分支的的注意力矩阵合并为样本$x_i$的注意力得分:

\[A_i = mean(\max(A_C(x_i),A_{LS}(x_i),A_{GS}(x_i)))\]

最后通过softmax函数生成样本$x_i$的权重$w_i$:

\[w_i = \frac{e^{A_i}}{\sum_{j=1}^Ne^{A_j}}\]

作者给出了将BA^2M加入其他网络的例子: