deep learning :the effect of pooling

鏈接:https://www.zhihu.com/question/36686900/answer/130890492
來源:知乎

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

(1) translation invariance:
這裏舉一個直觀的例子(數字識別),假設有一個16x16的圖片,裏面有個數字1,我們需要識別出來,這個數字1可能寫的偏左一點(圖1),這個數字1可能偏右一點(圖2),圖1到圖2相當於向右平移了一個單位,但是圖1和圖2經過max pooling之後它們都變成了相同的8x8特徵矩陣,主要的特徵我們捕獲到了,同時又將問題的規模從16x16降到了8x8,而且具有平移不變性的特點。圖中的a(或b)表示,在原始圖片中的這些a(或b)位置,最終都會映射到相同的位置。


(2) rotation invariance:
下圖表示漢字“一”的識別,第一張相對於x軸有傾斜角,第二張是平行於x軸,兩張圖片相當於做了旋轉,經過多次max pooling後具有相同的特徵


(3) scale invariance:
下圖表示數字“0”的識別,第一張的“0”比較大,第二張的“0”進行了較小,相當於作了縮放,同樣地,經過多次max pooling後具有相同的特徵

pooling的缺點:
       pooling能夠增大感受野,讓卷積看到更多的信息,但是它在降維的過程中丟失了一些信息(因爲畢竟它變小了嘛,只留下了它認爲重要的信息),所以pooling增大感受野的前提是丟失了一些信息(即降低了分辨率),這對segmentation要求的精確度location有一定的影響。
       所以pooling層跟segmentation有一定的衝突,但是你不用又不行,感受野可以幫你提高準確率,而且還可以降計算量,增強模型泛化能力,所以感受野,分辨率,參數三者很難共存,現在有很多方法可以改進這個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章