VGG-Net
网络结构
VGG的输入被设置为224x244大小的RGB图像,在训练集图像上对所有图像计算RGB均值,然后把图像作为输入传入VGG卷积网络,使用3x3或者1x1的filter,卷积步长被固定1。VGG全连接层有3层,根据卷积层+全连接层总数目的不同可以从VGG11 ~ VGG19,最少的VGG11有8个卷积层与3个全连接层,最多的VGG19有16个卷积层+3个全连接层。
网络参数
名称 | 参数 |
---|---|
输入大小 | 224 * 224 |
预处理 | 减去均值 |
卷积核 | 3 * 3、1 * 1 |
padding | 1 |
max-pooling | 2 * 2 |
激活函数 | relu |
1x1卷积核:降维,增加非线性
3x3卷积核:多个卷积核叠加,增加空间感受野,减少参数
模型原理
VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野
(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核
,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小
(参数更少)。
在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。
优点
- VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。
- 几个小滤波器(3x3)卷积层的组合比一个大滤波器(5x5或7x7)卷积层好:
- 验证了通过不断加深网络结构可以提升性能。
缺点
VGG耗费更多计算资源,并且使用了更多的参数(这里不是3x3卷积的锅),导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。
VGG-16
参考:https://zhuanlan.zhihu.com/p/41423739、https://blog.csdn.net/chenyuping333/article/details/82250931