Inception系列之Inception_v2-v3

Inception系列之Inception_v1html

Inception系列之Batch-Normalization
git

引言:網絡

    Inception_v2和Inception_v3是在同一篇論文中,提出BN的論文並非Inception_v2。二者的區別在於《Rethinking the Inception Architecture for Computer Vision》這篇論文裏提到了多種設計和改進技術,使用其中某部分結構和改進技術的是Inception_v2, 所有使用了的是Inception_v3。函數

 

模型設計原則性能

 

    Inception_v1結構因爲比較複雜,很難在其基礎上有所改變,若是隨意更改其結構,則很容易直接喪失一部分計算收益。同時,Inception_v1論文中沒有詳細各個決策設計的因素的描述,這使得它很難去簡單調整以便適應一些新的應用。爲此,Inception_v2論文裏詳細介紹了以下的設計基本原則,並基於這些原則提出了一些新的結構。學習

 

    1.避免表示瓶頸,特別是在網絡的淺層。一個前向網絡每層表示的尺寸應該是從輸入到輸出逐漸變小的。(當尺寸不是這種變化時就會出現瓶頸)設計

 

    2.高維度的表示很容易在網絡中處理,增長激活函數的次數會更容易解析特徵,也會使網絡訓練的更快。(這條原則的意思是表示維度越高,越適合用網絡來處理,像二維平面上的數據分類反而就不適合用網絡來處理,增長激活函數的次數會使得網絡更容易學到其表示特徵)orm

 

    3. 能夠在較低維的嵌入上進行空間聚合,而不會損失不少表示能力。例如,在執行更分散(例如3×3)的卷積以前,能夠在空間彙集以前(淺層)減少輸入表示的尺寸,而不會出現嚴重的不利影響。咱們假設這樣作的緣由是,若是在空間聚合環境中(中高層)使用輸出,則相鄰單元之間的強相關性會致使在尺寸縮減期間信息損失少得多。鑑於這些信號應易於壓縮,所以減少尺寸甚至能夠促進更快的學習。htm

 

    4. 平衡網絡的寬度和深度。經過平衡每一個階段的濾波器數量和網絡深度,能夠達到網絡的最佳性能。增長網絡的寬度和深度能夠有助於提升網絡質量。可是,若是並行增長二者,則能夠達到恆定計算量的最佳改進。所以,應在網絡的深度和寬度之間以平衡的方式分配計算預算。blog

 

一些特殊的結構

01  卷積分解

    一個5x5的卷積核可經過兩個連續的3x3卷積核來代替,其中第一個是正常的3x3卷積,第二個卷積是在上一層3x3卷積的基礎上進行全鏈接。這樣作的好處是既實現了5x5卷積該有的感覺野,又實現了更小的參數2x9/25,大概縮小了28%。具體以下左圖fig1所示。更進一步,採用非對稱分解,將一個3x3的卷積分解爲3x1和1x3。具體以下右圖fig2.

 

   所以原來的Inception結構(左圖fig3)就能夠變成以下所示的結構(中圖fig5)和(右圖fig6)。

 

    最終還衍生出了以下圖所示(fig7)一種混合兩種分解方式的結構。

    在實際應用中,使用這樣的分解結構在網絡低層的效果並很差。它在中等尺寸大小(mxm的feature map 其中m在12到20範圍內)的層中會有比較好的效果。這是考慮到第二條原則,這樣的Inception結構將會放在網絡中間層,而在網絡低層仍然使用通常卷積網絡的結構。

 

02  輔助分類器的效用

    輔助分類器在訓練的前期並無起什麼做用,到了訓練的後期纔開始在精度上超過沒有輔助分類器的網絡,並達到稍微高的平穩期。而且,在去除這兩個輔助分類器後並無不利的影響,所以在Inception_v1中提到的幫助低層網絡更快訓練的觀點是有問題的。若是這兩個分支有BN或Dropout,主分類器的效果會更好,這是BN可充當正則化器的一個微弱證據。

 

03  高效下降Grid Size

    關於下降Grid Size大小的方式,有如上圖所示兩種作法。左邊這種違背了第一條原則,即尺寸應該逐層遞減,不然會出現bottleneck。右圖符合第一條原則,然而這樣參數量巨大。爲此做者提出了一種以下圖(fig10)所示的新方式。即並行操做,利用步長都爲2的卷積和池化操做,在不違背第一條原則的基礎上實現下降Grid Size。

    完整的Inception_v2結構圖以下:

    整個結構中都沒有用到padding, 提出的fig10結構用在了中間每一個Inception模塊之間。

 

04

經過標籤平滑化的模型正則化

    若是模型在訓練過程當中學習使得所有機率值給ground truth標籤,或者使得最大的Logit輸出值與其餘的值差異儘量地大,直觀來講就是模型預測的時候更自信,這樣將會出現過擬合,不能保證泛化能力。所以標籤平滑化頗有必要。

    前面的δk,y 是狄拉克函數,即類別k = y,即爲1,不然爲0。本來的標籤向量q(k|x) = δk,y。而標籤平滑化後的標籤向量變爲以下公式。

    這裏的∈爲超參數,u(k)取1/k,k表示類別數。即新的標籤向量(假定是三分類)將變爲(∈/3, ∈/3, 1-2∈/3 ),而原來的標籤向量是(0,0,1)。

結論

    實際效果如圖所示,在這裏說明Inception_v2與Inception_v3的區別,Inception_v2指的是使用了Label Smoothing 或BN-auxiliary或RMSProp或Factorized技術中的一種或多種的Inception模塊。而Inception_v3指的是這些技術全用了的Inception模塊。

 

若有錯誤或不合理之處,歡迎在評論中指正。

歡迎關注公衆號「CV技術指南」,主要進行計算機視覺方向的論文解讀,最新技術跟蹤,以及CV技術的總結。

 

相關文章
相關標籤/搜索