VGG历史VGGNet是由牛津大学计算机视觉组“Visual Geometry Group”和谷歌深度mind公司研究员共同开发的卷积神经网络。 VGGNet探索卷积神经网络深度与其性能的关系,通过重复使用3x3的小型卷积核和2x2的最大池化层,VGGNet成功建立了16~19层深度的卷积神经网络。
VGG网络结构
首先说明图的结构,ABCDE分别是当时VGG项目团队测试的不同网络结构,对不同结构进行了有效的比较,其中lrn [ localresponsenormalization ]用处不大图中的d和e分别为VGG16和VGG19。
这里给出了比较直观的结构图。
VGG16网络的优势如果你接触过深度学习,你一定知道最早期的卷积神经网络是通过用比较大的卷积核进行卷积来提取特征的。 例如AlexNet、LeNet )。 卷积核的大小越大,越能总结空间信息。 但是,同样增加了参数的数量,增加了计算量。 另一方面,使用VGG网络来替代迄今为止的大规模卷积核,并且每个block使用多个3x3卷积核。举个例子,该VGG网络可以说是非常nice 但是,参数的量相差近两倍(3x3x3=27,7x7=49 )。
在每个模块的说明中,在学习深度学习网络的过程中,您都听说过卷积操作、池化操作、规范化操作、非线性变换(激活函数/ReLu )、感受野等名词。 【这里大家需要好好理解,对于每一步的前后联系和目的一定要好好思考】
0 )感受野
其实,就是一个像素的点与以前的几个像素有关联。 例如,在下面的33卷积操作中,与卷积功能的一个像素点相对应的感知范围的大小为3x3=9。
1 )卷积操作
图中用简单的动态图很好地表示了3x3卷积的过程。 其中主要包括卷积核的大小参数和卷积核的个数即通道数channels【缺省strides=1,padding=‘same’】。 这里以包含两个conv3-64的VGG16的block1为例。 其中3表示33的卷积核大小,64表示卷积核的个数,即得到的性能映射的通道数。 在这里也顺便总结一下卷积的好处和几条路线。
参数共享:也就是说,当一个卷积匹配图像进行卷积时,其中的参数保持不变。 坦率地理解,尺度不变将提高网络的宽容性。 就像杯子是横放还是竖放,人都能分辨出来一样。
低/高等级性能图:即低阶/高阶特征。 这是随着卷积网络的加深,具有不同深度的特征贴图的名称。 低阶特征可以理解为颜色、边缘等特征,就像照片中的车的轮廓一样。 高阶特征可以看作是更抽象的特征,如车中的车轮和车轮中的轮胎,相当于更细分的东西。 由于卷积网络深度的增加,提取的最后一个高阶特征是构成元素的基本构成单元,如点、线、弧等。而最后的全连接层的目的其实就是进行这些高阶特征的特征组合
ReLu和BN :激活函数层和归一化层。 激活函数层的目的是非线性化,得到结果的非线性表示。 归一化BN层可以防止梯度爆炸和梯度色散,也有利于网络的收敛。 Conv BN relu基本上是一起使用的。
2 )池化操作
池化操作主要包括最大池化和平均池化。
最大池化:其实是降维,提取图像的主要特征。
平均池化:取保存图像背景信息的区域的平均值。
有关卷积和池化的详细参数介绍,请参见:
3359 blog.csdn.net/errors _ in _ life/article/details/65950699
总结VGGNet的好处真的太多了
1 .图片拥有天然的空间结构信息,而卷积操作正是很好地利用了这一空间结构信息。 另外,即使通过对每个块操作多个Conv来减少参数量,也残留相同的感觉范围。
2 .通过深化网络结构,网络可以提取更抽象的高阶特征,这是最后提取512个信道特征图的原因。
3 .说明了随着网络的加深,对精度的提高有很大的贡献
4 .缺点:其参数量太大,消耗了很多计算资源,这主要是因为最后三个全连接层。 然后,还提出了Inception v1、v2、v3版本和FCN等网络,很好地解决了这些问题,感兴趣的人可以自行调查。
目前,很难解释深度学习。 对VGGNet的理解,也都只是本人个人的理解。 如果走调了,希望大家在下面给我留言,大家讨论,互相进步。