Squeeze-and-Excitation Networks(译)
摘要
卷積神經(jīng)網(wǎng)絡(luò)建立在卷積運算的基礎(chǔ)上,通過融合局部感受野內(nèi)的空間信息和通道信息來提取信息特征。為了提高網(wǎng)絡(luò)的表示能力,許多現(xiàn)有的工作已經(jīng)顯示出增強空間編碼的好處。在這項工作中,我們專注于通道,并提出了一種新穎的架構(gòu)單元,我們稱之為“Squeeze-and-Excitation”(SE)塊,通過顯式地建模通道之間的相互依賴關(guān)系,自適應(yīng)地重新校準通道式的特征響應(yīng)。通過將這些塊堆疊在一起,我們證明了我們可以構(gòu)建SENet架構(gòu),在具有挑戰(zhàn)性的數(shù)據(jù)集中可以進行泛化地非常好。關(guān)鍵的是,我們發(fā)現(xiàn)SE塊以微小的計算成本為現(xiàn)有的最先進的深層架構(gòu)產(chǎn)生了顯著的性能改進。SENets是我們ILSVRC 2017分類提交的基礎(chǔ),它贏得了第一名,并將top-5錯誤率顯著減少到2.251%,相對于2016年的獲勝成績?nèi)〉昧恕?5%的相對改進。編碼和模型可以在gitgub上獲得
一、 引言
卷積神經(jīng)網(wǎng)絡(luò)(CNNs)已被證明是解決各種視覺任務(wù)的有效模型。對于每個卷積層,沿著輸入通道學(xué)習(xí)一組濾波器來表達局部空間連接模式。換句話說,期望中的卷積核是一種信息的組合,是通過融合空間信息和信道信息來實現(xiàn)的。通過疊加一系列非線性和下采樣交織的卷積層,CNN能夠捕獲具有全局感受野的分層模式作為強大的圖像描述。最近的工作已經(jīng)證明,網(wǎng)絡(luò)的性能可以通過顯式地嵌入學(xué)習(xí)機制來改善,這種學(xué)習(xí)機制有助于捕捉空間相關(guān)性而不需要額外的監(jiān)督。Inception架構(gòu)推廣了一種這樣的方法,這表明網(wǎng)絡(luò)可以通過在其模塊中嵌入多尺度處理來取得有競爭力的準確度。最近的工作在尋找更好地模型空間依賴,結(jié)合空間注意力。
本文強調(diào)的是通過引入新的架構(gòu)單元,我們稱之為“Squeeze-and-Excitation” (SE)塊,來研究架構(gòu)設(shè)計的一個不同方向——通道關(guān)系。我們的目標是通過顯式地建模卷積特征通道之間的相互依賴性來提高網(wǎng)絡(luò)的表示能力。為了達到這個目的,我們提出了一種機制,使網(wǎng)絡(luò)能夠執(zhí)行特征重新校準,通過這種機制可以學(xué)習(xí)使用全局信息來選擇性地強調(diào)信息特征并抑制不太有用的特征。
SE構(gòu)建塊的基本結(jié)構(gòu)如圖1所示。對于任何給定的變換 F t r : X → U , X ∈ R W ′ × H ′ × C ′ , U ∈ R W × H × C F_{tr} : X \rightarrow U , X \in \mathbb{R} ^{W^{'} \times H^{'} \times C^{'} }, U \in \mathbb{R} ^{W \times H \times C} Ftr?:X→U,X∈RW′×H′×C′,U∈RW×H×C,(例如卷積或一組卷積),我們可以構(gòu)造一個相應(yīng)的SE塊來執(zhí)行特征重新校準,如下所示。特征U首先通過squeeze操作,該操作跨越空間維度W×H聚合特征映射來產(chǎn)生通道描述符。這個描述符嵌入了通道特征響應(yīng)的全局分布,使來自網(wǎng)絡(luò)全局感受野的信息能夠被其較低層利用。這之后是一個excitation操作,其中通過基于通道依賴性的自門機制為每個通道學(xué)習(xí)特定采樣的激活,控制每個通道的激勵。然后特征映射U被重新加權(quán)以生成SE塊的輸出,然后可以將其直接輸入到隨后的層中。
圖1: A Squeeze-and-Excitation 塊。
SE網(wǎng)絡(luò)可以通過簡單地堆疊SE構(gòu)建塊的集合來生成。SE塊也可以用作架構(gòu)中任意深度的原始塊的直接替換。然而,雖然構(gòu)建塊的模板是通用的,正如我們6.4節(jié)中展示的那樣,但它在不同深度的作用適應(yīng)于網(wǎng)絡(luò)的需求。在前面的層中,它學(xué)習(xí)以類不可知的方式激發(fā)信息特征,增強共享的較低層表示的質(zhì)量。在后面的層中,SE塊越來越專業(yè)化,并以高度類特定的方式響應(yīng)不同的輸入。因此,SE塊進行特征重新校準的好處可以通過整個網(wǎng)絡(luò)進行累積。
新CNN架構(gòu)的開發(fā)是一項具有挑戰(zhàn)性的工程任務(wù),通常涉及許多新的超參數(shù)和層配置的選擇。相比之下,上面概述的SE塊的設(shè)計是簡單的,并且可以直接與現(xiàn)有的最新架構(gòu)一起使用,其卷積層可以通過直接用對應(yīng)的SE層來替換從而進行加強。
另外,如第四節(jié)所示,SE塊在計算上是輕量級的,并且在模型復(fù)雜性和計算負擔方面僅稍微增加。為了支持這些聲明,我們開發(fā)了一些SENets,即SE-ResNet,SE-Inception,SE-ResNeXt和SE-Inception-ResNet,并在ImageNet 2012數(shù)據(jù)集上對SENets進行了廣泛的評估。此外,為了證明SE塊的一般適用性,我們還呈現(xiàn)了ImageNet之外的結(jié)果,表明所提出的方法不受限于特定的數(shù)據(jù)集或任務(wù)。
使用SENets,我們贏得了ILSVRC 2017分類競賽的第一名。我們的表現(xiàn)最好的模型集合在測試集上達到了2.251%的top-5錯誤率。與前一年的獲獎?wù)?#xff08;2.991%的top-5錯誤率)相比,這表示a ~25%的相對改進。我們的模型和相關(guān)材料已經(jīng)提供給研究界。
二、相關(guān)工作
深層架構(gòu)。
VGGNets[35]和Inception模型[39]證明了深度增加可以獲得的好處,明顯超過了ILSVRC 2014之前的方法。批標準化(BN)通過插入單元來調(diào)節(jié)層輸入穩(wěn)定學(xué)習(xí)過程,改善了通過深度網(wǎng)絡(luò)的梯度傳播,這使得可以用更深的深度進行進一步的實驗。殘差網(wǎng)絡(luò)通過使用基于身份的跳躍連接展示了學(xué)習(xí)更深層次網(wǎng)絡(luò)的有效性。公路網(wǎng)采用門控機制調(diào)節(jié)快捷連接。網(wǎng)絡(luò)層間連接的重新表示進一步提高了深層網(wǎng)絡(luò)的學(xué)習(xí)和表征特性。
另一種研究方法探索了調(diào)整網(wǎng)絡(luò)模塊化組件功能形式的方法。可以用分組卷積來增加基數(shù)(一組變換的大小)以學(xué)習(xí)更豐富的表示。多分支卷積可以解釋為這個概念的概括,使得卷積算子可以更靈活的組合。跨通道相關(guān)性通常被映射為新的特征組合,或者獨立的空間結(jié)構(gòu),或者聯(lián)合使用標準卷積濾波器和 1 × 1 1\times1 1×1卷積,然而大部分工作的目標是集中在減少模型和計算復(fù)雜度上面。這種方法反映了一個假設(shè),即通道關(guān)系可以被表述為具有局部感受野的實例不可知的函數(shù)的組合。相比之下,我們聲稱為網(wǎng)絡(luò)提供一種機制來顯式建模通道之間的動態(tài)、非線性依賴關(guān)系,使用全局信息可以減輕學(xué)習(xí)過程,并且顯著增強網(wǎng)絡(luò)的表示能力。
注意力和門機制
從廣義上講,可以將注意力視為一種工具,將可用處理資源的分配偏向于輸入信號的信息最豐富的組成部分。這種機制的好處已經(jīng)在一系列任務(wù)中得到了展示,從圖像中的定位和理解到基于序列的模型。它通常與門控函數(shù)(如softmax或sigmoid)和順序技術(shù)相結(jié)合實現(xiàn)。最近的工作顯示了它對諸如圖像字幕[4,48]和唇讀[7]之類的任務(wù)的適用性。在這些應(yīng)用程序中,它通常使用在一個或多個層的頂層,這些層表示用于調(diào)整模式的更高級別的抽象。Wang等人使用沙漏模塊介紹了一種強大的trunk-and-mask注意力機制。該高容量單元被插入到中間階段之間的深度殘差網(wǎng)絡(luò)中。相比之下,我們提出的SE塊是一種輕量級的門控機制,專門用于以一種計算效率的方式對信道關(guān)系進行建模,旨在增強整個網(wǎng)絡(luò)中基本模塊的表示能力。
在這些應(yīng)用中,它通常用在表示較高級別抽象的一個或多個層的頂部,以用于模態(tài)之間的適應(yīng)。高速網(wǎng)絡(luò)[36]采用門機制來調(diào)節(jié)快捷連接,使得可以學(xué)習(xí)非常深的架構(gòu)。王等人[42]受到語義分割成功的啟發(fā),引入了一個使用沙漏模塊[27]的強大的trunk-and-mask注意力機制。這個高容量的單元被插入到中間階段之間的深度殘差網(wǎng)絡(luò)中。相比之下,我們提出的SE塊是一個輕量級的門機制,專門用于以計算有效的方式對通道關(guān)系進行建模,并設(shè)計用于增強整個網(wǎng)絡(luò)中模塊的表示能力
三、Squeeze-and-Excitation塊
S q u e e z e ? a n d ? E x c i t a t i o n Squeeze-and-Excitation Squeeze?and?Excitation塊是一個計算單元,可以為任何給定的變換構(gòu)建:
F t r : X → U , X ∈ R W ′ × H ′ × C ′ , U ∈ R W × H × C F_{tr} : X \rightarrow U , X \in \mathbb{R} ^{W^{'} \times H^{'} \times C^{'} }, U \in \mathbb{R} ^{W \times H \times C} Ftr?:X→U,X∈RW′×H′×C′,U∈RW×H×C。為了簡化說明,在接下來的表示中,我們將 F t r F_{tr} Ftr?看作一個卷積運算符。 V = [ v 1 , v 2 , … , v C ] V=[v_1,v_2,…,v_C] V=[v1?,v2?,…,vC?]表示學(xué)習(xí)到的一組濾波器核, v c v_c vc?指的是第c個濾波器的參數(shù)。然后我們可以將 F t r F_{tr} Ftr?的輸出寫作 U = [ u 1 , u 2 , … , u C ] U=[u_1,u_2,…,u_C] U=[u1?,u2?,…,uC?],其中
u c = v c ? X = ∑ s = 1 C ′ v c s ? x s u_c = v_c?X = \displaystyle \sum ^{C^{'}}_{s =1}v_c^s * x^s uc?=vc??X=s=1∑C′?vcs??xs.
這里?表示卷積, v c = [ v c 1 , v c 2 , … , v c C ′ ] v_c = [v^1_c,v^2_c,…,v^{ C^{'}}_c] vc?=[vc1?,vc2?,…,vcC′?], X = [ x 1 , x 2 , … , x C ′ ] X =[x^1,x^2,…,x^{C^′}] X=[x1,x2,…,xC′](為了簡潔表示,忽略偏置項)。這里 v c s v^s_c vcs?是2D空間核,因此表示 v c v_c vc?的一個單通道,因此代表了作用于 X X X對應(yīng)通道上的 v c v_c vc?的單個通道。由于輸出是通過所有通道的總和產(chǎn)生的,所以通道依賴關(guān)系隱式地嵌入到 v c v_c vc?中,但是這些依賴關(guān)系與過濾器捕獲的空間相關(guān)性是糾纏在一起的。我們的目標是確保網(wǎng)絡(luò)能夠提高其對信息特性的敏感性,以便后續(xù)的轉(zhuǎn)換能夠利用這些特性,并抑制那些不太有用的特性。我們建議通過明確地建立通道相互依賴的模型來實現(xiàn)這一點,從而在將濾波器響應(yīng)輸入到下一個轉(zhuǎn)換之前,在兩個步驟(擠壓和激勵)中重新校準濾波器響應(yīng)。SE構(gòu)建塊的示意圖如圖1所示
3.1. Squeeze:全局信息嵌入
為了解決利用通道依賴關(guān)系的問題,我們首先考慮輸出特性中每個通道的信號。每一個經(jīng)過學(xué)習(xí)的過濾器操作一個局部接受域,因此轉(zhuǎn)換輸出 U U U的每個單元不能利用這個區(qū)域之外的上下文信息。這個問題在接受域大小較小的較低網(wǎng)絡(luò)層中變得更加嚴重。
為了減輕這個問題,我們提出將全局空間信息壓縮成一個通道描述符。這是通過使用全局平均池化生成通道統(tǒng)計實現(xiàn)的。形式上,統(tǒng)計 z ∈ R C z \in \mathbb{R}^C z∈RC是通過在空間維度 W × H W \times H W×H上收縮U生成的,其中 z z z的第c個元素通過下式計算:
z c = F s q ( u c ) = 1 W × H ∑ i = 1 W ∑ j = 1 H u c ( i , j ) z_c = F_{sq} (u_c)=\frac{1}{W \times H} \displaystyle \sum ^{W}_{i =1} \displaystyle \sum ^{H}_{j =1}u_c(i,j) zc?=Fsq?(uc?)=W×H1?i=1∑W?j=1∑H?uc?(i,j).
討論。轉(zhuǎn)換輸出 U U U可以解釋為一個局部描述符的集合,其統(tǒng)計數(shù)據(jù)表示整個圖像。利用這些信息在特征工程工作中非常普遍。我們選擇了最簡單的全局平均池,注意到這里也可以使用更復(fù)雜的聚合策略。
3.2. Excitation:自適應(yīng)重新校正
為了利用壓縮操作中聚集的信息,我們使用了第二個操作,該操作的目的是充分捕獲信道上的依賴關(guān)系。函數(shù)來實現(xiàn)這個目標,必須滿足兩個條件:第一,它必須靈活(特別是,它必須有能力學(xué)習(xí)通道之間的非線性相互作用),其次,它必須學(xué)會非互斥的關(guān)系,因為我們想確保多個通道被強調(diào)而不是僅強調(diào)一個激活。為了滿足這些標準,我們選擇采用一個簡單的門機制,并使用sigmoid激活:
s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) s = F_{ex}(z,W) = \sigma(g(z,W)) = \sigma (W_2 \delta(W_1 z)) s=Fex?(z,W)=σ(g(z,W))=σ(W2?δ(W1?z))
其中 δ \delta δ是指 R e L U ReLU ReLU函數(shù), W 1 ∈ R C r × C W_1 \in \mathbb{R}^{\frac{C}{r} \times C} W1?∈RrC?×C和 W 2 ∈ R C × C r W_2 \in \mathbb{R}^{C \times \frac{C}{r} } W2?∈RC×rC?。為了限制模型復(fù)雜性和輔助泛化,我們通過在非線性周圍形成兩個全連接(FC)層的瓶頸來參數(shù)化門機制,即降維層參數(shù)為 W 1 W_1 W1?,降維比例為 r r r(這個參數(shù)選擇在6.4節(jié)中討論),一個 R e L U ReLU ReLU ,然后是一個參數(shù)為 W 2 W_2 W2?的升維層。塊的最終輸出是通過重新調(diào)整轉(zhuǎn)換輸出得到的 U U U與激活:
為了限制模型復(fù)雜度和輔助泛化,我們通過在非線性周圍形成兩個全連接(FC)層的瓶頸來參數(shù)化門機制,即降維層參數(shù)為 W 1 W_1 W1?,降維比例為 r r r(這個參數(shù)選擇在6.4節(jié)中討論),一個ReLU,然后是一個參數(shù)為 W 2 W_2 W2?的升維層。塊的最終輸出通過重新調(diào)節(jié)帶有激活的變換輸出U得到:
x ~ c = F s c a l e ( u c , s c ) = s c ? u c \tilde{x}_c = F_{scale}(u_c , s_c) = s_c \cdot u_c x~c?=Fscale?(uc?,sc?)=sc??uc?
其中 X ~ = [ x ~ 1 , x ~ 2 , … , x ~ C ] \tilde{X} = [\tilde{x}_1,\tilde{x}_2,\ldots,\tilde{x}_C] X~=[x~1?,x~2?,…,x~C?]和 F s c a l e ( u c , s c ) F_{scale}(u_c , s_c) Fscale?(uc?,sc?)指的是特征映射 u c ∈ R W × H u_c \in \mathbb{R}^{W \times H} uc?∈RW×H 和標量 s c s_c sc?之間的對應(yīng)通道乘積。
討論。激活作為適應(yīng)特定輸入描述符 z z z的通道權(quán)重。在這方面,SE塊本質(zhì)上引入了以輸入為條件的動態(tài)特性,有助于提高特征辨別力。
3.3 模型:SE-Inception和SE-ResNet
SE塊可以直接了當?shù)膽?yīng)用于AlexNet和VGGNet。SE塊的靈活性意味著它可以直接應(yīng)用于標準卷積之外的變換。為了說明這一點,我們開發(fā)SENets,將SE塊集成到具有復(fù)雜設(shè)計的結(jié)構(gòu)中
對于非殘差網(wǎng)絡(luò),例如Inception網(wǎng)絡(luò),通過將轉(zhuǎn)換 F t r F_{tr} Ftr?作為一個完整的Inception模塊(參見圖2)。通過對體系結(jié)構(gòu)中的每個這樣的模塊進行這種更改,我們構(gòu)建了一個 S E ? I n c e p t i o n SE-Inception SE?Inception網(wǎng)絡(luò)。此外,SE塊具有足夠的靈活性,可用于剩余網(wǎng)絡(luò)。圖3描述了一個 S E ? R e s N e t SE-ResNet SE?ResNet模塊的架構(gòu)。這里,SE塊轉(zhuǎn)換 F t r F_{tr} Ftr?被認為是殘差模塊的非恒等分支。 S q u e e z e Squeeze Squeeze和 e x c i t a t i o n excitation excitation都發(fā)生在同分支求和之前。
我們通過將SE塊集成到兩個流行的網(wǎng)絡(luò)架構(gòu)系列Inception和ResNet中來開發(fā)SENets。通過將變換 F t r F_{tr} Ftr?看作一個整體的Inception模塊(參見圖2),為Inception網(wǎng)絡(luò)構(gòu)建SE塊。通過對架構(gòu)中的每個模塊進行更改,我們構(gòu)建了一個SE-Inception網(wǎng)絡(luò)。其他更多的組合的變體是 R e s N e X t ResNeXt ResNeXt, I n c e p t i o n ? R e s N e t Inception-ResNet Inception?ResNet, M o b i l e N e t MobileNet MobileNet, S h u f f l e N e t ShuffleNet ShuffleNet,可以按照類似的方案來構(gòu)造。我們在表1中描述了 S E ? R e s N e t ? 50 SE-ResNet-50 SE?ResNet?50和 S E ? R e s N e X t ? 50 SE-ResNeXt-50 SE?ResNeXt?50的體系結(jié)構(gòu)。
圖2 最初的Inception模塊架構(gòu)(左)和SE-Inception模塊架構(gòu)(右)。
圖3:原始殘差塊(左)和SE-ResNet模塊(右)的模式。
四、模型與計算復(fù)雜度
為了使提出的SE塊在實踐中可行,它必須在模型復(fù)雜性和性能之間提供有效的平衡,這對可伸縮性非常重要。我們設(shè)定了減少率 r r r為16在所有的實驗中,除非另有說明(更多討論見第6.4節(jié))。為了說明該模塊的成本,我們以ResNet-50和SE-ResNet-50的比較為例,其中SE-ResNet-50的精度優(yōu)于ResNet-50,接近于更深層次的ResNet-101網(wǎng)絡(luò)(見表2)。ResNet-50需要大約3.86GFLOPs,在一個單一的前進通道為224×224像素的輸入圖像。每個SE塊在 s q u e e z e squeeze squeeze階段使用一個全局平均池化操作,在 e x c i t a t i o n excitation excitation階段使用兩個小的全連接層,然后使用一個廉價的通道級伸縮操作。總的來說,SE-ResNet-50需要~3.87 GFLOPs,比原來的ResNet-50相對增加0.26%。
在實踐中,通過256張圖像的小批量訓(xùn)練,在ResNet-50中向前和向后的單次傳遞需要190毫秒,與SE-ResNet-50的209毫秒相比(這兩種計時都是在一臺有8塊NVIDIA Titan X的服務(wù)器上執(zhí)行的)。我們認為這是一個合理的開銷,特別是在現(xiàn)有的GPU庫中,全局池和小的內(nèi)積操作優(yōu)化程度較低的情況下。此外,由于其對于嵌入式設(shè)備應(yīng)用程序的重要性,我們還對每個模型的CPU推理時間進行基準測試:對于224×224像素的輸入圖像,ResNet-50需要SE-ResNet-50為164ms, SE-ResNet-50為167ms。SE塊所需的小的額外計算開銷是由它對模型性能的貢獻來證明的。
接下來,考慮由增加的塊引入的附加參數(shù)。它們都包含在這兩個FC層的閘門機制中,是網(wǎng)絡(luò)總?cè)萘康囊恍〔糠?#xff0c;更精確地說,引入的附加參數(shù)的數(shù)量為:
2 r ∑ s = 1 S N s ? C s 2 \frac{2}{r} \displaystyle\sum^S_{s =1}N_s \cdot C_s^2 r2?s=1∑S?Ns??Cs2?
其中 r r r為降低比, S S S為階段數(shù)(其中每個階段為一個共同空間維特征圖上操作的塊集合), C s C_s Cs?為輸出通道維數(shù), N s N_s Ns?為階段S的重復(fù)塊數(shù)。 S E R e s N e t ? 50 SEResNet-50 SEResNet?50增加了比 R e s N e t ? 50 ResNet-50 ResNet?50所需的2500萬個參數(shù)多大約250萬的參數(shù),相當于增加了約10%。這些參數(shù)中的大多數(shù)來自網(wǎng)絡(luò)的最后一個階段,在這個階段,激勵是在最大的通道維度上進行的。然而,我們發(fā)現(xiàn),SE塊的相對空間代價昂貴的最后階段可以刪除,在性能和代價的權(quán)衡(<0.1%的ImageNet top-1錯誤)減少相對參數(shù)增加~4%,在需要考慮參數(shù)使用的情況下,這可能是有用的(參見第6.4節(jié)的進一步討論)。
五、成就
每個普通網(wǎng)絡(luò)及其對應(yīng)的SE對應(yīng)網(wǎng)絡(luò)都使用相同的優(yōu)化方案進行訓(xùn)練。在ImageNet的訓(xùn)練中,我們遵循標準做法,使用隨機大小的裁剪到224×224像素(對于inception-resnet -v2和SE-inception-resnet -v2是299×299)來進行數(shù)據(jù)擴充和隨機水平翻轉(zhuǎn)。通過平均信道減法對輸入圖像進行歸一化處理。此外,我們采用了[36]中描述的數(shù)據(jù)平衡策略進行小批量抽樣。這些網(wǎng)絡(luò)是在我們的分布式學(xué)習(xí)系統(tǒng)“ROCS”上訓(xùn)練的,“ROCS”旨在處理大型網(wǎng)絡(luò)的有效并行訓(xùn)練。優(yōu)化是使用動量0.9的同步SGD和大小為1024的小批量進行的。初始學(xué)習(xí)率設(shè)置為0.6,每30個epoch減少10倍。所有的模型都使用[9]中描述的權(quán)重初始化策略從零開始進行100個epoch的訓(xùn)練。
表1:(左)ResNet-50。SE-ResNet-50(中間)。(右)SE-ResNeXt-50, 32×4d模板。在方括號內(nèi)列出殘差塊的具體參數(shù)設(shè)置的形狀和操作,在方括號外列出一個階段的堆疊塊數(shù)。fc后面的內(nèi)括號表示SE模塊中兩個完全連接的層的輸出維數(shù)。
測試時,我們應(yīng)用中心裁切評價驗證集,從每張短邊裁剪縮放到256(299×299的每個圖像短邊第一次調(diào)整大小以352年Inception-ResNet-v2和SE-Inception-ResNet-v2)的圖片中裁切出224×224像素。
六、實驗
6.1 ImageNet分類
ImageNet 2012數(shù)據(jù)集由128萬張訓(xùn)練圖像和來自1000個類的50K驗證圖像組成。我們在訓(xùn)練集上訓(xùn)練網(wǎng)絡(luò),并報告top-1和top-5 的錯誤。
表2:ImageNet驗證集的單次裁剪錯誤率(%)和復(fù)雜度比較。原始列是指原始論文中報告的結(jié)果。為了進行公平的比較,我們重新訓(xùn)練基線模型,并在重新實現(xiàn)列中報告得分。SENet列是指添加了SE塊的相應(yīng)架構(gòu)。括號中的數(shù)字表示在重新實現(xiàn)的基線上的性能改進。?表明該模型已經(jīng)在驗證集的非黑名單子集上進行了評估(這在[42]中有更詳細的討論),這可能會略微改善結(jié)果。對VGG-16和SE-VGG-16進行批處理規(guī)范化訓(xùn)練。
網(wǎng)絡(luò)深度:我們首先比較SE-ResNet和ResNet不同深度的架構(gòu)。結(jié)果由表2顯示,SE塊在不同深度上的性能不斷提高,而計算復(fù)雜度的增加非常小。
值得注意的是,SE-ResNet-50架構(gòu)在top-5上單切割的錯誤率達到了6.62%,比ResNet-50(7.48%)多出0.86%,接近了更深層的ResNet-101網(wǎng)絡(luò)(6.52%的top-5的錯誤率)的性能,僅使用了一半的計算開銷(3.87 GFLOPs vs. 7.58 GFLOPs)。種模式在更深的地方重復(fù)出現(xiàn),SE-ResNet-101(6.07%的top-5錯誤率)不僅匹配,而且表現(xiàn)優(yōu)于更深的ResNet-152網(wǎng)絡(luò)(6.34%的top-5錯誤率),誤差為0.27%。Fig. 4 描述了訓(xùn)練和驗證曲線SE-ResNet-50和ResNet-50 ( 更多的網(wǎng)絡(luò)曲線被展示在附加材料中)。應(yīng)該注意的是,SE塊本身增加了深度,它們所做的是一種非常有效的計算方式,甚至在擴展基礎(chǔ)架構(gòu)的深度達到遞減回報的時候也能產(chǎn)生良好的回報。此外,通過在不同深度范圍的訓(xùn)練,我們可以認為性能改進是一致的,這表明SE塊帶來的改進可以與增加基礎(chǔ)架構(gòu)深度結(jié)合使用。
圖4:ResNet-50和SE-ResNet-50在ImageNet上的訓(xùn)練曲線。
**整合模型結(jié)構(gòu):**接下來,我們將研究將SE塊與另外兩個最先進的架構(gòu)Inception- ResNet -v2和ResNeXt相結(jié)合的效果(使用32×4d),兩者都在模塊中引入了之前的結(jié)構(gòu)。
我們在SENet中構(gòu)建了這些網(wǎng)絡(luò)的等價物,SE-Inception-ResNet -v2 和 SE-ResNeXt - 50 (SE-ResNeXt-50的配置見表1)。表2中的結(jié)果說明了將SE塊引入這兩種體系結(jié)構(gòu)時所帶來的顯著性能改進。其中,SE-ResNeXt-50的top-5的誤差為5.49%,優(yōu)于直接對應(yīng)的ResNeXt-50(top-5的誤差為5.90%)和更深層次的誤差ResNeXt-101(top-5的錯誤5.57%),該模型的參數(shù)數(shù)量和計算開銷幾乎是原來的兩倍。至于Inception-ResNetv2的實驗,我們猜想裁剪策略的差異可能會導(dǎo)致他們的報告結(jié)果和我們重新實現(xiàn)的不同,由于在[42]中他們的原始圖像大小沒有說明,我們從一個相對較大的圖像中裁剪299×299區(qū)域(短邊被調(diào)整為352)SE-Inception-ResNet -v2(4.79%的top-5錯誤)比我們的重新實現(xiàn)的Inception-ResNet-v2(5.21%的top-5錯誤)高出報告的結(jié)果0.42%(相對改進了8.1%),符合報告中的結(jié)果。
通過使用VGG-16和BN-Inception架構(gòu)進行實驗,我們還評估了SE塊在非殘差網(wǎng)絡(luò)上運行時的效果。由于深度網(wǎng)絡(luò)難以優(yōu)化,為了便于VGG-16從無到有的訓(xùn)練,我們在每次卷積后都添加了一個批處理的歸一化層。我們將相同的方案應(yīng)用于訓(xùn)練SE-VGG-16。對比結(jié)果如表2所示,與殘差體系結(jié)構(gòu)中出現(xiàn)的現(xiàn)象相同。
最后,我們評估了兩個有代表性的高效架構(gòu),MobileNet和ShuffleNet,在表3中表明了SE塊能夠以最小的計算代價,大幅度地提高精度。這些實驗表明,由SE塊引起的改進可以與廣泛的體系結(jié)構(gòu)結(jié)合使用。此外,這一結(jié)果適用于剩余和非剩余地基。
表3:ImageNet驗證集的單次裁剪錯誤率(%)和復(fù)雜度比較。在這里,MobileNet指的是“1.0”
在和ShuffleNet中是指中的“ShuffleNet 1×(g = 3)”。
ILSVRC 2017分級競賽結(jié)果:SENet為我們贏得第一名的比賽奠定了基礎(chǔ)。我們的獲獎作品包括一小部分SENets,采用了標準的多尺度和多作物融合策略,在測試集中獲得了top-5的結(jié)果為2.251%的誤差。我們的一個高性能網(wǎng)絡(luò),我們稱之為SENet-154,是通過將SE塊與修改后的ResNeXt集成而構(gòu)建的(詳見補充資料),其目標是在不太強調(diào)模型復(fù)雜性的情況下達到盡可能高的精度。我們將其與表4中ImageNet驗證集上性能最好的已發(fā)布模型進行了比較。使用224×224中心切割評價,我們的模型獲得了在top-1是18.68%的誤差和top-5是4.47%的誤差。為了進行公平的比較,我們提供了一個320×320切割評估,和以前的工作相比展示了一個顯著的性能改進。比賽結(jié)束后,我們訓(xùn)練了輸入尺寸更大的(320×320)SENet-154網(wǎng)絡(luò)架構(gòu)。
320×320,在top-1的錯誤率為(16.88%)和top-5的錯誤度率為(3.58%)的情況下,都可以獲得較低的錯誤率。
表4:ImageNet驗證集上最先進的CNNs的單切割錯誤率。測試切割尺寸為224 × 224和320×320 / 299×299。?為切割較大的模型,331×331。?為賽后結(jié)果。SENet -154 (挑戰(zhàn)賽后)使用更大的輸入尺寸320×320進行訓(xùn)練,原輸入尺寸為224×224。
6.2 場景分類
我們在Places365-Challenge數(shù)據(jù)集上進行了場景分類的實驗。它包含了365個類別的800萬張訓(xùn)練圖像和36500張驗證圖像。相對于分類,場景理解的任務(wù)可以更好地評估模型的泛化能力和處理抽象的能力,因為它需要捕獲更復(fù)雜的數(shù)據(jù)關(guān)聯(lián)和對更大級別的外觀變化的健壯性。
我們使用ResNet-152作為強基線來評估SE塊的有效性,并遵循[37]中的培訓(xùn)和評估協(xié)議。ResNet - 152和SE - ResNet - 152的結(jié)果如表5所示。具體來說SE-ResNet -152(top-5的錯誤為11.01%)比ResNet-152(Top-5的錯誤占11.61%)的驗證錯誤更低,這證明SE塊可以在不同的數(shù)據(jù)集上執(zhí)行得很好。SENet超越了之前的最先進的模型-365-CNN在這個任務(wù)上的top-5的錯誤率11.48%。
表5:Places365驗證集的單次裁剪錯誤率(%)。
6.3 COCO上的目標檢測
我們使用COCO的數(shù)據(jù)集(包含80k訓(xùn)練圖像和40k驗證圖像)進一步評估SE塊在對象檢測任務(wù)中的泛化。我們使用更快的R-CNN作為檢測方法并且基本實現(xiàn)。這里,我們的目的是評估用SE-ResNet替換基礎(chǔ)架構(gòu)ResNet的好處,以便將改進歸因于更好的表示。表6顯示了分別在驗證集上使用ResNet-50、ResNet-101及其對應(yīng)的SE結(jié)構(gòu)的結(jié)果。SE-ResNet-50比ResNet-50更好,在 COCO的標準評價機制AP上SE-ResNet-50比ResNet-50高了5.2%,在AP@IoU=0.5上高了1.6%。重要的是,SE塊能夠使深層架構(gòu)ResNet-101增加0.7%(相對提高2.6%)在AP上。
表6:對象檢測結(jié)果對COCO 40k驗證集使用的基本更快的R-CNN。
6.4 分析和解釋
降低比 r r r:引入了還原比 r r r見等式(5),這是一個重要的超參數(shù),它允許我們改變模型中SE塊的容量和計算成本。為了研究這種關(guān)系,我們對不同 r r r值范圍內(nèi)的SE-ResNet-50進行了實驗。表7中的比較表明,性能不會隨著容量的增加而單調(diào)地提高。這可能是使SE塊過度適合訓(xùn)練集的通道依賴關(guān)系的結(jié)果。特別是我們發(fā)現(xiàn)設(shè)置 r = 16 r = 16 r=16在準確性和復(fù)雜性之間取得了很好的平衡,因此,我們在所有的實驗中都使用了這個值。
表7:ImageNet驗證集上的單一切割的錯誤率(%)和SE-ResNet-50在不同還原比 r r r下的參數(shù)大小。
激勵的作用:雖然SE塊已被經(jīng)驗證明可以改善網(wǎng)絡(luò)性能,但我們也想了解閘門激勵機制在實踐中是如何運作的。為了更清楚地描述SE塊的行為,在本節(jié)中,我們研究了SE- resnet -50模型中的示例激活,并研究了它們在不同塊中不同類的分布。具體來說,我們從ImageNet數(shù)據(jù)集中選取了四個具有語義和外觀多樣性的類,即金魚、狗、平面和懸崖(來自這些類的示例圖像以補充材料的形式顯示)。然后,我們從驗證集中為每個類抽取50個樣本,并計算每個階段(下采樣之前)最后一個SE塊中50個均勻采樣通道的平均激活度,并繪制它們的分布圖5所示。作為參考,我們還繪制了所有1000個類的平均激活分布。
圖5:在ImageNet上SE-ResNet-50的不同模塊中,由激勵引起的激活。模塊命名為“SE_stageID_blockID”。
我們對激發(fā)的作用做了以下三個觀察。首先,在較低的層中,不同類之間的分布幾乎相同,例如SE_2_3。這表明特征通道的重要性可能在網(wǎng)絡(luò)的早期階段由不同的類共享。然而,有趣的是,第二個觀察結(jié)果是,在更深的深度,每個通道的值變得更加具有類特異性,因為不同的類對特征的鑒別值表現(xiàn)出不同的偏好。
SE_4_6和SE_5_1。這兩個觀察結(jié)果與之前的工作結(jié)果一致[23,50],即較低層特征通常更一般(即在分類的上下文中不確定類別),而較高層特征具有更大的特異性。因此,表征學(xué)習(xí)受益于由SE塊引起的重新校準,自適應(yīng)地促進特征提取和專業(yè)化到需要的程度。最后,我們觀察到在網(wǎng)絡(luò)的最后階段有一些不同的現(xiàn)象。SE_5_2表現(xiàn)出一種有趣的飽和狀態(tài),其中大多數(shù)激活接近1,其余接近0。在所有激活取值1時,此塊將成為標準剩余塊。在SE_5_3網(wǎng)絡(luò)的末端(緊接著是分類器之前的全局池),在不同的類上出現(xiàn)了類似的模式,直到規(guī)模上的細微變化(可以由分類器進行調(diào)整)。這表明SE_5_2和SE_5_3在向網(wǎng)絡(luò)提供重新校準方面沒有以前的塊那么重要。這一發(fā)現(xiàn)與第4節(jié)的實證調(diào)查結(jié)果一致。這表明,通過刪除最后一階段的SE塊,可以顯著減少總體參數(shù)計數(shù),而性能損失很小。
七、 Conclusion
在本文中,我們提出了SE塊,這是一種新型的建筑單元,通過使網(wǎng)絡(luò)能夠進行動態(tài)的信道特征重校準來提高網(wǎng)絡(luò)的表示能力。大量的實驗證明了SENets在多個數(shù)據(jù)集上實現(xiàn)最新性能的有效性。此外,它們還提供了一些關(guān)于以前的架構(gòu)在對通道型特性依賴關(guān)系建模方面的局限性的見解,我們希望這些見解能夠被證明對其他需要強區(qū)分特性的任務(wù)有用。最后,由SE塊歸納出的特征重要性可能有助于網(wǎng)絡(luò)壓縮剪枝等相關(guān)領(lǐng)域的研究。
總結(jié)
以上是生活随笔為你收集整理的Squeeze-and-Excitation Networks(译)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: excel2016中怎么开启宏?exce
- 下一篇: unity vr自然灾害安全教育方案——