Squeeze-and-Excitation Networks(SENet:GAP+2个FC)通道注意力模型公式解析

Squeeze-and-Excitation Networks(SENet)利用通道注意力机制提升网络表征能力。文章详细介绍了SE模块,包括Squeeze步骤的全局平均池化和Excitation步骤的全连接层操作,以及其在SE-Inception和SE-ResNet模块中的应用。实验结果显示,SENet能提高准确率且参数量影响不大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Squeeze-and-Excitation Networks

代码

SE-Net代码

论文

SENet论文

SENet:通道注意力机制

SENet简易网络图
在这里插入图片描述
1.Squeeze:(全局信息嵌入)每个卷积核都与一个区域相关联,但是每个卷积核没有办法和该区域之外的信息(上下文信息)相关联。
简单的说,通过 z ∈ R C z\in R^C zRC全局平均池化收缩 U U U 的空间维度,如下式:
在这里插入图片描述
2.Excitation:(全捕获引导通道依赖)
在这里插入图片描述
简单来说就是两层全连接层,一层降维,一层升维。
该函数应该满足两个条件:一是灵活性(通道之间的非线性交互);二是它能够学习一种不相互排斥的关系,目的是确保多个通道被强调(不是强制的独热向量激活)
在这里插入图片描述
W 1 ∈ R C r ∗ C W_1\in R^ { \frac{C}{r}*C} W1

### SENet 中的注意力机制解释 SENetSqueeze-and-Excitation Networks)引入了一种新颖的注意力机制,在通道维度上动态调整特征图的重要性。这种机制的核心思想是通过网络自动学习不同通道之间的关系,从而增强有用的特征并抑制无用的信息。 #### Squeeze 操作 在 SE 块中,首先是 **squeeze** 操作,它负责全局池化输入特征图的空间信息,得到每个通道的描述向量。这一步骤将空间尺寸压缩成单个数值,保留了通道间的相对重要性[^2]。 ```python import torch.nn as nn import torch class SELayer(nn.Module): def __init__(self, channel, reduction=16): super(SELayer, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) # Global Average Pooling (GAP) def forward(self, x): b, c, _, _ = x.size() y = self.avg_pool(x).view(b, c) # Squeeze operation ``` #### Excitation 操作 接着是 **excitation** 部分,这利用两个全连接层构建了一个小型的瓶颈结构来建模通道间的关系。第一个全连接层会显著减小通道数量至原来的 \( \frac{1}{r} \),其中 r 是超参数用于控制降维程度;第二个全连接层再恢复到原始通道数目,最终经过激活函数生成权重系数[^4]。 ```python def __init__(self, channel, reduction=16): ... self.fc = nn.Sequential( nn.Linear(channel, channel // reduction, bias=False), nn.ReLU(inplace=True), # First FC layer with ReLU activation nn.Linear(channel // reduction, channel, bias=False), nn.Sigmoid() # Second FC layer followed by sigmoid to get weights between [0,1] ) def forward(self, x): ... y = self.fc(y) ``` #### Reweight 操作 最后一步是重新加权操作,即将上述获得的权重应用回初始特征图上。这一过程通过简单的逐元素相乘完成,使重要的特征被放大而次要的部分受到抑制,进而提升整个模型的表现性能。 ```python def forward(self, x): ... y = y.view(b, c, 1, 1) return x * y.expand_as(x) # Scale the input feature maps using learned attention coefficients ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值