参考论文:Very Deep Convolutional Networks for Large-Scale Image Recognition
结构组成
论文中提供的6种网络配置:
整个网络有5个vgg-block块和5个maxpool层逐个相连,然后进入FC层,直到最后1000个softmax输出。多种VGG网络设计都很统一,都有相同的224×224×3的input层+5个maxpool层+3层fc全连接层,区别在于中间的Vgg-block块的设计不同。
以上图D列的vgg16为例:
input:
224×224×3 三通道(RGB)的图像;
vgg-block:
输入224×224×3,经过64个filter(kernelsize=(3,3,3)),stride = 1,padding=same后,得224×224×64;
Max-pooling:
输入224×224×64,经过pool size=2,stride=2后,得112×112×64;
vgg-block:
输入112×112×64,经128个filter(kernelsize=(3,3,64)),得到112×112×128;
Max-pooling:
输入112×112×128,经pool size = 2,stride = 2后,得56×56×128;
vgg-block
输入56×56×128,经过256个filter(kernelsize=(3,3,128))后,得56×56×256;
Max-pooling
输入56×56×256,经pool size = 2,stride = 2后,得28×28×256;
vgg-block:
输入28×28×256,经过512个filter(kernelsize=(3,3,256))后,得28×28×512;
Max-pooling
输入28×28×512,经pool size = 2,stride = 2后,得14×14×512;
vgg-block:
输入14×14×256,经过512个filter(kernelsize=(3,3,512))后,得14×14×512;
Max-pooling
输入14×14×512,经pool size = 2,stride = 2后,得7×7×512,展平(Flattern)得25088个参数;
Dense
输入(25088,),经过4096个神经元,得(4096,);
Dense
输入(4096,),经过4096个神经元,得(4096,);文章来源:https://www.toymoban.com/news/detail-470059.html
Dense
输入(4096,),经过1000个神经元,得(1000,)。文章来源地址https://www.toymoban.com/news/detail-470059.html
其中前两层全连接层在使用relu后还使用了Dropout(rate=0.5)对神经元随机失活,最后一层全连接层用softmax输出1000个分类。
特点
论文提出,通过堆叠2个 3*3 的卷积核来代替 5*5 的卷积核;堆叠3个 3*3 的卷积核来代替 7*7 的卷积核。虽然用了小的卷积核来替换大的卷积核,但并不会影响感受野,即感受野是相同的,但减少了参数。
到了这里,关于VGG网络结构详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!