参考:感受野
1.感受野是什么
感受野(receptive field)
这一概念来自于生物神经科学,是指感觉系统中的任一神经元,其所受到的感受器神经元的支配范围。感受器神经元就是指接收感觉信号的最初级神经元。
而在卷积神经网络
中,感受野是指输出特征图上的某个像素点在原始图像上所能看到区域的大小,也就是输出特征图上的点是由原始图像上所对应的感受野区域中的点计算出来的。
感受野越大,代表了像素点所接触到原始区域越大,也意味着它蕴含着更加全局与抽象的特征;而感受野越大,代表了
例子如图所示,在5x5的layer1中,使用3x3的卷积核(青色部分)进行特征提取,得到layer2特征图中的一个点;通过3x3的卷积,5x5的layer1得到了3x3的layer2。然后对layer2也进行3x3的卷积操作,得到layer3,layer3只有一个点。
其中,layer2的感受野为3x3,layer3的感受野为5x5。这是因为layer2的每个点由原始图像中的3x3区域卷积得到的,而layer3是由原始图像中的5x5区域通过两次卷积得到的。
通过上述例子可以知道,通过多个卷积层的堆叠,可以获得越来越大的感受野,获得得更加全局的特征。
有什么用?
感受野的大小决定了该层网络对输入图像的理解程度,即能够捕捉到多大范围内的特征信息。
较小的感受野可以捕捉到更细节的特征,但可能会忽略掉更大范围内的信息;较大的感受野可以捕捉到更全局的信息,但可能会忽略掉更细节的特征。
感受野的作用有两方面:
- 影响网络的感知能力:较小的感受野可以提高网络对细节特征的感知能力,较大的感受野可以提高网络对全局特征的感知能力。因此,有很多网络会将二者结合,同时使用低层与高层的特征。
- 影响网络的计算复杂度:较小的感受野需要更多的卷积层来提取特征,从而增加了计算复杂度;较大的感受野可以通过较少的卷积层来提取特征,从而减少了计算复杂度。虽然增大感受野可以提高模型对于输入图像的理解能力,但是也可能会导致模型过拟合或者计算量过大。
常用的增大感受野的方法:
- 使用更大的卷积核
- 增加网络的深度,例如使用更多的卷积层或池化层。
- 使用步长更大的卷积层或池化层
- 使用空洞卷积
常用的减少感受野的方法:
- 使用池化操作
- 使用较小的卷积核
从感受野的角度理解各种技术
卷积层堆叠
通过卷积层的堆叠可以增大感受野,获得更加全局的特征。
在此过程中,考虑到计算成本,分辨率会不断下降,相当于浓缩了原始图像的信息。
UNet
在UNet中,不仅堆叠了卷积层,还使用了跳过连接。
这是因为高层的特征虽然包含了全局的特征,但是会丢失局部的信息,这对边界等细节信息不友好。
因此,UNet使用了低层的特征图,这些特征图的感受野小,包含更多的局部特征,让它与全局特征进行结合,这样生成的特征图就包含了全局与局部的特征。
特征金字塔
特征金字塔技术也是使用了不同层的特征,使得特征包含全局与局部特征