VGG介绍:
由牛津大学著名研究所VGG提出,斩获该年ImageNet竞赛中Localization Task(定位任务)第一名和Classification Task(分类任务)第二名。
VGG网络的配置:(VGG-16是许多模型中的主干网络)
在原论文中,作者给了6个VGG网络的不同配置,并且尝试了不同的深度(11、13、16、19层)以及是否采用LRN等。在实际使用过程中,我们一般都会采用D这个配置,即16层:13个卷积层以及最后3个全连接层。
VGG网络的亮点:
通过堆叠多个3*3的卷积核来代替大尺度卷积核(目的:减少所需参数)。在原论文中提到,可以通过堆叠2个3*3的卷积核替代5*5卷积核(使得2个3*3的卷积核与5*5的卷积核拥有相同的感受野);堆叠3个3*3的卷积核替代7*7的卷积核(使得3个3*3的卷积核与7*7的卷积核拥有相同的感受野)。
概念扩展-CNN感受野(receptive field):
在卷积神经网络中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野。通俗的来说就是,输出feature map 上的一个单元对应输入层上的区域大小。
简单例子:
如上图,最下层是一个9*9*1的特征矩阵 ,首先将其通过Conv1(大小为3*3,步距为1),通过计算公式,可以得到大小为4*4*1的特征矩阵;再将其通过最大池化下载量操作(大小为2*2,步距为2),得到一个2*2*1的大小。
接下来计算感受野:
Feature map(最后得到的特征图):F=1
Pool1层:其输出的是2*2大小,其输入的是4*4大小,Ksize=2,Stride=2则F=(1-1)*2+2=2
Conv1:其输出的是4*4大小,其输入的是9*9大小,Ksize=3,Stride=2则F=(2-1)*2+3=5
VGG网络结构:
上面我们说过,我们常用的是D配置,即VGG-16,其过程为:①输入224大小的RGB图像②通过两层3*3的卷积核③通过maxpool(最大下载量)④通过两层3*3的卷积核⑤通过maxpool⑥通过三层3*3的卷积核⑦通过maxpool⑧通过三层3*3的卷积核⑨通过maxpool⑩通过三层3*3的卷积核、通过maxpool、通过三个全连接层、通过soft-max处理,得到概率分布。
补充:
(通过3*3的卷积核,输入、输出尺寸不变;通过maxpool,将特征矩阵的高和宽直接缩小一半)。
结构图:(通过D这个模型进行绘制的)