请说一下卷积神经网络里的特征图和感受野怎么计算?VGG网络的特点?如何解释?
请说一下卷积神经网络里的特征图和感受野怎么计算?
特征图的计算
首先要明确什么是特征图?
特征图是卷积层输出的二维数组,每个元素表示一个特定区域的特征。特征图的大小取决于输入图像的大小、卷积核的大小、步幅(stride)和零填充(zero-padding)的使用。
计算过程
假设给定的输入图像大小为NN,卷积核大小FF,步长stride,有padding(零补充)和无padding的时候如何计算?
有padding:(N-F + 2 * padding)/stride + 1
无padding: (N-F )/stride + 1
具体例题
感受野的计算
首先要明确什么是感受野?
在卷积神经网络中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野。通俗来讲就是说,特征图feature_map上的一个单元
对应输入层区域的大小。
计算过程
先说公式:F(i) = (F(i + 1) - 1) * Stride + Ksize
其中,F为感受野 Stride为步长 Ksize是卷积核尺寸
举个例子,如图:
首先我们可以计算特征图大小,从下到上依次为:
输入 5 * 5
经过3 * 3的卷积核后:( 5 - 3)/2 + 1 = 2
再经过2 * 2 的池化层后:(2 - 2)/2 + 1 = 1
所以最上面的特征图的一个单元分别对应下方的2个和最下方5个的输入层区域
然后,我们可以通过图片代入的公式可以看到感受野的计算
通过感受野解释VGGNet亮点
VGGNet网络的亮点是:通过堆叠2个33的卷积核可以代替1个55的卷积核,通过堆叠3个33的卷积核替代77的卷积核(指感受野大小相同)
如图,忽略左边图像,仅看右边公式,可以看到:
通过堆叠通过堆叠2个33的卷积核可以和1个55的卷积核的感受野大小是先相同的,通过堆叠3个33的卷积核和77的卷积核的感受野大小是相同的。
那么问题来了,这样的改进有什么意义吗?
- 卷积核的大小越小,越容易关注局部和细微的特征,即使特征出现在不同的位置,仍然可以识别出来,有利于提高泛化能力。
- 通过用较小的卷积核来替代较大的卷积核,参数量大大减小,计算如图
3. 其本身后接地激活函数,可以更多的引入非线性地特点
4. 在感受野不变地情况下,可以使网络更深,从而学习更复杂的特征和模式,具有更好的表达能力。
原文地址:https://blog.csdn.net/m0_51305283/article/details/136607806
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!