摘要:本文提出的網絡名為,意為維度基數。在空間通道維度分解網絡,減少冗余,可以對網絡進行加速或精簡。復雜度不變的情況下,隨著基數的增大錯誤率持續減小。考察增加深度寬度基數對網絡性能的提升。
ResNeXt
Aggregated Residual Transformations for Deep Neural Networks
Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, Kaiming He
Caffe實現:https://github.com/binLearnin...
摘要本文提出一種高度模塊化并易于搭建的網絡架構,網絡中使用的基本構件(building block)都是一組具有相同拓撲結構的變換的聚合。這種同結構多分支的設計理念只需要設置很少的超參數。本文提出的策略也引入了一個新的維度——“基數(cardinality)”,也就是同屬一個block的變換的數量,這是一個和網絡深度、寬度同等重要的因素。通過在ImageNet-1K數據集上的實驗可以發現,在保持網絡復雜度不變的前提下,增大基數可以提高分類準確率。另外通過增大基數來提升網絡能力比深度、寬度更有效。本文提出的模型稱為ResNeXt,是我們參加ILSVRC2016分類任務時提交的解決方案的基礎,另外也在ImageNet-5K和COCO檢測數據集上對ResNeXt進行考察,發現ResNeXt的效果要優于相應的ResNet。官方實現(Torch)的源碼地址:https://github.com/facebookre... 。
1. Introduction視覺識別領域的研究正在經歷從“特征工程”到“網絡工程”的轉變。現在研究人員的主要精力轉向于設計可以學習到更好的表示的網絡架構。
隨著超參數(如寬度(網絡層的通道數)、濾波器尺寸、步幅等)數量的增加,設計架構也變得越來越困難。而VGG網絡的成功說明使用簡單但有效的策略(堆疊相同結構的基本構件)也可以構建比較深層的網絡,這個策略在ResNet中也得以沿用,ResNet中堆疊的block也都是相同的拓撲結構。簡單的設計規則可以減少對超參數的選取,而深度是神經網絡中一個至關重要的維度。另外,使用簡單的設計規則可以降低所選取的超參數過度適應某些特定數據集的風險,VGG網絡和ResNet網絡在多種視覺/非視覺任務上都很魯棒。
不同于VGG網絡,Inception模型通過精心設計網絡的拓撲結構,在保持模型復雜度較低的前提下也取得了很高的準確率。所有Inception模型都具有一個重要的性質——都是遵循 拆分-變換-合并(split-transform-merge) 的設計策略。Inception模型中block的輸入會先被拆分成若干低維編碼(使用1x1卷積實現),然后經過多個不同的濾波器(如3x3、5x5等)進行轉換,最后通過沿通道維度串聯的方式合并。這種設計策略希望在保持網絡計算復雜度相當低的前提下獲取與包含大量且密集的層的網絡具有相同的表示能力。
但是,Inception模型實現起來很麻煩,它包含一系列復雜的超參——每個變換的濾波器的尺寸和數量都需要指定,不同階段的模塊也需要定制。太多的超參數大多的影響因素,如何將Inception模型調整到適合不同的數據集/任務變得很不明晰。
本文同時借鑒VGG/ResNet網絡中重復使用同結構模塊以及Inception模型的拆分-變換-合并的策略來簡明的構建深層網絡,具體見圖1-right。這樣的設計可以隨意調整變換的規模。
這種設計策略還有兩種等價形式(見圖3)。圖3(b)中的形式很像Inception-ResNet網絡中的模塊,不同的是每個分支都具有相同的拓撲結構;圖3(c)與AlexNet中分組卷積(grouped convolutions)的理念相似,然而AlexNet使用分組卷積是受限于當時的硬件條件。
基數是與深度、寬度同樣重要的維度,實驗證明通過增大基數來提升網絡性能比深度、寬度更有效,尤其是當深度/寬度的影響開始出現衰減時。
本文提出的網絡名為ResNeXt,意為next維度(基數)。
Multi-branch convolutional networks
多分支結構如Inception模型,ResNet可視為兩個分支(其中一個是恒等映射),還有樹狀多分支結構的深度神經決策森林(Deep neural decision forests)。
Grouped convolutions
分組卷積可以追溯到AlexNet,將模型拆分放到兩個GPU中進行訓練。Caffe、Torch等都支持分組卷積,主要也是為了兼容之前的AlexNet。我們沒有發現證明分組卷積可以提高準確率的依據。一個分組卷積的特例是逐通道卷積,它是可分離卷積的一部分。
Compressing convolutional networks
在空間/通道維度分解網絡,減少冗余,可以對網絡進行加速或精簡。我們的方法具有更高的表示能力,而不著重于壓縮。
Ensembling
綜合多個獨立訓練的網絡的預測可有效提高準確率,這種集成的方法在競賽中被廣泛使用。Veit等人(Residual networks behave like ensembles of relatively shallow network)指出ResNet網絡內部的表現就如同是多個淺層網絡的集成,ResNet-v2中的加法操作具有集成的意義。本文提出的方法也是用加法操作將變換組合聚合成一個深層網絡,但是我們覺得認為殘差網絡的行為像集成學習是不嚴謹的,因為網絡中的成員是同時訓練,而不是獨立訓練所得。
使用如VGG/ResNet網絡相似的高度模塊化的設計理念,網絡由一系列殘差block堆疊而成,并遵循兩個簡單的規則:(i)如果block輸出的特征圖的空間尺寸相同,那么它們具有相同的超參數(寬度、濾波器尺寸等);(ii)如果特征圖的空間維度減半,那么block的寬度(通道數)加倍,第二條規則確保了所有block的計算復雜度基本相同。
根據上述兩條規則可以設計一個模板模塊,網絡中的所有模塊都可以照此設計。這兩條規則也減少了超參數的選擇,讓我們可以專注于考察幾個關鍵因素即可。遵循這些規則設計的網絡結構如表1所示。
最簡單的人工神經元就是執行內積(權值相加),實現元素級轉換。內積可以表示成轉換的聚合形式:
如圖2中所示,內積操作可以分為拆分(splitting)、變換(transforming)、聚合(aggregating)。
將內積中的基本變換替換成更一般的函數,比如一個網絡結構,那么聚合變換變成:
公式(2)中的C表示變換的規模,稱之為基數。C可以是任意值,它的取值控制著更復雜變換的規模。
本文中所有的變換Ti都具有相同的拓撲結構,如圖1-right所示。
那么公式(2)中的聚合變換就是殘差函數:
Relation to Inception-ResNet
ResNeXt中的模塊結構(圖3(a))與Inception-ResNet的模塊結構(圖3(b))相似,不同的是ResNeXt中的模塊都是相同的拓撲結構。
Relation to Grouped Convolutions
使用分組卷積可以將上述模塊的結構進一步簡化,如圖3(c)所示。所有低維的編碼(第一個1x1層)可以由一個更寬的層替代,因為分組卷積會將輸入張量在通道維度上拆分成不同組然后進行處理,然后將處理后的張量連接起來作為輸出。這種block與ResNet中原始block的形式(圖1-left)很相似,不同的是這些block更寬,并且是稀疏連接的。
我們注意到只有block的深度大于2時才可以重新組織得到不同以往的拓撲結構,而深度只有2的block(見圖4)重新組織也只是寬一些密集一些的模塊。
另外需要注意的是各小分支的變換不一定就是像圖3中所示都是相同拓撲結構的,它們也可以是任意不同形式的變換。本文選取同結構的形式是為了使網絡更加簡潔已經易擴展,在這種情況下就可以像圖3(c)中所示使用分組卷積很容易的實現ResNeXt。
3.4 Model CapacityResNeXt在保持模型復雜度和參數規模不變的情況下提升了模型準確率。復雜度和參數數量可以用來評估模型的表示能力,在考察深度網絡時基本都會用到。當考察相同復雜度下不同的基數C對模型性能的影響時,為了減少需要修改的超參數量,我們選取修改bottleneck(3x3卷積層)的寬度(通道數量)來適應基數的變化,因為它獨立于block的輸入/輸出,這樣就不需要對其他的超參數(如block的深度、輸入/輸出的寬度等)。
在圖1-left中,原來的ResNet的block的參數數量有256*64+3*3*64*64+64*256≈70k,當ResNeXt基數為C,bottleneck層寬度為d時(圖1-right),參數數量為:
當C=32,d=4時公式(4)約等于70k,與原來的模型基本相同,表2展示了C與d的關系。
表1比較了具有相似復雜度的ResNet-50和ResNeXt-50,雖然復雜度只是大致相似,但之間的差異很小不至于影響結果。
4. Implementation details維度增加(空間尺寸減小)時沿用ResNet中的B方案,但是卷積核由1x1變為3x3,步幅仍然為2。本文實現的方案選取了如圖3(c)中的形式,block內部的設計(權值層與BN、ReLU的位置安排)按照ResNet方式,而不是ResNet-v2方式。圖3中三種方案是等價的,我們訓練了三種形式都得到了相同的結果,選取3(c)來實現是因為這個方案更簡潔,運行速度也更快。
5. Experiments 5.1 Experiments on ImageNet-1KCardinality vs. Width
首先考察基數對模型性能的影響。結果見表3,訓練曲線見圖5。
復雜度不變的情況下,隨著基數的增大錯誤率持續減小。ResNeXt的訓練誤差比ResNet的要小,說明性能的提升是來源于更強的表示能力而不是正則化。從表3中可以看出,當bottleneck的寬度很小時,增加基數對模型性能的提升趨于飽和,所以bottleneck寬度的選取一般不小于4d。
Increasing Cardinality vs. Deeper/Wider
考察增加深度/寬度/基數對網絡性能的提升。具體表現見表4。
從表4中可以看出,通過增大基數來提升網絡能力比深度、寬度更有效。
Performance
Torch對分組卷積的實現優化不理想,運行開支比較大。
Comparisons with state-of-the-art results
表5展示了ResNeXt與各種之前最先進的模型的性能對比。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/19629.html
摘要:和是兩個非常重要的網絡,它們顯示了深層卷積神經網絡的能力,并且指出使用極小的卷積核可以提高神經網絡的學習能力。也有工作考察與的關系,與其相似,本文考察了與的關系。與的網絡架構配置以及復雜度見表。 DPN Dual Path NetworksYunpeng Chen, Jianan Li, Huaxin Xiao, Xiaojie Jin, Shuicheng Yan, Jiashi F...
摘要:和分別引進了深度分離卷積和分組卷積來權衡模型表示能力與計算量。在通道數量上使用縮放因子來調節網絡復雜度,文中以表示。的基礎是逐點分組卷積和通道重排,分別考察這兩者的作用。 ShuffleNet ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile DevicesXiangyu Zhang, ...
摘要:前面層中的以類別無關的方式增強可共享的低層表示的質量。通過調整網絡各層間的連接機制來提升深層網絡的學習和表示性能。基本都是常規處理和訓練設置。根據輸入動態調整各通道的特征,增強網絡的表示能力。 SENet Squeeze-and-Excitation NetworksJie Hu, Li Shen, Gang Sun 摘要 卷積神經網絡顧名思義就是依賴卷積操作,使用局部感受區域(loc...
摘要:一個簡單的解釋是,在論文和論文中,恒等映射的輸出被添加到下一個模塊,如果兩個層的特征映射有著非常不同的分布,那么這可能會阻礙信息流。 在 AlexNet [1] 取得 LSVRC 2012 分類競賽冠軍之后,深度殘差網絡(Residual Network, 下文簡寫為 ResNet)[2] 可以說是過去幾年中計算機視覺和深度學習領域最具開創性的工作。ResNet 使訓練數百甚至數千層成為可能...
摘要:在這里,代表照片,也就是形狀為的矩陣,是圖像被標記的分數。我首先使用這張照片我的分數是,這意味著我的顏值比數據集中的人高。我拍了很多照片,最終我得到了分,這意味著我比數據集中的人更具吸引力。 什么?!顏值客觀化要進行實質性推進了?幾個月前,華南理工大學發布了一篇關于顏值評估的論文及其數據集。這個數據集包括5500人,每人的長相被從1-5分進行打分。數據的下載地址如下:https://gith...
閱讀 1318·2021-09-22 15:00
閱讀 3314·2019-08-30 14:00
閱讀 1229·2019-08-29 17:27
閱讀 1226·2019-08-29 16:35
閱讀 695·2019-08-29 16:14
閱讀 2047·2019-08-26 13:43
閱讀 2126·2019-08-26 11:35
閱讀 2314·2019-08-23 15:34