亞馬遜張航李沐
提供Gluon版本和Pytorch版本,新SOTA
摘要
ResNet的變體:Split Attention模塊,在不同feature map group上的Attention,在ImageNet(224x224)上實現(xiàn)81.13的top1,F(xiàn)aster-RCNN(Resnest-50)在COCO上實現(xiàn)41.4的mAP。
介紹:
盡管目前NAS很流行,但是下游任務(檢測分割等)都還是用的ResNet或者其變體,因為ResNet的簡潔通用,NAS模型并沒有對其訓練的效率和顯存占用做優(yōu)化,因此下游任務使用起來并不友好,有的模型甚至不能以常規(guī)的訓練參數(shù)進行訓練。
Resnest借鑒的思想:
Multi-Path:
GoogLeNet采用了Multi-Path的機制,不同的分支采用不同的size的kernel,達到不同分辨率特征圖(多尺度特征)互相融合的目的;
ResNeXt在ResNet BottleNeck中采用group卷積,將multi-path轉(zhuǎn)換為統(tǒng)一的結(jié)構(gòu);

SE-Net通過自適應地重新校準通道響應值來實現(xiàn)通道注意力機制:


SK-Net通過兩個網(wǎng)絡(luò)分支(兩個Group)引入特征圖注意力(feature-map attention)

SE-Net,SK-Net,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,相當于輸入特征圖在通道上被分為個groups。
Split Attention in Cardinal Groups:
對每個cardinal group,其輸出由其中所有splits相加得到,感覺每個cardinal group就像是一個group為R的SK-Net,首先將R個splits相加,經(jīng)過Global Average Pooling和兩層FC(實際是卷積)(這里類似SE或者SK),最后得到的向量將其reshape為,在R維度上計算Softmax(如果R=1,則為Sigmoid),然后split為R份,并分別與對應的split按位乘,最后累加得到一個cardinal group的輸出,將所有cardinal groups的結(jié)果concat起來就得到一個ResNeSt Block的輸出。


用到的訓練策略:
Large Mini-batch Distributed Training:
64卡(8機)

Label Smoothing
Auto Augmentation
《Autoaugment: Learning augmentation strategies from data》
Mixup Training
Large Crop Size
Regularization(DropBlock)
實驗結(jié)果:




