Bootstrap

从零搭建CBAM、SENet、STN、transformer、mobile_vit、simple_vit、vit模型(Pytorch代码示例)

CBAM

CBAM(Convolutional Block Attention Module)是一种注意力机制,可以在现有的卷积神经网络(CNN)中插入,以增强模型对重要特征的关注。CBAM 通过同时考虑通道维度和空间维度的注意力,提高了模型的表征能力和性能。以下是 CBAM 的一些关键特点和实现细节:

CBAM 的关键特点

  • 通道注意力(Channel Attention):通过计算每个通道的重要性权重,增强或抑制特定通道的特征。
  • 空间注意力(Spatial Attention):通过计算每个位置的重要性权重,增强或抑制特定区域的特征。
  • 轻量级:CBAM 可以轻松地插入到现有的 CNN 架构中,而不会显著增加计算复杂度。

CBAM 的基本结构

CBAM 包括两个主要模块:通道注意力模块和空间注意力模块。

  1. 通道注意力模块(Channel Attention Module)
    最大池化:对输入特征图进行最大池化操作。
    平均池化:对输入特征图进行平均池化操作。
    共享多层感知机(MLP&#
;