Resnest:Split-Attention Networks

亞馬遜張航李沐

提供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);

ResNeXt

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

SE Block
SE-ResNet

SK-Net通過兩個網(wǎng)絡(luò)分支(兩個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相加,經(jīng)過Global Average Pooling和兩層FC(實際是卷積)(這里類似SE或者SK),最后得到的向量將其reshape為(N,R,C),在R維度上計算Softmax(如果R=1,則為Sigmoid),然后split為R份,并分別與對應的split按位乘,最后累加得到一個cardinal group的輸出,將所有cardinal groups的結(jié)果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

實驗結(jié)果:

ImageNet Clasification Top-1
Compared with NAS Models In ImageNet
?COCO檢測
COCO分割
分割ADE20K (Left) & Citscapes(Right)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容