VGG16
什么是VGG16?VGG16网络结构看不懂啊!!!为什么是16?
前言
VGG是Oxford的Visual Geometry Group的组提出的(大家应该能看出VGG名字的由来了)。该网络是在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。
网络结构
网络上很多给的是下面两张图片,反正就是图,初次看也看不太懂。没关系啦,我把我的理解用表格的形式列出来,可以参考以下。
首先明确一下,VGG16由哪些层构成的。
卷积层/池化层/全连接层/softmax层(这里我没有列出softmax层),关于图片经过卷积层和池化层的输出不太清楚,可以参考之前写的文章https://blog.csdn.net/weixin_43999691/article/details/117565500
好了,图表来了,一起看看吧。
1. VGG16主要分5块(block),每块后面接上池化层(caluate是计算公式,output是经过卷积和池化后的图片输出尺寸)
1)bolck1:两次卷积,卷积核:3*3 padding:1 步长:1 卷积核数:64
2)maxpool:核:2*2 步长:2 核数:64
3)bolck2:两次卷积,卷积核:3*3 padding:1 步长:1 卷积核数:128
4)maxpool:核:2*2 步长:2 核数:128
5)bolck3:三次卷积,卷积核:3*3 padding:1 步长:1 卷积核数:256
6)maxpool:核:2*2 步长:2 核数:256
7)bolck4:三次卷积,卷积核:3*3 padding:1 步长:1 卷积核数:512
8)maxpool:核:2*2 步长:2 核数:512
9)bolck5:三次卷积,卷积核:3*3 padding:1 步长:1 卷积核数:512
10)maxpool:核:2*2 步长:2 核数:512
2.FC层(全连接层)
在接入FC层时,通常会将3维的数组拉平成1维数组,方便接入FC层进行映射。拉平之后,输入有25088个输入
1)FC4096:输入25088 ---> 4096个输出
2)FC4096:输入4096 ---> 4096个输出
3)FC1000:输入4096 ---> 1000个输出
3.为什么是16?
卷积层和全连接层具有权重系数,因此也被称为权重层,总数目为13+3=16(池化层不涉及权重,因此不属于权重层,不被计数),VGG19就号理解了吧。