深度理解感受野(一)什么是感受野?

您所在的位置:网站首页 怎么理解分布式的概念 深度理解感受野(一)什么是感受野?

深度理解感受野(一)什么是感受野?

2023-05-24 19:26| 来源: 网络整理| 查看: 265

Introduction

经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法,和有效感受野概念

什么是感受野? 感受野与视觉 感受野(receptive field)这一概念来自于生物神经科学,是指感觉系统中的任一神经元,其所受到的感受器神经元的支配范围。感受器神经元就是指接收感觉信号的最初级神经元视觉的产生来自于光在个体感受器上的投射,将客观世界的物理信息转换为人能感知的神经脉冲信号 感受野的定义

One of the basic concepts in deep CNNs is the receptive field, or field of view, of a unit in a certain layer in the network. Unlike in fully connected networks, where the value of each unit depends on the entire input to the network, a unit in convolutional networks only depends on a region of the input. This region in the input is the receptive field for that unit.

在卷积神经网络中,感受野(receptive field)不像输出由整个网络输入所决定的全连接网络那样,它是可以存在于网络中任意某层,输出仅由输入部分决定就是指输出feature map上某个元素受输入图像上影响的区域 在这里插入图片描述

如图所示,共有3个feature map输出。该图说明了2个3*3的conv可以代替1个5*5的conv层

Layer1中方格可看作是一个元素,3*3的绿色方格则是一个3*3的卷积核Layer2由一个3*3的卷积核经过卷积运算输出,输出尺寸是3*3(假设stride=1,padding=0)显而易见,layer2中的绿色方格是由layer1中3*3的绿色方格所决定的。那么这一位置的感受野就是layer1中的绿色方格区域Layer3由layer2经过3*3的conv层输出,只有一个 理论感受野

https://distill.pub/2019/computing-receptive-fields/

如何计算?

卷积层的理论感受野可以由递推公式计算出来。首先定义下参数意义, r r r代表感受野 l l l代表层数 k k k代表卷积核大小 s s s代表步长 r l = r l − 1 + ( k l − 1 ) ∗ ∏ i = 0 l − 1 s i r_l = r_{l-1}+(k_l - 1)*\prod_{i=0}^{l-1}{s_i} rl​=rl−1​+(kl​−1)∗i=0∏l−1​si​ 最大池化层的理论感受野 r l = r l − 1 + ( k l − 1 ) r_l = r_{l-1}+(k_l - 1) rl​=rl−1​+(kl​−1) 在这里插入图片描述

图中,由1个conv3*3(stride=1,pad=1),1个ReLu层,1个2*2MaxPooling层(k=2,s=2,p=0)组成。 f 0 f_0 f0​为输入层, f 4 f_4 f4​层 为输出层。很明显能够发现, f 4 f_4 f4​层的感受野为6。推导过程如下

f 1 f_1 f1​默认感受野为1,即 r 0 = 1 r_0=1 r0​=1 f 2 f_2 f2​层为3*3conv层, r 1 = r 0 + ( k 1 − 1 ) ∗ ∏ i = 0 0 s 0 r_1=r_0+(k_1-1)*\prod_{i=0}^{0}{s_0} r1​=r0​+(k1​−1)∗∏i=00​s0​即 r 1 = 1 + ( 3 − 1 ) ∗ 1 = 3 r_1=1+(3-1)*1=3 r1​=1+(3−1)∗1=3 f 3 f_3 f3​层为激活函数层ReLu,不改变理论感受野大小(也不是没作用,有效感受野里面会提到它的作用) r 2 = 3 r_2=3 r2​=3 f 4 f_4 f4​层为3*3conv层,和上一个conv层一样, r 3 = 3 + ( 3 − 1 ) ∗ 1 = 5 r_3=3+(3-1)*1=5 r3​=3+(3−1)∗1=5 f 5 f_5 f5​层为2*2maxpooling层, r 4 = 5 + ( 2 − 1 ) ∗ 1 = 6 r_4=5+(2-1)*1=6 r4​=5+(2−1)∗1=6

按照上述方法可以计算出主流的backbone理论感受野大小,如下图所示。 数据来自https://distill.pub/2019/computing-receptive-fields/ 在这里插入图片描述 从感受野的计算公式很明显能够看出,stride kernel_size rf_size都会对其产生影响,其中srtide对感受野大小起决定性作用。

有效感受野

有效感受野是在NIPS2016中的Understanding the Effective Receptive Field in Deep Convolutional Neural Networks提出的。

有效感受野是一种超参数,无法像理论感受野那样被精确计算。但是文献[2]中采用求偏导数的方法对每个图像上的像素点,计算出他们对输出特征图的贡献值,并可视化。有限感受野往往比理论感受野要小一些,关系大概是anchor


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3