深度学习论文: ResNeSt: Split-Attention Networks及其PyTorch实现
ResNest: Split Attention Networks
电子书格式:《ResNest: Split Attention Networks》
PyTorch框架:https://github.com/shanglianlm0525/PyTorch-Networks
计算机视觉库:https://github.com/shanglianlm0525/CvPytorch
1 ResNeSt:注意力分割网络
ResNeSt源自ResNet架构,并采用了Split Attention模块。该模型能够通过跨越多个特征图组来实现跨特征图注意力机制。
1-1 Split-Attention块
Split-Attention模块是一个功能单元,包含特征图组和分区域注意力机制的结构.
ResNeSt块将输入划分为K个子集,并标记为C Cardinal₁-k;随后每个子集进一步划分为R个部分,并标记为C Split₁-r;因此总共有G=K×R组。

代码解读
2 实验结果
2-1 图像分类 (Image Classification)
基于ResNet、SENet以及SKNet等模型作为基准。通过对比不同深度(50层和101层)的配置及具有相近复杂性的不同ResNet变体的变化,这些调整显著提升了模型性能。

与基于NAS发现的模型相比,ResNeSt具有更好的准确性和延迟权衡

2-2 目标检测 (Object Detection)
基于Faster-RCNN与CascadeRCNN等主流技术框架,ResNeSt经过精心设计的核心组件能够显著提升约3%的平均识别精度。

2-3 语义分割 (Semantic Segmentation)
以DeepLabV3模型为基准
ResNeSt将DeepLabV3模型实现的mIoU提升了约1%

2-4 实例分割 (Instance Segmentation)
基于Mask-RCNN和Cascade-Mask-RCNN模型框架
当采用Cascade-Mask-RCNN时,在切换至ResNeSt系列模型时(分别为ResNeSt50和ResNeSt101),其性能表现得到了显著提升。具体而言,在使用ResNeSt50时的增益为3.13%,而当选用ResNeSt101时则提升了2.36%;进一步优化下,在应用ResNeSt50带来了额外的3.51%,而选择 ResNeST ¹⁰¹则获得了相对较大的提升幅度。

