美文网首页
Resnest:Split-Attention Networks

Resnest:Split-Attention Networks

作者: 斯文攸归 | 来源:发表于2020-04-17 18:42 被阅读0次

    亚马逊张航李沐

    提供Gluon版本和Pytorch版本,新SOTA

    摘要

    ResNet的变体:Split Attention模块,在不同feature map group上的Attention,在ImageNet(224x224)上实现81.13的top1,Faster-RCNN(Resnest-50)在COCO上实现41.4的mAP。

    介绍:

    尽管目前NAS很流行,但是下游任务(检测分割等)都还是用的ResNet或者其变体,因为ResNet的简洁通用,NAS模型并没有对其训练的效率和显存占用做优化,因此下游任务使用起来并不友好,有的模型甚至不能以常规的训练参数进行训练。

    Resnest借鉴的思想:

    Multi-Path:

    GoogLeNet采用了Multi-Path的机制,不同的分支采用不同的size的kernel,达到不同分辨率特征图(多尺度特征)互相融合的目的;

    ResNeXt在ResNet BottleNeck中采用group卷积,将multi-path转换为统一的结构;

    ResNeXt

    SE-Net通过自适应地重新校准通道响应值来实现通道注意力机制:

    SE Block SE-ResNet

    SK-Net通过两个网络分支(两个Group)引入特征图注意力(feature-map attention)

    SK-Net

    SE-Net,SK-Net,ResNeSt的比较:

    SE,SK,ResNeSt三者的比较

    Split-Attention Networks

    Feature-map Group:

    类似ResNeXt,将输入特征图在通道上分为K个Group(cardinality hyperparameter),将feature-map groups称之为cardinal groups,在每一个cardinal group中,另外指定一个超参radix hy- perparameter R将该feature-map groups分为R个splits,相当于输入特征图在通道上被分为G=KR个groups。

    Split Attention in Cardinal Groups:

    对每个cardinal group,其输出由其中所有splits相加得到,感觉每个cardinal group就像是一个group为R的SK-Net,首先将R个splits相加,经过Global Average Pooling和两层FC(实际是卷积)(这里类似SE或者SK),最后得到的向量将其reshape为(N,R,C),在R维度上计算Softmax(如果R=1,则为Sigmoid),然后split为R份,并分别与对应的split按位乘,最后累加得到一个cardinal group的输出,将所有cardinal groups的结果concat起来就得到一个ResNeSt Block的输出。

    split attention in cardinal groups(c=C/K) Radix-major implementation

    用到的训练策略:

    Large Mini-batch Distributed Training:

    64卡(8机)

    B是lr_base=0.1时的Batch Size

    Label Smoothing

    Auto Augmentation

    《Autoaugment: Learning augmentation strategies from data》

    Mixup Training

    Large Crop Size

    Regularization(DropBlock

    实验结果:

    ImageNet Clasification Top-1 Compared with NAS Models In ImageNet  COCO检测 COCO分割 分割ADE20K (Left) & Citscapes(Right)

    相关文章

      网友评论

          本文标题:Resnest:Split-Attention Networks

          本文链接:https://www.haomeiwen.com/subject/ncxyvhtx.html