VGG Pytorch复现

VggNet Pytorch复现

一、简介
VggNet是第一个真正意义上的深层网络结构,该网络结构简单,就是不断堆叠卷积层和池化层。
VggNet相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。
简单来说,在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。

VGG16包含了16个隐藏层(13个卷积层和3个全连接层),
VGG19包含了19个隐藏层(16个卷积层和3个全连接层),结构如下图
VGG Pytorch复现_第1张图片
VGG网络的结构非常一致,从头到尾全部使用的是3x3的卷积和2x2的max pooling。

二、VGG优缺点
优点
VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。几个小滤波器(3x3)卷积层的组合比一个大滤波器(5x5或7x7)卷积层好:
验证了通过不断加深网络结构可以提升性能。

缺点
VGG耗费更多计算资源,并且使用了更多的参数(这里不是3x3卷积的锅),导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。VGG可是有3个全连接层啊!

三、Pytorch复现网络结构
https://blog.csdn.net/mingxiaod/article/details/88408890?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160240218519195240443279%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160240218519195240443279&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28_p-2-88408890.pc_first_rank_v2_rank_v28_p&utm_term=vgg++pytorch&spm=1018.2118.3001.4187

你可能感兴趣的:(卷积神经网络专题)