关注上方“深度学习技术前沿”,选择“星标公众号”,
资源干货,第一时间送达!
转载:机器之心
编辑:深度学习技术前沿
2015 年,ResNet 横空出世,一举斩获 CVPR 2016 最佳论文奖,而且在 Imagenet 比赛的三个任务以及 COCO 比赛的检测和分割任务上都获得了第一名。四年过去,这一论文的被引量已达43413次。
最近,来自亚马逊、加州大学戴维斯分校的张航、李沐、Alexander Smola 等研究者进一步改进了 ResNet,提出了ResNeSt,在性能上有显著提升,但参数量并没有显著增加,超越了之前的 ResNeXt、SENet 等模型。
该研究的一作,亚马逊应用科学家张航表示:「分类网络通常作为下游应用的核心,但是最近很多分类问题的工作没有保持之前 ResNet 那样的模块化的设计,导致目标检测等主流应用的研究还在使用 ResNet。所以我们设计了新的 ResNet 变体 ResNeSt,可以直接应用到已有的主流模型中,显著提高 Mask R-CNN,Cascade R-CNN 等模型的结果(~3%)。」
论文地址:https://hangzhang.org/files/resnest.pdf
项目地址:https://github.com/zhanghang1989/ResNeSt
尽管图像分类模型不断进化,但目标检测、语义分割等多数下游任务仍在使用 ResNet 变体作为其骨干网络,因为后者拥有简单而模块化的结构。
在这份论文中,研究者提出了一种模块化 Split-Attention 块,可以将注意力分散到若干特征图组中。按照 ResNet 的风格堆叠这些 Split-Attention 块,研究者得到了一个 ResNet 的新变体,称为 ResNeSt。它保留了整体的 ResNet 结构,可直接用于下游任务,但没有增加额外的计算量。
研究者致力于对 ResNet 进行简单的架构修改。具体地说,每个块都将特征图分为几组(根据通道维数)和更细粒度的子组或 splits,其中,每个组的特征表示是通过它的 splits 表示的加权组合确定的(根据全局上下文信息选择权重)。研究者将得到的结果单元称为 Split-Attention 块,它简单且模块化。
ResNeSt到底有多强?实验表明,ResNeSt 优于其他拥有相似模型复杂度的网络。
ResNeSt-50在224×224的ImageNet上,实现了81.13%的TOP-1精度,比之前最好的ResNet变体精度高出1%以上。
简单地用ResNeSt-50替换ResNet-50骨干,可以让MS-COCO上的FasterRCNNNN的mAP,从39.25%提高到42.33%;ADE20K上的DeeplabV3的mIoU,从42.1%提高到45.1%。
这些改进对下游任务有很大的帮助,包括目标检测、实例分割和语义分割。
表 1:如左图所示,在速度与准确率的平衡方面,ResNeSt 达到了 SOTA 水平;右上图为 ResNeSt 在 ImageNet 上的 Top-1 准确率;右下图为迁移学习结果:MS-COCO 上的目标检测 mAP 以及 ADE20K 上的语义分割 mIoU。
Split-Attention 网络
Split-Attention 块
Split-Attention 块是一个由特征图组和 split attention 运算组成的计算单元,下图展示了 Split-Attention 块的整体思路:
特征图组(Feature-map Group)
与 ResNeXt 块一样,输入的特征图可以根据通道维数被分为几组,特征图组的数量由一个基数超参数 K 给出,得到的特征图组被称为基数组(cardinal group)。研究者引入了一个新的底数超参数 R,该参数规定了基数组的 split 数量。
然后将块输入 X 根据通道维数 X = {X1, X2, ...XG} 分为 G = KR 个组。在每个单独的组中应用不同的变换 {F_1, F_2, ...F_G},则每个组的中间表征为 Ui = Fi(Xi), i ∈ {1, 2, ...G}。
基数组中的 Split Attention
根据 [30,38],每个基数组的组合表征可以通过跨多个 split 的元素求和融合来获得。第 k 个基数组的表征为:,k ∈ 1, 2, ...K。带有嵌入 channel-wise 统计数据的全局上下文信息可以通过全局池化来获得。第 c 个分量的计算公式为:
基数组表征 V^k ∈ R^{H×W×C/K} 的加权融合通过使用 channel-wise 软注意力来聚合。其中,每个特征图通道都是在若干 split 上使用一个加权组合获得的。第 c 个通道的计算公式如下:
ResNeSt 块
随后,将基数组表征根据通道维数进行级联:V = Concat{V^1 , V^2 , ...V^K}。和标准残差块中一样,如果输入和输出特征图共享相同的形状,则使用快捷连接生成 Split-Attention 块的最终输出 Y,Y = V +X。对于步幅较大的块,将适当的变换 T 应用于快捷连接以对齐输出形状:Y = V + T(X)。T 可以是跨步卷积或带有池化的组合卷积。
图 1 右为 Split-Attention 块的实例,组变换 F_i 是 1×1 卷积,然后是 3×3 卷积,注意力权重函数 G 使用两个带有 ReLU 激活函数的全连接层进行参数化。
与现有注意力方法的关系
squeeze-and-attention(原论文叫 excitation)是 SE-Net 论文中首先引入的,核心想法是应用全局上下文预测 channel-wise 的注意力因素。若 radix=1,Split-Attention 块可将 squeeze-and-attention 操作应用于每个基数组,而 SE-Net 则在整个块的顶部运行,与多个组无关。此前 SK-Net 等模型引入了两个网络分支之间的特征注意力,但这些操作没有针对训练效率及扩展到大规模神经网络进行优化。新的方法扩展了之前的特征图注意力相关研究,但其实现在计算上仍然是高效的。
图 1 展示了 ResNeSt 块与 SE-Net 和 SK-Net 块的整体对比。
Split-Attention 的细节可参考图 2。
实验
第一个实验研究了 ResNeSt 在 ImageNet 2012 数据集上的图像分类性能,结果如表 3 所示。ResNeSt50 达到了 81.13% 的 top-1 准确度。
表 3:ImageNet 上的图像分类结果。
表 5 和表 6 显示了 ResNeSt 在目标检测和实例分割任务中的表现。
表 5:在 MS-COCO 验证集上的目标检测性能结果。
在目标检测任务中,与使用标准 ResNet 的基线相比,ResNeSt 骨干网络能够将模型在 Faster-RCNN 和 CascadeRCNN 上的 mAP(平均精度均值)提高大约 3%。
表 6:在 MS-COCO 验证集上的实例分割结果。
如表 6 所示,ResNeSt 骨干网络具有更好的性能,对于 Mask-RCNN,ResNeSt50 的性能优于基线,在 box/mask 任务中的性能分别提高了 2.85%/2.09%。而 ResNeSt101 的提高更多,为 4.03%/3.14%。对于 Cascade-Mask-RCNN,切换到 ResNeSt50 或 ResNeSt101 所产生的性能提升分别为 3.13%/2.36% 或 3.51%/3.04%。
下表 7 展示了 ResNeSt 在 ADE20K、Citscapes 语义分割任务上的表现。
表 7:在 ADE20K(左)、Citscapes(右)语义分割任务中的性能。
与之前的结果类似,使用 ResNeSt-50 骨干网络的 DeepLabv3 模型已经优于使用更深层 ResNet-101 骨干网络的 DeepLabv3 模型。具有 ResNeSt-101 骨干网络的 DeepLabV3 模型达到了 82.07% 的 pixAcc 和 46.91% 的 mIoU,据了解,这是为 ADE20K 提出的最佳单一模型。
重磅!深度学习技术前沿-微信群已成立
扫码添加群助手,可申请加入 深度学习技术前沿 微信群,旨在交流深度学习方面的学习、科研、工程项目等内容,其中研究方向主要包括:图像识别、图像分类、目标检测、图像分割、人脸识别、模型剪枝与压缩、自然语言处理、知识图谱、强化学习、NAS、GAN等。并且还会第一时间在群中分享一线大厂求职内推资料。
一定要备注:研究方向+学校/公司+姓名(如图像分割+浙大+李四),按照格式备注,可更快被通过且邀请进群。(广告商、博主请绕道!)
???? 长按识别,即可加群
???? 长按识别,即可关注
觉得有用麻烦给个在看啦~