深度学习:坐标注意力机制

301 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情

摘要

通道注意力

优点:对于提升模型性能有显著效果,例如SE注意力
缺点:忽略了位置信息,位置信息对于生成空间选择注意图非常重要

坐标注意力

  • 改进:将位置信息嵌入到通道注意力中
  • 实现
  1. 特征编码
    通道注意力:通过2维全局池化将特征张量转换为单个特征向量
    坐标注意力:将通道注意力的2维池化分解为两个1维特征编码过程,分别沿两个空间方向聚集特征
    作用:沿一个空间方向捕获长距离依赖,沿另一个空间方向保留精准的位置信息
  2. 生成注意力图
    将所得的特征图单独编码为一对方向感知和位置敏感的注意力图
    作用:两者可以互补地应用于输入特征图以增强感兴趣对象的表示

引言

  • 问题:注意力机制在移动网络中的应用落后于大型网络
  • 原因:移动网络负担不起大多数注意力机制的计算开销
  • CoordAttention
    改进:利用两个1D全局池化,将沿垂直和水平方向的输入特征分别聚合为两个独立的方向性特征映射
    作用:每个特征映射反映了沿一个空间方向的长距离相关性

优点:
1、不仅捕获跨通道信息,还捕获方向感知和位置敏感信息,有助于模型准确定位和识别感兴趣的对象
2、轻便灵活
3、作为一个预训练模型,可以为使用移动网络的下游任务带来显著性能提升

坐标注意力

概述

目的:增强移动网络学习特征的表达能力 方式:可以将任何中间特征张量作为输入,并输出增强变换后的与输入大小相同的张量

image.png

坐标注意力块

坐标信息嵌入

  • 问题:全局池化将全局空间信息压缩到通道描述符中,很难保存位置信息
  • 改进:将二维平均池化分解为两个分别沿水平和垂直方向的一维平均池化,生成一对方向感知特征图
  • 作用:沿一个方向捕获长距离依赖,沿另一个方向保留精准的位置信息
  • 例如X平均池化生成的大小为C*H*1的特征图,每个元素聚集了其水平方向的长距离依赖,同时保留了其垂直方向的相对位置

坐标注意力生成

  • 目标:简单便宜、充分利用捕获到的位置信息、有效捕捉通道间关系

  • 步骤:

image.png

1、concat + 1*1 卷积(将通道数变为c/r,r是用于控制SE块中的块大小的缩小率)
2、分割成concat前的形状
3、1*1 卷积(将通道数还原为c)
4、sigmoid激活函数

image.png

5、将垂直与水平方向的注意力权重和输入特征图作乘积

讨论

  1. 两个注意图中的每个元素都反映了感兴趣的对象是否存在于相应的行和列中
  2. 帮助精准定位感兴趣对象的准确行列位置,而不仅仅是通道位置

实现

将注意力机制插入到不同的网络架构中

image.png

实验

消融实验

变量:插入SE注意力、仅使用X/Y方向注意力、插入坐标注意力
结论:仅使用X/Y方向注意力与使用SE注意力的性能和参数量完全相同,并且高于基线;使用坐标注意力的性能最佳

不同的权重乘数

结果:1.0时性能最佳,且所有权重下坐标注意力性能均最佳

通道缩减比r的影响

结果:减小缩减比会增加参数量,但是能够提升性能,且坐标注意力性能优于其他
结论:坐标注意力无论在参数如何改变的情况下性能都是最佳,表明坐标注意力的鲁棒性