池化層對神經網路的運算速度有什麼影響

2021-08-13 09:48:28 字數 827 閱讀 3344

雖然加入池化層是為了使網路獲得抗扭曲,抗拉伸的特性並不完全是為了計算效率考慮,但加入池化層到底對計算速度有什麼影響?這裡設計了兩個網路做對比,

其中乙個是有2個卷積層,2層全連線層的神經網路,另乙個是2層卷積層,2層池化層,2層全連線層的神經網路。兩個網路都是輸入的28*28的,收斂條件一樣,通過計算迭代次數比較兩個網路的效率。

為了方便描述將網路的各層稱作 n1*n2*n3*n4 ,比如288*120*80*10  ,n1指288,n4指10.需要經過12851次迭代才能收斂。

可以看到無論是否有池化層,當n3=100,隨著n2的增加效能變化不大,當n3=300,隨著n2的增加有變慢的趨勢,當n3=200時隨著n2的增加,效能明顯大幅提公升。

並且無論是否增加池化層兩個網路最優的引數配置都是200*200*10 ,500*200*10,600*200*10.

所以分別對這3個引數做了對比,每個引數都執行了10次,

可以看到沒有加池化層的網路最優的引數是600*200*10 共測試10次平均迭代次數2224,有池化層的最優引數是200*200*10,平均只需要1691次迭代就可以收斂。比無池化的網路的最優引數600*200*10的效能提到了23%。如果對比同引數的無池化的200*200*10的2436,則效能提公升超過30%。

可見池化層不僅可以使網路獲得抗扭曲,抗拉伸的特性,並且對提高收斂速度也有幫助,並且可以改變網路的最佳引數的位置。

卷積神經網路 池化層

池化層的作用 增加平移不變性 降取樣,即降維 增大感受野 平移的不變性是指當我們對輸入進行少量平移時,經過池化函式後的大多數輸出並不會發生改變。區域性平移不變性是乙個有用的性質,尤其是當我們關心某個特徵是否出現,而不關心它出現的具體位置時。保留主要特徵的同時減少引數和計算量,防止過擬合,提高模型泛化...

卷積神經網路中的「池化層」

池化 pooling 是卷積神經網路中另乙個重要的概念,它實際上是一種形式的降取樣。有多種不同形式的非線性池化函式,而其中 最大池化 max pooling 是最為常見的。它是將輸入的影象劃分為若干個矩形區域,對每個子區域輸出最大值。直覺上,這種機制能夠有效地原因在於,在發現乙個特徵之後,它的精確位...

卷積神經網路池化層和卷積層作用

個人覺得主要是兩個作用 1.invariance 不變性 這種不變性包括translation 平移 rotation 旋轉 scale 尺度 2.保留主要的特徵同時減少引數 降維,效果類似pca 和計算量,防止過擬合,提高模型泛化能力 1 translation invariance 這裡舉乙個直...