感受野计算总结

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} imes k_n - (r_{n-1} - prod_{i=1}^{n-1} s_i) imes (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的乘积。

原文地址:https://www.cnblogs.com/ocean1100/p/9864193.html