卷积神经网络经典模型架构简介

news2025/1/11 10:55:24

【图书推荐】《PyTorch深度学习与企业级项目实战》-CSDN博客

《PyTorch深度学习与企业级项目实战(人工智能技术丛书)》(宋立桓,宋立林)【摘要 书评 试读】- 京东图书 (jd.com)

ImageNet是一个包含超过1 500万幅手工标记的高分辨率图像的数据库,大约有22 000个类别。ImageNet 项目于2007年由斯坦福大学的华人教授李飞飞创办,目标是收集大量带有标注信息的图片数据供计算机视觉模型训练。ImageNet 拥有 1 500 万幅标注过的高清图片,总共拥有22 000类,其中约有100万幅标注了图片中主要物体的定位边框。

而ILSVRC(ImageNet Large-Scale Visual Recognition Challenge,ImageNet大规模视觉识别挑战赛)成立于2010年,旨在提高大规模目标检测和图像分类的最新技术,ILSVRC作为最具影响力的竞赛,促进了许多经典的卷积神经网络架构的发展,功不可没。ILSVRC使用的数据都来自 ImageNet。

从2010年开始举办的ILSVRC比赛使用ImageNet数据集的一个子集,大概拥有120万幅图片,以及1 000类标注。该比赛一般采用top-5和top-1分类错误率作为模型性能的评测指标。top1是指概率向量中最大的作为预测结果,若分类正确,则为正确;而top5只要概率向量中最大的前5名里有分类正确的,则为正确。

加拿大著名科学家Yann LeCun等人在1998年提出LeNet-5这个经典的卷积神经网络模型(用于手写数字的识别)是深度学习的奠基之作,而2012年的冠军AlexNet网络模型首次将深度学习技术应用到大规模图像分类领域,证明了深度学习技术学习到的特征可以超越手工设计的特征。如图4-14所示,ILSVRC比赛分类项目,2012年冠军AlexNet(top-5错误率为16.4%,8层神经网络)、2014年亚军VGG(top-5错误率为7.3%,19层神经网络)、2014年冠军GoogleNet(top-5错误率为6.7%,22层神经网络)、2015年的冠军ResNet(top-5错误率为3.57%,152层神经网络)。

图4-14

这些经典的卷积神经网络模型及其性能的提升,开启了计算机视觉领域中的深度学习热潮。下面,我们就从LeNet-5模型开始为大家一一介绍这些模型。

4.3.1  LeNet-5[yx1] 

LeNet-5模型是1998年Yann LeCun教授在论文Gradient-based learning applied to document recognition中提出的,是第一个成功应用于手写数字识别问题的卷积神经网络,在那时的技术条件下就能取得低于1%的错误率。因此,LeNet这一卷积神经网络便在当时效力于全美几乎所有的邮政系统,用来识别手写邮政编码进而分拣邮件和包裹。当年美国大多数银行就是用它来识别支票上面的手写数字的,能够达到这种商用的地步,它的准确性可想而知。可以说,LeNet是第一个产生实际商业价值的卷积神经网络,同时也为卷积神经网络以后的发展奠定了坚实的基础。

LeNet-5这个网络虽然很小,但是它包含深度学习的基本模块:卷积层、池化层和全链接层,是其他深度学习模型的基础。这里我们对LeNet-5进行深入分析,同时通过实例分析加深对卷积层和池化层的理解。如图4-15所示,LeNet-5模型各层分别为由卷积层(Convolution Layer)、采样层(Subsampling Layer)、卷积层、采样层、全连接层(Full connection Layer)、全连接层、高斯连接层(Gaussian connections Layer)。从图4-15中可以看到,输入的是一幅手写的英文字母A,随后经过卷积层-下采样-卷积层-下采样-全连接层-全连接层,最终输出该图片属于每个数字的概率,实际测试的时候取最大概率值的索引值为最终预测值。

 图4-15

虽然是一个只有5层的小网络,但却是当之无愧的开创性工作。卷积使得神经网络可以共享权值,一方面减少了参数,另一方面可以学习图像不同位置的局部特征。

4.3.2  AlexNet

AlexNet在2012年被提交给ImageNet ILSVRC挑战,明显优于第二名。该网络使用更多层数,使用ReLU激活函数和0.5概率的Dropout来对抗过拟合。由于AlexNet相对简单的网络结构和较小的深度,AlexNet在今天仍然广泛使用。

AlexNet是Hinton和他的学生Alex Krizhevsky设计的,是2012年ImageNet比赛的冠军,这是第一个基于CNN的ImageNet冠军,网络比LeNet5更深。

AlexNet包含5个卷积层和3个全连接层,模型示意如图4-16所示。

AlexNet为8层结构,其中前5层为卷积层,后面3层为全连接层。AlexNet引用ReLU激活函数,成功解决了Sigmoid函数在网络较深时的梯度弥散问题;使用最大值池化,避免了平均池化的模糊化效果;并且,池化的步长小于核尺寸,这样使得池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。

另外,为提高运行速度和网络运行规模,AlexNet采用双GPU的设计模式,并且规定GPU只能在特定的层进行通信交流。其实就是每一个GPU负责一半的运算处理。实验数据表示,two-GPU方案比只用one-GPU的方案,在准确度上提高了1.7%的top-1和1.2%的top-5。

图4-16

4.3.3  VGG

ILSVRC 2014的第二名是Karen Simonyan和 Andrew Zisserman实现的卷积神经网络,现在称其为VGG,网络结构如图4-17所示。它主要的贡献是揭示出网络深度是算法优良性能的关键点。

图4-17

从图中可以看到,A、A-LRN、B、C、D、E这6种网络结构相似,都是由5层卷积层、3层全连接层组成的,其区别在于每个卷积层的子层数量不同,从A至E依次增加(子层数量从1到4),总的网络深度从11层到19层(添加的层以粗体显示)。例如,上图表格中的con3-128表示使用3×3的卷积核,通道数为128。其中,网络结构D就是著名的VGG16,网络结构E就是著名的VGG19。VGG16是一个16层的神经网络,不包括最大池化层和Softmax层。因此被称为VGG16,而VGG19由19个层组成。

这些网络都遵循一种通用的设计,输入网络的是一个固定大小的224×224的RGB图像,所做的唯一预处理是从每个像素减去基于训练集的平均RGB值。图像通过一系列的卷积层时,全部使用3×3大小的卷积核。每个网络配置都是5个最大池化层,最大池化的窗口大小为2×2,步长为2。卷积层之后是三个全连接(Fully Connected,FC)层,前两层有4 096个通道,第三个层执行的是1 000路ILSVRC分类,因此包含1 000个通道(每个类一个)。最后一层是Softmax层。在A~E所有网络中,全连接层的配置是相同的。所有的隐藏层都使用RelU方法进行校正。

卷积层的宽度(即每一层的通道数)设置得很小,从第一层64开始,按照每过一个最大池化层进行翻倍,直到到达512。例如,conv3-64指的是卷积核大小为3×3,通道数量为64。全部使用3×3的卷积核和2×2的池化核,通过不断加深网络结构来提升性能。网络层数的增长并不会带来参数量上的爆炸,因为参数量主要集中在最后三个全连接层中。VGG虽然网络更深,但比AlexNet收敛得更快,缺点是占用内存较大。

VGG论文的一个主要结论就是深度的增加有益于精度的提升,这个结论堪称经典。连续3个3×3的卷积层(步长1)能获得和一个7×7的卷积层等效的感知域(Receptive Fields),而深度的增加在增加网络的非线性时减少了参数。从VGG之后,大家都倾向于使用连续多个更小的卷积层,甚至分解卷积核(Depthwise Convolution)。

但是,VGG简单地堆叠卷积层,而且卷积核太深(最多达512),特征太多,导致其参数猛增,搜索空间太大,正则化困难,因而其精度也不是最高的,在推理时相当耗时,和GoogLeNet相比性价比十分低。

4.3.4  GoogLeNet

GoogLeNet是ILSVRC 2014获奖者,是来自Google的Szegedy等人开发的卷积网络。其主要贡献是开发了一个Inception模块,该模块大大减少了网络中的参数数量。另外,这个论文在卷积神经网络的顶部使用平均池化(Average Pooling)而不是全连接层,从而消除了大量似乎并不重要的参数。GoogLeNet还有几个后续版本,最近的是Inception-v4。

GoogLeNet最吸引人的地方在于它的运行速度非常快,主要原因是它引入了Inception模块的新概念,这使得GoogLeNet更加有效地使用参数,GoogLeNet的参数量比AlexNet少10倍左右。

Inception的结构如图4-18所示。

图4-18

说明如下:

  1. 3×3+1(S)表示该层使用3×3的卷积核,步长为1,使用same填充(Padding)。
  2. 输入被复制4份,然后分别进行不同的卷积或池化操作。
  3. 图4-18中所有的卷积层都使用ReLU激活函数。
  4. 使用不同大小的卷积核就是为了能够在不同尺寸上捕获特征模式。
  5. 由于所有卷积层和池化层都使用了same填充和步长为1的操作,因此输出尺寸与输入尺寸相等。
  6. 最终将4个结果在深度方向上进行拼接。
  7. 使用1×1大小的卷积核是为了增加更多非线性。

GoogLeNet架构如图4-19所示。

说明如下:

  1. 卷积核前面的数字是卷积核或池化核的个数,也就是输出特征图的个数。
  2. GoogLeNet总共包括9个Inception结构(黄色矩形,颜色参见下载资源中的相关图片文件),黄色矩形中的6个数字分别代表Inception结构中卷积层的输出特征图个数。
  3. 所有卷积层都使用ReLU激活函数。
  4. 全局平均池化层输出每个特征图的平均值。

4.3.5  ResNet

深度残差网络(Deep Residual Network,ResNet)的提出是CNN图像史上的一件里程碑事件,如图4-20所示,ResNet在ILSVRC和COCO 2015上的战绩,ResNet取得了5项第一,并又一次刷新了CNN模型在ImageNet上的历史。深度残差网络将另文介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2133983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows C++-并行编程-并行算法(四)- 并行排序

并行模式库 (PPL) 提供了对数据集合并行地执行工作的算法。这些算法类似于 C 标准库提供的算法。并行算法由并发运行时中的现有功能组成。 PPL 提供三种排序算法:concurrency::parallel_sort、concurrency::parallel_buffered_sort 和 concurrency::parallel_radix…

量化投资策略_因子打分选股的案例实现

一:因子打分选股的介绍 因子打分选股是一种量化投资策略,它通过选取多个与股票收益率相关的因子,对股票进行综合评分,然后根据评分来选择股票构建投资组合。以下是构建多因子打分选股模型的一般步骤: 数据预处理&…

Gitlab备份、迁移、恢复和升级(Gitlab Backup, migration, recovery, and upgrade)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

2020-10-22 1-N间整数转二进制记其0个数

缘由c语言对于给定的十进制整数N&#xff08;N<10000),将1到N&#xff08;含N&#xff09;之间的每个整数转成二进制……&#xff08;遇到一个题&#xff0c;我写了一段代码&#xff0c;但怎么也编译不出来&#xff0c;不知道哪里错了&#xff0c;萌新求大神指教&#xff01…

MATLAB移动目标检测与追踪系统

MATLAB移动目标检测与追踪系统 项目描述 本项目旨在开发一个基于MATLAB的移动目标检测与追踪系统&#xff0c;该系统利用相邻帧间差分法、背景差分法以及光流法来检测视频中的移动目标&#xff0c;并能够对这些目标进行追踪。系统无需安装额外的工具包&#xff0c;可以直接在…

网络的一些基本概念

目录 ♫网络发展历程 ♪独立模式 ♪网络互连 ♪局域网 ♪广域网 ♫网络通讯的基础 ♫IP地址 ♪什么是IP地址 ♪IP地址的格式 特殊的 IP 地址&#xff1a; ♫端口号 ♪什么是端口号 ♪端口号的格式 ♪特殊的端口号 ♫网络协议 ♫五元组 ♫协议分层 ♫OSI七层模型 ♫TCP/I…

Xcode报错:Return from initializer without initializing all stored properties

Xcode报错&#xff1a;Return from initializer without initializing all stored properties,self used before all stored properties are initialized 我们自定义 init 方法&#xff0c;在 init 中直接赋值 Binding 会失败,但是直接赋值给Binding类型的变量却正常&#xff…

uniapp tabBar不显示

开发中发现某个页面不显示tabbar,而有的页面显示 需要在tabBar配置中添加需要展示的页面 刚开始我发现登录页面不展示tabbar,把登录页面的路径配置进去就会展示了

【Linux】自主shell

学习了进程的相关知识后&#xff0c;我们可以试着实践一下&#xff0c;编写一个简单的 shell。我们的目的并不是完美还原一个 shell&#xff0c;而是通过编写 shell 的过程&#xff0c;更好地理解 shell 的工作方式 自主shell 输出命令行获取用户输入的命令分割命令行字符串执…

ROS2 Humble如何初步使用Livox-mid-360激光雷达 (viewer/rviz)以及解决一些问题

Livox-mid-360激光雷达 1、设置静态ip 首先在Ubuntu22.04下将本机IP地址置于和雷达IP同一局域网下 不用改wifi的ip&#xff0c;改以太网的ip sudo ifconfig //查看你的以太网有线 sudo ifconfig sudo ifconfig enx207bd2b27267 192.168.1.50//将enx207…

华为OD机试 - 开源项目热度榜单(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

【Echarts】使用多横坐标轴展示近十五天天气预报

现在手机都有天气app,使用echarts展示十五天天气预报的需要你遇到过这样离大谱的需求吗&#xff1f;如果没有或许你能从中找到些许思路。 效果 看效果是不是有点那么个意思,开局一张图,代码全靠ctrl c。不多说上代码。 vue模板引擎代码 <template><div ref"xA…

2024122读书笔记|《人生歪理,歪的很有道理》——生活奇奇怪怪,你要可可爱爱

2024122读书笔记|《人生歪理&#xff0c;歪的很有道理》——生活奇奇怪怪&#xff0c;你要可可爱爱 偶然邂逅的一本书&#xff0c;很可爱治愈的一本书&#xff0c;多嘴鸭我更愿意叫它大鹅&#xff0c;是的就是铁锅炖大鹅的那个大鹅&#x1f60d;&#x1f60d;&#x1f929;&…

python清除一个月以前的ES索引文档数据

python清除一个月以前的ES索引文档数据 先查看一下mysql 数据&#xff0c;看一下那一列是日期字段看到是 edittime 列以下是 python 脚本 vim delete_old_noticeresult.py import datetime from elasticsearch import Elasticsearch, RequestError import logging# 配置日志 …

《C++》解密--顺序表

一、线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈...... 线性表在【逻辑上】是线性结构…

构建“零工市场小程序”,服务灵活就业“大民生”

如今&#xff0c;灵活就业已成为现代劳动力市场的重要组成部分。然而&#xff0c;这一就业形态也面临着信息不对称、匹配效率低下等一系列挑战。为有效解决这些问题&#xff0c;构建一个高效、便捷的“零工市场小程序”显得尤为重要。 二、零工市场现状与挑战 市场规模与增长趋…

单调队列的实现

这是C算法基础-数据结构专栏的第二十五篇文章&#xff0c;专栏详情请见此处。 引入 单调队列就是满足单调性的队列&#xff0c;它最经典的应用就是给定一个序列和一个窗口&#xff0c;使窗口在序列中从前向后滑动&#xff0c;求出窗口在每个位置时&#xff0c;其中元素的最大/小…

DC_(n)Xyz

intra-band contiguous EN-DC 配置需要通过DC_(n)Xyz表示&#xff0c;其中第一个字母y表示contiguous E-UTRA carriers数量&#xff0c;第二个字母z表示contiguous NR carrier数量&#xff0c;而(n)X 就代表 E-UTRA band X 和NR band nX这个组合。上图38.101-3 Table 5.3B.0-1 …

Unity同时启动多个Editor

HardLinkShellExt tool https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html 作用&#xff1a; 1.网络Online项目方便调试&#xff0c;MMO项目 2.方便发布不同平台的包&#xff0c;快速开发测试 使用方法&#xff1a;

网络药理学:2、文章基本思路、各个数据库汇总与比对、其他相关资料(推荐复现的文章、推荐学习视频、论文基本框架、文献基本知识及知网检索入门)

一、文章基本思路&#xff08;待更&#xff09; 一篇不含分子对接和实验的纯网络药理学文章思路如下&#xff1a; 即如下&#xff1a; 二、 各个数据库&#xff08;待更&#xff09; 三、其他相关资料 1.推荐复现的文章 纯网络药理学分子对接&#xff1a;知网&#xff1…