SE 注意力模块

本文详细介绍了SE模块的结构和原理,包括Squeeze和Excitation两部分,并解析了SE模块的参数量和计算量。同时,文章还探讨了SE模块的两种形式——通道注意力CAM和空间注意力SAM,以及结合两者的CBAM模块。

一、SE 模块的结构

在这里插入图片描述
SE 模块主要包含 Squeeze 和 Excitation 两部分。W,H 表示特征图宽,高。C 表示通道数,输入特征图大小为 W×H×C。

1、压缩(Squeeze)

第一步是压缩(Squeeze)操作,如下图所示:
在这里插入图片描述

这个操作就是一个全局平均池化(global average pooling)。经过压缩操作后特征图被压缩为1×1×C向量

2、激励(Excitation)

接下来就是激励(Excitation)操作,如下图所示:
在这里插入图片描述

由两个全连接层组成,其中SERatio是一个缩放参数,这个参数的目的是为了减少通道个数从而降低计算量
第一个全连接层有C*SERatio个神经元,输入为1×1×C,输出1×1×C×SERadio。
第二个全连接层有C个神经元,输入为1×1×C×SERadio,输出为1×1×C。

3、scale 操作

最后是 scale 操作,在得到 1×1×C 向量之后,就可以对原来的特征图进行 scale 操作了。很简单,就是通道权重相乘,原有特征向量为W×H×C,将SE模块计算出来的各通道权重值分别和原特征图对应通道的二维矩阵相乘,得出的结果输出。
这里我们可以得出SE模块的属性:
参数量 = 2×C×C×SERatio
计算量 = 2×C×C×SERatio
总体来讲SE模块会增加网络的总参数量,总计算量,因为使用的是全连接层计算量相比卷积层并不大,但是参数量会有明显上升

二、SE 模块的结构

SE 模块根据注意的方面不同分为通道注意力 CAM 和空间注意了 SAM,一个关注“what”,一个关注“where”,两者可以并行或者串行使用

1、通道注意力 CAM

通道注意力通过混合通道维度的信息来进行特征提取。
在这里插入图片描述
对于输入的 feature map F,首先在每个空间位置上应用 MaxPooling、AvgPooling,得到两个 C11 的向量,然后分别送入一个共享的包含两层 FC 的 MLP,最后将两者相加融合,经过一个激活函数,得到通道注意力 CAM,其公式表达为:
在这里插入图片描述
Pytorch 实现:

class ChannelAttention(nn.Module):
    def __init__(self, in_planes, ratio=16
内容概要:本文介绍了一种改进的 U-Net 模型,该模型主要用于图像分割任务。与传统 U-Net 相比,它引入了 Squeeze-and-Excitation (SE) 模块,增强了网络对特征通道间关系的学习能力。具体来说,改进体现在卷积块中加入了 SE 模块,通过自适应调整每个通道的重要性来提升模型性能。模型结构包括编码器(下采样)和解码器(上采样)两部分,其中编码器逐步提取高层次特征,解码器则逐步恢复空间分辨率并融合多尺度特征。此外,模型还采用了跳跃连接机制,将编码器和解码器对应层的特征图进行拼接,从而更好地保留细节信息。最后,通过随机生成的输入张量进行了前向传播测试,验证了模型的可行性。 适合人群:对深度学习、计算机视觉尤其是图像分割领域有一定了解的研究人员或工程师,以及希望深入理解 U-Net 结构及其改进方法的学习者。 使用场景及目标:①研究和开发高效的医学影像分析系统;②应用于遥感图像处理、自动驾驶等领域中的物体检测与分割任务;③探索 SE 模块在其他神经网络架构中的应用潜力。 其他说明:本文提供的代码实现了完整的改进 U-Net 模型构建过程,读者可以根据实际需求调整网络参数如输入通道数、类别数等,并结合具体应用场景进行训练和优化。此外,SE 模块的引入为模型带来了更好的表征能力,但同时也增加了计算复杂度,在实际部署时需要权衡性能与效率。
SE注意力模块(Squeeze-and-Excitation Block,简称SE Block)是一种用于增强卷积神经网络中特征表示能力的模块。它通过引入通道注意力机制,重新校准各个通道的重要性,从而提升模型的整体性能。SE模块可以灵活地集成到多种经典网络架构中,如ResNet、ResNeXt、Inception、MobileNet和ShuffleNet等。 SE模块的基本结构包含两个主要步骤:**Squeeze** 和 **Excitation**。 ### Squeeze 在这一阶段,通过对每个通道的特征图进行全局平均池化(Global Average Pooling, GAP),将空间维度压缩为1×1,得到一个描述每个通道全局特征响应的向量。这一步骤使得每个通道的信息被独立提取出来,形成对整个输入特征图的全局表征[^2]。 ### Excitation 在这一阶段,使用一个小型的全连接网络来学习各通道之间的依赖关系。这个网络通常包括一个降维层(降维比例一般为1/r,r是一个缩放因子)、ReLU激活函数、以及一个升维层,最后通过Sigmoid函数生成各通道的权重系数。这些权重随后用于重新加权原始特征图中的各个通道,以突出重要的特征通道并抑制不相关的通道[^1]。 下图展示了SE模块的典型结构: ``` Input Feature Map │ ▼ [Convolutional Layers] │ ▼ [Global Average Pooling (Squeeze)] │ ▼ [Fully Connected Network (Excitation)] │ ▼ [Channel-wise Weight Multiplication with Input] │ ▼ Output Feature Map ``` SE模块的一个具体实现示意图如下所示: ![SE Block Architecture](https://example.com/se_block_architecture.png) 该模块可以嵌入到各种深度网络架构中,例如: - 在ResNet中,SE模块被应用于残差块的非恒等分支上,在与恒等分支相加之前完成通道注意力的计算与加权。 - 在Inception模块中,整个Inception模块被视为变换操作 $ F_{tr} $,并通过替换每个这样的模块构建SE-Inception网络。 - 类似的方式也可以扩展到ResNeXt、Inception-ResNet、MobileNet和ShuffleNet等架构中。 对于更具体的SE模块设计细节或代码实现,请参考以下相关问题。
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值