簡體   English   中英

匯聚層與卷積層中使用填充的對比

[英]Pooling Layer vs. Using Padding in Convolutional Layers

我的理解是,當我們卷積時我們使用填充,因為使用濾波器進行卷積會通過縮小輸出來減小輸出的尺寸,以及從輸入矩陣的邊緣/角落丟失信息。 但是,我們還在多個Conv圖層之后使用池化層,以便對我們的要素圖進行下采樣。 這看起來有點矛盾嗎? 我們使用填充因為我們不想減小空間維度,但我們稍后使用池來減少空間維度。 有人能為這兩個人提供一些直覺嗎?

不失一般性,假設我們正在處理圖像作為輸入。 填充背后的原因不僅是為了防止尺寸縮小,還要確保輸入角和邊緣上的輸入像素在影響輸出時不會“不利”。 在沒有填充的情況下,圖像角上的像素僅與一個濾鏡區域重疊,而圖像中間的像素與許多濾鏡區域重疊。 因此,中間的像素影響下一層中的更多單元,因此對輸出具有更大的影響。 其次,您確實希望縮小輸入的維度(請記住,深度學習完全是關於壓縮,即找到輸入的低維表示,以解開數據中的變化因素)。 由沒有填充的卷積引起的收縮並不理想,如果你有一個非常深的網絡,你很快會得到非常低的維度表示,丟失數據中的大部分相關信息。 相反,您希望以智能方式縮小尺寸,這是通過Pooling實現的。 特別是,Max Pooling已被發現運作良好。 這實際上是一個實證結果,即沒有太多理論來解釋為什么會這樣。 您可以想象,通過對附近的激活采取最大值,您仍然保留有關此區域中特定要素的存在的信息,同時丟失有關其確切位置的信息。 這可能是好事也可能是壞事。 很好,因為它會為你購買翻譯不變性而且不好,因為確切的位置可能與你的問題有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM