浅述经典的4种卷积网络之(2)VGGNet

来源:互联网 发布:女生做数据运营 编辑:程序博客网 时间:2024/06/07 04:48

这里不对这VGGNet网络进行详细的原理阐述,只是卷积网络的由来以及网络结构和网络参数进行叙述,然后通过tensorflow进行代码实现,参看《tensorflow实战》。
1.VGG网络叙述
获得2014年ILSVRC比赛分类项目的亚军,top-5错误率7.3%,19层神经网络。VGGNet探索了其深度与性能的关系,通过反复堆叠3*3的卷积层和2*2的max pooling层,构建了16~19层深的卷积神经网络,相比之前的state-of-the-art错误率下降明显,且拓展性很强,迁移到其他图像数据集的泛化性很好,经常用来提出图像特征。如图1所示为VGGNet的结构,从A到E每层网络逐渐加深,前面卷积部分虽然深,但是参数量少,不过计算量大,运行时间长,其中存在的1*1的卷积层的意义在于线性变换,输入通道数和输出通道数不变,没有发生降维。VGGNet拥有5段卷积,每段有2~3个卷积层,同时每段会连接一个最大池化层来缩小图片尺寸,每段内的卷积核数量不一样,越靠后卷积数量越多:64->128->256->512->512。两个3*3的卷积层串联相当于一个5*5的卷积层,三个3*3的卷积层串联相当于一个7*7的,但是减少了参数量,增加了非线性变换,使得CNN的学习能力更强。
这里写图片描述
                                 图1   VGGNet的ABCDE结构
VGGNet训练的时候有一些技巧,先训练前面浅层A,作为后面深层BCDE网络的初始化参数,收敛更快。在训练中,应用了multi-sale做图像增强,增加数据量,减防止过拟合。在预测时,VGGNet采用multi-sale的方法将图像scale到一个尺寸q,并将图片输入卷积网络计算。
作者对比各级网络总结出:
①LRN层作用不大
②越深的网络效果越好
③1*1的卷积也是有效的,但是没有3*3的卷积好,大一些的卷积核可以学习更大的空间特征。
2.VGGNet网络tensorflow实现

啦啦啦~后续待进啦啦啦~

阅读全文
0 0
原创粉丝点击