赞
踩
感受野是卷积神经网络中比较重要的概念,看到了很好的一篇博文,结合这两篇文章,并加上自己的感悟吧!
https://www.jianshu.com/p/2b968e7a1715
https://zhuanlan.zhihu.com/p/28492837
1. 举例示意
e.g.两层 3*3 卷积操作的有效区域(感受野)是5*5 (所有filter的stride=1,pad=0),示意图如下:
2. 基本定义:
3. 感受野的计算
可以看到在Conv1中的每一个单元所能看到的原始图像范围是3*3,而由于Conv2的每个单元都是由 2*2范围的Conv1构成,因此回溯到原始图像,其实是能够看到5*5的原始图像范围的。因此我们说Conv1的感受野是3,Conv2的感受野是5. 输入图像的每个单元的感受野被定义为1,这应该很好理解,因为每个像素只能看到自己。
具体计算时,从最深处往回计算,以最后一个单元作为1:
- RF = 1
- for layer in (high layer To low layer):
- RF = ((RF -1)* stride) + fsize
根据公式,我们也可以得到,增大感受野的几种方法:
最后谈一下个人对感受野的理解吧,
首先为什么它很重要?
前面看过感受野的定义,是表示在前几层对应的图像区域的大小,那么为了保证所利用的信息是全局的,而不仅仅是局部信息,我们就应该保证感受野较大。同时,合理计算感受野,可以保证效率,例如,输入图像大小是128*128,如果最后一层的感受野已经可以超过128,我们可以认为在做最后的分类判断时所用到的特征已经涵盖了原始图像所有范围的信息了。如果能够尽可能的降低网络的参数总量,也十分重要。
其次有哪些方法呢?
网络层数增加,必然可以使感受野增大。所以在保证梯度的前提下,利用ResNet,DenseNet等结构加大网络深度。
使用膨胀卷积 Multi-Scale Context Aggregation by Dilated Convolutions: https://arxiv.org/abs/1511.07122;
使用可变形卷积等 Deformable Convolutional Network: https://arxiv.org/pdf/1703.06211.pdf。
最后,多多推公式和复习基础吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。