0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CNN结构基本情况

新机器视觉 来源:人工智能感知信息处理算 作者:人工智能感知信息 2022-07-05 11:50 次阅读

深度学习机器学习算法研究中新开辟的研究方向,在图像领域的应用是最开始的尝试。近年以来,计算机视觉领域和 CNN 网络结构的不断更新发展,出现了一批代表性的深度卷积神经网络。本章节主要介绍目标检测算法 YOLO 系列借鉴了设计思想的这些框架,分别是:Le Net、Alex Net、VGG、Goog Le Net和 Res Net。表 1 所示,介绍了代表性的 CNN 结构基本情况。

a240625c-fc14-11ec-ba43-dac502259ad0.png

1 LeNet

LeNet 卷积神经网络是由深度学习三巨头之一的 Yan Le Cun于 1994 年提出来的。其对构建的 MNIST手写字符数据集进行分类。LeNet 的提出确立了 CNN 的基本网络架构。如下图所示,Le Net 通过输入32 ×32 字符矩阵经过卷积层、下采样层、全连接层进行图像的分类识别。但因为当时硬件技术的局限性和训练数据的不丰富性,Le Net 模型的运算效果并不是特别突出,但此特征网络的提出,为后续 Alex Net 的出现提供了重要的参考。

a2548bce-fc14-11ec-ba43-dac502259ad0.png

2 Alex Net

Alex Net的出现,标志着深度卷积神经网络开启了创新的新时代。之前由于硬件技术的局限性,CNN的学习能力、图像分类能力有限,而在 2012 年提出的卷积神经网络 Alex Net 采用了两个 GPU(NVIDIA GTX 580)来训练模型,然后将两个 GPU 上的特征图进行合并,采用的数据集是 Image Net(1500 多万个标记的图像,2.2万个类别),并在2012 ILSVRC大赛以优异的性能在计算机视觉领域展现了自己的实力。如图下图所示,Alex Net 的网络结构包括 5 层卷积、3 层池化和 3 层全连接,特征提取能力得到了提高,对大规模的数据集有更好的拟合能力。并且,在训练阶段,通过在模型随机的添加几个转换单元来确保网络具有较好的鲁棒性。其结构创新的要点为:

(1)使用 Re LU 作为非线性激活函数,减少梯度消失现象,提高收敛率,减少训练时间。

(2)使用大尺寸卷积核(5×5和11×11),提高网络感受野。 (3)加入 Drop Out 层抑制过拟合。 (4)使用数据增强技术,对图像进行训练时,随机的添加平移缩放、裁剪旋转、翻转或增减亮度等操作,产生一系列和输入图像相似但又不相同的数据,从而扩充了训练的数据集。

a29573b4-fc14-11ec-ba43-dac502259ad0.png

3 VGG

VGG(Visual Geometry Group)多层网络模型,比 Alex Net 和 Zef Net 的深度多了 19 层,验证了在网络结构上增加深度可以直接影响模型性能。VGG 有两种结构,分为 VGG16 和 VGG19,这二者的区别只在于网路深度不同。VGG 的设计思想是增加网络深度,改用小尺寸的卷积核。如下图所示,具体操作为:采用 3 个3×3 卷积核来替换 Alex Net 中的 7×7 卷积核,采用 2 个3×3 卷积核替换5×5卷积核,这样的设计可以在保证具有相同感受野的前提下,增加网络深度,提升模型效果,且改用小的3×3 Filters 可减少模型参数量和运算量,可以更好地保留图像特征信息。具体的改进优点总结为以下几点:

(1)采用3×3 小滤波器替换大尺寸卷积核

(2)替换卷积核后,卷积层的感受野相同

(3)每层卷积操作后通过 Re LU 激活函数和批处理梯度下降训练

(4)验证了增加网络深度,可以提升模型性能 虽然,VGG 在 2014 年因其更深的网络结构和计算低复杂度的优势,使其在图像分类和定位问题上取得了很好地成绩,但它使用了 1.4 亿个参数,计算量很大,这是它的不足之处。

a2b9b706-fc14-11ec-ba43-dac502259ad0.png

4 Goog Le Net

Goog Le Net是由 Google 提出的,获得了 Image Net 大赛冠军。其架构设计的核心是在保证高水准的精确性 Inception 的目标前提下,降低模型的计算成本。与 VGG 相比,Goog Le Net 是一个网络深度为 22 层的卷积神经网络,它不以传统 CNN 卷积层的串联堆叠为架构基础,而是创新的提出了 Inception 结构,用NIN(Networkin-Network)替换普通卷积层。如下图所示,该结构包含了 5×5 、 3×3 、1×1 滤波器,以便于在不同空间分辨率范围内捕捉通道信息和空间特征,添加一个1×1滤波器,作为 Bottle Neck ,来提高网络的效率,提升模型学习特征的能力。使用平均池化层代替全连接层,将 7×7×1024 的体积降到了 1×1×1024 ,减少了大量的参数。此外,Goog Le Net 还提出了辅助分类器 Soft Max,以加快收敛速度。但 Goog Le Net 也有短板,其表征堵塞会减少下一层的特征空间,反过来又可能会丢失有用的特征。

a2e83680-fc14-11ec-ba43-dac502259ad0.png

5 Res Net

Res Net(Residual Network)残差网络是 Kaiming He提出来的,并在 2015 ILSVRC 大赛以 3.57%的错误率获得了冠军。在之前的网络中,当模型深度不够,其网络识别能力不强,但当网络堆叠(Plain Network)很深的时候,网络梯度消失和梯度弥散现象明显,导致模型的运算效果却不升反降。因此,鉴于此深层网络的退化问题,Res Net 设计了一个不存在梯度消失问题的超深度网络。Res Net 根据层数的不同,从 18 层到 1202 层,有多种类型。以 Res Net50 为例,它由 49 个卷积层和 1 个全连接层组成,如下图所示。这种简单的加法并不会给网络增加额外的参数和计算量,同时却可以大大增加模型的训练速度、提高训练效果,并且当模型的层数加深时,这个简单的结构能够很好的解决退化问题。Res Net 提出了短径连接,当网络性能已达到最优,继续加深网络,残差映射将被设置为 0,只剩下恒等映射,加速网络收敛,这样就可以使得网络一直处于最优状态了,网络的性能也就不会随着深度增加而降低了。

a319b21e-fc14-11ec-ba43-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98748
  • 图像分类
    +关注

    关注

    0

    文章

    87

    浏览量

    11838
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119908

原文标题:图像分类模型的发展

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于Python和深度学习的CNN原理详解

    卷积神经网络 (CNN) 由各种类型的层组成,这些层协同工作以从输入数据中学习分层表示。每个层在整体架构中都发挥着独特的作用。
    的头像 发表于 04-06 05:51 925次阅读
    基于Python和深度学习的<b class='flag-5'>CNN</b>原理详解

    基于CNN-LSTM网络的电力负荷预测

    为了及时掌握电力负荷的变动信息,就需要对电力负荷进行准确预测。鉴于此,探究出一种CNN和LSTM的组合模型来预测一日到一周的电力短期负荷波动情况CNN模型负责从输入信息中提取特征,LSTM模型利用
    的头像 发表于 11-09 14:13 1478次阅读
    基于<b class='flag-5'>CNN</b>-LSTM网络的电力负荷预测

    什么是卷积神经网络?如何MATLAB实现CNN

    卷积神经网络(CNN 或 ConvNet)是一种直接从数据中学习的深度学习网络架构。 CNN 特别适合在图像中寻找模式以识别对象、类和类别。它们也能很好地对音频、时间序列和信号数据进行分类。
    发表于 10-12 12:41 593次阅读
    什么是卷积神经网络?如何MATLAB实现<b class='flag-5'>CNN</b>?

    cnn卷积神经网络简介 cnn卷积神经网络代码

    以解决图像识别问题为主要目标,但它的应用已经渗透到了各种领域,从自然语言处理、语音识别、到物体标记以及医疗影像分析等。在此,本文将对CNN的原理、结构以及基础代码进行讲解。 1. CNN的原理
    的头像 发表于 08-21 17:16 2031次阅读

    cnn卷积神经网络matlab代码

    cnn卷积神经网络matlab代码  卷积神经网络(Convolutional Neural Network, CNN)是深度学习中一种常用的神经网络结构,它是通过卷积层、池化层和全连接层等组合而成
    的头像 发表于 08-21 17:15 868次阅读

    cnn卷积神经网络算法 cnn卷积神经网络模型

    cnn卷积神经网络算法 cnn卷积神经网络模型 卷积神经网络(CNN)是一种特殊的神经网络,具有很强的图像识别和数据分类能力。它通过学习权重和过滤器,自动提取图像和其他类型数据的特征。在过去的几年
    的头像 发表于 08-21 17:15 1178次阅读

    cnn卷积神经网络原理 cnn卷积神经网络的特点是什么

    cnn卷积神经网络原理 cnn卷积神经网络的特点是什么  卷积神经网络(Convolutional Neural Network,CNN)是一种特殊的神经网络结构,主要应用于图像处理和
    的头像 发表于 08-21 17:15 1146次阅读

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点

    和高效的处理方式,CNN已经成为图像识别、语音识别和自然语言处理等领域中的优选技术。CNN对于处理基于网格结构的数据具有天然的优势,因此在处理图像和视频等视觉数据时,具有独特的优越性能。 CN
    的头像 发表于 08-21 16:41 1938次阅读

    python卷积神经网络cnn的训练算法

    python卷积神经网络cnn的训练算法  卷积神经网络(Convolutional Neural Network,CNN)一直是深度学习领域重要的应用之一,被广泛应用于图像、视频、语音等领域
    的头像 发表于 08-21 16:41 1014次阅读

    一文详解CNN

    1 CNN简介 CNN即卷积神经网络(Convolutional Neural Networks),是一类包含卷积计算的神经网络,是深度学习(deep learning)的代表算法之一,在图像识别
    发表于 08-18 06:56

    【芒果派MangoPi MQ Quad】+芒果派初次折腾

    收到芒果派之后我看了一下这块板子的基本情况
    的头像 发表于 07-10 09:15 874次阅读
    【芒果派MangoPi MQ Quad】+芒果派初次折腾

    CNN到底是怎么回事?

    它用TensorFlow.js加载了一个10层的预训练模型,相当于在你的浏览器上跑一个CNN模型,只需要打开电脑,就能了解CNN究竟是怎么回事。
    的头像 发表于 06-28 14:47 3349次阅读
    <b class='flag-5'>CNN</b>到底是怎么回事?

    基于FPGA的深度学习CNN加速器设计方案

    因为CNN的特有计算模式,通用处理器对于CNN实现效率并不高,不能满足性能要求。 因此,近来已经提出了基于FPGA,GPU甚至ASIC设计的各种加速器来提高CNN设计的性能。
    发表于 06-14 16:03 1614次阅读
    基于FPGA的深度学习<b class='flag-5'>CNN</b>加速器设计方案

    PyTorch教程-14.8。基于区域的 CNN (R-CNN)

    14.8。基于区域的 CNN (R-CNN)¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab
    的头像 发表于 06-05 15:44 385次阅读
    PyTorch教程-14.8。基于区域的 <b class='flag-5'>CNN</b> (R-<b class='flag-5'>CNN</b>)

    PyTorch教程14.8之基于区域的CNN(R-CNN)

    电子发烧友网站提供《PyTorch教程14.8之基于区域的CNN(R-CNN).pdf》资料免费下载
    发表于 06-05 11:09 0次下载
    PyTorch教程14.8之基于区域的<b class='flag-5'>CNN</b>(R-<b class='flag-5'>CNN</b>)