VGG卷积神经网络是由牛津大学在2014年提出来的模型,当这个模型被提出来时, 由于它的简洁性和实用性,马上成为了当时最流行的卷进神经网络模型。它在图像分类和目标检测任务中都表现出非常好的效果。
它主要的贡献是展示出网络的深度是算法优良性的关键部分。VGG16的网络结构非常一致,从头到尾全部使用的使用的是3x3的卷积核2x2的pooling.
VGG不好的一点是它耗费更多的计算资源, 并且使用了更多的参数,导致更多的内存占用。其中绝大多数的参数都是来自于第一个全连接层。
目前使用比较多的网络结构主要有ResNet(151-1000层), GoogleNet(22层), VGG19层。大多数模型都是基于这几个模型上
改进, 采用新的优化算法, 多模型融合等。

重点介绍VGG
VGG是从alexnet发展而来的网络, 主要修改一下两个方面:
1,在第一个卷基层层使用更小的filter尺寸和间隔(33); 2,在整个图片和multi-scale上训练和测试图片。
3
3 filter:
引入cs231n上面一段话:
几个小滤波器卷积层的组合比一个大滤波器卷积层好:
假设你一层一层地重叠了3个3x3的卷积层(层与层之间有非线性激活函数)。在这个排列下,第一个卷积层中的每个神经元都对输入数据体有一个3x3的视野。
第二个卷积层上的神经元对第一个卷积层有一个3x3的视野,也就是对输入数据体有5x5的视野。同样,在第三个卷积层上的神经元对第二个卷积层有3x3的视野,
也就是对输入数据体有7x7的视野。假设不采用这3个3x3的卷积层,二是使用一个单独的有7x7的感受野的卷积层,那么所有神经元的感受野也是7x7,但是就有一些缺点。
首先,多个卷积层与非线性的激活层交替的结构,比单一卷积层的结构更能提取出深层的更好的特征。其次,假设所有的数据有C个通道,那么单独的7x7卷积层将会包含
77C=49C2个参数,而3个3x3的卷积层的组合仅有个3*(33C)=27C2个参数。直观说来,最好选择带有小滤波器的卷积层组合,而不是用一个带有大的滤波器的卷积层。前者可以表达出输入数据中更多个强力特征,
使用的参数也更少。唯一的不足是,在进行反向传播时,中间的卷积层可能会导致占用更多的内存。
11 filter: 作用是在不影响输入输出维数的情况下,对输入线进行线性形变,然后通过Relu进行非线性处理,增加网络的非线性表达能力。 Pooling:22,间隔s=2
VGG结构图

VGG-16
VGG模型有一些变种, 其中最受欢迎的当然是VGG-16, 这是一个拥有16层的模型。

卷积核参数共享:也就是说一个卷积核对图像进行卷积时,里边的参数是不变的。直观点理解,就是尺度不变性,这就使得网络的容忍能力加强。就好比一个杯子它横放和竖放人都能够将它辨别出来一样。

low/high-level feature map:即低阶/高阶特征。这是随着卷积网络的加深对不同深度的feature map的取名。低阶特征可以理解为颜色、边缘等特征,就好比是一个图片中车的轮廓。 高阶特征可以理解为是更加抽象的特征,相当于更加细化的,比如说车中车轮,以及车轮中的车胎等。而通过卷积网络深度的增加,提取到的最后的高阶特征就是组成元素的基本组成单位:比如点、线、弧等。而最后的全连接层的目的其实就是进行这些高阶特征的特征组合。

ReLu和BN:即为激活函数层和归一化层。激活函数层的目的就是为了非线性化,得到结果的非线性表达。而归一化BN层,它能够防止梯度爆炸和梯度弥散,而且对网络的收敛也有好处。Conv+BN+relu基本上都会一起使用。

小结
VGGNet的好处真是太多了

  1. 图片具有天然的空间结构信息,而卷积操作恰恰就是很好的利用了这种空间结构信息。而且每个block中通过多个Conv的操作,即减少了参数量还保留了同样的感受野。
  2. 通过网络结构的加深,网络能够提取更加抽象的高阶特征,这也就是为什么最后提取了512通道的feature map。
  3. 说明了随着网络的加深对精度的提升有很大的帮助
  4. 缺点:它的参数量太大,耗费了很多的计算资源,这主要是因为最后的三个全连接层。而后也提出了Inception v1、v2、v3版本以及FCN等网络,都很好的解决了这些问题,有兴趣的可以自己查阅一下。

虽然VGG比Alex-net有更多的参数,更深的层次;但是VGG只需要很少的迭代次数就开始收敛,原因:
1:深度和小的滤波器尺寸起到了隐士规则化作用。
2:一些层的pre-initialisation
pre-initialisation:网络A的权值W~(0,0.01)的高斯分布,bias为0;由于存在大量的ReLU函数,不好的权值初始值对于网络训练影响较大。
为了绕开这个问题,作者现在通过随机的方式训练最浅的网络A;然后在训练其他网络时,把A的前4个卷基层(感觉是每个阶段的以第一卷积层)
和最后全连接层的权值当做其他网络的初始值,未赋值的中间层通过随机初始化。

VGG16和VGG19的理解相关推荐

  1. 深度学习卷积神经网络CNN之 VGGNet模型主vgg16和vgg19网络模型详解说明(理论篇)

    1.VGG背景 2. VGGNet模型结构 3. 特点(创新.优缺点及新知识点) 一.VGG背景    VGGNet是2014年ILSVRC(ImageNet Large Scale Visual R ...

  2. 迁移学习之VGG16和VGG19

    文章目录 1.输出效果: 2.主文件TransorVGG16AndVGG19.py: 1.输出效果: 实际的图片--Dog: 预测的结果有误.但是没关系,自己可以找一些数据集,在此模型的基础上进行微调 ...

  3. VGG16 、VGG19 、ResNet50 、Inception V3 、Xception介绍

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 卷积神经网络在视觉识别任务上的表现令人称奇.好的CNN网络是带有上百万参数和许多隐含层的&qu ...

  4. vgg16网络模型的学习理解

    Vgg16网络模型一些注意和理解(可能学习的不是非常的扎实,如果有什么问题向往指出) 为什么使用3个3*3的卷积核代替一个7*7的卷积核? 保证在有相同感知野的条件下,提升了网络的深度,在一定程度上提 ...

  5. VGG16、VGG19网络架构及模型训练 tricks :训练技巧、测试技巧

    在上一篇文章的基础之上,总结一下论文中提出的训练技巧和测试技巧.上一篇文章参考:VGG论文笔记--VGGNet网络架构演变[VGG16,VGG19] 一.训练技巧 技巧1:Scale jitterin ...

  6. 转需:vgg16.npy/vgg19.npy

    分享给有需要的人,转需,耗费很多精力在找 链接: https://pan.baidu.com/s/1Aw1asqLEEMZO2dZEUzKobw 提取码: thcw 复制这段内容后打开百度网盘手机Ap ...

  7. 1、VGG16 2、VGG19 3、ResNet50 4、Inception V3 5、Xception介绍——迁移学习

    ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构 本文翻译自ResNet, AlexNet, VGG, Inception: Understanding va ...

  8. 深入理解卷积神经网络 VGG16

    文章目录 一.认识 VGG 16 1. 相关知识 2. 块结构 3. 特点 4. 权重参数 二.分析 VGG16 的过程 三.理解神经网络 VGG 16 四.用VGG16 来做一个图像识别案例 一.认 ...

  9. 一网打尽深度学习之卷积神经网络的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)

    看过的最全最通俗易懂的卷积神经网络的经典网络总结,在此分享,供更多人学习. 一.CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/articl ...

  10. 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)

    1. CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 2. LeNet-5网络 输入尺寸: ...

最新文章

  1. Android网络编程
  2. 新手福利:Apache Spark 入门攻略
  3. VLDB 2021 EAB最佳论文:深度解析机器学习的基数估计为何无法实现?
  4. 证券回购市场repo market
  5. C++笔记——析构函数
  6. 51nod-诺德街【数学期望】
  7. 【进阶2-3期】JavaScript深入之闭包面试题解
  8. pythonweb项目面试题_python和web框架面试题目整理(1)
  9. 万创帮逆向解析,让你也能体验技术变现【Python爬虫实战系列之万创帮闲置资源整合逆向】
  10. Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO) 的解决方法
  11. python网络爬虫与信息提取北京理工大学ppt_北京理工大学Python网络爬虫与信息抽取学习笔记10,信息提取...
  12. code4906 删数问题
  13. 高级UI-符合MD的常用控件
  14. 在Windows上安装jupyter notebook的scala kernel —— jupyter-scala
  15. (转)别只盯着比特币!“野蛮生长”的ICO江湖:2年30倍只是寻常
  16. 软件工程实验报告二软件可行性分析报告编写
  17. 货物列车尾部安全防护装置
  18. 情商高手与小白的言辞,差别究竟在哪里?
  19. jacob为word和excel加水印
  20. daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序.doc...

热门文章

  1. 我的世界怎么在服务器中显示键位,我的世界基础键位操作介绍 | 我的世界 | MC世界侠...
  2. kettle教程,简单插入与更新
  3. 谁说Mac系统下不能搞科研?MacOS科研软件汇总
  4. MAC终端命令自动补全
  5. 如何卸载office201032位_如何卸载流氓版office2010
  6. Windows平板 区分当前是鼠标点击还是触摸
  7. python爬取链家二手房楼盘数据信息
  8. a59s刷机包卡刷 oppo_OPPO A59S刷机包下载|OPPO A59S刷机包官方下载-太平洋下载中心...
  9. 互联网协议 — Ethernet 以太网协议
  10. 三部曲打造无路由器破解闪讯WiFi共享 经好几个同学验证