轉載自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