標籤:inception mod 迭代 tps nec 過擬合 actor 卷積 csdn
GoogleNet的發展Inception V1:
Inception V1中精心設計的Inception Module提高了參數的利用率;nception V1去除了模型最後的全串連層,用全域平均池化層(將圖片尺寸變為1x1),在先前的網路中,全串連層佔據了網路的大部分參數,很容易產生過擬合現象;(詳細見下面論文分析)
Inception V2:
Inception V2學習了VGGNet,用兩個3*3的卷積代替5*5的大卷積核(降低參數量的同時減輕了過擬合),同時還提出了註明的Batch Normalization(簡稱BN)方法。BN是一個非常有效正則化方法,可以讓大型卷積網路的訓練速度加快很多倍,同時收斂後的分類準確率可以的到大幅度提高。
BN在用於神經網路某層時,會對每一個mini-batch資料的內部進行標準化處理,使輸出正常化到(0,1)的常態分佈,減少了Internal Covariate Shift(內部神經元分布的改變)。BN論文指出,傳統的深度神經網路在訓練時,每一層的輸入的分布都在變化,導致訓練變得困難,我們只能使用一個很小的學習速率解決這個問題。而對每一層使用BN之後,我們可以有效解決這個問題,學習速率可以增大很多倍,達到之間的準確率需要的迭代次數有需要1/14,訓練時間大大縮短,並且在達到之間準確率後,可以繼續訓練。以為BN某種意義上還起到了正則化的作用,所有可以減少或取消Dropout,簡化網路結構。
當然,在使用BN時,需要一些調整:
- 增大學習率並加快學習衰減速度以適應BN正常化後的資料
- 去除Dropout並減輕L2正則(BN已起到正則化的作用)
- 去除LRN
- 更徹底地對訓練樣本進行shuffle
- 減少資料增強過程中對資料的光學畸變(BN訓練更快,每個樣本被訓練的次數更少,因此真實的樣本對訓練更有協助)
Inception V3:
Inception V3主要在兩個方面改造:
- 引入了Factorization into small convolutions的思想,將一個較大的二維卷積拆成兩個較小的一位卷積,比如將7*7卷積拆成1*7卷積和7*1卷積(是3*3拆分為1*3和3*1的)。 一方面節約了大量參數,加速運算並減去過擬合,同時增加了一層非線性擴充模型表達能力。論文中指出,這樣非對稱的卷積結構拆分,結果比對稱地拆分為幾個相同的小卷積核效果更明顯,可以處理更多、更豐富的空間特徵、增加特徵多樣性。
3*3卷積核拆分為1*3卷積和3*1卷積:
- 另一方面,Inception V3最佳化了Inception Module的結構,現在Inception Module有35*35、17*17和8*8三種不同的結構,如。這些Inception Module只在網路的後部出現,前部還是普通的卷積層。並且還在Inception Module的分支中還使用了分支。
Inception V3中三種結構的Inception Module:
Inception V4:
Inception V4相比V3主要是結合了微軟的ResNet,有興趣的可以查看《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》論文。
神經網路-GoogleNet的發展,介紹,貢獻