Convolutional Neural Networks(4):Feature map size,Padding and Stride


CNN(1)中,我們用到下圖來說明卷積之后feature maps尺寸和深度的變化。這一節中,我們討論feature map size, padding and stride。

首先,在Layer1中,輸入是32x32的圖片,而卷積之后為28x28,試問filter的size(no padding)? (答案是5x5)。 如果沒答上來,請看下圖:

I是一張7x7的圖片,filter是3x3的,I*K生成的feature map是5x5的。所以我們推出feature map size公式為:

其中n(l)表示在l層中圖片的大小,f(l)是filter的大小所以在最初的問題中filtersize=32-28+1=5。

 

而在convolution操作中,有一個padding參數可以在原圖外圍加上空白格,從而使feature map的size不發生變化。通常不使用padding的Convolution稱為Valid Convolution,而使用padding輸出相同size的feature map,則稱為Same Convolution。Feature map和Padding的Size計算公式為:

其中,p(l)是padding的大小。使用Padding的原因主要有二:

第一,因為architecture的原因,不希望圖片尺寸發生變化;

其二,如果不使用padding,在圖片邊緣的pixel只被計算了一次,其數據被低估了。

 

Stride是表示filter工作間隔的參數,默認是1,根據需要可以設置為其他值,在設置了Stride之后,feature map的計算公式為:

其中,s(l)是stride步幅的大小。當然,圖片並不都是正方的,我們可以分別計算feature map的width和height


免責聲明!

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



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