[DL-架構-ResNet系] 007 SENet

SENet

Squeeze-and-Excitation Networks

Jie Hu, Li Shen, Gang Sun

摘要

卷積神經網路顧名思義就是依賴卷積操作,使用局部感受區域(local receptive field)的思想融合空間信息和通道信息來提取包含信息的特徵。有很多工作從增強空間維度編碼的角度來提升網路的表示能力,本文主要聚焦於通道維度,並提出一種新的結構單元——「Squeeze-and-Excitation(SE)」單元,對通道間的依賴關係進行建模,可以自適應的調整各通道的特徵響應值。如果將SE block添加到之前的先進網路中,只會增加很小的計算消耗,但卻可以極大地提升網路性能。依靠SENet作者獲得了ILSVRC2017分類任務的第一名,top-5錯誤率為2.251%。

1. Introduction

每個卷積層有若干濾波器,可以學習表達包含所有通道的局部空間連接模式。也就是說,卷積濾波器提取局部感受區域中的空間和通道的融合信息。再加上非線性激活層和降採樣層,CNN可以獲得具有全局感受區域的分層模式來作為圖像的描述。最近的一些工作表明,可以通過加入有助於獲取空間相關性的學習機制來改善網路的性能,而且不需要額外的監督。例如Inception架構,通過在模塊中加入多尺度處理來提高性能。另有探索更好的空間相關性的模型或者添加空間注意力的一些工作。

與上述方法不同,本文主要探索網路架構設計的另一個方面——通道關聯性。本文提出一種新的網路單元——「Squeeze-and-Excitation(SE)」 block,希望通過對各通道的依賴性進行建模以提高網路的表示能力,並且可以對特徵進行逐通道調整,這樣網路就可以學習通過全局信息來有選擇性的加強包含有用信息的特徵並抑制無用特徵。

SE block的基本結構見圖1。第一步squeeze操作,將各通道的全局空間特徵作為該通道的表示,形成一個通道描述符;第二步excitation操作,學習對各通道的依賴程度,並根據依賴程度的不同對特徵圖進行調整,調整後的特徵圖就是SE block的輸出。

前面層中的SE block以類別無關(class agnostic)的方式增強可共享的低層表示的質量。越後面的層SE block越來越類別相關。SE block重新調整特徵的益處可以在整個網路中積累。SE block設計簡單,可以很容易地加入到已有的網路中,只增加少量的模型複雜度和計算開支,另外對不同數據集的泛化能力較強。作者依靠SENet取得了ILSVRC2017分類任務的第一名。官方實現(Caffe)源碼地址:https://github.com/hujie-fran... 。

2. Related Work

Deep architectures

有很多工作通過調整卷積神經網路架構使模型更容易地學習深層特徵以提升模型性能。VGG和Inception網路證明可以通過增加深度來提升性能。Batch normalization (BN)在網路中添加可以調節輸入數據的單元來穩定學習過程,改善梯度在網路中的傳播,使得更深層的網路也可以工作。ResNet、ResNet-v2在網路中加入恆等映射形式的跳躍連接,使網路學習殘差函數,極大推進了網路架構向更深層的發展。DenseNet、DPN通過調整網路各層間的連接機制來提升深層網路的學習和表示性能。

另一個方向是調整網路中模塊的形式。分組卷積(grouped convolutions)可以用於增加基數(cardinality),如Deep roots、ResNeXt中所示,網路可以學習到更豐富的表示。多分支卷積(multi-branch convolutions)可以視為分組卷積的泛化,網路模塊可以進行更靈活多變的操作,如Inception系列。跨通道相關是一種新的特徵組合方式,可以獨立於空間結構(如Xception),或者使用1x1卷積進行處理(如NIN),一般來說這些工作主要是為了降低模型和計算複雜度。這種方法的前提假設是通道是實例無關(instance-agnostic)的,也就是說輸出對於輸入數據各通道的依賴性是相同的,不是類別相關的。與之相反,本文提出一種新的機制,使用全局信息對各通道動態的非線性的依賴性進行建模,可以改善學習過程並提升網路的表示能力。

Attention and gating mechanisms

注意力機制(attention)引導計算資源偏向輸入信號中信息量最大的部分,近幾年開始大量用於深度神經網路中,在很多任務中對性能有極大提升。它一般是和門限函數(如softmax、sigmoid)或者序列方法聯合使用。highway網路使用門限機制來調節快捷連接,Residual attention network for image classification中介紹了一種trunk-and-mask注意力機制用於沙漏模型(hourglass module),成功的用於語義分割任務。SE block是一種輕量級的門限機制,專門用於對各通道的關聯性進行建模。

3. Squeeze-and-Excitation Blocks

卷積層的輸出並沒有考慮對各通道的依賴性,本文的目標就是讓網路有選擇性的增強信息量大的特徵,使得後續處理可以充分利用這些特徵,並對無用特徵進行抑制。

3.1 Squeeze: Global Information Embedding

首先考察輸出特徵每個通道的信號,壓縮(squeeze)全局空間信息為通道描述符,使用全局平均池化來生成各通道的統計量。

3.2 Excitation: Adaptive Recalibration

第二就是考察各通道的依賴程度,實現函數有兩個標準:一是要靈活,二是要學習一個非互斥的關係,因為可能多個通道都會對結果有影響。本文使用帶sigmoid激活函數的門限機制來實現。為了限制模型複雜度並增強泛化能力,門限機制中使用bottleneck形式的兩個全連接層,第一個FC層降維至1/r,r為超參數,本文取16,具體見6.3實驗。最後的sigmoid函數就是各通道的權重,根據輸入數據調節各通道特徵的權重,有助於增強特徵的可分辨性。

3.3 Exemplars: SE-Inception and SE-ResNet

在Inception網路和ResNet網路中加入SE block,具體見圖2、圖3。

4. Model and Computational Complexity

對添加了SE block的網路的具體配置見表1。

每個SE block中包含一個全局平均池化操作,兩個小的全連接層,最後一個簡單的逐通道縮放操作,全部合起來在ResNet-50的基礎上增加了0.26%的計算量。新添加的參數量主要來自於兩個全連接層,ResNet-50增加了約10%,大多數都是來自最後階段,此時的通道維度很大。但是實驗發現如果去掉最後階段的SE block性能並沒有太大影響,而新增加的參數量則會減小到約4%。

5. Implementation

基本都是常規處理和訓練設置。採用了Relay backpropagation for effective learning of deep convolutional neural networks中的數據平衡策略。

6. Experiments

6.1 ImageNet Classification

本文實驗的不同網路的配置見表2,訓練曲線見圖4-6。

在ImageNet驗證集上不同網路的表現見表3。

6.2 Scene Classification

不同網路的性能對比見表4。

6.3 Analysis and Discussion

Reduction ratio

3.2中討論的降維繫數是超參數,它不同取值對網路性能的影響見表5。

為了權衡準確率與複雜度,本文選取r=16。

The role of Excitation

考察自門限(self-gating)excitation機制。選取四個類別(如圖7),分別考察不同層中的SE block的平均激活值,其分布如圖8所示。

通過觀察圖8中不同層SE block激活值的分布情況,發現1)前面層中的分布基本一樣,說明這一階段的特徵是類別無關的;2)後續層中分布越來越類別相關,每個類別對特徵有不同的選擇;3)SE_5_2和SE_5_3中的分布也基本一致,說明這兩層對網路重新調整的重要性不高,可以去掉這兩層中的SE block以減少參數量,如第4章中所述。

7. Conclusion

SE block根據輸入動態調整各通道的特徵,增強網路的表示能力。另外也可以用於輔助網路修剪/壓縮的工作。

推薦閱讀:

從編程實現角度學習Faster R-CNN(附極簡實現)
PhD Talk直播預告 | 亞馬遜高級應用科學家熊元駿:人類行為理解研究進展
CS231n課程筆記翻譯:圖像分類筆記(上)
車輛3D檢測:Deep MANTA論文閱讀筆記
AI為人民服務:視覺缺陷檢測

TAG:深度学习DeepLearning | 人工智能 | 计算机视觉 |