2015年Karen Simonyan 在《Very Deep Convolutional Networks for Large-scale Image Recognition》给出结论:卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用。
Architecture
VGG-16
VGG-16的网络很简单,有13个卷积层(被5个max-pooling层分割)和3个全连接层。所有卷积层的过滤器大小都是3×33×3,步长为1,进行padding。激活函数:ReLU。
技术介绍
3*3 卷积核代替7*7 and 5*5 的原因:
- 从视野域分析,3个3*3的卷积相当于1个5*5,使用了3个非线性激活函数,增加了非线性表达能力,使得分割平面更具有可分性
- 减少参数个数。对于C个通道的卷积核,7*7含有参数(7**2)*(C**2)=49(C**2), 3个3*3的参数个数为3*(3**2)*(C**2)=27(C**2),参数大大减少参数量
部分结构采用1*1卷积核的原因:
- 在不影响感受野的情况下,增加模型的非线性性
- 1x1卷机相当于线性变换,非线性激活函数起到非线性作用
网络深度对性能的影响:
- VGG与GoogleNet模型都很深且都采用了小卷积
- VGG只采用3x3,而GoogleNet采用1x1, 3x3, 5x5,模型更加复杂(模型开始采用了很大的卷积核,来降低后面卷机层的计算)
网络迁移
全连接层的大小分别为4096、4096、1000,因为改网络的目的是对ILSVRC的1000个类分类,所以网络最后使用softmax层。
其他基于VGG-16的网络或者修改最后一层全连接层的大小(不同的分类数量),或者删除最后一层全连接层或删除所有全连接层,后面接上自己设计的网络,把VGG-16作为图片的特征提取器。