ResNet最強(qiáng)改進(jìn):高性能“即插即用”金字塔卷積

編輯:Happy
首發(fā):AIWalker公眾號(hào)
鏈接:真正的最強(qiáng)ResNet改進(jìn),高性能"即插即用"金字塔卷積
日期:2020-06-24

標(biāo)題&作者團(tuán)隊(duì)

【Happy導(dǎo)語】該文參考SIFT的多尺度特征提取思路設(shè)計(jì)了一種新穎的金字塔卷積,它不用于其他類似方法的關(guān)鍵點(diǎn)在于:卷積核的多尺度。同時(shí)為了盡可能的降低整體計(jì)算復(fù)雜度,在每個(gè)group內(nèi)再一次進(jìn)行組卷積休弃,以確保金字塔卷積的計(jì)算量與標(biāo)準(zhǔn)卷積的計(jì)算量相當(dāng)。筆者認(rèn)為這篇論文思想簡(jiǎn)單,易于實(shí)現(xiàn)怔球,效果驚人。推薦各位稍微花點(diǎn)時(shí)間了解一下這篇文章(注:亮點(diǎn)在Appendix部分)浮还,文末附文章竟坛、code以及預(yù)訓(xùn)練模型的下載方式。

Abstract

? 該文提出一種金字塔卷積(Pyramidal Convolution, PyConv)钧舌,它可以在多個(gè)濾波器尺度對(duì)輸入進(jìn)行處理担汤。PyConv包含一個(gè)核金字塔,每一層包含不同類型的濾波器(濾波器的大小與深度可變洼冻,因此可以提取不同尺度的細(xì)節(jié)信息)崭歧。除了上述提到的可以提取多尺度信息外,相比標(biāo)準(zhǔn)卷積撞牢,PyConv實(shí)現(xiàn)高效率碾,即不會(huì)提升額外的計(jì)算量與參數(shù)量叔营。更進(jìn)一步,它更為靈活并具有可擴(kuò)展性播掷,為不同的應(yīng)用提升了更大的架構(gòu)設(shè)計(jì)空間审编。

? PyConv幾乎可以對(duì)每個(gè)CV任務(wù)都有正面影響,作者基于PyConv對(duì)四大主流任務(wù)(圖像分類歧匈、視頻分類垒酬、目標(biāo)檢測(cè)以及語義分割)進(jìn)行了架構(gòu)設(shè)計(jì)。相比baseline件炉,所提方法取得了一致性的性能提升勘究。比如在圖像分類任務(wù)上,所提50層模型優(yōu)于ResNet152斟冕,同時(shí)具有更少的參數(shù)量(2.39x-fewer)口糕、計(jì)算復(fù)雜度(2.52x-fewer)以及更少的層數(shù)和;在語義分割任務(wù)上磕蛇,它在ADE20K數(shù)據(jù)集上指標(biāo)達(dá)到SOTA(注:好像并不如ResNeSt的指標(biāo))景描。

Introduction

? 首先,我們先來說明一下已有CNN網(wǎng)絡(luò)架構(gòu)在感受野搟面存在的兩個(gè)問題:

  • 盡管當(dāng)前主流CNN網(wǎng)絡(luò)架構(gòu)理論具有非常大的感受野(包含輸入的大部分秀撇、甚至全含整個(gè)輸入)超棺,但是有研究表明:實(shí)際CNN的感受野要比理論小的多(2.7x-less);
  • 已有的下采樣方案(如池化呵燕、stride卷積)會(huì)造成信息的損失棠绘,進(jìn)而影響模型的性能。

? 然后再扭,我們?cè)賮砗?jiǎn)單介紹一下實(shí)際場(chǎng)景中物體的尺度信息氧苍。以下圖為例,包含室內(nèi)與室外兩個(gè)場(chǎng)景及其對(duì)應(yīng)的語義標(biāo)簽泛范。從圖中可以看到:部分物體具有非常大的空間形式(比如建筑物让虐、樹以及沙發(fā)),部分物體具有非常小的空間表現(xiàn)形式(比如行人罢荡、書本等)赡突。甚至同一物體具有非常大的可變的空間變現(xiàn)形式(比如室外場(chǎng)景中的汽車)。

<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3oaqgmr0j30cs0addm5.jpg" alt="image-20200624101435203" style="zoom: 67%;" />

? 上述這種空間變大巨大的表現(xiàn)形式是標(biāo)準(zhǔn)卷積所無法有效提取的,而CV的終極目標(biāo)是:提取輸入的多尺度信息。在這方面最為知名的當(dāng)屬SIFT采章,它可以從不同尺度提取特征描述算子葛菇。然而深度學(xué)習(xí)中的卷積卻并未具有類似SIFT這種提取多尺度特征的能力。

? 最后逞泄,我們?cè)賮碚f明一下作者為解決上述挑戰(zhàn)而提出的幾點(diǎn)創(chuàng)新:

  • (1) 作者引入一種金字塔卷積(PyConv)患整,它包含不同尺度與深度的卷積核拜效,進(jìn)而確保了多尺度特征的提取各谚;
  • (2) 作者為圖像分類任務(wù)提出了兩種網(wǎng)絡(luò)架構(gòu)并以極大優(yōu)勢(shì)優(yōu)于baseline紧憾,同時(shí)具有更少的參數(shù)量與計(jì)算復(fù)雜度;
  • (3) 作者為語義分割任務(wù)提出了一個(gè)新的框架:一種新穎的Head用于對(duì)backbone提取的特征可以從局部到全局進(jìn)行上下文信息特征提取昌渤,并在場(chǎng)景解析方面取得了SOTA性能赴穗;
  • (4) 作者基于PyConv而設(shè)計(jì)的網(wǎng)絡(luò)架構(gòu)在目標(biāo)檢測(cè)與視頻分類任務(wù)上取得了性能的極大提升。

Pyramidal Convolution

? 下圖a給出了標(biāo)準(zhǔn)卷積的示意圖膀息,它包含單一類型的核:卷積核的空間分辨率為K^2(應(yīng)用最多的當(dāng)屬3\times3般眉,即K=3)而深度則等于輸入特征通道數(shù)C_i。那么執(zhí)行C_o個(gè)相同分辨率與深度卷積核得到FM_o個(gè)輸出特征潜支。因此甸赃,標(biāo)準(zhǔn)卷積的參數(shù)量與計(jì)算量分別為:para=K^2 \times C_i \times C_o,FLOPs=K^2 \times C_i \times C_o \times(H \times W)

<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3oat3gdrj30gn0dyjta.jpg" alt="image-20200624102951586" style="zoom:67%;" />

? 上圖b給出了所提PyCOnv的示意圖冗酿,它包含一個(gè)由n層不同類型核構(gòu)成的金字塔埠对。PyConv的目標(biāo)是:在不提升計(jì)算復(fù)雜或參數(shù)量的前提下采用多尺度核對(duì)輸入進(jìn)行處理。PyConv每一層的核包含不同的空間尺寸(自下而上提升)裁替,隨卷積核的提升而逐漸降低核的深度项玛。

? 為使PyConv在不同層使用不同深度的卷積核,需要將輸入特征劃分為不同的組并獨(dú)立的進(jìn)行卷積計(jì)算胯究,稱之為組卷積(見下圖示例)稍计。不知各位有沒有覺得這個(gè)思想跟谷歌的MixNet思想非常相似,MixNet中也是采用了類似組卷積方式進(jìn)行不同尺寸卷積核計(jì)算裕循,文末附對(duì)比分析臣嚣。

image-20200624104547085

? 但是,需要注意哈:組卷積中每組的通道數(shù)是相同的剥哑。MixNet中的也是相同的硅则,而PyConv則是不相同的,可以說MixNet是PyConv的一個(gè)特例株婴。每組特征通道數(shù)上的區(qū)別構(gòu)成MixConv與PyConv的最大區(qū)別所在怎虫。

? 假設(shè)PyConv的輸入包含C_i個(gè)通道數(shù),PyConv每一層的卷積核尺寸為K_1^2, K_2^2,\cdots,K_n^2困介,深度為C_i, \frac{C_i}{(\frac{K_2^2}{K_1^2})},\cdots, \frac{C_i}{(\frac{K_n^2}{K_1^2})}大审,對(duì)應(yīng)的輸出特征維度為C_{o1},C_{o2},\cdots, C_{on}。PyConv的參數(shù)量與計(jì)算復(fù)雜度如下:
para=K_n^2 \times C_{on}\times \frac{C_i}{(\frac{K_n^2}{K_1^2})} + \cdots + K_3^2 \times C_{o3} \times \frac{C_i}{(\frac{K_3^2}{K_1^2})} + \cdots K_1^2 \times C_{o1} \times C_i \\ FLOPs = Para * (H \times W)
其中C_{o1} + \C_{o2} + \cdots C_{on} = C_o座哩。注:如果每一層輸出的通道數(shù)相同徒扶,那么每一層的參數(shù)量與計(jì)算復(fù)雜度就會(huì)分布比較均勻「睿基于上述描述姜骡,可以看到:PyConv的計(jì)算復(fù)雜度與標(biāo)準(zhǔn)卷積相近导坟。

? 在實(shí)際應(yīng)用時(shí),作者為PyConv添加了額外的規(guī)則:每一層的通道數(shù)應(yīng)當(dāng)是相同的圈澈。這也就要求了PyConv的輸入通道數(shù)應(yīng)當(dāng)是2的冪次惫周。

? 所提PyConv具有這樣幾個(gè)優(yōu)點(diǎn):

  • Multi-scale Processing. 這個(gè)特性是非常明顯的,卷積核尺寸是多尺度的嘛康栈;
  • Efficiency. PyConv可以通過并行的方式進(jìn)行計(jì)算递递,因此計(jì)算高效(組卷積在GPU上的效率好像并不高,反而更適合CPU)啥么;
  • Flexibility. 由于具有與標(biāo)準(zhǔn)卷積相近的參數(shù)量和計(jì)算復(fù)雜度漾狼,那么用戶可以更靈活的去調(diào)節(jié)PyConv的超參數(shù)(比如層數(shù)、不同層的輸出通道數(shù)饥臂,不同深度設(shè)置不同的PyConv參數(shù)逊躁、不同層采用不同的組數(shù))。注:這一點(diǎn)又跟MixNe相似了隅熙,MixNet通過NAS方式進(jìn)行搜索的稽煤。

Classification

? 下圖給出了在圖像分類任務(wù)中PyConv模塊示意圖,它是將PyConv嵌入到Bottleneck中囚戚,這也是目前卷積改進(jìn)的一種常用思路酵熙,好像沒什么值得進(jìn)一步深入介紹的。

image-20200624113644079

? 下表給出了基于上述模塊構(gòu)建網(wǎng)絡(luò)的配置信息驰坊,包含PyConvResNet與PyConvHGResNet兩種匾二。配置信息還是挺詳細(xì)的,好像并沒有什么值得深入介紹的拳芙,表格一看就懂察藐。PyConvHGResNet中不同層的分組數(shù)更高而已,其他基本相同舟扎。

<img src="https://tva1.sinaimg.cn/large/007S8ZIlgy1gg3ob0l6fcj30g80e6tay.jpg" alt="image-20200624113906017" style="zoom: 80%;" />

Semantic Segmentation

image-20200624114420506

? 上圖給出了所提PyConv在語義分割中的應(yīng)用形式分飞,作者所設(shè)計(jì)的Head同時(shí)進(jìn)行局部與全局信息提取并采用了另外的一個(gè)模塊進(jìn)行信息集成,講這種Head稱之為PyConvPH睹限。PyConvPH包含三個(gè)主要成分:

  • Local PyConv Block: 它主要用于小目標(biāo)并進(jìn)行多尺度細(xì)粒度特征提取譬猫,見上圖a;
  • Global PyConv Block:它主要用于捕獲場(chǎng)景的全局信息以及大尺度目標(biāo)羡疗,見上圖b染服。
  • Merge PyConv Block:它用于對(duì)全局與局部特征融合。

Experiments

? “實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”叨恨,為說明所提方法的有效性柳刮。作者圖像分類、語義分割、目標(biāo)檢測(cè)等領(lǐng)域進(jìn)行了一系列的實(shí)驗(yàn)诚亚。主要結(jié)果如下:

(1) 下圖給出了ImageNet數(shù)據(jù)集上的指標(biāo)(標(biāo)準(zhǔn)增廣,未用到AutoAugment午乓、CutMix等增廣技術(shù))站宗。注:由于該方法主要是卷積的改進(jìn),故未與注意力等方法進(jìn)行改進(jìn)益愈,加上注意力后是不是會(huì)超越ResNeSt呢梢灭?哈哈哈,甚是期待呀蒸其。

image-20200624115434586

(2) 下圖給出了ADE20K數(shù)據(jù)集上的指標(biāo)敏释,這個(gè)在不考慮注意力等方法的前提應(yīng)當(dāng)是目前最佳了吧,如果加上注意力機(jī)制應(yīng)該還有提升的空間摸袁,期待各位小伙伴們?nèi)ジ纳铺嵘?/p>

image-20200624115927881

(3) 下面給出了在目標(biāo)檢測(cè)方面的應(yīng)用與COCO數(shù)據(jù)及上的指標(biāo)钥顽。更詳細(xì)的實(shí)驗(yàn)分析,建議感興趣的小伙伴去看原文靠汁,筆者不做過多翻譯了蜂大。

image-20200624120118208
image-20200624120131293

Conclusion

? 作者提出了一種金字塔卷積,它的每一層包含不同尺度的卷積核蝶怔。PyConv極大的提升了不同視覺任務(wù)的性能奶浦,同時(shí)具有高效性與靈活性。PyConv是一種“即插即用”的模塊踢星,可以輕易嵌入到不同的網(wǎng)絡(luò)架構(gòu)與應(yīng)用中澳叉,比如可以嘗試將其應(yīng)用到圖像復(fù)原(超分、降噪沐悦、增強(qiáng)等等)應(yīng)用成洗。

Appendix

? 多尺度卷積并不是什么非常新穎的東西,之前已有不少論文提出了各式各樣的多尺度卷積藏否。比如商湯提出的ScaleNet泌枪,其多尺度卷積示意圖如下:

image-20200624140659196

再比如谷歌提出的MixConv,其多尺度卷積示意圖如下:

image-20200624140732658

再再比如UIUC&字節(jié)跳動(dòng)提出的SCN秕岛,其多尺度卷積示意圖如下:

image-20200624140920393

再再再比如南開大學(xué)提出的Res2Net碌燕,其實(shí)也是一種多尺度卷積,結(jié)構(gòu)如下:

image-20200624141153892

再再再再比如IBM提出的Big-LittleNet继薛,結(jié)構(gòu)如下:

image-20200624141444000

再再再再再比如Facebook提出的OctConv修壕,不也是一種多尺度卷積嗎?結(jié)構(gòu)如下:

image-20200624141514762

再再再再再再比如...遏考,打状瑞!不再比如了灌具,看到了這里青团。各位小伙伴有沒有發(fā)現(xiàn)多尺度卷積真的好多好多譬巫,知名也挺多的,比如MixNet督笆、Res2Net芦昔、OctConv以及Big-LittleNet。那么這篇論文提出的PyConv到底跟這里提到的幾種多尺度卷積有什么區(qū)別呢娃肿?

首先咕缎,第一點(diǎn)區(qū)別:PyConv不是通過分辨率的下采樣達(dá)到感受野提升的目的,而ScaleNet料扰、OctNet凭豪、Big-LittleNet以及SCN都是通過調(diào)整特征的分辨率方式達(dá)到提升感受野目的。這一點(diǎn)是與MixConv是非常相似的:通過調(diào)整卷積核的尺寸達(dá)到多尺度特征提取的目的晒杈。

然后呢嫂伞,第二點(diǎn)區(qū)別:PyConv每一組的輸入為全部輸入,每組輸出不同尺度的特征拯钻;這一點(diǎn)是與ScaleNet非常相似末早,而MIxConv、OctConv以及Res2Net都涉及到了輸入分組说庭。

最后一點(diǎn)區(qū)別:PyConv為盡可能的降低計(jì)算量然磷,在每一組內(nèi)部還進(jìn)行了分組卷積。經(jīng)過前述一系列的組合確保了PyConv的計(jì)算量與標(biāo)準(zhǔn)卷積相當(dāng)刊驴,但實(shí)際上推理速度還是標(biāo)準(zhǔn)卷積更快姿搜,三層時(shí)推理速度,比如下圖配置時(shí)捆憎,pyconv在cpu上比標(biāo)準(zhǔn)卷積慢一倍之多舅柜,呵呵。

image-20200624145116482

筆者認(rèn)為:PyConv的靈活性是非常巧妙的一點(diǎn)躲惰,它非常適合于NAS結(jié)合去搜索相關(guān)參數(shù)(層數(shù)致份、每一層的組卷積組數(shù)、每一層的卷積核尺寸等)础拨。也許通過NAS搜索的網(wǎng)絡(luò)會(huì)取得超越手工設(shè)計(jì)PyConvResNet的性能也說不定哦氮块,這個(gè)說不定又可以水一篇paper了。O(∩_∩)O哈哈~

此外诡宗,除了PyConv與NAS結(jié)合外滔蝉,還可以嘗試將其嵌入到圖像復(fù)原里面,雖然作者提到了會(huì)有提升塔沃,但不是還沒有paper嘛蝠引,這是不是又可以水一篇paper了。O(∩_∩)O哈哈~

推薦閱讀

  1. 比CNN更強(qiáng)有力的新型自注意力網(wǎng)絡(luò)
  2. 關(guān)于ResNeSt的點(diǎn)滴疑惑與解讀
  3. CVPR2020 | GCT會(huì)是SE的替代者嗎?
  4. 南開大學(xué)程明明團(tuán)隊(duì)新作 | ResNet的又一改進(jìn):SCNet
  5. ICCV2019: HBONet

論文與代碼下載方式

關(guān)注AIWalker公眾并后臺(tái)留言“PyConv”螃概,即可獲得下載鏈接矫夯。

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吊洼,一起剝皮案震驚了整個(gè)濱河市训貌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌融蹂,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弄企,死亡現(xiàn)場(chǎng)離奇詭異超燃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拘领,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門意乓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人约素,你說我怎么就攤上這事届良。” “怎么了圣猎?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵士葫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我送悔,道長(zhǎng)慢显,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任欠啤,我火速辦了婚禮荚藻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洁段。我一直安慰自己应狱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布祠丝。 她就那樣靜靜地躺著疾呻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪写半。 梳的紋絲不亂的頭發(fā)上罐韩,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音污朽,去河邊找鬼散吵。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的矾睦。 我是一名探鬼主播晦款,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼枚冗!你這毒婦竟也來了缓溅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤赁温,失蹤者是張志新(化名)和其女友劉穎坛怪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體股囊,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袜匿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稚疹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片居灯。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖内狗,靈堂內(nèi)的尸體忽然破棺而出怪嫌,到底是詐尸還是另有隱情,我是刑警寧澤柳沙,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布岩灭,位于F島的核電站,受9級(jí)特大地震影響赂鲤,放射性物質(zhì)發(fā)生泄漏川背。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一蛤袒、第九天 我趴在偏房一處隱蔽的房頂上張望熄云。 院中可真熱鬧,春花似錦妙真、人聲如沸缴允。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽练般。三九已至,卻和暖如春锈候,著一層夾襖步出監(jiān)牢的瞬間薄料,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工泵琳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摄职,地道東北人誊役。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像谷市,于是被迫代替她去往敵國和親蛔垢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348