文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
聲明:作者翻譯論文僅為學習,如有侵權(quán)請聯(lián)系作者刪除博文,謝謝!
翻譯論文匯總:https://github.com/SnailTyan/deep-learning-papers-translation
Rethinking the Inception Architecture for Computer Vision
摘要
對許多任務而言,卷積網(wǎng)絡是目前最新的計算機視覺解決方案的核心。從2014年開始,深度卷積網(wǎng)絡開始變成主流,在各種基準數(shù)據(jù)集上都取得了實質(zhì)性成果。對于大多數(shù)任務而言,雖然增加的模型大小和計算成本都趨向于轉(zhuǎn)化為直接的質(zhì)量收益(只要提供足夠的標注數(shù)據(jù)去訓練),但計算效率和低參數(shù)計數(shù)仍是各種應用場景的限制因素,例如移動視覺和大數(shù)據(jù)場景。目前,我們正在探索增大網(wǎng)絡的方法,目標是通過適當?shù)姆纸饩矸e和積極的正則化來盡可能地有效利用增加的計算。我們在ILSVRC 2012分類挑戰(zhàn)賽的驗證集上評估了我們的方法,結(jié)果證明我們的方法超過了目前最先進的方法并取得了實質(zhì)性收益:對于單一框架評估錯誤率為:21.2% top-1和5.6% top-5,使用的網(wǎng)絡計算代價為每次推斷需要進行50億次乘加運算并使用不到2500萬的參數(shù)。通過四個模型組合和多次評估,我們報告了3.5% top-5和17.3% top-1的錯誤率。
1. 引言
從2012年Krizhevsky等人[9]贏得了ImageNet競賽[16]起,他們的網(wǎng)絡“AlexNet”已經(jīng)成功了應用到了許多計算機視覺任務中,例如目標檢測[5],分割[12],行人姿勢評估[22],視頻分類[8],目標跟蹤[23]和超分辨率[3]。
這些成功推動了一個新研究領域,這個領域主要專注于尋找更高效運行的卷積神經(jīng)網(wǎng)絡。從2014年開始,通過利用更深更寬的網(wǎng)絡,網(wǎng)絡架構(gòu)的質(zhì)量得到了明顯改善。VGGNet[18]和GoogLeNet[20]在2014 ILSVRC [16]分類挑戰(zhàn)上取得了類似的高性能。一個有趣的發(fā)現(xiàn)是在分類性能上的收益趨向于轉(zhuǎn)換成各種應用領域上的顯著質(zhì)量收益。這意味著深度卷積架構(gòu)上的架構(gòu)改進可以用來改善大多數(shù)越來越多地依賴于高質(zhì)量、可學習視覺特征的其它計算機視覺任務的性能。網(wǎng)絡質(zhì)量的改善也導致了卷積網(wǎng)絡在新領域的應用,在AlexNet特征不能與手工精心設計的解決方案競爭的情況下,例如,檢測時的候選區(qū)域生成[4]。
盡管VGGNet[18]具有架構(gòu)簡潔的強有力特性,但它的成本很高:評估網(wǎng)絡需要大量的計算。另一方面,GoogLeNet[20]的Inception架構(gòu)也被設計為在內(nèi)存和計算預算嚴格限制的情況下也能表現(xiàn)良好。例如,GoogleNet只使用了500萬參數(shù),與其前身AlexNet相比減少了12倍,AlexNet使用了6000萬參數(shù)。此外,VGGNet使用了比AlexNet大約多3倍的參數(shù)。
Inception的計算成本也遠低于VGGNet或其更高性能的后繼者[6]。這使得可以在大數(shù)據(jù)場景中[17],[13],在大量數(shù)據(jù)需要以合理成本處理的情況下或在內(nèi)存或計算能力固有地受限情況下,利用Inception網(wǎng)絡變得可行,例如在移動視覺設定中。通過應用針對內(nèi)存使用的專門解決方案[2],[15]或通過計算技巧優(yōu)化某些操作的執(zhí)行[10],可以減輕部分這些問題。但是這些方法增加了額外的復雜性。此外,這些方法也可以應用于優(yōu)化Inception架構(gòu),再次擴大效率差距。
然而,Inception架構(gòu)的復雜性使得更難以對網(wǎng)絡進行更改。如果單純地放大架構(gòu),大部分的計算收益可能會立即丟失。此外,[20]并沒有提供關于導致GoogLeNet架構(gòu)的各種設計決策的貢獻因素的明確描述。這使得它更難以在適應新用例的同時保持其效率。例如,如果認為有必要增加一些Inception模型的能力,將濾波器組大小的數(shù)量加倍的簡單變換將導致計算成本和參數(shù)數(shù)量增加4倍。這在許多實際情況下可能會被證明是禁止或不合理的,尤其是在相關收益適中的情況下。在本文中,我們從描述一些一般原則和優(yōu)化思想開始,對于以有效的方式擴展卷積網(wǎng)絡來說,這被證實是有用的。雖然我們的原則不局限于Inception類型的網(wǎng)絡,但是在這種情況下,它們更容易觀察,因為Inception類型構(gòu)建塊的通用結(jié)構(gòu)足夠靈活,可以自然地合并這些約束。這通過大量使用降維和Inception模塊的并行結(jié)構(gòu)來實現(xiàn),這允許減輕結(jié)構(gòu)變化對鄰近組件的影響。但是,對于這樣做需要謹慎,因為應該遵守一些指導原則來保持模型的高質(zhì)量。
2. 通用設計原則
這里我們將介紹一些具有卷積網(wǎng)絡的、具有各種架構(gòu)選擇的、基于大規(guī)模實驗的設計原則。在這一點上,以下原則的效用是推測性的,另外將來的實驗證據(jù)將對于評估其準確性和有效領域是必要的。然而,嚴重偏移這些原則往往會導致網(wǎng)絡質(zhì)量的惡化,修正檢測到的這些偏差狀況通常會導致改進的架構(gòu)。
避免表征瓶頸,尤其是在網(wǎng)絡的前面。前饋網(wǎng)絡可以由從輸入層到分類器或回歸器的非循環(huán)圖表示。這為信息流定義了一個明確的方向。對于分離輸入輸出的任何切口,可以訪問通過切口的信息量。應該避免極端壓縮的瓶頸。一般來說,在達到用于著手任務的最終表示之前,表示大小應該從輸入到輸出緩慢減小。理論上,信息內(nèi)容不能僅通過表示的維度來評估,因為它丟棄了諸如相關結(jié)構(gòu)的重要因素;維度僅提供信息內(nèi)容的粗略估計。
更高維度的表示在網(wǎng)絡中更容易局部處理。在卷積網(wǎng)絡中增加每個圖塊的激活允許更多解耦的特征。所產(chǎn)生的網(wǎng)絡將訓練更快。
空間聚合可以在較低維度嵌入上完成,而不會在表示能力上造成許多或任何損失。例如,在執(zhí)行更多展開(例如3×3)卷積之前,可以在空間聚合之前減小輸入表示的維度,沒有預期的嚴重不利影響。我們假設,如果在空間聚合上下文中使用輸出,則相鄰單元之間的強相關性會導致維度縮減期間的信息損失少得多。鑒于這些信號應該易于壓縮,因此尺寸減小甚至會促進更快的學習。
平衡網(wǎng)絡的寬度和深度。通過平衡每個階段的濾波器數(shù)量和網(wǎng)絡的深度可以達到網(wǎng)絡的最佳性能。增加網(wǎng)絡的寬度和深度可以有助于更高質(zhì)量的網(wǎng)絡。然而,如果兩者并行增加,則可以達到恒定計算量的最佳改進。因此,計算預算應該在網(wǎng)絡的深度和寬度之間以平衡方式進行分配。
雖然這些原則可能是有意義的,但并不是開箱即用的直接使用它們來提高網(wǎng)絡質(zhì)量。我們的想法是僅在不明確的情況下才明智地使用它們。
3. 基于大濾波器尺寸分解卷積
GoogLeNet網(wǎng)絡[20]的大部分初始收益來源于大量地使用降維。這可以被視為以計算有效的方式分解卷積的特例??紤]例如1×1卷積層之后接一個3×3卷積層的情況。在視覺網(wǎng)絡中,預期相近激活的輸出是高度相關的。因此,我們可以預期,它們的激活可以在聚合之前被減少,并且這應該會導致類似的富有表現(xiàn)力的局部表示。
在這里,我們將在各種設定中探索卷積分解的其它方法,特別是為了提高解決方案的計算效率。由于Inception網(wǎng)絡是全卷積的,每個權(quán)重對應每個激活的一次乘法。因此,任何計算成本的降低會導致參數(shù)數(shù)量減少。這意味著,通過適當?shù)姆纸猓覀兛梢缘玫礁嗟慕怦顓?shù),從而加快訓練。此外,我們可以使用計算和內(nèi)存節(jié)省來增加我們網(wǎng)絡的濾波器組的大小,同時保持我們在單個計算機上訓練每個模型副本的能力。
3.1. 分解到更小的卷積
具有較大空間濾波器(例如5×5或7×7)的卷積在計算方面往往不成比例地昂貴。例如,具有n個濾波器的5×5卷積在具有m個濾波器的網(wǎng)格上比具有相同數(shù)量的濾波器的3×3卷積的計算量高25/9=2.78倍。當然,5×5濾波器在更前面的層可以捕獲更遠的單元激活之間、信號之間的依賴關系,因此濾波器幾何尺寸的減小帶來了很大的表現(xiàn)力。然而,我們可以詢問5×5卷積是否可以被具有相同輸入尺寸和輸出深度的參數(shù)較小的多層網(wǎng)絡所取代。如果我們放大5×5卷積的計算圖,我們看到每個輸出看起來像一個小的完全連接的網(wǎng)絡,在其輸入上滑過5×5的塊(見圖1)。由于我們正在構(gòu)建視覺網(wǎng)絡,所以通過兩層的卷積結(jié)構(gòu)再次利用平移不變性來代替全連接的組件似乎是很自然的:第一層是3×3卷積,第二層是在第一層的3×3輸出網(wǎng)格之上的一個全連接層(見圖1)。通過在輸入激活網(wǎng)格上滑動這個小網(wǎng)絡,用兩層3×3卷積來替換5×5卷積(比較圖4和5)。

圖1。Mini網(wǎng)絡替換5×5卷積

圖4。[20]中描述的最初的Inception模塊.

圖5。Inception模塊中每個5×5卷積由兩個3×3卷積替換,正如第2小節(jié)中原則3建議的那樣。
該設定通過相鄰塊之間共享權(quán)重明顯減少了參數(shù)數(shù)量。為了分析預期的計算成本節(jié)省,我們將對典型的情況進行一些簡單的假設:我們可以假設$n=\alpha m$,也就是我們想通過常數(shù)$\alpha$因子來改變激活/單元的數(shù)量。由于5×5卷積是聚合的,$\alpha$通常比1略大(在GoogLeNet中大約是1.5)。用兩個層替換5×5層,似乎可以通過兩個步驟來實現(xiàn)擴展:在兩個步驟中通過$\sqrt \alpha$增加濾波器數(shù)量。為了簡化我們的估計,通過選擇$\alpha=1$(無擴展),如果我們單純地滑動網(wǎng)絡而不重新使用相鄰網(wǎng)格圖塊之間的計算,我們將增加計算成本?;瑒釉摼W(wǎng)絡可以由兩個3×3的卷積層表示,其重用相鄰圖塊之間的激活。這樣,我們最終得到一個計算量減少到$\frac {9+9} {25} ×$的網(wǎng)絡,通過這種分解導致了28%的相對增益。每個參數(shù)在每個單元的激活計算中只使用一次,所以參數(shù)計數(shù)具有完全相同的節(jié)約。不過,這個設置提出了兩個一般性的問題:這種替換是否會導致任何表征力的喪失?如果我們的主要目標是對計算的線性部分進行分解,是不是建議在第一層保持線性激活?我們已經(jīng)進行了幾個控制實驗(例如參見圖2),并且在分解的所有階段中使用線性激活總是遜于使用修正線性單元。我們將這個收益歸因于網(wǎng)絡可以學習的增強的空間變化,特別是如果我們對輸出激活進行批標準化[7]。當對維度減小組件使用線性激活時,可以看到類似的效果。

圖2。兩個Inception模型間幾個控制實驗中的一個,其中一個分解為線性層+ ReLU層,另一個使用兩個ReLU層。在三億八千六百萬次運算后,在驗證集上前者達到了76.2% top-1準確率,后者達到了77.2% top-1的準確率。
3.2. 空間分解為不對稱卷積
上述結(jié)果表明,大于3×3的卷積濾波器可能不是通常有用的,因為它們總是可以簡化為3×3卷積層序列。我們?nèi)匀豢梢詥栠@個問題,是否應該把它們分解成更小的,例如2×2的卷積。然而,通過使用非對稱卷積,可以做出甚至比2×2更好的效果,即n×1。例如使用3×1卷積后接一個1×3卷積,相當于以與3×3卷積相同的感受野滑動兩層網(wǎng)絡(參見圖3)。如果輸入和輸出濾波器的數(shù)量相等,那么對于相同數(shù)量的輸出濾波器,兩層解決方案便宜33%。相比之下,將3×3卷積分解為兩個2×2卷積表示僅節(jié)省了11%的計算量。

圖3。替換3×3卷積的Mini網(wǎng)絡。網(wǎng)絡的更低層由帶有3個輸出單元的3×1構(gòu)成。
在理論上,我們可以進一步論證,可以通過1×n卷積和后面接一個n×1卷積替換任何n×n卷積,并且隨著n增長,計算成本節(jié)省顯著增加(見圖6)。實際上,我們發(fā)現(xiàn),采用這種分解在前面的層次上不能很好地工作,但是對于中等網(wǎng)格尺寸(在m×m特征圖上,其中m范圍在12到20之間),其給出了非常好的結(jié)果。在這個水平上,通過使用1×7卷積,然后是7×1卷積可以獲得非常好的結(jié)果。

圖6。n×n卷積分解后的Inception模塊。在我們提出的架構(gòu)中,對17×17的網(wǎng)格我們選擇n=7。(濾波器尺寸可以通過原則3選擇)
4. 利用輔助分類器
[20]引入了輔助分類器的概念,以改善非常深的網(wǎng)絡的收斂。最初的動機是將有用的梯度推向較低層,使其立即有用,并通過抵抗非常深的網(wǎng)絡中的消失梯度問題來提高訓練過程中的收斂。Lee等人[11]也認為輔助分類器促進了更穩(wěn)定的學習和更好的收斂。有趣的是,我們發(fā)現(xiàn)輔助分類器在訓練早期并沒有導致改善收斂:在兩個模型達到高精度之前,有無側(cè)邊網(wǎng)絡的訓練進度看起來幾乎相同。接近訓練結(jié)束,輔助分支網(wǎng)絡開始超越?jīng)]有任何分支的網(wǎng)絡的準確性,達到了更高的穩(wěn)定水平。
另外,[20]在網(wǎng)絡的不同階段使用了兩個側(cè)分支。移除更下面的輔助分支對網(wǎng)絡的最終質(zhì)量沒有任何不利影響。再加上前一段的觀察結(jié)果,這意味著[20]最初的假設,這些分支有助于演變低級特征很可能是不適當?shù)摹O喾?,我們認為輔助分類器起著正則化項的作用。這是由于如果側(cè)分支是批標準化的[7]或具有丟棄層,則網(wǎng)絡的主分類器性能更好。這也為推測批標準化作為正則化項給出了一個弱支持證據(jù)。
5. 有效的網(wǎng)格尺寸減少
傳統(tǒng)上,卷積網(wǎng)絡使用一些池化操作來縮減特征圖的網(wǎng)格大小。為了避免表示瓶頸,在應用最大池化或平均池化之前,需要擴展網(wǎng)絡濾波器的激活維度。例如,開始有一個帶有$k$個濾波器的$d \times d$網(wǎng)格,如果我們想要達到一個帶有$2k$個濾波器的$\fracu0z1t8os{2}\times \fracu0z1t8os{2}$網(wǎng)格,我們首先需要用$2k$個濾波器計算步長為1的卷積,然后應用一個額外的池化步驟。這意味著總體計算成本由在較大的網(wǎng)格上使用$2d2k2$次運算的昂貴卷積支配。一種可能性是轉(zhuǎn)換為帶有卷積的池化,因此導致$2(\fracu0z1t8os{2})2k2$次運算,將計算成本降低為原來的四分之一。然而,由于表示的整體維度下降到$(\fracu0z1t8os{2})^2k$,會導致表示能力較弱的網(wǎng)絡(參見圖9),這會產(chǎn)生一個表示瓶頸。我們建議另一種變體,其甚至進一步降低了計算成本,同時消除了表示瓶頸(見圖10),而不是這樣做。我們可以使用兩個平行的步長為2的塊:$P$和$C$。$P$是一個池化層(平均池化或最大池化)的激活,兩者都是步長為$2$,其濾波器組連接如圖10所示。

圖9。減少網(wǎng)格尺寸的兩種替代方式。左邊的解決方案違反了第2節(jié)中不引入表示瓶頸的原則1。右邊的版本計算量昂貴3倍。

圖10。縮減網(wǎng)格尺寸的同時擴展濾波器組的Inception模塊。它不僅廉價并且避免了原則1中提出的表示瓶頸。右側(cè)的圖表示相同的解決方案,但是從網(wǎng)格大小而不是運算的角度來看。
6. Inception-v2
在這里,我們連接上面的點,并提出了一個新的架構(gòu),在ILSVRC 2012分類基準數(shù)據(jù)集上提高了性能。我們的網(wǎng)絡布局在表1中給出。注意,基于與3.1節(jié)中描述的同樣想法,我們將傳統(tǒng)的$7 \times 7$卷積分解為3個$3\times 3$卷積。對于網(wǎng)絡的Inception部分,我們在$ 35 \times 35$處有$3$個傳統(tǒng)的Inception模塊,每個模塊有$288$個濾波器。使用第5節(jié)中描述的網(wǎng)格縮減技術,這將縮減為$17\times 17$的網(wǎng)格,具有$768$個濾波器。這之后是圖5所示的$5$個分解的Inception模塊實例。使用圖10所示的網(wǎng)格縮減技術,這被縮減為$8 \times 8 \times 1280$的網(wǎng)格。在最粗糙的$8 \times 8$級別,我們有兩個如圖6所示的Inception模塊,每個塊連接的輸出濾波器組的大小為2048。網(wǎng)絡的詳細結(jié)構(gòu),包括Inception模塊內(nèi)濾波器組的大小,在補充材料中給出,在提交的tar文件中的model.txt中給出。然而,我們已經(jīng)觀察到,只要遵守第2節(jié)的原則,對于各種變化網(wǎng)絡的質(zhì)量就相對穩(wěn)定。雖然我們的網(wǎng)絡深度是$42$層,但我們的計算成本僅比GoogLeNet高出約$2.5$倍,它仍比VGGNet要高效的多。

表1。提出的網(wǎng)絡架構(gòu)的輪廓。每個模塊的輸出大小是下一模塊的輸入大小。我們正在使用圖10所示的縮減技術的變種,以縮減應用時Inception塊間的網(wǎng)格大小。我們用0填充標記了卷積,用于保持網(wǎng)格大小。這些Inception模塊內(nèi)部也使用0填充,不會減小網(wǎng)格大小。所有其它層不使用填充。選擇各種濾波器組大小來觀察第2節(jié)的原理4。

圖7。具有擴展的濾波器組輸出的Inception模塊。這種架構(gòu)被用于最粗糙的($8 \times 8$)網(wǎng)格,以提升高維表示,如第2節(jié)原則2所建議的那樣。我們僅在最粗的網(wǎng)格上使用了此解決方案,因為這是產(chǎn)生高維度的地方,稀疏表示是最重要的,因為與空間聚合相比,局部處理($1 \times 1$ 卷積)的比率增加。

圖8。最后$17 \times 17$層之上的輔助分類器。 側(cè)頭中的層的批標準化[7]導致top-1 0.4%的絕對收益。下軸顯示執(zhí)行的迭代次數(shù),每個批次大小為32。
7. 通過標簽平滑進行模型正則化
我們提出了一種通過估計訓練期間標簽丟棄的邊緣化效應來對分類器層進行正則化的機制。
對于每個訓練樣本$x$,我們的模型計算每個標簽的概率$k\in \lbrace 1\ldots K \rbrace$: $p(k|x) = \frac{\exp(z_k)}{\sum_{i=1}^K \exp(z_i)}$。這里,$z_i$是對數(shù)單位或未歸一化的對數(shù)概率??紤]這個訓練樣本在標簽上的實際分布$q(k|x)$,因此歸一化后$\sum_k q(k|x) = 1$。為了簡潔,我們省略$p$和$q$對樣本$x$的依賴。我們將樣本損失定義為交叉熵:$\ell = -\sum_{k=1}^K \log(p(k)) q(k)$。最小化交叉熵等價于最大化標簽對數(shù)似然期望,其中標簽是根據(jù)它的實際分布$q(k)$選擇的。交叉熵損失對于$z_k$是可微的,因此可以用來進行深度模型的梯度訓練。其梯度有一個更簡單的形式:$\frac{\partial\ell}{\partial z_k} = p(k) - q(k)$,它的范圍在$-1$到$1$之間。
考慮單個真實標簽$y$的例子,對于所有$k\neq y$,有$q(y)=1$,$q(k)=0$。在這種情況下,最小化交叉熵等價于最大化正確標簽的對數(shù)似然。對于一個特定的樣本$x$,其標簽為$y$,對于$q(k)= \delta_{k,y}$,最大化其對數(shù)概率,$\delta_{k,y}$為狄拉克δ函數(shù),當且僅當$k=y$時,δ函數(shù)值為1,否則為0。對于有限的$z_k$,不能取得最大值,但對于所有$k\neq y$,如果$z_y\gg z_k$——也就是說,如果對應實際標簽的邏輯單元遠大于其它的邏輯單元,那么對數(shù)概率會接近最大值。然而這可能會引起兩個問題。首先,它可能導致過擬合:如果模型學習到對于每一個訓練樣本,分配所有概率到實際標簽上,那么它不能保證泛化能力。第二,它鼓勵最大的邏輯單元與所有其它邏輯單元之間的差距變大,與有界限的梯度$\frac{\partial\ell}{\partial z_k}$相結(jié)合,這會降低模型的適應能力。直觀上講這會發(fā)生,因為模型變得對它的預測過于自信。
我們提出了一個鼓勵模型不那么自信的機制。如果目標是最大化訓練標簽的對數(shù)似然,這可能不是想要的,但它確實使模型正規(guī)化并使其更具適應性。這個方法很簡單??紤]標簽$u(k)$的分布和平滑參數(shù)$\epsilon$,與訓練樣本$x$相互獨立。對于一個真實標簽為$y$的訓練樣本,我們用$$q'(k|x) = (1-\epsilon) \delta_{k,y} + \epsilon u(k)$$代替標簽分布$q(k|x)=\delta_{k,y}$,其由最初的實際分布$q(k|x)$和固定分布$u(k)$混合得到,它們的權(quán)重分別為$1-\epsilon$和$\epsilon$。這可以看作獲得標簽$k$的分布如下:首先,將其設置為真實標簽$k=y$;其次,用分布$u(k)$中的采樣和概率$\epsilon$替代$k$。我們建議使用標簽上的先驗分布作為$u(k)$。在我們的實驗中,我們使用了均勻分布$u(k) = 1/K$,以便使得$$q'(k) = (1-\epsilon) \delta_{k,y} + \frac{\epsilon}{K}.$$我們將真實標簽分布中的這種變化稱為標簽平滑正則化,或LSR。
注意,LSR實現(xiàn)了期望的目標,阻止了最大的邏輯單元變得比其它的邏輯單元更大。實際上,如果發(fā)生這種情況,則一個$q(k)$將接近$1$,而所有其它的將會接近$0$。這會導致$q'(k)$有一個大的交叉熵,因為不同于$q(k)=\delta_{k,y}$,所有的$q'(k)$都有一個正的下界。
LSR的另一種解釋可以通過考慮交叉熵來獲得:$$H(q',p) = -\sum_{k=1}^K \log p(k) q'(k) = (1-\epsilon)H(q, p) + \epsilon H(u, p)$$因此,LSR等價于用一對這樣的損失$H(q,p)$和$H(u,p)$來替換單個交叉熵損失$H(q,p)$。第二個損失懲罰預測的標簽分布$p$與先驗$u$之間的偏差,其中相對權(quán)重為$\frac{\epsilon}{1-\epsilon}$。注意,由于$H(u,p) = D_{KL}(u|p) + H(u)$和$H(u)$是固定的,因此這個偏差可以等價地被KL散度捕獲。當$u$是均勻分布時,$H(u,p)$是度量預測分布$p$與均勻分布不同的程度,也可以通過負熵$-H(p)$來度量(但不等價);我們還沒有實驗過這種方法。
在我們的$K=1000$類的ImageNet實驗中,我們使用了$u(k) = 1/1000$和$\epsilon=0.1$。對于ILSVRC 2012,我們發(fā)現(xiàn)對于top-1錯誤率和top-5錯誤率,持續(xù)提高了大約$0.2%$(參見表3)。

表3。單張裁剪圖像的實驗結(jié)果,比較各種影響因素的累積影響。我們將我們的數(shù)據(jù)與Ioffe等人[7]發(fā)布的單張裁剪圖像的最好推斷結(jié)果進行了比較。在“Inception-v2”行,變化是累積的并且接下來的每一行都包含除了前面的變化之外的新變化。最后一行是所有的變化,我們稱為“Inception-v3”。遺憾的是,He等人[6]僅報告了10個裁剪圖像的評估結(jié)果,但沒有單張裁剪圖像的結(jié)果,報告在下面的表4中。

表4。單模型,多裁剪圖像的實驗結(jié)果,比較各種影響因素的累積影響。我們將我們的數(shù)據(jù)與ILSVRC 2012分類基準中發(fā)布的最佳單模型推斷結(jié)果進行了比較。
8. 訓練方法
我們在TensorFlow[1]分布式機器學習系統(tǒng)上使用隨機梯度方法訓練了我們的網(wǎng)絡,使用了$50$個副本,每個副本在一個NVidia Kepler GPU上運行,批處理大小為$32$,$100$個epoch。我們之前的實驗使用動量方法[19],衰減值為$0.9$,而我們最好的模型是用RMSProp [21]實現(xiàn)的,衰減值為$0.9$,$\epsilon=1.0$。我們使用$0.045$的學習率,每兩個epoch以$0.94$的指數(shù)速率衰減。此外,閾值為$2.0$的梯度裁剪[14]被發(fā)現(xiàn)對于穩(wěn)定訓練是有用的。使用隨時間計算的運行參數(shù)的平均值來執(zhí)行模型評估。
9. 低分辨率輸入上的性能
視覺網(wǎng)絡的典型用例是用于檢測的后期分類,例如在Multibox [4]上下文中。這包括分析在某個上下文中包含單個對象的相對較小的圖像塊。任務是確定圖像塊的中心部分是否對應某個對象,如果是,則確定該對象的類別。這個挑戰(zhàn)的是對象往往比較小,分辨率低。這就提出了如何正確處理低分辨率輸入的問題。
普遍的看法是,使用更高分辨率感受野的模型傾向于導致顯著改進的識別性能。然而,區(qū)分第一層感受野分辨率增加的效果和較大的模型容量、計算量的效果是很重要的。如果我們只是改變輸入的分辨率而不進一步調(diào)整模型,那么我們最終將使用計算上更便宜的模型來解決更困難的任務。當然,由于減少了計算量,這些解決方案很自然就出來了。為了做出準確的評估,模型需要分析模糊的提示,以便能夠“幻化”細節(jié)。這在計算上是昂貴的。因此問題依然存在:如果計算量保持不變,更高的輸入分辨率會有多少幫助。確保不斷努力的一個簡單方法是在較低分辨率輸入的情況下減少前兩層的步長,或者簡單地移除網(wǎng)絡的第一個池化層。
為了這個目的我們進行了以下三個實驗:
- 步長為$2$,大小為$299\times 299$的感受野和最大池化。
- 步長為$1$,大小為$151\times 151$的感受野和最大池化。
- 步長為$1$,大小為$79\times 79$的感受野和第一層之后沒有池化。
所有三個網(wǎng)絡具有幾乎相同的計算成本。雖然第三個網(wǎng)絡稍微便宜一些,但是池化層的成本是無足輕重的(在總成本的$1\%$以內(nèi))。在每種情況下,網(wǎng)絡都進行了訓練,直到收斂,并在ImageNet ILSVRC 2012分類基準數(shù)據(jù)集的驗證集上衡量其質(zhì)量。結(jié)果如表2所示。雖然分辨率較低的網(wǎng)絡需要更長時間去訓練,但最終結(jié)果卻與較高分辨率網(wǎng)絡的質(zhì)量相當接近。

表2。當感受野尺寸變化時,識別性能的比較,但計算代價是不變的。
但是,如果只是單純地按照輸入分辨率減少網(wǎng)絡尺寸,那么網(wǎng)絡的性能就會差得多。然而,這將是一個不公平的比較,因為我們將在比較困難的任務上比較一個便宜16倍的模型。
表2的這些結(jié)果也表明,有人可能會考慮在R-CNN [5]的上下文中對更小的對象使用專用的高成本低分辨率網(wǎng)絡。
10. 實驗結(jié)果和比較
表3顯示了我們提出的體系結(jié)構(gòu)(Inception-v2)識別性能的實驗結(jié)果,架構(gòu)如第6節(jié)所述。每個Inception-v2行顯示了累積變化的結(jié)果,包括突出顯示的新修改加上所有先前修改的結(jié)果。標簽平滑是指在第7節(jié)中描述的方法。分解的$7\times 7$包括將第一個$7\times 7$卷積層分解成$3\times 3$卷積層序列的改變。BN-auxiliary是指輔助分類器的全連接層也批標準化的版本,而不僅僅是卷積。我們將表3最后一行的模型稱為Inception-v3,并在多裁剪圖像和組合設置中評估其性能。
我們所有的評估都在ILSVRC-2012驗證集上的48238個非黑名單樣本中完成,如[16]所示。我們也對所有50000個樣本進行了評估,結(jié)果在top-5錯誤率中大約為$0.1%$,在top-1錯誤率中大約為$0.2%$。在本文即將出版的版本中,我們將在測試集上驗證我們的組合結(jié)果,但是我們上一次對BN-Inception的春季測試[7]表明測試集和驗證集錯誤趨于相關性很好。
11. 結(jié)論
我們提供了幾個設計原則來擴展卷積網(wǎng)絡,并在Inception體系結(jié)構(gòu)的背景下進行研究。這個指導可以導致高性能的視覺網(wǎng)絡,與更簡單、更單一的體系結(jié)構(gòu)相比,它具有相對適中的計算成本。Inception-v3的最高質(zhì)量版本在ILSVR 2012分類上的單裁剪圖像評估中達到了$21.2\%$的top-1錯誤率和$5.6\%$的top-5錯誤率,達到了新的水平。與Ioffe等[7]中描述的網(wǎng)絡相比,這是通過增加相對適中($2.5/times$)的計算成本來實??現(xiàn)的。盡管如此,我們的解決方案所使用的計算量比基于更密集網(wǎng)絡公布的最佳結(jié)果要少得多:我們的模型比He等[6]的結(jié)果更好——將top-5(top-1)的錯誤率相對分別減少了$25%$ ($14%$),然而在計算代價上便宜了六倍,并且使用了至少減少了五倍的參數(shù)(估計值)。我們的四個Inception-v3模型的組合效果達到了$3.5\%$,多裁剪圖像評估達到了$3.5\%$的top-5的錯誤率,這相當于比最佳發(fā)布的結(jié)果減少了$25\%$以上,幾乎是ILSVRC 2014的冠軍GoogLeNet組合錯誤率的一半。
我們還表明,可以通過感受野分辨率為$79\times 79$的感受野取得高質(zhì)量的結(jié)果。這可能證明在檢測相對較小物體的系統(tǒng)中是有用的。我們已經(jīng)研究了在神經(jīng)網(wǎng)絡中如何分解卷積和積極降維可以導致計算成本相對較低的網(wǎng)絡,同時保持高質(zhì)量。較低的參數(shù)數(shù)量、額外的正則化、批標準化的輔助分類器和標簽平滑的組合允許在相對適中大小的訓練集上訓練高質(zhì)量的網(wǎng)絡。
References
[1] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, S. Ghemawat, I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser, M. Kudlur, J. Levenberg, D. Mane ?, R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, P. Tucker, V. Vanhoucke, V. Vasudevan, F. Vie ?gas, O. Vinyals, P. Warden, M. Wattenberg, M. Wicke, Y. Yu, and X. Zheng. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015. Software available from tensorflow.org.
[2] W. Chen, J. T. Wilson, S. Tyree, K. Q. Weinberger, and Y. Chen. Compressing neural networks with the hashing trick. In Proceedings of The 32nd International Conference on Machine Learning, 2015.
[3] C. Dong, C. C. Loy, K. He, and X. Tang. Learning a deep convolutional network for image super-resolution. In Computer Vision–ECCV 2014, pages 184–199. Springer, 2014.
[4] D.Erhan,C.Szegedy,A.Toshev,andD.Anguelov.Scalable object detection using deep neural networks. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 2155–2162. IEEE, 2014.
[5] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014.
[6] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification. arXiv preprint arXiv:1502.01852, 2015.
[7] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proceedings of The 32nd International Conference on Machine Learning, pages 448–456, 2015.
[8] A.Karpathy,G.Toderici,S.Shetty,T.Leung,R.Sukthankar, and L. Fei-Fei. Large-scale video classification with convolutional neural networks. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 1725–1732. IEEE, 2014.
[9] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[10] A. Lavin. Fast algorithms for convolutional neural networks. arXiv preprint arXiv:1509.09308, 2015.
[11] C.-Y.Lee,S.Xie,P.Gallagher,Z.Zhang,andZ.Tu.Deeply-supervised nets. arXiv preprint arXiv:1409.5185, 2014.
[12] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3431–3440, 2015.
[13] Y. Movshovitz-Attias, Q. Yu, M. C. Stumpe, V. Shet, S. Arnoud, and L. Yatziv. Ontological supervision for fine grained classification of street view storefronts. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1693–1702, 2015.
[14] R. Pascanu, T. Mikolov, and Y. Bengio. On the difficulty of training recurrent neural networks. arXiv preprint arXiv:1211.5063, 2012.
[15] D. C. Psichogios and L. H. Ungar. Svd-net: an algorithm that automatically selects network structure. IEEE transactions on neural networks/a publication of the IEEE Neural Networks Council, 5(3):513–515, 1993.
[16] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet large scale visual recognition challenge. 2014.
[17] F. Schroff, D. Kalenichenko, and J. Philbin. Facenet: A unified embedding for face recognition and clustering. arXiv preprint arXiv:1503.03832, 2015.
[18] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
[19] I. Sutskever, J. Martens, G. Dahl, and G. Hinton. On the importance of initialization and momentum in deep learning. In Proceedings of the 30th
International Conference on Machine Learning (ICML-13), volume 28, pages 1139–1147. JMLR Workshop and Conference Proceedings, May 2013.
[20] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1–9, 2015.
[21] T. Tieleman and G. Hinton. Divide the gradient by a running average of its recent magnitude. COURSERA: Neural Networks for Machine Learning, 4, 2012. Accessed: 2015-11-05.
[22] A. Toshev and C. Szegedy. Deeppose: Human pose estimation via deep neural networks. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 1653–1660. IEEE, 2014.
[23] N. Wang and D.-Y. Yeung. Learning a deep compact image representation for visual tracking. In Advances in Neural Information Processing Systems, pages 809–817, 2013.