深度学习-神经网络CNN-感受野大小的计算公式有哪些?可能会遇到哪些坑?如何理解感受野大小的计算公式?

Reference

下面这个B站视频,属于讲感受野的专栏视频之一,使用的是正向公式,强烈推荐大家观看。

深度理解感受野(二):抓住卷积神经网络的内在特性,学习感受野的计算少不了

下面这篇CSDN文章,把感受野的所有公式总结出来了,包括正向和反向。

CNN感受野最全计算公式_骚年,你渴望力量嘛?的博客-CSDN博客_感受野计算公式

一、感受野的公式有哪些?

前向公式,或称为正向公式,计算方向是从神经网络的浅层到深层;

如下所示:

  • L_k表示第k层(相对于第0层的原始图像)的感受野大小
  • L_k-1表示第k-1层的感受野大小
  • f_k表示第k层的kernel size
  • s_i表示第i层的stride(步长);注意连乘号上标,不包括当前k层

注意:第一次计算的时候从第1层开始,需要用到第0层的数据,而第0层数据是默认不变的。

第0层一般是原始图像,对应的感受野大小为1(感受野最小等于1),步长为1,也即L_0=1,s_0=1。

逆向公式,也称反向公式,从最深层开始计算直到最浅层;

如下所示:

  •  F_i表示最深层相对于第i-1层的感受野大小
  •  Stride表示步长
  •  Ksize表示卷积核大小,也称过滤器大小
  •  对于某个特定的CNN网络,i取最大值时,

 如下图所示,Pool1层的F就是最上面的池化层相对卷积层的感受野大小(已标黄,为2),而Conv1层的F就是最上面的池化层相对于原始图像的感受野大小(已标黄,为5)。不要看下面这张图中对于F_i的描述,稍微有点不准确。

 源于:4.1 VGG网络详解及感受野的计算_哔哩哔哩_bilibili

二、感受野计算的时候容易出现什么错误?遇到哪些坑?

 2.1 错把conv size(卷积层大小)当成kernel size(过滤器大小)代入公式计算。

 2.2 错把反向计算公式的F_i当成是第i层的感受野大小(而如果是这样的话,最深层的感受野大小反而是最小的,显然违背了感受野越深越大的性质)。

 2.3 由第一部分对正向公式和逆向公式中左边的计算结果描述可知:当k和i不等于1时,L_k不等于F_i,只有它们都等于1,两者才相等,含义是原始图像中能够影响最深层某一个元素的元素个数。

三、感受野的其他性质

3.1 层越深,感受野就会越大

3.2 正向公式计算的感受野大小L_k,含义是指“基于原始图像,第k层中某一个元素会被原始图像中L_k个元素影响”。

3.3 反向公式计算的感受野大小F_i,含义是指“基于第i层,最深层中某一个元素会被第i层中的F_i个元素所影响”。

3.5 基于第n层, 第n+1层中的某个元素会被第n层的k个元素所影响;那么这个k就是卷积核大小(Kernel Size);也即相邻层的感受野大小就是卷积核大小。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值