《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》
- 2016,Google,Inception V4,Inception ResNet V1、V2
Inception結構有着良好的性能,且計算量低。Residual connection不同于傳統網絡結構,且在2015 ILSVRC取得冠軍,它的性能和Inception-v3接近。作者嘗試将Inception結構和Residual connection結合,同時也設計了不用Residual connection版本的Inception-v4。通過對三個殘差和一個Inception-v4進行組合,在top-5錯誤率上達到了 3.08%。
1.相關工作:
卷積網絡在圖像識别領域已經十分流行,經典網絡有AlexNet、VGGNet、GoogLeNet等。Residual connection的提出是用于訓練更深的網絡,但是作者發現不使用Residual connection也可以訓練更深的網絡。Residual connection并不是必要條件,隻是使用了Residual connection會加快訓練速度。
Inception結構最初由GoogLeNet引入,GoogLeNet叫做Inception-v1;之後引入了BatchNormalization,叫做Inception-v2;随後引入分解,叫做Inception-v3。
2.網絡架構:
Inception-v4網絡,對于Inception塊的每個網格大小進行了統一。
下圖是Inception-v4的結構:所有圖中沒有标記“V”的卷積使用same的填充原則,即其輸出網格與輸入的尺寸正好比對。使用“V”标記的卷積使用valid的填充原則,意即每個單元輸入塊全部包含在前幾層中,同時輸出激活圖(output activation map)的網格尺寸也相應會減少。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9kFVPhXRE5ENNRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO1MDM0EDN3AzMxYDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Stem子產品為:
Inception-v4網絡35×35網格的架構(對應圖中Inception-A塊):
Inception-v4網絡17×17網格塊的架構(對應圖中Inception-B塊):
Inception-v4網絡的8×8網格子產品的架構(對應圖中Inception-C塊):
不同的Inception子產品的連接配接,減小了feature map,卻增加了filter bank。
35x35變為17x17子產品,即Reduction-A :
17x17變為8x8子產品,即Reduction-B :
Inception-ResNet
我們嘗試了殘差Inception的幾個版本。這裡對其中的兩個進行具體細節展示。第一個是“Inception-ResNet-v1”,計算代價跟Inception-v3大緻相同,第二個“Inception-ResNet-v2”的計算代價跟Inception-v4網絡基本相同。
Inception-ResNet的兩個版本,結構基本相同,隻是細節不同。整體結構為:
Inception-ResNet-v1和Inception-ResNet-v2對應的stem子產品為:
注:Inception-ResNet-v2和Inception-v4使用相同的Stem子產品
Inception-ResNet-v1的Stem子產品:
Inception-ResNet-v1和Inception-ResNet-v2對應的Inception-resnet-A子產品為:
Inception-ResNet-v1和Inception-ResNet-v2對應的Inception-resnet-B子產品為:
Inception-ResNet-v1和Inception-ResNet-v2對應的Inception-resnet-C子產品為:
注:Inception-ResNet-v1和Inception-ResNet-v2對應的3535to1717的reduction子產品同Inception v4一樣。
Inception-ResNet-v1和Inception-ResNet-v2對應的17x17變為8x8子產品,即Reduction-B:
Inception-ResNet的stem子產品和Reduction-B子產品也略微不同。Inception-ResNet-v1和Inception-ResNet-v2主要在于Reduction-A結構不同:
其中k,l,m,n表示filter bank size。
3.對殘差子產品的縮放
我們發現,如果濾波器數量超過1000,殘差網絡開始出現不穩定,同時網絡會在訓練過程早期便會出現“死亡”,意即經過成千上萬次疊代,在平均池化(average pooling) 之前的層開始隻生成0。通過降低學習率,或增加額外的batch-normalizatioin都無法避免這種狀況。
我們發現,在将殘差子產品添加到activation激活層之前,對其進行放縮能夠穩定訓練。通常來說,我們将殘差放縮因子定在0.1到0.3。
注:He在訓練Residual Net時也發現這個問題,提出了“two phase”訓練。首先“warm up”,使用較小的學習率。接着再使用較大的學習率。
縮放子產品僅僅适用于最後的線性激活。
4.實驗結果
在驗證集上各種結構的單個模型以及單次裁剪的top-1和top-5錯誤率。
5.結論
本文詳細呈現了三種新的網絡結構:
(1)Inception-ResNet-v1:混合Inception版本,它的計算效率同Inception-v3;
(2)Inception-ResNet-v2:更加昂貴的混合Inception版本,同明顯改善了識别性能;
(3)Inception-v4:沒有殘差連結的純淨Inception變種,性能如同Inception-ResNet-v2我們研究了引入殘差連接配接如何顯著的提高inception網絡的訓練速度。而且僅僅憑借增加的模型尺寸,我們的最新的模型(帶和不帶殘差連接配接)都優于我們以前的網絡。
注:博衆家之所長,叢集英之荟萃。