• Squeeze-and-Excitation Networks总结


    介绍

    关注通道关系,并提出了一种新的架构单元,我们称之为 "压缩-激发"(SE)块,目的是通过明确建模卷积特征通道之间的相互依存关系,提高网络生成的表征质量。为此,提出了一种允许网络执行特征重新校准的机制,通过这种机制,网络可以学会使用全局信息来有选择地强调有信息量的特征,并抑制不那么有用的特征。(SENet网络的创新点在于关注 channel 之间的关系,希望模型可以自动学习到不同 channel 特征的重要程度。)

    A Squeeze-and-Excitation block

    挤压激励区块是一个计算单元,可以建立在将输入 X∈R^{H'\times W'\times C'}映射到特征映射 U∈R^{H\times W\times C} 的变换 Ftr 上。在接下来的符号中,我们将 Ftr 视为卷积算子,并使用 V = [v1, v2, ... , vC ] 表示学习到的滤波器核集,其中 vC 指的是第 C 个滤波器的参数。然后,我们可以将输出写成 U = [u1, u2, ... , uC ],其中

    ∗ 表示卷积,V_{c} = [V^{_{c}^{1}}, V^{_{c}^{2}}, ... , V_{c}^{C'}] ,X=[x^{1},x^{2},...,x^{C'}]U^{_{c}}\in R^{H\times W}V_{c}^{s}是一个二维空间核,代表 Vc 的单通道,作用于 X 的相应通道。

    Squeeze-and-Excitation Networks

    将全局空间信息压缩到通道描述符中。这是通过使用全局平均池化来生成通道统计来实现的。

    将H*W大小的特征图压缩成1*1大小

    统计量Zc是由U通过其空间维度H × W收缩生成的,Zc表示第C个统计量,Uc表示第C通道的特征图。

    Excitation: Adaptive Recalibration

    为了利用挤压操作中汇总的信息,我们在挤压操作之后进行了第二次操作F^{_{ex}},目的是充分捕捉渠道方面的依赖关系。作用是通过Zc学习每个通道的权重。

    为了实现这一目标,函数必须满足两个标准:
    首先,它必须具有灵活性(必须能够学习通道之间的非线性互动),保证学习到的权重值比较具有价值;
    其次,它必须学习一种非相互排斥的关系,确保允许强调多个通道(而不是强制执行单次激活)。为了满足这些标准,我们选择采用一种简单的门控机制,并采用曲线激活方式:

    \delta 指 ReLU函数,\sigma指sigmoid函数,W1∈ R^{\frac{C}{r}\times C},W2∈ R^{C\times \frac{C}{r}}是两个全连接层的权值矩阵。r是维度衰减因子,论文中是16,C/r是中间层的隐层节点数。

    返回到转换输出 U 的通道维度的增维层:

    \widetilde{x}_{c} 是 \widetilde{x} 某个特征通道的Feature map。 s_{c}是门控单元S(向量)中的一个标量值。

    SENet的应用

    左图为SE模块嵌入到Inception中的示例,方框旁的维度信息代表该层的输出。只需将转换 Ftr 视为整个 Inception 模块(见Fig.2),并对架构中的每个此类模块做出这一改变,就能得到一个 SE-Inception 网络。SE 模块也可以直接用于残差网络(Fig.3 描述了 SE-ResNet 模块的模式)。在这里,SE 模块变换 Ftr 被视为残差模块的非同一性分支。挤压(Squeeze)和激励(Excitation)都是在与特征分支相加之前起作用的。

    模型和复杂度计算

    在使用了SE模块后,计算量会略有增加,精确度会提高.(SE的优势不局限于ImageNet数据集)

    由拟议的 SE 模块引入的额外参数。这些附加参数完全来自门控机制的两个 FC 层,因此只占网络总容量的一小部分。这些 FC 层的权重参数引入的总数量为其中 r 为降维系数,S表示 stage数量,Cs 为第 s 个 stage的通道数,Ns 为第 s 个 stage的重复 block量。

    SE 块可以进行图像分类,也能改进场景分类,SE 区块具有通用性,在广泛的架构、任务和数据集上都能实现诱导改进。

    消融实验

    缩减率

    缩减率r 是一个超参数,允许我们改变网络中 SE 区块的容量和计算成本。性能对一系列缩减率都很稳定。复杂度的增加并不会单调地提高性能,而较小的比率则会显著增加模型的参数大小。

    压缩操作

    使用全局平均集合而不是全局最大集合作为压缩运算符的意义(因为这 种方法效果很好,所以我们没有考虑更复杂的替代方法)。虽然最大池化和平均池化都很有效,但平均池化的性能略胜一筹,因此有理由选择它作为挤压操作的基础。

    激励操作

    对激发机制的非线性选择进行评估。考虑了另外两种选择:ReLU 和 tanh,并尝试用这两种非线性替代 sigmoid。用 tanh 代替 sigmoid 会略微降低性能,而使用 ReLU 则会大幅降低性能,实际上会导致 SE-ResNet-50 的性能低于 ResNet-50 基线。这表明,要使 SE 块有效,必须仔细构建激励算子。

    不同阶段

    在架构的每个阶段引入 SE 块都能带来性能优势。此外,不同阶段的 SE 区块所带来的收益是互补的,它们可以有效地结合在一起,进一步提高网络性能。

    一体化策略

    评估将 SE 区块整合到现有架构中时 SE 区块位置的影响。该实验表明,只要在分支聚合之前应用 SE 单元,SE 单元所产生的性能改进对其位置相当稳健。

    结论

    SENets 在多个数据集和任务中都取得了最先进的性能。此外,SE 块还揭示了以前的架构无法充分模拟信道特征依赖性的问题。最后,SE 块产生的特征重要性值可能会用于其他任务,如模型压缩的网络剪枝。

  • 相关阅读:
    【Unity基础】1.项目搭建与视图编辑
    mysql5.7停止维护时间
    计算机组成与体系结构-进制转换
    深入理解计算机网络-4信号编码与调制2
    【Springboot】微服务中使用腾讯云T-Sec天御对文本及图片内容进行安全检测
    SpringSecurity系列一:04 SpringSecurity 的默认用户是如何生成的?
    电梯安全监测丨S271W无线水浸传感器用于电梯机房/电梯基坑水浸监测
    Win11更新后瘦身C盘的两个小技巧
    数学建模十大算法02—插值与拟合(拉格朗日插值、三次样条插值、线性最小二乘法……)
    ADS版图中连接提示线设置
  • 原文地址:https://blog.csdn.net/jk211766/article/details/134394555