经典网络VGGNet(其中VGG为Visual Geometry Group)由Karen Simonyan等于2014年提出,论文名为《Very Deep Convolutional Networks for Large-Scale Image Recognition》,论文见:https://arxiv.org/pdf/1409.1556.pdf,网络结构如下图所示,其中D和E即为VGG-16和VGG-19:

下图是来自https://neurohive.io/en/popular-networks/vgg16/ 中VGG-16架构的截图:

VGG-16(13个卷积层+3个全连接层)与VGG-19(16个卷积层+3个全连接层)的区别:每个卷积层后跟ReLU

(1).VGG-16:2个卷积层+Max Pooling+2个卷积层+Max Pooling+3个卷积层+Max Pooling+3个卷积层+Max Pooling+3个卷积层+Max Pooling+3个全连接层。

(2).VGG-19:2个卷积层+Max Pooling+2个卷积层+Max Pooling+4个卷积层+Max Pooling+4个卷积层+Max Pooling+4个卷积层+Max Pooling+3个全连接层。

假如输入图像大小为n*n,过滤器(filter)为f*f,padding为p,步长(stride)为s,则输出大小为:如果商不是整数,向下取整,即floor函数。参考:https://blog.csdn.net/fengbingchun/article/details/80262495

VGGNet网络证明了增加网络深度有利于分类精度,使错误率下降。VGGNet模型应用到其它图像数据集上泛化性也很好。

VGGNet网络:

(1).结构简洁:卷积层+ReLU、最大池化层、全连接层、Softmax输出层。

(2).使用连续几个较小卷积核(3*3)替换AlexNet中的较大卷积核且采用same padding(即p=(f-1)/2),既减少参数,又进行了更多的非线性映射,可以增加网络的拟合能力。分为5段卷积,每段包括2至4卷积层。

(3).最大池化,小池化核(2*2),stride为2。

(4).通道数即feature maps数逐渐翻倍增加,使得更多的信息可以被提取出来。

(5).训练时将同一张图像缩放到不同的大小,在随机裁剪到224*224大小以及随机水平翻转,增加训练数据量。

(6).在测试阶段,将3个全连接层替换为3个卷积层,这样输入层可以接收任意宽或高的图像。

VGG-16架构:13个卷积层+3个全连接层,predict时对各层进行说明,参照:https://github.com/fengbingchun/Caffe_Test/blob/master/test_data/Net/VGG-16/vgg-16_deploy.prototxt

(1).输入层(Input):图像大小为224*224*3。

(2).卷积层1+ReLU:使用64个3*3的filter,stride为1,padding为1,输出为224*224*64,64个feature maps,训练参数(3*3*3*64)+64=1792。

(3).卷积层2+ReLU:使用64个3*3的filter,stride为1,padding为1,输出为224*224*64,64个feature maps,训练参数(3*3*64*64)+64=36928。

(4).最大池化层:filter为2*2,stride为2,padding为0,输出为112*112*64,64个feature maps。

(5).卷积层3+ReLU:使用128个3*3的filter,stride为1,padding为1,输出为112*112*128,128个feature maps,训练参数(3*3*64*128)+128=73856。

(6).卷积层4+ReLU:使用128个3*3的filter,stride为1,padding为1,输出为112*112*128,128个feature maps,训练参数(3*3*128*128)+128=147584。

(7). 最大池化层:filter为2*2,stride为2,padding为0,输出为56*56*128,128个feature maps。

(8).卷积层5+ReLU:使用256个3*3的filter,stride为1,padding为1,输出为56*56*256,256个feature maps,训练参数(3*3*128*256)+256=295168。

(9).卷积层6+ReLU:使用256个3*3的filter,stride为1,padding为1,输出为56*56*256,256个feature maps,训练参数(3*3*256*256)+256=590080。

(10).卷积层7+ReLU:使用256个3*3的filter,stride为1,padding为1,输出为56*56*256,256个feature maps,训练参数(3*3*256*256)+256=590080。

(11). 最大池化层:filter为2*2,stride为2,padding为0,输出为28*28*256,256个feature maps。

(12).卷积层8+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为28*28*512,512个feature maps,训练参数(3*3*256*512)+512=1180160。

(13).卷积层9+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为28*28*512,512个feature maps,训练参数(3*3*512*512)+512=2359808。

(14).卷积层10+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为28*28*512,512个feature maps,训练参数(3*3*512*512)+512=2359808。

(15). 最大池化层:filter为2*2,stride为2,padding为0,输出为14*14*512,512个feature maps。

(16).卷积层11+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为14*14*512,512个feature maps,训练参数(3*3*512*512)+512=2359808。

(17).卷积层12+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为14*14*512,512个feature maps,训练参数(3*3*512*512)+512=2359808。

(18).卷积层13+ReLU:使用512个3*3的filter,stride为1,padding为1,输出为14*14*512,512个feature maps,训练参数(3*3*512*512)+512=2359808。

(19). 最大池化层:filter为2*2,stride为2,padding为0,输出为7*7*512,512个feature maps。

(20).全连接层1+ReLU+Dropout:有4096个神经元或4096个feature maps,训练参数(7*7*512)*4096=102760488。

(21). 全连接层2+ReLU+Dropout:有4096个神经元或4096个feature maps,训练参数4096*4096=16777216。

(22). 全连接层3:有1000个神经元或1000个feature maps,训练参数4096*1000=4096000。

(23).输出层(Softmax):输出识别结果,看它究竟是1000个可能类别中的哪一个。

train和predict的可视化结果如下图所示:

GitHub:https://github.com/fengbingchun/NN_Test

经典网络VGGNet介绍相关推荐

  1. 经典网络GoogLeNet介绍

    经典网络GoogLeNet由Christian Szegedy等于2014年提出,论文名为<Going deeper with convolutions>,论文见:https://arxi ...

  2. 经典网络AlexNet介绍

    AlexNet经典网络由Alex Krizhevsky.Hinton等人在2012年提出,发表在NIPS,论文名为<ImageNet Classification with Deep Convo ...

  3. 经典网络ResNet介绍

    经典网络ResNet(Residual Networks)由Kaiming He等人于2015年提出,论文名为<Deep Residual Learning for Image Recognit ...

  4. 经典网络LeNet-5介绍及代码测试(Caffe, MNIST, C++)

    LeNet-5:包含7个层(layer),如下图所示:输入层没有计算在内,输入图像大小为32*32*1,是针对灰度图进行训练和预测的.论文名字为" Gradient-Based Learni ...

  5. 综述 | 语义分割经典网络及轻量化模型盘点

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 基于图像的语义分割又被理解为密集的像素预测,即将每个像素进行分类, ...

  6. 手撕 CNN 经典网络之 VGGNet(PyTorch实战篇)

    大家好,我是红色石头! 在上一篇文章: 手撕 CNN 经典网络之 VGGNet(理论篇) 详细介绍了 VGGNet 的网络结构,今天我们将使用 PyTorch 来复现VGGNet网络,并用VGGNet ...

  7. 手撕 CNN 经典网络之 VGGNet(理论篇)

    2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司一起研发了新的卷积神经网络,并命名为VGGNet.VGGNet是比AlexNet更深的 ...

  8. 经典卷积网络--VGGNet

    经典卷积网络--VGGNet 1.VGGNet网络模型 2.VGGNet网络模型搭建(使用Tensorflow) 3.完整代码实现(使用CIFAR10数据集) 借鉴点:小卷积核减少参数的同时,提高识别 ...

  9. 「图像分类」从数据集和经典网络开始

    https://www.toutiao.com/i6715367170378826248/ 欢迎大家来到图像分类专栏,本篇简单介绍数据集和图像分类中的经典网络的进展. 作者 | 郭冰洋 编辑 言有三 ...

最新文章

  1. AI也能写高考作文?我们用清华刚刚开源的「九歌」试了试
  2. 异步复位同步释放_简谈同步复位和异步复位
  3. matlab在linux下面的相对路径的写法
  4. caffe 关于Deconvolution的初始化注意事项
  5. linux module_init
  6. Java 16 正式发布
  7. redis缓存雪崩、缓存穿透和缓存击穿等总结
  8. Adobe Photoshop/Adobe Dreamwear/您此时无法使用此产品。您必须问题解决办法FLEXnet Licensing Service服务
  9. Nginx完美解决前后端分离端口号不同导致的跨域问题
  10. cBioPortal数据库使用
  11. 徐亦达老师机器学习课程
  12. 使用for循环编写倒立反方向直角三角形
  13. LoadLibraryEx(DONT_RESOLVE_DLL_REFERENCES)的缺陷
  14. IPv6知识概述 - IPv6地址
  15. 全量发布与灰度发布(APP版本发布)
  16. 1688商品详情API接口(1688商品信息查询接口)
  17. 获取下一个周几的日期
  18. 我的第一个嵌入式linux驱动3_完善2
  19. October 12th 2017 Week 41st Thursday
  20. c# forbidden.html,nginx静态资源文件无法访问,403 forbidden错误

热门文章

  1. Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl
  2. OpenCV中的特征匹配+单应性以查找对象
  3. Python,OpenCV鼠标事件进行矩形、圆形的绘制(随机颜色、随机半径)
  4. JAVA IDEA集成geotools gt-mif gdal读取.MIF
  5. AI视频行为分析系统项目复盘——技术篇1:Ubuntu 18.04部署编译OpenCV+contrib、TensorFlow2.1、CUDA10.1+cuDNN7.6.5、tensorRT6.0.1等
  6. 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第二章 深入理解Netd
  7. ATS无法缓存QQ音乐的音频文件问题
  8. Ubuntu 14.04 64位上安装Adobe reader 9.5.5
  9. 九章算法班L8 Array Number
  10. 一起学Hadoop——实现两张表之间的连接操作