Rotate to Attend: Convolutional triplet Attention Module(WACV2021)
文章目录
- Rotate to Attend: Convolutional triplet Attention Module(WACV2021)
-
- 摘要
- 1.引言
- 2. 相关工作
- 3.方法
-
- 3.1.Revisiting Channel Attention in CBAM
- 3.2.Triplet Attention
- 4.实验
- 5.结论
实验部分详见原文,文章为原文翻译,如有错误请参照原文
摘要
- 背景:受益于通道或空间位置的相互依赖,注意力机制最近被广泛研究并使用在一系列CV任务
- 方法:
- 在本文中,我们研究轻量且高效的注意力机制并提出triplet注意力,一种通过使用三分支结构捕获跨维度的计算注意力权重的新颖方法
- 对于输入的张量,triplet attention用最小的计算开销,通过残差转换与编码通道、空间信息的旋转操作建造维度间的依赖
- 我们的方法简单高效,可以简单的作为模块插入经典的主干网络
- 贡献:
- 我们在各种挑战性任务(图像分类-ImageNet1k、目标检测-MSCOCO,PASCAL VOC)验证了方法的有效性
- 再者,我们通过可视化GradCAM 与 GradCAM++ 的结果,在triplet attention的性能上给出了广泛见解
- 我们对方法上的评估符合我们的直觉,即在计算注意力权重时,捕获跨维度重要性
- 本文代码:https://github.com/LandskapeAI/triplet-attention.
1.引言
Figure 1. Abstract representation of triplet attention with three branches capturing cross-dimension interaction. Given the input tensor, triplet attention captures inter-dimensional dependencies by rotating the input tensor followed by residual transformation.
Figure 2. Comparisons with different attention modules: (a) Squeeze Excitation (SE) Module; (b) Convolutional Block Attention Module (CBAM); © Global Context (GC) Module; (d) triplet attention (ours). The feature maps are denoted as feature dimensions, e.g. C × H × W denotes a feature map with channel number C, height H and width W. ⊗ represents matrix multiplication, ⊙ denotes broadcast element wise multiplication and ⊕ denotes broadcast element-wise addition.
1st Para: 背景
- 在近些年CV的研究中,增加深度的卷积神经网络架构在计算机视觉任务上展现出极大的成功
- 众多最近的研究提出同时使用通道注意力与空间注意力,或两者分别可以提升网络的性能
- 这些注意力机制都有提升特征表示的能力,这些特征表示由标准卷积层通过详细的建立通道间依赖关系或通过空间注意力生成加权的空间掩码
- 学习注意力权重背后的直觉是让网络有能力学习在哪里参加,并进一步关注目标对象
2st Para: 列举经典案例
- 最出色的方法之一是 squeezeand-excitation networks (SENet)
- SE模块计算通道注意力,以低计算成本获得增量信息
- SENet之后是Convolutional Block Attention Module (CBAM) 与 Bottleneck Attention Module (BAM) ,两者通过将空间注意力加入到通道注意力,强调了鲁棒性的代表性注意力
- 他们提供性能上有效的提升方法,同时在相应的SE部分仅用了很小的计算开销
3st Para: 我们的方法不同之处
- 与之前提到的需要一系列额外的学习参数的注意力方法不同,本文的基础主干是研究建立简单有效的注意力,同时保持相似或表现更好的性能
- 尤其是,我们力求强调捕获跨维度的重要性,同时计算注意力权重以提供更丰富的信息表达
- 我们受到了CBAM计算注意力方式的启发,CBAM成功的展现出在通道注意力的同时捕获空间注意力的重要性
- 在CBAM中,通道注意力由简单的计算方式算出(SENet),使用全局平均池化 global average pooling (GAP)与最大池化global max pooling (GMP),空间注意力则是通过将输入简化为单通道输出来获得注意力权重
- 我们观察到CBAM的通道注意力算法获得有效的提升,但是并没有考虑跨维度交互,当捕获时,我们展示其对性能有有利影响
- 另外,CBAM在计算通道注意力时包含维度缩减,对于捕获非线性局部的通道依赖来说维度缩减是冗余的
4st Para: 我们的方法
- 基于以上观察,在本文中,我们提出 triplet attention,其以一种有效的方式考虑跨维度交互
- triplet attention 包含三个分支,每一个都负责捕获输入信息的空间维度与通道维度的跨维度信息
- 给定一个形状为 ( C × H × W ) (C\times H\times W) (C×H×W) 的输入张量,每一个分支都负责空间维度 H H H 或 W W W 与通道维度 C C C ,聚合跨维度的交互特征
- 我们通过简单的维度变换每个分支输入的张量,然后进行 Z − p o o l Z-pool Z−pool ,最后进行 k × k k\times k k×k 的卷积操作
- 注意力权重有sigmoid生成,应用到维度变换的输入张量上,之后将其维度变换回原始输入形状
5st Para: 优势
- 对比之前提出的通道注意力机制,我们的方法有两个优势
- 第一,我们的方法有利于捕获丰富的具有判别性的特征表示,且是低计算开销的,并且通过Grad-CAM 与 Grad-CAM++可视化结果验证方法
- 第二,与先前的方法不同的是,我们的方法强调非维度缩减的跨维度交互的重要性,消除了通道与权重的直接对应
6st Para: 贡献
- 我们展示了这种跨分支并行计算注意力的方法,同时考虑跨维度依赖性在计算上是简单且高效的
- 例如,用于ResNet-50,在2555.57 M参数和4.122 GFLOPs的情况下,我们提出的插件triplet attention三重注意力使参数和GFLOPs分别增加4.8K和4.7e-2,同时使Top-1精度提高2.28%
- 我们在ImageNet-1k分类和PASCAL VOC和MS COCO的目标检测上评估了我们的方法,同时也通过分别可视化GradCAM和GradCAM++的输出来进一步验证我们方法的有效性
2. 相关工作
3.方法
Figure 3. Illustration of the proposed triplet attention which has three branches. The top branch is responsible for computing attention weights across the channel dimension C and the spatial dimension W. Similarly, the middle branch is responsible for channel dimension C and spatial dimension H. The final branch at the bottom is used to capture spatial dependencies (H and W). In the first two branches, we adopt rotation operation to build connections between the channel dimension and either one of the spatial dimension. Finally, the weights are aggregated by simple averaging. More details can be found in Sec. 3.2
1st Para: 总述
- 在本节,我们首先重温CBAM并分析CBAM通道注意力模块中共享MLP的有效性
- 之后,我们提出我们的triplet attention模块并验证跨维度依赖的重要性,并对比我们的方法与其他标准注意力机制的复杂度
- 最后,我们总结如何调整triplet attention到标准的CNN架构,用于CV领域不同的任务
3.1.Revisiting Channel Attention in CBAM
1st Para: CBAM
- 我们首先重温CBAM用到的通道注意力模块
- 让 χ ∈ R C × H × W \chi\in\mathbb{R}^{C\times H\times W} χ∈RC×H×W 作为卷积层的输出,随后输入到CBAM的通道注意力,其中,C、H、W分别表示空间特征图的通道或滤波器个数、高度、宽度
- CBAM的通道注意力可被表示为:
ω = σ ( f ( W 0 , W 1 ) ( g ( χ ) ) + f ( W 0 , W 1 ) ( δ ( χ ) ) ) (1) \omega=\sigma(f_{(\mathbf{W}_0,\mathbf{W}_1)}(g(\chi))+f_{(\mathbf{W}_0,\mathbf{W}_1)}(\delta(\chi))) \tag{1} ω=σ(f(W0,W1)(g(χ))+f(W0,W1)(δ(χ)))(1)
- 其中 ω ∈ R C × 1 × 1 \omega\in\mathbb{R}^{C\times 1\times 1} ω∈RC×1×1 表示通道注意力权重,被应用到输入 χ \chi χ , g ( χ ) g(\chi) g(χ) 是global average pooling (GAP):
g ( χ ) = 1 W × H ∑ i = 1 H ∑ j = 1 W χ i , j (2) g(\chi)=\frac{1}{W\times H}\sum_{i=1}^{H}\sum_{j=1}^{W}\chi_{i,j} \tag{2} g(χ)=W×H1i=1∑Hj=1∑Wχi,j