天天看點

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

1. Introduction

  • 除了Inception架構直接的內建 ResNet形成Inception-ResNet v1、v2之外,我們還研究了 Inception 本身是否可以通過使其更深更廣而變得更高效。
  • 為此,我們設計了一個名為 Inception-v4 的新版本,它比 Inception-v3 具有更統一的簡化架構和更多的 Inception 子產品。

2. Related Work

  • resnet作者認為殘差連接配接本質上是訓練非常深的卷積模型所必需的。
  • Residual connection的提出是用于訓練更深的網絡,但是作者發現不使用Residual connection也可以訓練更深的網絡。Residual connection并不是必要條件,隻是使用了Residual connection會加快訓練速度。
    Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

3. Architectural Choices

3.1. Pure Inception blocks

Inception-v4網絡,對于Inception塊的每個網格大小進行了統一。

inception-v4使網絡更深了。

下圖是Inception-v4的結構:

  • 所有圖中沒有标記“V”的卷積使用same的填充原則,即其輸出網格與輸入的尺寸正好比對。
  • 使用“V”标記的卷積使用valid的填充原則,意即每個單元輸入塊全部包含在前幾層中,同時輸出激活圖(output activation map)的網格尺寸也相應會減少。
    Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

-stem:

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

注意:其中的inception-A、B、C block與 Inception V3中的一樣

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
  • reductionA:連接配接Inception-A block和 Inception-B block,在三個版本中均使用了
  • reductionB:連接配接Inception-B block和 Inception-C block,隻有Inception v4 使用了這個

3.2. Residual Inception Blocks

  • 我們嘗試了殘差Inception的幾個版本。這裡對其中的兩個進行具體細節展示。第一個是“Inception-ResNet-v1”,計算代價跟Inception-v3大緻相同,第二個“Inception-ResNet-v2”的計算代價跟Inception-v4網絡基本相同。
  • Inception-ResNet的兩個版本,結構基本相同,隻是細節不同:
    • stem子產品:Inception-ResNet-v1的stem如下, Inception-ResNet-v2 的stem和Inception v4的相同
    • reduction子產品:reduction A:Inception-ResNet-v1、v2、inception v4相同;reduction B:Inception-ResNet-v1,v2的相同,Inception v4的不同
    • 其實Inception-ResNet-v1就是inception v3加上殘差連接配接;Inception-ResNet-v2就是inception v4加上殘差連接配接
    Inception-ResNet-v1和V2的網絡結構:
    Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

Inception-ResNet-v1的stem:

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

Inception-ResNet-v2和Inception-v4的stem:

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

Inception-ResNet-A、B、C(兩個版本結構一樣,不過輸出通道數不一樣,畢竟網絡層數不一樣):

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

inception-resnet 1的reductionB:

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

inception-resnet-v2的reductionB(其實和v1的一樣):

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

3.3. Scaling of the Residuals

  • 此外,我們還發現,如果過濾器的數量超過 1000,殘差連接配接開始顯示不穩定性,網絡剛剛在教育訓練的早期"死亡。 無論是通過降低學習率,還是通過在此層中增加額外的批次規範化,都無法阻止這種情況。
  • 我們發現,在将殘差子產品添加到activation激活層之前,對其進行放縮能夠穩定訓練。通常來說,我們将殘差放縮因子定在0.1到0.3。

注:He在訓練Residual Net時也發現這個問題,提出了“two phase”訓練。首先“warm up”,使用較小的學習率。接着再使用較大的學習率。

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

縮放子產品僅僅适用于最後的線性激活

4. training Methoadology

  • 我們最好的模型是使用衰減為 0.9 和 1.0 的 RMSProp [16] 實作的。
  • 我們使用了 0.045 的學習率,使用 0.94 的指數率每兩個 epoch 衰減一次。
  • 使用随時間計算的參數的運作平均值來執行模型評估。
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions
Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

結果顯示:Inception V3和 Inception-ResNet-v1 結果相近;Inception-v4和Inception-ResNet-v2 結果相近。

Inception-v4, Inception-ResNet-V1、V21. Introduction2. Related Work3. Architectural Choices4. training Methoadology6. Conclusions

6. Conclusions

  • Inception V3和 Inception-ResNet-v1 結果相近;Inception-v4和Inception-ResNet-v2 結果相近。
  • 殘差連接配接的顯着提高 Inception 架構的訓練速度,但是對于深層網絡結構來說不是必要的。
  • 當過濾器數量超過1000,殘差的引入會使網絡變得不穩定;在與上一層激活函數相加之前,縮小殘差部分(Activation Scaling)能使網絡更穩定。
  • 我們最新的模型(有和沒有殘差連接配接)優于我們以前的所有網絡,僅僅是因為增加了模型大小。

參考文獻

繼續閱讀