ResNeSt中的ResNest Block(split-attention blocks)

ResNeSt中的ResNest Block(split-attention blocks)_第1张图片

       从图中很明显可以看出 ResNeSt 是 SENet-block、SKNet-block 和 ResNeXt 的集成。首先和 ResNeXt 一样,先将输入划分为K份,每一个都记作 Cardinal X。然后将每个 Cardinal 继续拆分为 Split Y,所以总共就有 G=XY 个分支(可以想象成一棵树)。Split Y 是由若干卷积组成,用于特征的提取,同一个 Cardinal 里的 Split 通过同一个 Split Attention 模块进行输出。

       Split Attention 模块如下图所示,其实就相当于 SENet-block ,一个通道注意力机制,对通道赋予不同的权重。

                                                            ResNeSt中的ResNest Block(split-attention blocks)_第2张图片

        最后再加一个 SKNet-block 。将每个 Cardinal 模块输出的特征进行拼接之后,加一个 1x1 卷积进行处理,将 1x1 卷积的输出结果与输入特征进行相加,就是完整的 ResNeSt block 的操作了。而将 ResNeSt block 进行堆叠,就形成了 ResNeSt。

 

你可能感兴趣的:(深度学习)