感受野
先图解一下啥是感受野
感受野具体就是通过卷积核扫描原始图片之后一个feature map的格子代表原始图片的范围大小。
如上图,这是一个55的原始图片padding11,卷积核33,步距2。卷积扫描两次的示意图。
(2个33的卷积核扫描两次相当于7*7扫描一次)
计算公式
F ( i ) = ( F ( i + 1 ) − 1 ) ∗ S t r i d e + K s i z e F(i)=(F(i+1)-1)*Stride+Ksize F(i)=(F(i+1)−1)∗Stride+Ksize
F(i):第i层感受野
Stride:第i层步距
Ksize:卷积核尺寸
拿上图举例子:
F e a t u r e m a p : F ( 3 ) = 1 F ( 2 ) = ( F ( 2 + 1 ) − 1 ) ∗ 2 + 3 = ( 1 − 1 ) ∗ 2 + 3 = 3 F ( 1 ) = ( F ( 1 + 1 ) − 1 ) ∗ 2 + 3 = ( 3 − 1 ) ∗ 2 + 3 = 7 Feature \ map:F(3)=1\\F(2)=(F(2+1)-1)*2+3=(1-1)*2+3=3\\F(1)= (F(1+1)-1)*2+3=(3-1)*2+3=7 Feature map:F(3)=1F(2)=(F(2+1)−1)∗2+3=(1−1)∗2+3=3F(1)=(F(1+1)−1)∗2+3=(3−1)∗2+3=7
(感受野大小和padding无关,padding只改变总的feature map的大小并不影响feature map上一个单元映射到初始图像上的大小)
注释:事实上,计算的到的是理论上卷积的感受野,卷积的实际感受野要更小
由卷积核垛叠扩大感受野而来的作用
还是拿上面那个例子举例
33垛叠两次成为77卷积核感受野,这里是两个33步距为2合成为了77步距为4。在垛叠过程中卷积核的步距累加了(这里只是猜测没有验证,日后验证再来填坑)实际这里的7=3+2+2
原来要写的参数应该是设定卷积核为77channel,后来变为了33channel+33channel,49>18,减少了实际设定参数的个数,换句话说节省了调参的个数,加深了深度。
(这里有一个小问题要阐述,我也在这个地方怀疑了一下。常规说的二个3 * 3代替5 * 5,三个3 * 3代替7 * 7,其实意思是3*3步距为1)