卷积神经网络感受野的计算

神经网络感受野计算

  1. 普通卷积感受野计算

感受野指的是当前的特征图的一个特征点在输入空间影响的区域,该点的值被输入空间的这个区域影响,与其他区域无5173。通常有两种方式可以计算感受野,从后往前算和从前往后算。从前往后计算的方法很简单,基本上一个公式就可以计算,使用递推公式计算。

 

L表示感受野的大小,k表示网络的层序号,f表示卷积核尺寸,s表示步长大小。递推公式的增量为后一部分,对于第k层,其卷积核为fk,那么相比前一层需要计算fk个位置(或者神经元,),但是这些位置要一直向前扩展到输入层。对于第一个位置,扩展后的感受野为lk-1,正好是前一层的感受野大小,但是对于剩余的fk-1个位置就要看stride大小,你需要扩展到前面所有层的stride(注意不包括当前层的stride,当前层的stride只会影响后面层的感受野),所以需要累乘所有的stride,这样剩余fk-1个位置的感受野大小就是第二部分的值。

 

2.对于扩张卷积的感受野计算

对于3*3的扩张卷积,都是考虑same卷积,加padding不减小特征图:

Dilation rate=1,    对应于普通3*3卷积

Dilation=2,         对应于5*5卷积,padding=2

Dilation=4,         对应于9*9卷积,padding=4

Dilation=8,         对应于17*17卷积,padding=8

 

从后往前计算感受野计算公式:

Rf=(rf-1)* s + k

对于应用在resnet上,全部使用SAME类型的卷积,也就是不减小特征图。下图是使用fomoro Ai网站计算得到的感受野(https://fomoro.com/projects/project/receptive-field-calculator

 

直接结算第9层的感受野,从后往前计算:初始rf=1

(1)1*1的卷积   rf=1

(2)3*3,dilation=2对应5*5的卷积,padding=2,

       rf=(rf-1)*s+k = (1-1)*1 + 5 = 5

(3)1*1卷积    rf=5

(4)1*1卷积    rf=5

(5)3*3,dilation=2对应5*5的卷积,padding=2,

       rf=(rf-1)*s+k = (5-1)*1 + 5 = 9

(6)1*1卷积    rf=9

(7)1*1卷积    rf=9

(8)3*3,dilation=2对应5*5的卷积,padding=2,

       rf=(rf-1)*s+k = (9-1)*1 + 5 = 13

(9)1*1卷积    rf=13

可以看到计算结果与上图中完全一样。使用从第一部分的前往后的计算结果也是相同的。

 

 

参考

[1]http://shawnleezx.github.io/blog/2017/02/11/calculating-receptive-field-of-cnn/

[2] https://zhuanlan.zhihu.com/p/35708466

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值