【深度学习】一张图看懂Receptive Field
【深度学习】一张图看懂Receptive Field
本文尝试用最简明直白的图示,帮助理解和记忆Receptive Field的计算方法。
什么是Receptive Field?
在CNN中,第n层特征图中一个像素,对应第1层(输入图像)的像素数,即为该层的Receptive Field,简称RF。
基本思路
网络第1层输入,第
n
n
n层输出。<br> 第
k
k
k层和第
k
+
1
k+1
k+1层之间的滤波器,其尺寸为
f
k
f_k
fk,步长为
s
k
s_k
sk。
为书写简洁,此处用一维尺寸代替二维。
采用递归的思路:
r
k
r_k
rk表示**第n层**特征图中的一个像素,对应**第k层**特征图的像素数。</li><li>从最深一层倒序向前计算,
r
1
r_1
r1即为第
n
n
n层的RF。</li>
计算方法
最深一层本身的一像素和自己一一对应:
r
n
=
1
r_n=1
rn=1。<br> <img src="https://img-blog.csdnimg.cn/img_convert/eaf2351682e67bda984769d9c33220ae.png" alt="这里写图片描述">
假设已经计算出,最深一层一个像素对应第k+1层的
r
k
+
1
r_{k+1}
rk+1个像素。
现在的问题是,它对应多少个k层像素?换言之,红色部分有多长?
这部分由两部分组成:
s
k
s_k
sk,共有
r
k
+
1
−
1
r_{k+1}-1
rk+1−1段。</li><li>绿色:每段长度为滤波器一半尺寸
f
k
/
2
f_k/2
fk/2,左右各有一段。</li>
于是有:
r
k
=
(
r
k
+
1
−
1
)
⋅
s
k
+
f
k
r_{k}=(r_{k+1}-1)\cdot s_k+f_k
rk=(rk+1−1)⋅sk+fk
转载于网络 侵权联系作者立即删除QAQ