VGGNet简单学习

VGGNet由牛津大学视觉几何组(Visual Geometry Group)和 DeepMind 公司提出,VGGNet经常被用来提取图像特征。其突出贡献在于证明使用3x3卷积,增加网络深度可以在一定程度上增强模型效果,而且对其他数据集具有很好的泛化能力。
VGGNet探索了CNN的深度及其性能之间的关系,笔者推荐像笔者一样的新手朋友们可以观看B站的李宏毅讲解卷积神经网络(带字幕)
进行学习,这个老师讲的很通俗易懂!
下面进入正题:

VGG各级别网络图

VGGNet简单学习_第1张图片
如图所示VGGNetA、A-LRN、B、C、D、E一共有六种不同的网络结构,这6种网络都是由5层卷积层、3层全连接层组成,其中区别在于每个卷积层的子层数量不同,从A至E依次增加(子层数量从1到4),总的网络深度从11层到19层(添加的层以粗体显示)。表格中的卷积层参数表示为“conv⟨感受野大小⟩-通道数⟩”,例如con3-128,表示使用3x3的卷积核,通道数为128。其中,网络结构D就是著名的VGG16,网络结构E就是著名的VGG19。想学习具体层处理过程建议观看开头推荐视频

VGGNET的特点

1、结构简洁
VGG结构由5层卷积层、3层全连接层、softmax输出层构成,层与层之间使用max-pooling(最大池化)分开,所有隐层的激活单元都采用ReLU函数。

2、VGGNET全部使用3x3的卷积核2x2的池化核,不断加深网络深度以此提升性能。作者认为,两个3x3卷积层的串联相当于1个5x5的卷积层,3个3x3的卷积层串联相当于1个7x7的卷积层,即3个3x3卷积层的感受野大小相当于1个7x7的卷积层。那VGG为什么要用3x3卷积层呢?这是因为3个3x3的卷积层参数量只有7x7的一半左右,并且有3个非线性操作可以增加网络的拟合/表达能力,而7x7只有1个非线性操作,这样使得前者对于特征的学习能力更强。

3、通道数多
VGG网络第一层的通道数为64,后面每层都逐步乘以2,最多到512个通道,通道数的增加,使得更多的信息可以被提取出来。即:特征图的通道数单调递增。

4、层数更深、特征图更宽
由于卷积核专注于扩大通道数、池化专注于缩小宽和高,使得模型架构上更深更宽的同时,控制了计算量的增加规模。 注:特征图的空间分辨率单调递减

代码实现

推荐一篇笔者觉得注释很清晰的博客文章供大家参考深度学习VGG代码实现

你可能感兴趣的:(机器学习笔记摘要)