(论文翻译)Rotate to Attend Convolutional Triplet Attention Module(维度注意力 WACV2021)

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 Zpool ,最后进行 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=1Hj=1Wχi,j(2)

  • 其中 δ ( χ ) \delta(\chi) δ(χ) 代表global max pooling (GMP):

δ ( χ ) = max ⁡ H , W ( χ ) (3) \delta(\chi)=\max_{H,W}(\chi) \tag{3} δ(χ)=H,Wmax(χ)(3)

  • 以上两种池化构建了CBAM的两种空间特征聚合方法
  • 符号 σ \sigma σ 表示sigmoid函数
  • 函数 f ( W 0 , W 1 ) ( g ( χ ) ) f_{(\mathbf{W}_0,\mathbf{W}_1)}(g(\chi)) f(W0,W1)(g(χ)) f ( W 0 , W 1 ) ( δ ( χ ) ) f_{(\mathbf{W}_0,\mathbf{W}_1)}(\delta(\chi)) f(W0,W1)(δ(χ)) 是两种转换
  • 那么在此之后我们得到 ω \omega ω

ω = σ ( W 1 ReLU ( W 0 g ( χ ) ) + W 1 ReLU ( W 0 δ ( χ ) ) ) (4) \omega=\sigma(\mathbf{W}_1\text{ReLU}(\mathbf{W}_0g(\chi))+\mathbf{W}_1\text{ReLU}(\mathbf{W}_0\delta(\chi))) \tag{4} ω=σ(W1ReLU(W0g(χ))+W1ReLU(W0δ(χ)))(4)

  • 其中, ReLU \text{ReLU} ReLU 表示Rectified Linear Unit, W 0 , W 1 \mathbf{W}_0,\mathbf{W}_1 W0,W1 是权重矩阵,size分别定义为 C × C r C\times \frac{C}{r} C×rC C r × C \frac{C}{r} \times C rC×C
  • r r r​ 在负责降维的MLP网络的瓶颈中表示缩放率
  • 更大的 r r r 导致更低的计算复杂度,反之亦然
  • 注意,MLP的权重: W 0 , W 1 \mathbf{W}_0,\mathbf{W}_1 W0,W1​ 对于CBAM的输入是共享的
  • 在 Eq. (4) 中,通道信息被投影到低维空间,再映射回去,由于间接的通道-权重的对应,这会导致通道间关系的误差

3.2.Triplet Attention

1st Para:

  • 正如引言所说,本文的目标是研究如何建模简单且高效的通道注意力,同时不会涉及任何维度缩减
  • 在本节中,与CBAM、SENet不同的是,它需要确切数量的可学习参数建立通道间的依赖关系,我们提出一个几乎不需要参数的注意力机制去建模通道注意力与空间注意力,名为triplet attention

2st Para: Overview

  • 提出的triplet attention如 Fig. 3.
  • 顾名思义,triplet attention由三个分支组成,两个负责捕获通道维度 C C C 和空间维度 H , W H,W H,W 跨维度交互
  • 剩下的分支与CBAM相似,用于建立空间注意力
  • 三个分支的输出通过简单的averag进行聚合
  • 接下来,描述triplet attention之前,我们首先介绍建立跨维度交互的思想

3st Para: Cross-Dimension Interaction

  • 传统计算通道注意力的方式包含计算单一的权重,通常为输入张量中的每个通道设置一个标量,然后使用单一的权重对这些特征映射进行均匀缩放
  • 虽然计算通道注意力的过程被证明是轻量且有效的,但是考虑这种方法有一个重要的缺失部分
  • 通常,为了为通道计算单一的权重,输入张量通过全局平均池化被空间分解成一个通道为一个像素点
  • 这导致了空间信息的缺失,那么在计算这些单一像素通道时,通道维度与空间维度的相互依赖是缺失的
  • CBAM引入空间注意力与通道注意力互补的模型
  • 简而言之,空间注意力表达’where in the channel to focus’,通道注意力表达’what channel to focus on’
  • 然而,这个过程的缺陷为,通道注意力与空间注意力是分离的,计算时相互独立
  • 那么两者之间的关系并没有被考虑
  • 受建造空间注意力方式的启发,我们提出跨维度交互的概念,它通过捕获输入张量的空间维度和通道维度之间的交互来克服此缺点
  • 我们通过致力于三种分支捕获输入张量维度之间的依赖 ( C , H ) , ( C , W ) , ( H , W ) (C,H),(C,W),(H,W) (C,H),(C,W),(H,W)​ ,引入triplet attention中跨维度交互

4st Para: Z-pool

  • Z-pool层负责缩减张量的第零维,通过拼接平均池化与最大池化后的特征跨纬度将数据缩减到两维
  • 这使得其保存了丰富的表示同时缩减了它的深度,使计算轻量级
  • 数学上,它被表示为:

Z -pool ( χ ) = [ MaxPool 0 d ( χ ) , AvgPool 0 d ( χ ) ] (5) Z\text{-pool}(\chi)=[\text{MaxPool}_{0d}(\chi),\text{AvgPool}_{0d}(\chi)] \tag{5} Z-pool(χ)=[MaxPool0d(χ),AvgPool0d(χ)](5)

  • 其中 0 d 0d 0d​ 是最大池化操作和平均池化操作的第零维
  • 例如,形状为 C × H × W C\times H\times W C×H×W 的张量经过Z-pool变为 ( 2 × H × W ) (2\times H\times W) (2×H×W)

5st Para: Triplet Attention

  • 给定以上定义的操作,我们定义triplet attention为三分支的模块,输入一个张量并输出一个相同维度细粒度的张量
  • 给定输入张量 χ ∈ R C × H × W \chi\in\mathbb{R}^{C\times H\times W} χRC×H×W​ ,在我们提出的triplet attention模块中,我们首先将其传入三个分支
  • 在第一个分支,我们建立 H H H C C C​ 维度上的交互
  • 为了实现此操作,输入 χ \chi χ 沿着 H H H​ 轴逆时针旋转90°
  • 旋转后的张量 χ 1 ^ \hat{\chi_1} χ1^ 维度为 ( W × H × C ) (W\times H\times C) (W×H×C)
  • χ 1 ^ \hat{\chi_1} χ1^ 随后通过Z-pool 并被缩减成 χ 1 ∗ ^ \hat{\chi_1^*} χ1^ ,维度为 ( 2 × H × C ) (2\times H\times C) (2×H×C)
  • χ 1 ∗ ^ \hat{\chi_1^*} χ1^ 通过标准 k × k k\times k k×k 卷积层后经过batch normalization层,输出的维度为 ( 1 × H × C ) (1\times H\times C) (1×H×C)
  • 由此产生的注意力权重通过sigmoid层( σ \sigma σ​)被生成
  • 生成的注意力权重应用到 χ 1 ^ \hat{\chi_1} χ1^ ,然后沿着 H H H 顺时针旋转90°得到 χ \chi χ​ 原始的输入维度

6st Para:

  • 相似的,在第二个分支,我们沿着 W W W 轴逆时针旋转 χ \chi χ 90°
  • 旋转后的张量 χ 2 ^ \hat{\chi_2} χ2^ 维度表示为 ( H × C × W ) (H\times C\times W) (H×C×W) 并通过Z-pool层
  • 因此,张量被缩减为 χ 2 ∗ ^ \hat{\chi_2^*} χ2^ 且维度为 ( 2 × C × W ) (2\times C\times W) (2×C×W)
  • χ 2 ∗ ^ \hat{\chi_2^*} χ2^ 通过标准 k × k k\times k k×k 卷积层后经过batch normalization层,输出的维度为 ( 1 × C × W ) (1\times C\times W) (1×C×W)
  • 由此产生的注意力权重通过sigmoid层( σ \sigma σ)被生成,生成的注意力权重应用到 χ 2 ^ \hat{\chi_2} χ2^ ,然后沿着 W W W 顺时针旋转90°得到 χ \chi χ​ 原始的输入维度

7st Para:

  • 对于最后一个分支,输入张量 χ \chi χ 的通道通过Z-pool被缩减到2
  • 缩减后的张量 χ 3 ^ \hat{\chi_3} χ3^ 维度为 ( 2 × H × W ) (2\times H\times W) (2×H×W) ,通过标准 k × k k\times k k×k 卷积层后经过batch normalization层
  • 输出通过sigmoid层( σ \sigma σ)去生成维度为 ( 1 × H × W ) (1\times H\times W) (1×H×W) 的注意力权重,应用到 χ \chi χ
  • 细粒度的维度为 ( C × H × W ) (C\times H\times W) (C×H×W)​ 的特征由每一个分支生成,然后通过简单的average进行聚合

8st Para: 总结

  • 总而言之,从输入张量的triplet attention获得的细粒度注意力张量 y y y 表示为:

y = 1 3 ( χ 1 σ ( ψ 1 ( χ 1 ∗ ) ) ‾ + χ 2 σ ( ψ 2 ( χ 2 ∗ ) ) ‾ + χ σ ( ψ 3 ( χ 3 ) ) ) (6) y=\frac13(\overline{\chi_1\sigma(\psi_1(\chi_1^*))}+\overline{\chi_2\sigma(\psi_2(\chi_2^*))}+\chi\sigma(\psi_3(\chi_3))) \tag{6} y=31(χ1σ(ψ1(χ1))+χ2σ(ψ2(χ2))+χσ(ψ3(χ3)))(6)

  • 其中, σ \sigma σ 表示sigmoid, ψ 1 , ψ 2 , ψ 3 \psi_1,\psi_2,\psi_3 ψ1,ψ2,ψ3 代表triplet attention中三个分支的卷积核为 k k k 的标准的二维卷积层
  • 简化 Eq. (6) , y y y 变为:

y = 1 3 ( χ ^ 1 ω 1 ‾ + χ ^ 2 ω 2 ‾ + χ ω 3 ) = 1 3 ( y 1 ‾ + y 2 ‾ + y 3 ) (7) y=\frac13(\overline{\hat{\chi}_1\omega_1}+\overline{\hat{\chi}_2\omega_2}+\chi\omega_3)=\frac13(\overline{y_1}+\overline{y_2}+y_3) \tag{7} y=31(χ^1ω1+χ^2ω2+χω3)=31(y1+y2+y3)(7)

  • 其中, ω 1 , ω 2 , ω 3 \omega_1,\omega_2,\omega_3 ω1,ω2,ω3 代表由triplet attention计算的三个分支的注意力权重
  • y 1 ˉ , y 2 ˉ \bar{y_1},\bar{y_2} y1ˉ,y2ˉ 表示顺时针旋转90°获得维度为 ( C × H × W ) (C\times H\times W) (C×H×W) 的原始输入

4.实验

5.结论

1st Para: 总结

  • 在这项工作中,我们提出了一个新的注意层,triplet attention,它捕捉了张量中跨维度特征的重要性
  • triplet attention是一种高效的注意力计算方法,不存在任何信息瓶颈(指的是信息传递或处理过程中的限制,使得某些信息无法有效地传递或利用)
  • 我们的实验表明,triplet attention提高了ResNet和MobileNet等架构在ImageNet上的图像分类和MS COCO上的目标检测等任务上的基准性能,同时有最小的计算开销

2st Para: 展望

  • 我们期望在计算注意力时捕获跨维依赖关系的其他新颖和鲁棒的技术可以在降低成本的同时改进我们的结果
  • 在未来,我们计划研究将triplet attention添加到更复杂的体系结构(如EfficientNets)中的效果,并扩展我们的想法在3D视觉领域
  • 49
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值