ResNeSt:Split-Attention Networks

在 ResNext 的基础上,结合 SK-Net 分组进行通道注意力加权的思想设计

什么是 ResNeSt ?

  • ResNeSt-20230408140933
  • 在 ResNext 的基础上,结合 SK-Net 分组进行通道注意力加权的思想设计

ResNeSt Block 的理解?

  • ResNeSt-20230408140934
  • 引入了 Cardinality 的概念,代表分组的组数 K,在此基础上进一步分组,称为 split 操作,同时引入一个超参 Radix,代表将 K 个组中的每一个进一步划分的组数,这里记为 R, 由此看来,就是将输入在通道这个维度划分为 KxR 个组
  • 先将输入特征图分为 K 组,每个 k 又接着分为 r 组,在 r 组的基础上进行 Split Attention ,获得 k 组数据,对其进行拼接,然后使用 1x1 卷积调整通道,最后与原始特征做加法
  • 输入特征图大小为 VRH×W×CV \in R^{H \times W \times C}, ,进行 K 个基数分组后每个分组大小 VkRH×W×C/KV^k \in R^{H \times W \times C/K} ,完成每个基数组的分离注意力操作后进行串联得到最后的输出 V=Concat{V1,V2,,Vk}V=Concat\{V^1,V^2,…,V^k\} ,完成串联后,执行残差连接

    Y=V+XY=V+X

ResNeSt 的 Split Attention 模块?

  • ResNeSt-20230408140935
  • 输入是 r 组的特征图,首先将他们相加,然后通全局池化 + 全连接生成 r 组特征的通道注意力,最后加权后相加所有 r 组特征输出

SENet、SKNet 和 ResNeSt 的关系?

  • 当 radix=1 时,Split-Attention Block 退化为对每个基数组执 SEBlock 操作
  • 当 radix=2 时,Split Attention Block 在各个基数组中执行了一个类 SKBlock 的多分支特征提取 + soft 注意力