1.1 感触野

1.1.1 定义

定义:卷积神经网络中的特色图上的一个像素点在输出图像上映射的区域大小

1.1.2 例子:

  • 5×5的输出特色图通过1个5×5的卷积核,生成1×1的特色图,
  • 5×5的输出特色图通过两个3×3的卷积核,生成1×1的特色图。

下面两个的感触野都为5×5,且两个3×3的卷积核等于一个5×5

注:下面满足卷积的计算公式:

$$H_{out} = \frac {H_{in} - k + 2p}{S}$$

1.1.3 感触野大小的计算

办法一:从后往前推

公式解说

感触野大小计算须要留神以下几点:

  • ==最初一层感触野的大小等于核(不肯定是卷积核,还有可能是池化核)的大小==(以后的感触野相当于“长期感触野”,用于从后往前推)
  • 感触野大小的计算不思考padding的大小
  • 以后层(i层)的感触野大小和以后层(i层)的卷积核大小步长无关,同时也和网络后一层(i+1)层特色图的感触野大小无关

$$RF_i = (RF_{i+1} - 1) × stride + K$$

$RF_i$示意第$i$层的感触野大小,stride示意步长,K示意卷积核大小

艰深解释

假如有如下网络,当初咱们要计算第i+1的感触野,那么,

  • 首先确定i+1层核(卷积核或池化核)大小即为感触野的大小
  • 利用下面的公式计算第i层感触野的大小
  • 按照下面的公式始终推到input层,==最终计算的后果即为i+1的感触野的大小==

办法二:从前往后推

公式解说

顾名思义,从网络的输出层始终推到咱们想要计算层的感触野

$$RF_{i+1} = RF_i + (k - 1) * S_i$$

$$S_i$$ 示意之前所有层的步长的乘积,==不蕴含以后层==,即

$$S_i = \prod_{i=0}^n Stride_i $$

艰深了解

仍旧如图所示,咱们须要计算第i+1的层感触野的大小,那么,

  • 首先确定input层前面的核(卷积核或池化核,个别为卷积核)大小,
  • 按照公式逐步往后推到i+1的感触野大小

1.1.4 验证

验证下面例子

<img src="/img/bVcZuTV" width="400px" height="300px"/>

办法一:从后往前推

如果第一种状况,应用5×5的卷积核,最初一层为1×1,那么最初一层的感触野为卷积核大小,即5

如果第二种状况,应用两个3×3的卷积核(步幅为1),最初一层的“长期感触野”为卷积核大小,即3×3,前一层的感触野为:

$$RF = (3 - 1) × 1 + 3 = 5$$,最终,最初一层的感触野大小为5

办法二:从前往后推

第一种状况,应用5×5的卷积核,那么最初的感触野即为5

第二种状况,第一个卷积核为3×3,那么最开始的感触野为3,第二个卷积核为3×3,生成的特色图的感触野为:

$$S_i= 1 $$ 后面一个卷积核的步长为1

$$$RF_2 = RF_1 + (K-1)*S = 3 + (3-1)*1 = 3 + 2 = 5$$

如上,两个状况的的感触野都为5,和上图统一。

例子

layerkernel sizestide$\prod_i^nstide_i$
input
conv13*31
pool12*221
conv23*312
pool22*222
conv33*314
conv43*314
pool32*224
办法一:从后向前推:

最初一层为pool3:RF = 2 (长期感触野为核大小)

conv4 = (2 - 1) * 1 + 3 = 4

conv3 = (4 - 1) * 1 + 3 = 6

pool2 = (6 - 1) * 2 + 2 = 12

conv2 = (12 - 1) * 1 + 3 = 14

pool1 = (14 - 1) * 2 + 2 = 28

conv1 = (28 - 1) * 1 + 3 = 30

所以,pool3的感触野为30

办法二:从前往后推

为了不便计算,再下面表格中计算了$\prod_i^nstide_i$,

conv1的感触野即为卷积核大小,即

$$conv1 = 3$$

$$pool1= 3+(k-1) * s = 3 + (2-1) * 1 = 3 +1 = 4$$

$$conv2 = 4 +(k - 1)*s = 4+(3-1)*2=4+4 = 8$$

$$pool2 = 8 + (k-1)*s = 8 + (2-1)*2 = 8+2 = 10$$

$$conv3 = 10 + (k-1)*s = 10 + (3-1)*4 = 10+8 = 18$$

$$conv4 = 18 + (k-1)*s = 18+(3-1)*4 = 18+8 = 26$$

$$pool3 = 26+(k-1)*s = 26 +(2-1)*4 = 26 + 4 = 30$$


如上,两种计算失去的后果雷同

1.1.5 小结

  • 感触野计算有两种办法,

    • 从后往前推,失去的最终后果即为计算起始地位的感触野,
    • 从返回后退,从网络开始到须要计算的层的之间的感触野都会计算出,须要计算连乘

参考文献

[1] https://zhuanlan.zhihu.com/p/113487374

[2] https://blog.csdn.net/program_developer/article/details/80958716

[3] https://blog.csdn.net/qq_41076797/article/details/114434415

[4] http://www.360doc.com/content/20/1012/21/32196507_940140443.shtml

本文作者: 胡侃有料,欢送来我的公众号胡侃深度学习

版权申明: 本博客所有文章除特地申明外,均采纳 BY-NC-SA 许可协定。转载请注明出处!

声援博主:如果您感觉文章对您有帮忙,欢送点赞。您的激励是博主的最大能源!