SE压缩和激励网络

发布于:2022-11-29 ⋅ 阅读:(467) ⋅ 点赞:(0)

SE(Squeeze-and-Excitation Networks)即压缩和激励网络

SE分为:压缩(Squeeze)、激励(Excitation)、scale及相乘特征融合操作

SE具有attention注意力机制:SE可以实现注意力机制最重要的两个地方一个是全连接层,另一个是相乘特征融合 假设输入图像H×W×C,通过global pooling+FC层,拉伸成1×1×C,然后再与原图像相乘,将每个通道赋予权重。在去噪任务中,将每个噪声点赋予权重,自动去除低权重的噪声点,保留高权重噪声点,提高网络运行时间,减少参数计算。这也就是SE模块具有attention机制的原因

SE模块主要为了提升模型对channel特征的敏感性,这个模块是轻量级的,而且可以应用在现有的网络结构中,只需要增加较少的计算量(但是会增加较大参数量)就可以带来性能的提升

讲解视频:https://www.bilibili.com/video/BV1sR4y1K76X/?spm_id_from=333.788.recommend_more_video.-1&vd_source=cbe7bc3c36a12cce62d03f0c59264052

 

     SENet的全称是Squeeze-and-Excitation Networks,中文可以翻译为压缩和激励网络。主要由两部分组成:

  1. Squeeze部分。即为压缩部分,原始feature map的维度为HWC,其中H是高度(Height),W是宽度(width),C是通道数(channel)。Squeeze做的事情是把HWC压缩为1*1*C,相当于把HW压缩成一维了,实际中一般是用global average pooling实现的。HW压缩成一维后,相当于这一维参数获得了之前H*W全局的视野,感受区域更广。

  2. Excitation部分。得到Squeeze的1*1*C的表示后,加入一个FC全连接层(Fully Connected),对每个通道的重要性进行预测,得到不同channel的重要性大小后再作用(激励)到之前的feature map的对应channel上,再进行后续操作。

      上图中,左半部分是正常的ResNet,右半部分是加入SE模块后的ResNet

压缩(Squeeze)

     这个操作就是一个全局平均池化(global average pooling);

     经过GAP,特征图被压缩为1×1×C向量。

 

激励(Excitation)

     接下来就是激励(Excitation)操作;

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

Scale及相乘特征融合操作

     这个操作就是将激励步骤得到的每个通道的权重,与原特征图的对应通道的二维矩阵相乘,得到输出H*W*C(维度和输入一致),再与原输入X进行相加,得到最后的输出

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

本文含有隐藏内容,请 开通VIP 后查看