Res2Net: A New Multi-scale Backbone Architecture
論文鏈接:https://arxiv.org/abs/1904.01169
一、Res2Net Module
本論文所提出的結(jié)構(gòu)如上圖中的右側(cè)
與現(xiàn)有的增強(qiáng)cnn多層多尺度表示強(qiáng)度的方法不同,本論文在更細(xì)粒度的級(jí)別上改進(jìn)了多尺度表示能力。與一些并行工作利用不同分辨率的特征提高多尺度能力不同,本論文提出的多尺度是指更細(xì)粒度的多個(gè)可用接受域。為了實(shí)現(xiàn)這一目標(biāo),用一組更小的卷積,取代的n通道的3×3 卷積(為了不失去普遍性,使用n = s×w),如上圖所示,這些更小的卷積組連接在一個(gè)分層的類殘差結(jié)構(gòu)中來(lái)增加可以代表的尺度輸出特性。具體來(lái)說(shuō),將輸入特征圖分成幾組。一組卷積首先從一組輸入特征圖中提取特征。前一組的輸出特征和另一組輸入特征圖一起發(fā)送到下一組卷積。這個(gè)過(guò)程重復(fù)幾次,直到所有的輸入特征圖都得到處理。最后,將所有組的feature map串接并發(fā)送到另一組1 × 1卷積中,進(jìn)行信息融合。隨著輸入特征轉(zhuǎn)換為輸出特征的任何可能路徑,當(dāng)它通過(guò)3 × 3濾波器時(shí),等效接受域增加,由于組合效應(yīng),產(chǎn)生了許多等效特征尺度。
Res2Net策略公開(kāi)了一個(gè)新的維度,即規(guī)模(Res2Net塊中特征組的數(shù)量),作為深度、寬度和基數(shù)(cardinality)等現(xiàn)有維度之外的一個(gè)基本因素。注意,所提出的方法在更細(xì)粒度的級(jí)別上利用了多尺度的潛力,這與現(xiàn)有的利用分層操作的方法是正交的。
如上圖(a)所示的瓶頸結(jié)構(gòu)是許多現(xiàn)代骨干cnn架構(gòu)的基本構(gòu)建塊,如ResNet、ResNeXt和DLA。與bottleneck block中使用一組3 × 3卷積核提取特征不同,作者尋求具有更強(qiáng)的多尺度特征提取能力的替代架構(gòu),同時(shí)保持類似的計(jì)算負(fù)荷。具體來(lái)說(shuō),作者將一組3 × 3卷積替換為更小的分組卷積,同時(shí)以一種類似殘差的結(jié)構(gòu)樣式連接不同的卷積組。由于文中提出的神經(jīng)網(wǎng)絡(luò)模塊涉及單個(gè)殘留塊中的類殘差連接,作者將其命名為Res2Net。上圖顯示了bottleneck block和提議的Res2Net模塊之間的差異。經(jīng)過(guò)1 × 1卷積后,作者將特征映射平均分割為s個(gè)特征映射子集,用xi表示,其中i∈{1,2,…,s}。與輸入特征圖相比,每個(gè)特征子集xix_ixi?具有相同的空間大小,但通道數(shù)為1/s。除x1x_1x1?外,每個(gè)xix_ixi?都有對(duì)應(yīng)的3 × 3卷積,用Ki()Ki()Ki()表示。用yiy_iyi?表示ki()k_i()ki?()的輸出。將特征子集xix_ixi?與Ki?1()K_i-1()Ki??1()的輸出相加,然后輸入ki()k_i()ki?()。為了在增加s的同時(shí)減少參數(shù),作者省略了x1x_1x1?的3 × 3卷積。因此,yiy_iyi?可以寫(xiě)成:
每個(gè)3 × 3卷積算子Ki()K_i()Ki?()都有可能從所有的特征分割{XjX_jXj?, j≤i}中接收到特征信息。每次特征分割XjX_jXj?經(jīng)過(guò)一個(gè)3 × 3卷積算子,輸出結(jié)果可以有一個(gè)比XjX_jXj?更大的接受域。由于組合爆炸激增,Res2Net模塊的輸出包含不同的數(shù)量和不同的接受域大小/尺度組合。
與ResNeXt不同的是,在Res2Net模塊中,splits采用了多尺度的方式,這有利于全局和局部信息的提取。為了更好地融合不同尺度的信息,作者將所有的分割串接起來(lái),并通過(guò)1 × 1的卷積將它們傳遞出去。splits和concatenation策略可以強(qiáng)制卷積更有效地處理特征。為了減少參數(shù)的數(shù)量,本文省略了第一次分割的卷積,這也可以被視為特征重用的一種形式。在這項(xiàng)工作中,作者使用s作為尺度尺寸的控制參數(shù)。更大的s可能允許學(xué)習(xí)具有更豐富的接受域大小的功能,而通過(guò)連接引入的計(jì)算/內(nèi)存開(kāi)銷可以忽略不計(jì)。
上圖為Res2Net模塊與維基數(shù)c(將conv替換為group conv)和SE塊進(jìn)行集成。
(一)、維度基數(shù)
維度基數(shù)C是我上一篇博客的思想。ResNet
維度基數(shù)表示分組卷積中組的數(shù)量。這個(gè)維度使過(guò)卷積從單分支變?yōu)槎喾种?#xff0c;提高了CNN模型的表示能力。在設(shè)計(jì)中,可以用3 × 3分組組卷積來(lái)代替3 × 3組卷積,其中c表示組數(shù)。
(二)、SE block.
SE塊通過(guò)自適應(yīng)通道之間的相互依賴關(guān)系,自適應(yīng)地重新校準(zhǔn)通道特征響應(yīng)。作者在Res2Net模塊的跳連接之前添加SE塊。Res2Net模塊可以從SE塊的集成中受益。
二、消融實(shí)驗(yàn)
表中顯示了ImageNet數(shù)據(jù)集上top-1和top-5的測(cè)試錯(cuò)誤。為了簡(jiǎn)單起見(jiàn),表1中所有Res2Net模型的比例都是s = 4。Res2Net-50在top-1錯(cuò)誤上比ResNet-50有1.84%的改進(jìn)。在top-1錯(cuò)誤方面,resnext -50比ResNeXt50提高了0.85%。此外,Res2Net-DLA-60在top-1錯(cuò)誤方面比DLA-60高出1.27%。Res2Net-DLA-60的最高錯(cuò)誤比DLA-X-60高出0.64%。SE-Res2Net-50比SENet50有1.68%的改進(jìn)。在top-1錯(cuò)誤方面,bLRes2Net-50比bLResNet-50提高了0.73%。Res2Net模塊在粒度級(jí)別上進(jìn)一步增強(qiáng)了bLResNet的多尺度能力,即使bLResNet是為了利用不同尺度的特征而設(shè)計(jì)的。請(qǐng)注意ResNet、ResNeXt、SE-Net、bLResNet和DLA是最先進(jìn)的CNN模型。與這些強(qiáng)大的基線相比,與Res2Net模塊集成的模型仍然有一致的性能增益。
更深層次的網(wǎng)絡(luò)已被證明具有更強(qiáng)的視覺(jué)任務(wù)表示能力。為了更深入地驗(yàn)證本文的模型,作者比較了Res2Net和ResNet的分類性能,兩者都有101層。如表2所示,Res2Net-101比ResNet-101獲得了顯著的性能提升,在 top-1 error方面為1.82%。請(qǐng)注意,在top-1 error中 Res2Net-50的性能比ResNet-50高出了1.84%。這些結(jié)果表明,所提出的具有額外維度尺度的模塊可以與更深層次的模型集成,從而獲得更好的性能。作者還將方法與DenseNet進(jìn)行了比較。與官方提供的DenseNet族中性能最好的DenseNet-161模型相比,Res2Net-101的top-1誤差提高了1.54%。
上表中說(shuō)明,隨著規(guī)模的增加,在top-1 error帶有14w×8s的Res2Net-50比ResNet-50有提升了1.99%。注意,在保持復(fù)雜度的情況下,Ki()K_i()Ki?()的寬度隨著尺度的增加而減小。我們進(jìn)一步評(píng)估了隨著模型復(fù)雜性的增加而增加規(guī)模的性能增益。帶有26w×8s的Res2Net-50比ResNet-50獲得了顯著的性能提升,在top-1 error方面為3.05%。一個(gè)有18w×4s的Res2Net-50也比ResNet-50的表現(xiàn)好0.93%,在top-1 error方面只有69%的失敗。上表顯示了不同尺度下的運(yùn)行時(shí)間,這是平均推斷推理尺寸為224 × 224的ImageNet驗(yàn)證集的時(shí)間。盡管由于層次連接的關(guān)系,分割{yi}的特性需要順序計(jì)算,但Res2Net模塊引入的額外運(yùn)行時(shí)通常可以被忽略。由于GPU中可用張量的數(shù)量是有限的,對(duì)于Res2Net的典型設(shè)置,在單個(gè)GPU時(shí)鐘周期內(nèi)通常會(huì)有足夠的并行計(jì)算,即s = 4。
表4顯示了CIFAR-100數(shù)據(jù)集上的top-1 error和模型大小。實(shí)驗(yàn)結(jié)果表明,該方法在參數(shù)較少的情況下優(yōu)于baseline和其他方法。作者提議的Res2NeXt-29, 6c×24w×6s比baseline高出1.11%。Res2NeXt29, 6c×24w×4s甚至優(yōu)于ResNeXt-29, 16c×64w只有35%的參數(shù)。與DenseNet-BC (k = 40)相比,用更少的參數(shù)實(shí)現(xiàn)了更好的性能。與Res2NeXt-29相比,6c×24w×4s、Res2NeXt29、8c×25w×4s獲得了更好的結(jié)果,具有更大的寬度和基數(shù),說(shuō)明維度尺度與維度寬度和基數(shù)是正交的。本文還將最近提出的SE塊集成到結(jié)構(gòu)中。使用更少的參數(shù),該方法仍然優(yōu)于ResNeXt-29, 8c×64w-SE的baseline。
作者通過(guò)增加CNN的不同維數(shù)來(lái)評(píng)估baseline模型的測(cè)試性能,包括scale(式(1))、cardinality和depth。當(dāng)使用一個(gè)維度增加模型容量時(shí),固定了所有其他維度。一系列的網(wǎng)絡(luò)在這些變化下進(jìn)行了訓(xùn)練和評(píng)估。由于已經(jīng)表明增加基數(shù)比增加寬度更有效,所以我們只將建議的維度尺度與基數(shù)和深度進(jìn)行比較。
上圖為CIFAR-100數(shù)據(jù)集對(duì)模型大小的測(cè)試精度。baseline model的深度、基數(shù)和規(guī)模分別為29、6和1。實(shí)驗(yàn)結(jié)果表明,scale是提高模型性能的有效維度,這與之前在mageNet數(shù)據(jù)集上的觀察結(jié)果一致。此外,增加規(guī)模比其他維度更有效,從而更快地獲得性能。如式(1)和圖1所示,對(duì)于尺度s = 2的情況,作者僅通過(guò)增加1 × 1卷積的參數(shù)來(lái)增加模型容量。因此,s = 2時(shí)的模型性能略差于增加基數(shù)時(shí)的模型性能。對(duì)于s = 3,4,分層類殘差結(jié)構(gòu)的組合效應(yīng)產(chǎn)生了一組豐富的等效尺度,從而顯著提高了性能。然而,尺度5和尺度6的模型性能提高有限,我們假設(shè)CIFAR數(shù)據(jù)集中的圖像太小(32×32),不能有很多尺度。
在CAM方面
為了理解Res2Net的多尺度能力,我們使用通常用于定位圖像分類的判別區(qū)域的Grad-CAM來(lái)可視化類激活映射(CAM)。在上圖所示的可視化示例中,較強(qiáng)的CAM區(qū)域被較淺的顏色覆蓋。與ResNet相比,基于Res2Net的CAM結(jié)果在小對(duì)象上有更集中的激活映射,如“baseball”和“penguin”。這兩種方法在中等大小的物體上都有類似的激活映射,比如“ice cream”。由于Res2Net具有更強(qiáng)的多尺度能力,Res2Net的激活圖傾向于覆蓋大對(duì)象上的整個(gè)對(duì)象,如“bulbul”、“mountain dog”、“ballpoint”和“mosque”,而ResNet的激活圖只覆蓋對(duì)象的部分。這種精確定位CAM區(qū)域的能力使得Res2Net對(duì)于弱監(jiān)督語(yǔ)義分割任務(wù)中的對(duì)象區(qū)域挖掘具有潛在價(jià)值。
相關(guān)代碼如下:
總結(jié)
以上是生活随笔為你收集整理的Res2Net: A New Multi-scale Backbone Architecture的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IT的道德与伦理
- 下一篇: linux脚本里用expect,如何在b