CNN中感受野的計算

轉載自http://blog.csdn.net/kuaitoukid/article/details/46829355

感受野(receptive field)是怎樣一個東西呢,從CNN可視化的角度來講,就是輸出featuremap某個節點的響應對應的輸入圖像的區域就是感受野。

比如我們第一層是一個3*3的卷積核,那麼我們經過這個卷積核得到的featuremap中的每個節點都源自這個3*3的卷積核與原圖像中3*3的區域做卷積,那麼我們就稱這個featuremap的節點感受野大小爲3*3

如果再經過pooling層,假定卷積層的stride是1,pooling層大小2*2,stride是2,那麼pooling層節點的感受野就是4*4

有幾點需要注意的是,padding並不影響感受野,stride隻影響下一層featuremap的感受野,size影響的是該層的感受野。

至於如何計算感受野,我的建議是top to down的方式。下面我拿一個例子來算算
這裏寫圖片描述
依次類推,對應conv4的輸入爲4*4,因爲2*2的每個角加一個3*3的卷積核,就成了4*4,當然這是在stride=1的情況下才成立的,但是一般都是stride=1,不然也不合理

對應conv3的輸入爲6*6

對應pool2的輸入爲12*12

對應conv2的輸入爲14*14

對應pool1的輸入爲28*28

對應conv1的輸入爲30*30

所以pool3的感受野大小就是30*30

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