[人工智能-深度学习-34]:卷积神经网络CNN - 常见分类网络- VGG16/VGG19网络结构分析与详解

2023-11-03

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120894643


目录

第1章 卷积神经网络基础

1.1 卷积神经发展与进化史

1.2 卷积神经网络的核心要素

1.3 卷积神经网络的描述方法

1.4 人工智能三巨头  + 华人圈名人

第2章 VGG网络概述

2.1 VGG网络概述

2.2 VGG网络特点与改进

第3章 网络结构分析

3.1 网络结构描述 - 厚度法

3.2 网络结构描述 - 列表法

3.3 网络结构描述- 堆叠法

3.4 网络结构分析



第1章 卷积神经网络基础

1.1 卷积神经发展与进化史

 AlexNet是深度学习的起点,后续各种深度学习的网络或算法,都是源于AlexNet网络。

[人工智能-深度学习-31]:卷积神经网络CNN - 常见卷积神经网络综合比较大全_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:第1章 人工智能发展的3次浪潮1.1人工智能的发展报告2011-2020资料来源:清华大学、中国人工智能学会《人工智能的发展报告2011-2020》,赛迪研究院、人工智能产业创新联盟《人工智能实践录》,中金公司研究部► 第一次浪潮(1956-1974年):AI思潮赋予机器逻辑推理能力。伴随着“人工智能”这一新兴概念的兴起,人们对AI的未来充满了想象,人工智能迎来第一次发展浪潮。这.https://blog.csdn.net/HiWangWenBing/article/details/120835303

1.2 卷积神经网络的核心要素

[人工智能-深度学习-27]:卷积神经网络CNN - 核心概念(卷积、滑动、填充、参数共享、通道)_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录第1章 卷积中的“积”的定义第2章 卷积中的“卷”的定义第3章 填充第4章 单个卷积核的输出第5章 多个卷积核的输出第6章 卷积对图形变换第7章 池化层第8章 全连接的dropout第1章 卷积中的“积”的定义第2章 卷积中的“卷”的定义stride:反映的每次移动的像素点的个数。第3章 填充...https://blog.csdn.net/HiWangWenBing/article/details/120806277

1.3 卷积神经网络的描述方法

[人工智能-深度学习-28]:卷积神经网络CNN - 网络架构与描述方法_文火冰糖(王文兵)的博客-CSDN博客作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录第1章 什么是卷积神经网络第2章 卷积神经网络的描述方法第3章 卷积神经网络的本质第4章 卷积神经网络的总体框框第5章卷积神经网络的发展与常见类型与分类第6章 常见的卷积神经网络6.1 AlexNet6.2 VGGNet6.3 GoogleNet: inception结构6.4 google net6.5 ResNet第7章 常见图形训练库第1.https://blog.csdn.net/HiWangWenBing/article/details/120806599

1.4 人工智能三巨头  + 华人圈名人

Yoshua Bengio、Yann LeCun、Geoffrey Hinton共同获得了2018年的图灵奖。

杰弗里·埃弗里斯特·辛顿(Geoffrey Everest Hinton),计算机学家、心理学家,被称为“神经网络之父”、“深度学习鼻祖”。Hinton是机器学习领域的加拿大首席学者,是加拿大高等研究院赞助的“神经计算和自适应感知”项目的领导者,是盖茨比计算神经科学中心的创始人,目前担任多伦多大学计算机科学系教授。2013年3月,谷歌收购 Hinton 的公司 DNNResearch 后,他便随即加入谷歌,直至目前一直在 Google Brain 中担任要职。

Yoshua Bengio是蒙特利尔大学(Université de Montréal)的终身教授,任教超过22年,是蒙特利尔大学机器学习研究所(MILA)的负责人,是CIFAR项目的负责人之一,负责神经计算和自适应感知器等方面,又是加拿大统计学习算法学会的主席,是ApSTAT技术的发起人与研发大牛。Bengio在蒙特利尔大学任教之前,是AT&T贝尔实验室 & MIT的机器学习博士后。

Yann LeCun,担任Facebook首席人工智能科学家和纽约大学教授,1987年至1988年,Yann LeCun是多伦多大学Geoffrey Hinton实验室的博士后研究员。

第2章 VGG网络概述

2.1 VGG网络概述

VGG模型是2014年ILSVRC竞赛的第二名,第一名是GoogLeNet

模型的名称——“VGG”代表了牛津大学的Oxford Visual Geometry Group(牛津视觉几何组),该小组隶属于1985年成立的Robotics Research Group,该Group研究范围包括了机器学习到移动机器人。

2.2 VGG网络特点与改进

VGG在AlexNet基础上做了改进,整个网络都使用了同样大小的3*3卷积核尺寸和2*2最大池化尺寸,网络结果简洁。

(1)小卷积核。作者将卷积核全部替换为3x3(极少用了1x1);

VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)

对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

简单来说,在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。

比如,3个步长为1的3x3卷积核的一层层叠加作用可看成一个大小为7的感受野(其实就表示3个3x3连续卷积相当于一个7x7卷积),其参数总量为 3x(9xC^2) ,如果直接使用7x7卷积核,其参数总量为 49xC^2 ,这里 C 指的是输入和输出的通道数。很明显,27xC^2小于49xC^2,即减少了参数;而且3x3卷积核有利于更好地保持图像性质。

小的卷积核的好处:

  • 有利于提取大图片中,局部的特征。
  • 有利于通过细微特征,对图片进行区分。

(2)小池化核。相比AlexNet的3x3的池化核,VGG全部为2x2的池化核;

(3)多个卷积层后才会有一次池化层,并非1:1关系。

(4)层数更深,抽象程度更高

(5)特征图更宽,特征信息更丰富

(6)卷积核专注于扩大通道数,即增加特征图的个数。

(7)池化专注于缩小宽和高。

(8)模型架构上更深更宽的同时,计算量的增加放缓;

(9)全连接层:VGG可是有3个全连接层。

2.3 缺点

  • 参数量有140M之多,需要更大的存储空间。

网上有的文章称:发现这些全连接层即使被去除,对于性能也没有什么影响,这样就显著降低了参数数量。本文作者并没有做实验进行比较。

VGG相对其他的方法,参数空间很大,最终的model有500多m,AlexNet只有200m,GoogLeNet更少,所以train一个vgg模型通常要花费更长的时间。

所幸有公开的pretrained model(其他人预先训练好的模型)让我们很方便的使用。

第3章 网络结构分析

3.1 网络结构描述 - 厚度法

这种方式只能描述一种网络结构。

以网络结构D(VGG16)为例,介绍其各层的处理过程如下:

(0)输入224x224x3的图片

(1)第一轮:3次卷积 

  • 经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64
  • 作max pooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64

(2)第2轮:3次卷积 +1一次池化

  • 经128个3x3的卷积核作两次卷积+ReLU,尺寸变为112x112x128
  • 作2x2的max pooling池化,尺寸变为56x56x128

(3)第3轮:3次卷积 + 1次池化

  • 经256个3x3的卷积核作三次卷积+ReLU,尺寸变为56x56x256
  • 作2x2的max pooling池化,尺寸变为28x28x256

(4)第4轮:3次卷积 + 1次池化

  • 经512个3x3的卷积核作三次卷积+ReLU,尺寸变为28x28x512
  • 作2x2的max pooling池化,尺寸变为14x14x512

(5)第5论3次卷积 + 1次池化

  • 经512个3x3的卷积核作三次卷积+ReLU,尺寸变为14x14x512
  • 作2x2的max pooling池化,尺寸变为7x7x512

(6)第6轮:3次全连接

  • 与两层1x1x4096,一层1x1x1000进行全连接+ReLU(共三层)
  • 通过softmax输出1000个预测结果

3.2 网络结构描述 - 列表法

这种方式适合描述多个相似的网络结构

3.3 网络结构描述- 堆叠法

这种方式可以描述任意的网络结构

3.4 网络结构分析

(1)VGG不是单一的网络结构,而是有多种不同的网络结构组成的系列。

  • 如VGG16表示为16层的VGG, VGG19表示为19层的VGG.
  • 如VGG16-C, VGG16-D

(2)整个网络输出分类数为1000,即能够进行1000种图片的分类。

(3)由于卷积核的大小,都为3 * 3,因此在某些形式的网络结构图中就不用再体现了。卷积核的大小,对参数量和计算量都是强相关的。

(4)由于池化层的大小,都是2 * 2,因此在网络结构图中就不用再体现了。

(5)3*3 conv,64表示:3*3表示卷积核的大小,64表示卷积核的个数,因此这种描述方式可以表达该层的参数的个数,但无法表达计算量的大小。

总结:

VGG网络,仅仅在网络的规模层面上进行了扩展,并没有对网络的架构进行变革,只是简单的通过增加网络的层数以及卷积层的尺寸而已。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120894643

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[人工智能-深度学习-34]:卷积神经网络CNN - 常见分类网络- VGG16/VGG19网络结构分析与详解 的相关文章

随机推荐

  • 如何在 Ubuntu 20.04 上安装 MariaDB

    MariaDB 是一个开源关系数据库管理系统 它最初被设计为向后兼容的 二进制的 MySQL 直接替代品 MariaDB由MySQL的原始开发人员和开源社区开发和维护 本指南介绍了如何在 Ubuntu 20 04 上安装 MariaDB 先
  • 如何在 CentOS 8 上配置和管理防火墙

    防火墙是一种监视和过滤传入和传出网络流量的方法 它的工作原理是定义一组安全规则来确定是允许还是阻止特定流量 正确配置的防火墙是整个系统安全最重要的方面之一 CentOS 8 附带一个名为防火墙 它是一个带有 D Bus 接口的完整解决方案
  • 如何在 Debian 10 Linux 上安装 Jenkins

    Jenkins是一个开源自动化服务器 提供了一种设置持续集成和持续交付 CI CD 管道的简单方法 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付 CD 是自动构建
  • 如何连接到 Docker 容器

    当您想查看容器内发生的情况时 连接到正在运行的 Docker 容器会很有帮助 如果 Docker 容器未按预期工作 您可以附加到容器或为容器获取 shell 并运行以下命令 ps or top 还可以进入容器 安装新的包 构建一个新的 Do
  • 【机器学习】支持向量机(2)——线性可分支持向量机(硬间隔最大化法,对偶算法)

    前言 此文中我们介绍了支持向量机用到的一些概念以及求解方法 接下来我们将分别介绍线性可分支持向量机 线性支持向量机以及非线性支持向量机 首先 我们考虑一个二类分类问题 假设输入空间与特征空间为两个不同的空间 输入空间为欧氏空间或离散集合 特
  • arduino实战 2——利用arduino做一个人体传感器

    arduino是较为简单的单片机 易上手 所以利用arduino开始探索之旅吧 目录 一 材料清单 一 模块介绍 1 HC SR501 2 HC SR04 二 实物展示 1 工作流程 2 连线 二 代码 1 代码展示 2 代码的理解 三 写
  • mybatisplus 修改某个字段为空值

    文章目录 前言 一 重现bug 二 解决方法 总结 前言 需求 移除企业 将ent id设置为null 一 重现bug 1 使用updateById 更新单独个字段为空值 结果报错 Override public void update S
  • Android:换肤框架Android-Skin-Support

    gihub地址 https github com ximsfei Android skin support 样例 默认 更换后 一 引入依赖 换肤依赖 implementation skin support skin support 4 0
  • 哈希表以及哈希冲突

    目录 哈希表 哈希冲突 1 冲突发生 2 比较常见的哈希函数 3 负载因子调节 重点 散列表的载荷因子概念 负载因子和冲突率的关系 冲突 解决 闭散列 线性探测 二次探测 冲突 解决 开散列 结尾 我们在前面讲解了TerrMap Set 的
  • linux查看进程号、端口号

    进程ID是由操作系统内核进行分配和管理的 而端口号是由通讯协议内核分配并进行管理的 Linux查看进程号 端口号 Linux 查看端口占用情况 linux命令 ps grep kill 1 已知程序名称查看进程号 ps ef grep 程序
  • Unity物理系统常用知识总结

    Unity物理系统常用知识总结 碰撞器 XX Collider 触发器 刚体 Rigidbody组件 Constant Force 射线 碰撞器 XX Collider 碰撞器组件 有多种类型 图上的这个是盒状碰撞器 绿色边缘 表示这个物体
  • OpenStack中制作和上传Docker镜像

    一 在docker节点新建dockerfile文件 vim dockerfie 二 文件里面填 无需任何修改 FROM ubuntu 14 04 MAINTAINER ZhangKe lt 294667739 qq com gt RUN a
  • 《C语言程序设计》课程总结报告

    一 我学到的内容 二 我的收获 作业链接 收获 https pintia cn problem sets 1575138141596397568 exam problems c语言基础知识 https pintia cn problem s
  • 想要成为 NLP 领域的大牛?从 ChatGPT 的 5 大自然语言模型开始了解吧(LM、Transformer、GPT、RLHF、LLM)——小白也能看得懂

    目录 前言 ChatGPT基础科普 知其一点所以然 1 LM 2 Transformer 3 GPT 4 RLHF 5 LLM 参考资料 其它资料下载 前言 如果想在自然语言处理 Natural Language Processing NL
  • [深入研究4G/5G/6G专题-56]: L3信令控制-5-无线承载DRB管理

    目录 第1章 无线承载概述 1 1 LTE承载 1 2 5G NR承载 第2章 无线承载的属性与配置参数模板
  • QT 数据保存到Excel,并把异常数据标红

    在Qt自带的axcontainer模块中 我们可以使用QAxObject类来将数据保存到Excel中 Qt中将数据保存到Excel通常有两种方式 一种是以Excel格式导出 需要电脑上安装Office软件 另一种是以CSV格式导出 无需安装
  • 帕累托图 概念

    帕累托图是品管七大手法之一 是一种查找问题原因的分析方法 在质量管理中 我们常用帕累托图 排列图 来分析质量问题产生的主要因素 从而有重点的采取纠正措施 什么是帕累托图 帕累托图是一种按发生频率大小顺序绘制的特殊直方图 故又名排列图 主次图
  • 【SpringMVC】JSON注解&全局异常处理机制

    欢迎来到我的CSDN主页 我是Java方文山 一个在CSDN分享笔记的博主 在这里 我要推荐给大家我的专栏 Spring MVC 无论你是编程小白 还是有一定基础的程序员 这个专栏都能满足你的需求 我会用最简单易懂的语言 带你走进Sprin
  • 除了自动化访问性测试,我还对构建的页面做的六件事

    本文翻译自 Beyond automatic accessibility testing 6 things I check on every website I build 如有翻译不当之处 请不吝指正 我刚对客户端完成一次可访问性审核 a
  • [人工智能-深度学习-34]:卷积神经网络CNN - 常见分类网络- VGG16/VGG19网络结构分析与详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120894643 目录 第1章 卷积神