前言

本文介绍注意力机制的概念和基本原理 并站在计算机视觉CV角度 进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。

目录

前言

一、注意力机制

二、通道注意力机制

三、空间注意力机制

四、混合注意力机制 

五、自注意力机制

六、注意力基础

 6.1 注意力机制原理

6.2 注意力机制计算过程

一、注意力机制

我们可以通过眼睛看到各种各样的事物 感知世界上的大量信息 可以让自己免受海量信息的干扰 是因为人的选择能力 可以选择重要的信息 而忽视不重要信息。

举个例子 下面有一张图片 当我们看到这张图片的时候会下意识把注意力集中到熊猫的身上 而忽略背景。

即 在观看这幅图像的时候 并非能够对图片的所有信息给予相同的关注度 而是将注意力着重放在某个局部区域。

同样 希望网络也具有这种能力 从而在网络中引入了注意力机制。注意力机制 是对输入进行加权再输出 希望网络关注到的地方给较大的权重 不希望网络注意的地方给较小的权重。

再举个例子 在自然语言处理领域 在分析一句话的时候 并不是所有的词的信息都需要被关注 可以选择重要的词分析 即可理解句子所传达的语义。

二、通道注意力机制

通道注意力机制的代表模型是 压缩和激励网络 Squeeze-and-Excitation Networks SENet 。SENet 分为压缩和激励两个部分 其中压缩部分的目的是对全局空间信息进行压缩 然后在通道维度进行特征学习 形成各个通对道的重要性 最后通过激励部分对各个通道进行分配不同权重的。

上图是SE模块的结构  在压缩部分 输入的元素特征图的维度是 H×W×C H、W 和 C 分别代表高度、宽度和通道数。压缩部分的功能是将维数从 H×W×C 压缩至1×1×C 即把 H×W 压缩为 1×1 维 这个过程由全局平均池化实现。

在激励部分 需要将压缩部分得到的 1×1×C 的维度融入全连接层 预测各个通道的重要程度 然后再激励到前面特征图对应通道上进行操作。采用简单的门控机制与Sigmoid 激活函数。

小结 在通道注意力机制 学习各个通道的重要性时 是先对特征图的空间进行压缩 然后在通道维度进行学习 得到各个通道的重要性。

三、空间注意力机制

空间注意力机制的代表模型是 空间变换神经网络 Spatial Transformer Networks STN STN 能够对各种形变数据在空间中进行转换并自动捕获重要区域特征。它能够保证图像在经过裁剪、平移或者旋转等操作后 依然可以获得和操作前的原始图像相同的结果。

举个例子 在MNIST 数字分类的中应用STN 该分类过程一共包含 4 个步骤

MNIST中的数字 是经过随机平移、缩放和旋转处理 把它们输入到STN网络中 通过STN网络 预测前面输入数字的变换 是平移了 还是缩放了 或是旋转了 STN网络预测出“变换前的数字” 即没经过变换的数字是怎样的最终进行分类预测

 STN 网络包括局部网络、参数化网络采样 网络生成器 和差分图像采样。

局部网络 预测输入数字的变换 是平移了 还是缩放了 或是旋转了

网络生成器 获得输出特征图坐标点在输入特征图中坐标点的对应位置。

四、混合注意力机制 

在混合注意力机制中 通道注意力和空间注意力可以通过串联、或者并联的方式进行组合。

混合注意力机制的代表模型是 卷积注意力模块 Convolutional Block Attention Module CBAM 它包括通道注意力模块CAM、和空间注意力模块SAM。

CBAM的模型结构如下 它对输入的特征图 首先进行通道注意力模块处理 得到的结果 再经过空间注意力模块处理 最后得到调整后特征。

通道注意力模块CAM

CAM的输入是特征图 维度设为HxWxC 其中H是指特征图的高度 W是指宽度 C是指通道数。

它的思路流程是

首先对输入的特征图 进行全局池化和平均池化 在空间维度进行池化 压缩空间尺寸 便于后面学习通道的特征 然后将得到全局和评价池化的结果 送入到多层感知机中MLP学习 基于MLP学习通道维度的特征 和各个通道的重要性 最后将MLP输出额结果 进行“加”操作 接着经过Sigmoid函数的映射处理 得到最终的“通道注意力值”。

计算公式如下

空间注意力模块SAM

SAM的输入是CAM输出的特征图。

它的思路流程是

首先对输入的特征图 进行全局池化和平均池化 在通道维度进行池化 压缩通道大小 便于后面学习空间的特征 然后将全局池化和平均池化的结果 按照通道拼接 得到特征图维度是HxWx2 最后对拼接的结果 进行卷积操作 得到特征图维度是HxWx1 接着通过激活函数处理。

计算公式如下

五、自注意力机制

背景

  在注意力机制引入计算机视觉前 主要是靠叠加卷积层与池化层来进行特征提取 并扩大感受野。举个例子 在语义分割中 Deeplab系列提出的带有多尺度空洞卷积的 ASPP 模块

ASPP对输入的特征图 采用不同dilation rate 的空洞卷积进行卷积操作 以多个不同比例获取图像的上下文信息。ASPP模块只能利用空洞卷积从像素点周围的少数点去获取上下文信息 而不能形成密集的全局上下文信息。

为了获得密集的全局上下文信息 从而建立像素两两之间的依赖关系 引入“自注意力机制”。

六、注意力基础  6.1 注意力机制原理

注意力机制在语义分割和图像描述生成方面被广泛使用。使用注意力处理任务时 不同信息的重要程度由权值来体现。

注意力机制对不同信息关注度的区分体现在权值分配 注意力机制可以视为查询矩阵、键以及加权平均值构成了多层感知机(Multilayer Perceptron, MLP)。

注意力的思想 类似于寻址。给定 Query 去 Source 中计算 Query和不同 Key 的相关性 即计算 Source 中不同 Value 值的权重系数 Value 的加权平均结果可以作为注意力值。

注意力的计算公式如下
Attention(Query , Source) \sum_{i 1}^{Lx}Similarity(Query , Key_{i})*Value_{i}

其中 Lx代表Source的长度。

6.2 注意力机制计算过程

大多数方法采用的注意力机制计算过程可以细化为如下三个阶段。

三阶段的注意力机制计算流程

第一阶段是计算 Query和不同 Key 的相关性 即计算不同 Value 值的权重系数 第二阶段对上一阶段的输出进行归一化处理 将数值的范围映射到 0 和 1 之间。第三阶段 对值和每个值对应的权重相乘的结果做累加操作 从而获得注意力数值。

公式化表示

第一阶段是计算 Query和不同 Key 的相关性 即计算不同 Value 值的权重系数 相关性计算主要包括点积、余弦相似性或者引入神经网络这三种方法。计算方式分别如下

 第二阶段对上一阶段的输出进行归一化处理 将数值的范围映射到 0 和 1 之间。其中 ai表第 i 个值被分为的权重值。

 第三阶段 对值和每个值对应的权重相乘的结果做累加操作 从而获得注意力数值。

参考文献

[1] 谢雨杉. 基于深度神经网络的图像语义分割技术研究[D].成都 电子科技大学 2022.

[2] 冀芒来. 基于注意力机制的道路驾驶场景实时语义分割[D].吉林 吉林大学 2022.

本文只是简单介绍了注意力机制中的通道注意力、空间注意力、自注意力 后续文章会分别详细介绍 其中的模型包括 SK-Net、ResNeSt、DANet、PFANet、SOCA、ECA-Net等等


本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。 复制链接
注意力机制是一种模拟人类视觉系统的方法,它通过对输入数据中的不同部分进行加权处理,以便在处理过程中更加关注和强调重要的信息。通道注意力是注意力机制的一种具体实现方式,它主要用于建模不同通道之间的重要性。通过学习每个通道的权重,通道注意力可以自适应地调整特征图的通道,以使得在不同任务或场景中更好地分配特征的注意力。通道注意力机制的核心思想是,在对特征图的空间进行压缩后,通过对通道维度进行学习,得到各个通道的重要性。通过这种方式,通道注意力能够有效地提高模型的性能和泛化能力。 span >

抵扣说明:

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

更多文章请关注《万象专栏》