特点:采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)
采用堆积的小卷积核的原因:对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。比如,3个步长为1的3x3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 3x(9xC^2) ,如果直接使用7x7卷积核,其参数总量为 49xC^2 ,这里 C 指的是输入和输出的通道数。很明显,27xC^2小于49xC^2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。
感受野:在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的
vgg网络结构:
- VGG16包含了16个隐藏层(13个卷积层和3个全连接层)
- VGG19包含了19个隐藏层(16个卷积层和3个全连接层)
卷积层:每一个卷积核都是3×3。vgg-block内的卷积层都是同结构的。意味着输入和输出的尺寸一样,且卷积层可以堆叠复用。
从数学的层次来讲,卷积就是将卷积核大小内的像素点,经过加权和,得到一个新的像素点。这个像素点在图像的层次上就可以反映原图像的特征。原图像对应卷积的位置大小称为得到像素点对应的感受野。随着卷积核的平移,原图像的像素点会通过卷积得到一张新的特征图,经过卷积后,输出的特征图可有效提取原图像的特征,达到图像识别的功能。
池化层:maxpool层将前一层(vgg-block层)的特征缩减一半,使得尺寸缩减的很规整,从224-112-56-28-14-7。
池化过程在一般卷积过程后。池化(pooling) 的本质,其实就是采样。Pooling 对于输入的 特征图Feature Map,选择某种方式对其进行降维压缩,以加快运算速度。
VGG16内存
- 通过增加深度能有效地提升性能;
- VGG16是最佳的模型,从头到尾只有3x3卷积与2x2池化,简洁优美;
- 卷积可代替全连接,可适应各种尺寸的图片。
参考:LeNet、AlexNet等(一文读懂LeNet、AlexNet、VGG、GoogleNet、ResNet到底是什么? - 知乎 (zhihu.com))