CBAM: 卷积注意力模块

在传统的神经网络中,每个神经元的输出只依赖于前一层的所有神经元的输出,而在注意力机制中,每个神经元的输出不仅仅取决于前一层的所有神经元的输出,还可以根据输入数据的不同部分进行加权,即对不同部分赋予不同的权重。这样可以使模型更加关注输入序列中的关键信息,从而提高模型的精度和效率。

注意力机制起源于自然语言处理领域,后来在计算机视觉中广泛应用。注意力机制本质上与人类对事物的观察机制相似:一般而言,我们在观察事物的时候,首先会倾向于观察事物一些重要的局部信息,然后再去关心一些其他部分的信息,最后组合起来形成整体印象。

在计算机视觉中,注意力机制主要和卷积神经网络进行结合,网络除了原本的特征图学习之外,还要学会通过特征图提取权重分布,对原本的特征图不同通道或者空间位置加权。因此,按照加权的位置或者维度不同,将注意力分为空间域、通道域和混合域。

一、注意力机制原理

1.计算注意力权重:注意力机制的第一步是计算每个输入位置的注意力权重。这个权重可以根据输入数据的不同部分进行加权,即对不同部分赋予不同的权重。权重的计算通常是基于输入数据和模型参数的函数,可以使用不同的方式进行计算

2.加权求和输入表示:计算出注意力权重之后,下一步就是将每个输入位置的表示和对应的注意力权重相乘,并对所有加权结果进行求和。这样可以得到一个加权的输入表示,它可以更好地反映输入数据中重要的部分。

3.计算输出:注意力机制的最后一步是根据加权的输入表示和其他模型参数计算输出结果。这个输出结果可以作为下一层的输入,也可以作为最终的输出。

二、通道注意力机制

对于输入2维图像的CNN来说,一个维度是图像的尺度空间,即长宽,另一个维度就是通道,特征图的每个通道都被视作一个特征检测器,所以通道特征聚焦的是图像中有用的信息是"什么"。

通道注意力机制的目的是通过动态调整每个通道的重要性,使模型能够更有效地利用输入数据的信息。

 通道注意力流程

1.  对特征图F进行空间维度的全局平均池化和全局最大池化,得到两个1×1×C 的特征图{F}'

2.  将{F}'送入一个共享的两层神经网络中学习,得到两个1×1×C 的特征图{F}'',第一层神经元个数为 C/r,激活函数为 Relu,第二层神经元个数为 C

3.  将两个{F}''相加,接着经过sigmoid 激活函数将特征图的每个通道的权重归一化到0-1之间,得到权重矩阵M_{c}

4.  最后将M_{c}与原特征图F相乘,得到新特征图\tilde{F}

通道注意力的计算公式

F_{avg}^{c}F_{max}^{c} 分别表示全局平均池化特征和最大池化特征,σ 表示sigmoid函数,W_{0}W_{1}代表

MLP的权值,W_{0}R^{C/r\times C}W_{1}∈ R^{C\times C/r},r是降维参数

二、空间注意力机制

不是图像中所有的区域对任务的贡献都是同样重要的,只有任务相关的区域才是需要关心的,空间注意力聚焦于特征图上的有效信息在"哪里"。

空间注意力流程 

1. 对一个尺寸为 H×W×C的输入特征图F进行通道维度的全局最大池化和全局平均池化,得到两个 H×W×1 的特征图{F}'

2. 将两个{F}',按照通道拼接(concat),得到特征图{F}''尺寸为HxWx2

3.  对{F}''进行7x7的卷积操作,得到特征图尺寸为 HxWx1,接着通过Sigmoid激活函数 ,得到空间注意力权重矩阵M_{s}

空间注意力的计算公式

三、通道-空间混合域

将通道注意力机制和空间注意力机制串联

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值