1 VGG介绍
VGG在2014年由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获该年ImageNet竞赛中Localization Task(定位任务)第一名和Classification Task(分类任务)第二名。
原论文:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
网络中的亮点:通过堆叠多个3 * 3的卷积核来替换大尺度的卷积核(减少所需参数)。
论文中提到,可以通过堆叠两个3 * 3的卷积核替代5 * 5的卷积核,堆叠三个3 * 3的卷积核替代7 * 7的卷积核。拥有相同的感受野
2 CNN 感受野
在卷积神经网络中,决定某一层输出结果中一个元素所对应的的输入层的区域大小,被称作感受野(receptive field)。通俗的解释是,输入feature map上的一个单元对应输入层上的区域大小。
感受野计算公式:
F(i)=(F(i + 1) - 1) * Stride + Ksize
F(i)为第i层感受野
Stride为第i层的步距
Ksize为卷积核或池化核尺寸
Feature map:F=1
Pool1:F=(1-1) * 2 +2=2
Conv1:F=(2-1) * 2 + 3 =5
三个3 * 3的卷积核替代7 * 7的卷积核:
Feature map:F=1
Conv3*3(3):F=(1-1) * 1 + 3 =3
Conv3*3(2):F=(3-1) * 1 + 3 =5
Conv3*3(1):F=(5-1) * 1 + 3 =7
使用7 * 7卷积核所需要参数,与堆叠三个3 * 3卷积核所需参数(假设输入输出channel为C):
7 * 7 * C * C = 49C^2
3 * 3 * C * C + 3 * 3 * C * C + 3 * 3 * C * C = 27C^2
3 VGG过程
通常使用D模型:
网络结构图:
conv的stride为1,padding为1
maxpool的size为2,stride为2
输出尺寸