感受野的定义:某一层输出结果中一个元素所对应的最开始的输入层的区域大小。
感受野的用途:其值可以用来大致判断每一层的抽象层次,值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局;值越小则表示其所包含的特征越趋向局部和细节。
感受野的计算:(逆向计算) rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize(由卷积中计算输出图片的大小的公式变形而来,一般忽略了padding的影响),其中out是指上一层感受野的大小,ksize是指当前层的卷积核大小,stride指当前层的步长。
注意:计算的时候我们一般假定我们要求的那一层的感受野大小 rfsize=1 ,然后计算输入层(计算中的最后一层)的感受野大小,假设求得为N,然后反转----最后一层(计算中的第一层)感受野大小即为N。要算那一层,就设它感受野为1,然后计算得到的输入层感受野大小即为所求,该方法不可能一劳永逸,即该方法只对假设的那一层有效,其余层计算结果无效(即结果不对)。
示例如下:
Raw Image 即为输入层。
公式 : rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize
要计算conv2:设其为1,则conv1 = (1-1)*1 + 2 = 2;Raw = (2-1)*2 + 3 = 5
则conv2为5 (深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系)
要计算conv1:设其为1,则Raw = (1-1)*2 + 3 = 3;则conv1 = 3.(第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小)