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