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注意力