TensorFlow實戰—Google Inception Net


(1) 與VGG同在2014年出現,取得了ILSVRC 2014比賽第一名。

(2) Inception V1有22層深,控制參數量的同時提高性能。控制參數量的原因:

  • 參數越多模型越龐大,需要供模型學習的數據量就越大,而目前高質量的數據非常昂貴
  • 參數越多,耗費的計算資源也會更大。

(3) 參數少、模型深、表達能力強:

  • 去除了最后的全連接層,用全局平均池化層(將圖片尺寸變為1*1)來取代它。全連接層占AlexNet 90%的參數,去除后訓練快、減輕過擬合。
  • Inception Module提高了參數的利用效率

(4) 一般,卷積層要提升表達能力,主要依靠增加輸出通道數,副作用:計算量增大和過擬合。

  • 一個輸出通道對應一個濾波器,同一個濾波器共享參數,只能提取一類特征,因此一個輸出通道只能做一種特征處理。
  • 可以在輸出通道之間進行信息組合。

(5) Inception Module

  • 包含3種不同尺寸的卷積核1個最大池化,增加了網絡對不同尺度的適應性,與Multi-scale類似。
  • Inception Net的主要目標是找到最優的稀疏結構單元,即Inception Module
  • 一個好的稀疏結構,應該把相關性高的一簇神經元節點連接在一起。普通數據中通過聚類,圖像中臨近區域的數據相關性高。
  • 而且可能有多個卷積核,同一空間位置但在不同通道的卷積核的輸出結果相關性極高。
  • 1*1的卷積可以把這些相關性很高的、在同一個空間位置但是不同通道的特征連接在一起
  • 1*1連接的節點相關性最高,使用大一點的卷積核3*3/5*5連接節點的相關性也很高,增加多樣性。
  • 整個網絡中有多個堆疊的Inception Module,希望靠后的Module能捕獲更高階的抽象特征,因此靠后的Module的卷積的空間集中度應該逐漸降低,3*3和5*5大面積的卷積核的占比(輸出通道數)應該更多。

(6) Inception Net 有22層深,使用輔助分類節點(auxiliary classifiers),將中間某一層的輸出用作分類,用較小的權重(0.3)加到最終分類中。

(7) Inception 不同版本

  • Inception V1,Going Deeper with Convolutions,2014年9月(top5 error = 6.67%)
  • Inception V2,Batch normalization:Accelerating Deep Network Training by Reducing Internal Covariate, 2015年2月 (top5 error = 4.8%)
  • Inception V3, Rethinking the Inception Architecture for Computer Vision, 2015年12月 (top5 error = 3.5%)
  • Inception V4, Inception-ResNet and the Impact of Residual Connections on Learning, 2016年2月 (top5 error = 3.08%)

(8) Inception V2

  • 學習VGG,用兩個3*3的卷積替代5*5的大卷積,降低參數量並減輕過擬合
  • 提出了Batch normalization,有效的正則化方法,讓大型卷機網絡的訓練速度加快很多倍,同時收斂后的分類准確率也可以得到大幅提高。
    • BN在用於神經網絡某層時,會對每一個mini-batch數據的內部進行標准化處理,輸出規范到 N(0,1)的正態分布,減少了Internal Covariate Shift(內部神經元分布的改變)。
    • 傳統的深度神經網絡在訓練時,每一層的輸入的分布都在變化,導致訓練變得困難,只能使用一個很小的學習速率解決這個問題。對每層使用BN后就可以有效解決這個問題。
    • BN還起到了正則化的作用,可以減少或取消Dropout,簡化網絡結構。
  • 除了BN外,提高增益的其他調整:
    • 增大學習速率並加快學習衰減速度以適用BN規范后的數據
    • 去除Dropout並減輕 L2 正則
    • 去除 LRN
    • 更徹底地對訓練樣本進行shuffle
    • 減少數據增強過程中對數據的光學畸變,因為BN訓練更快,每個樣本被訓練的次數更少,因此更真實的樣本對訓練更有幫助。

(9) Inception V3

  • 引入了Factorization into small convolutions,將一個較大的二維卷積拆成兩個較小的一維卷積,eg:7*7拆成1*7和7*1的卷積,3*3拆成1*3和3*1.節約了參數,減輕過擬合,同時增加了一層非線性擴展模型表達能力。非對稱結構,比對稱拆分為相同的小卷積效果更明顯,可以處理更多/更豐富的空間特征,增加特征多樣性。
  • 優化了Inception Module的結構,有35*35 17*17 和8*8三種不同結構。只在網絡后部出現,前部還是普通卷積曾。在Inception Module使用分支,分支中又實用分支。

(10) Inception V4

  • 將Inception Module與ResNet結合。

 

參考資料:

《TensorFlow實戰》黃文堅  唐源 著


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM