感受野计算总结

Introduction

  感受野(receptive field)是卷积神经网络(Convolutional Neural Network,CNNs)中最重要的概念之一,当前流行的物体识别方法的架构大都围绕感受野的设计。

  从CNN可视化的角度来讲,感受野就是输出featuremap某个节点的响应对应的输入图像的区域就是感受野。

  比如我们第一层是一个33的卷积核,那么我们经过这个卷积核得到的featuremap中的每个节点都源自这个33的卷积核与原图像中33的区域做卷积,那么我们就称这个featuremap的节点感受野大小为33。

  如果再经过pooling层,假定卷积层的stride是1,pooling层大小22,stride是2,那么pooling层节点的感受野就是44。

  

  有几点需要注意的是,padding并不影响感受野,stride只影响下一层featuremap的感受野,size影响的是该层的感受野。

Calculation

第n层的感受野为:

\[r_n = r_{n-1} \times k_n - (r_{n-1} - \prod_{i=1}^{n-1} s_i)\times (k_n - 1) \]

其中,\(r_n\):第n层感受野;\(k_n\):第n层卷积/池化核大小;
化简后得:

\[r_n = r_{n-1} + (k_n - 1) \prod_{i=1}^{n-1} s_i \]

说人话,就是,第n层感受野大小=上一层感受野大小+(第n层卷积核大小-1)乘以本层以前所有stride的乘积。

posted @ 2018-10-28 02:58  木易修  阅读(2775)  评论(0编辑  收藏  举报