卷积神经网络CNN的经典模型

这篇具有很好参考价值的文章主要介绍了卷积神经网络CNN的经典模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(一)图像分类的发展历程

ILSVRC是一项基于 ImageNet 数据库的国际大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)

(1)1958年,Rosenblatt发明了感知机。用于对输入的多维数据进行二分类且能够使用梯度下降法自动更新权值。缺点:只能处理线性分类问题。

(2)1986年,Geoffrey Hinton发明了多层感知机(multi-layer perceptron,MLP)的反向传播(back propagation,BP)算法,并使用 sigmoid 函数进行非线性映射,有效解决了非线性分类问题。被称为" 深度学习之父 "。缺点:存在梯度消失问题。

序号 年份 提出者 模型 网络层数 特点 用途
1 1998 LeCun LeNet-5 8层 定义了CNN最基本架构:卷积层、池化层、全连接层 解决手写数字识别的视觉任务
2 2012 Alex AlexNet-8 8层 提出训练深度网络的重要方法:Dropout、ReLU、GPU(硬件支持)、数据增强等。 ImageNet竞赛:以超过第二名10.9%的绝对优势夺冠(83.6%)
3 2014 牛津大学VGG(Visual Geometry Group) VGGNet-16/19 16/19层 采用 1x1 和 3x3 的卷积核以及 2x2 的最大池化,使得层数变得更深。 ImageNet竞赛:定位任务的第一名、分类任务的第二名(92.7%)
4 2014 Google 团队 GoogleNet(Inception-v1234) 22层 (1)引入了Inception模块;(2)采用全局平均池化替换所有的全连接层。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能 ImageNet竞赛:分类任务的第一名(93.3%)
5 2015 何恺明 ResNet-152 152层 引入了ResNet残差模块,通过高速网络的跨层连接让神经网络变得非常深。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能 ISLVRC和COCO竞赛:横扫所有选手,获得冠军(96.43%)。CVPR2016最佳论文奖
6 2017 Gao Huang DenseNet-121/169/201/264 121/169/201/264层 引入了Dense Block模块,即每层都会接受其前面所有层作为额外的输入。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能 CVPR2017最佳论文奖
7 2017/2018/2019 谷歌 MobileNet(V1/V2/V3) 224层 V1引入了深度可分离卷积。在准确率小幅度降低的代价下大幅度减少参数量。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能 轻量级、移动端网络模型

(二)模型框架

(2.1)LeNet-5

论文地址:Gradient-Based Learning Applied to Document Recognition

cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
模型结构:LeNet-5共8层网络:1个输入层、2个卷积层、2个池化层、3个全连接层。 实际只有五层:去掉1个输入层和2个池化层。

  • 卷积层:所有卷积层的kernel=5x5,stride=1。
  • 池化层:采用平均池化kernel=2x2,stride=2。
    (3)在每个卷积层 + 池化层的后面会跟一个Sigmod激活函数,而现在多用ReLU。
  • 全连接层:C5/C6/OUTPUT的节点分别为120/84/10。对应的权重参数(与连接数相同)分别为:(5x5x16+1)x120 = 48120、(120 + 1)x84=10164、84x10=840。
  • 备注1:LeNet卷积神经网络,共约有60,840个训练参数,340,908个连接。
  • 备注2:LeNet 会随着网络的加深,宽度逐渐降低,通道逐渐增多。
    CNN卷积神经网络 LeNet-5详解

(2.2)AlexNet-8

论文地址:ImageNet Classification with Deep Convolutional Neural Networks

cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
模型结构:5个卷积层 + 2个全连接层(隐藏) + 1层全连接层(输出)

  • 卷积层
    第一个卷积层(kernel=11x11、stride=4、Padding=0);
    第二个卷积层(kernel=5x5、stride=1、Padding=2);
    其余的卷积核(kernel=3x3、stride=1、Padding=1)。
  • 池化层:第一个, 第二个, 第五个卷积层的后面分别使用一个最大池化层(kernel=3x3,stride=2)。
  • 全连接层
    全连接层1(隐藏):神经元个数输出为4096;
    全连接层2(隐藏):神经元个数输出为4096;
    全连接层3(输出):神经元个数输出为1000(分类)。
  • 激活函数:每个卷积层后面跟一个激活函数ReLU(替换Sigmod)。
  • 过拟合:使用Dropout、图像增强来防止过拟合。

(2.3)VGGNet-16/19

论文地址:Very Deep Convolutional Networks for Large-Scale Image Recognition

cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

(2.4)GoogleNet-22(Inception:V1-V2-V3-V4)

论文地址:Going deeper with convolutions
github链接

2.4.1、InceptionV1

GoogLeNet网络的基础模块:Inception模块。
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
在每个Inception模块中,包含4条并行线路:

  • (1)前3条线:分别使用1x1、3x3、5x5的卷积层,抽取不通空间尺度下的特征信息;
  • (2)第二条和第三条线:先使用了1x1的卷积层,减少输入通道数,以降低模型复杂度。
  • (3)最后一条线:使用3x3的最大池化层 + 1x1的卷积层来改变通道数。
    备注:4条线都使用合适的填充Padding来保证输入和输出的高宽一致。

结构图(横向):cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
结构图(纵向):
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

(2.5)ResNet-152

论文地址:Deep Residual Learning for Image Recognition
github链接

经典语句:再差不会比原来差(恒等映射)。

  • (1)图像是比较复杂的数据,只有足够深的网络层次才能提取充分信息。
  • (2)激活函数的输入来自于神经网络一层层计算的输出结果。但是随着网络层的不断加深,误差并不会越来越小,容易出现梯度不稳定(如:梯度爆炸、梯度消失)

残差块的目的通过一种高速通道的连接方式,让输出结果同时参考输入结果x,解决梯度的不稳定性。

残差模块:
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

模型架构:
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

(2.6)DenseNet-264

论文地址:Densely Connected Convolutional Networks
github链接(附有详细教程)

Dense Block模块:每层都会接受其前面所有层作为额外的输入
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

DenseNet的密集连接方式需要特征图大小保持一致。为了解决这个问题,DenseNet网络模型使用 DenseBlock + Transition Layers 结构。
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

  • Dense Block:包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式:BN + ReLU + Conv(3x3) + Dropout(0.2) 。
  • (1)与ResNet十分相似,主要区别在于feature map融合的方式不同。
    • ResNet将前一个模块的输出,直接加到模块的输出上
    • DenseNet将前一个模块的输出,直接在通道上进行叠加。
  • (2)与ResNet不同,所有Dense Block中各个层卷积均采用 k 个卷积核,所有每个卷积层输出的feature map的channel都为k。k在DenseNet称为growth rate,这是一个超参数。一般情况下使用较小的 k(论文里k=32),就可以得到较佳的性能。
  • 过渡层:连接两个相邻的DenseBlock,并进行1x1卷积和2x2 平均池化,降低特征图大小。
    即使k设的很小,但由于特征重用(通道叠加),后面层的输入仍会非常大,故需要降低模型的复杂度。【论文复现】DenseNet

模型架构:cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

  • 输入分辨率为224x224,使用SGD训练
  • DenseNet:设置4个Dense block模块,每个block的层数相同。在第一个block的前面,放置一个7x7卷积和3x3最大池化。在最后一个block后面接global平均池化,全连接,softmax。
  • (1)每个block:使用3x3卷积,1x1卷积,zero-padding。
  • (2)两个block之间:使用1x1卷积、2x2平均池化作为过渡层(transition layers)。

优缺点

  • 优点:(1)网络结构参数看起来很多,但实际上参数更少,提高了训练效率。(2)特征重用增强了特征在各个层之间的流动,因为每一层都与初始输入层还有最后的由loss function得到的梯度直接相连。(3)进行反向传播的时候,减轻了梯度弥散的问题,使模型不容易过拟合。(4)由于每层可以直达最后的误差信号,误差信号可以很容易地传播到较早的层,所以较早的层可以从最终分类层实现隐式的deep supervision。
  • 缺点:(1)由于需要进行多次Concatnate操作,数据需要被复制多次,显存容易增加得很快,需要一定的显存优化技术。(2)DenseNet是一种特殊网络,而ResNet相对一般化些,因此ResNet的应用范围更广泛。

(2.7)MobileNet(V1-V2-V3)

论文地址(V1):MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
论文地址(V2):MobileNetV2: Inverted Residuals and Linear Bottlenecks
论文地址(V3):Searching for MobileNetV3

MobileNet网络专注于移动端或者嵌入式设备中的轻量级CNN,相比于传统卷积神经网络,在准确率小幅度降低的前提下大大减少模型参数与运算量。

MobileNet可以在移动终端实现众多的应用,包括目标检测,目标分类,人脸属性识别和人脸识别等。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能


2.7.1、MobileNetV1(深度可分离卷积)

模型架构:
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

  • 除第一层是普通卷积层,其余都是深度可分离卷积层。
  • 除最后的全连接层没有ReLU层,其余每个网络层后都有BN层和ReLU非线性激活层。
  • 在全连接层前,使用全局池化将张量的尺寸变为1×1。在全连接层后,使用softmax层进行分类。
  • 下采样通过带步长的卷积层来实现。
  • 采用RMSprop优化器。
  • 不使用正则化和数据增广。由于MobileNet为轻量级网络,且小网络通常不会过拟合。

MobileNetV1:提出使用深度可分离卷积替代普通卷积来减少模型参数。由两部分组成:深度卷积(Depthwise convolution,DW)和点卷积(Pointwise Convolution,PW)

(1)深度卷积与传统卷积的区别MobileNet网络详解

  • 传统卷积中,每个卷积核的channel与输入特征矩阵的channel相等(每个卷积核都会与输入特征矩阵的每一个维度进行卷积运算),输出特征矩阵channel等于卷积核的个数。
  • DW卷积中,每个卷积核的channel都是等于1的(每个卷积核只负责输入特征矩阵的一个channel,卷积核的个数=输入特征矩阵的channel数=输出特征矩阵的channel数)

cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

(2)深度可分离卷积=深度卷积+点卷积PW卷积是大小为1×1的普通的卷积,主要用于改变输出特征矩阵的channel。cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

(3)参数计算比较cnn模型,深度学习,cnn,深度学习,神经网络,人工智能
(4)深度可分离卷积与传统卷积的区别cnn模型,深度学习,cnn,深度学习,神经网络,人工智能


MobileNetV2在MobileNetV1的基础上,提出了2点创新:
(1)使用linear bottleneck捕获manifold of interest
(2)逆残差模块;

MobileNetV3的3个特点:
(1)MobileNetV3的网络结构是NAS搜索出来的;
(2)在bottleneck结构中引入了轻量级注意力模块;
(3)使用swish激活函数而不是relu;


(三)应用领域

人工智能(Artificial Intelligence,AI)主要分为三个部分:机器学习ML、深度学习DL、强化学习RL。

(1)机器学习算法包括:逻辑回归、支持向量机SVM、决策树、随机森林和神经网络等等。深度学习是神经网络中的一种。强化学习是机器学习中的一种。
(2)机器学习可分为三大类:有监督学习(supervised learning)、无监督学习(unsupervised learning)和强化学习。
(3)深度强化学习是深度学习和强化学习的结合。

11、有监督学习四个典型应用:图像分类、目标检测、人脸识别、语音识别。

22、无监督学习最常使用的场景:聚类和降维。常见的简单的无监督学习算法总结

  • 聚类:k-均值聚类(k-means clustering)、层次聚类(Hierarchical Clustering)、基于密度聚类Mean Shift、基于密度聚类DBSCAN、高斯混合模型(GMM)与EM、基于图论聚类。
  • 降维:主成分分析(PCA)、独立成分分析(ICA)、奇异值分解(SVD)、t-分布领域嵌入式算法(t-SNE)

33、强化学习分为两大类:无模型(Model-Free)、有模型(Model-based)。

强化学习的算法分类
cnn模型,深度学习,cnn,深度学习,神经网络,人工智能

参考文献

1.ImageNet大规模视觉识别挑战(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)
2.CNN卷积神经网络 LeNet-5详解
3.卷积神经网络超详细介绍
4.卷积神经网络模型
5.卷积神经网络经典模型及其改进点学习汇总
6.卷积神经网络CNN(Convolutional Neural Network)文章来源地址https://www.toymoban.com/news/detail-724706.html

到了这里,关于卷积神经网络CNN的经典模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习03-卷积神经网络(CNN)

    CNN,即卷积神经网络(Convolutional Neural Network),是一种常用于图像和视频处理的深度学习模型。与传统神经网络相比,CNN 有着更好的处理图像和序列数据的能力,因为它能够自动学习图像中的特征,并提取出最有用的信息。 CNN 的一个核心特点是卷积操作,它可以在图像上进

    2024年02月05日
    浏览(68)
  • 深度学习1.卷积神经网络-CNN

    目录 卷积神经网络 – CNN CNN 解决了什么问题? 需要处理的数据量太大 保留图像特征 人类的视觉原理 卷积神经网络-CNN 的基本原理 卷积——提取特征 池化层(下采样)——数据降维,避免过拟合 全连接层——输出结果 CNN 有哪些实际应用? 总结 百度百科+维基百科 卷积层

    2024年02月11日
    浏览(48)
  • 深度学习之卷积神经网络(CNN)

          大家好,我是带我去滑雪!       卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的前馈神经网络,主要用于 图像 和 视频识别 、 分类 、 分割 和 标注 等计算机视觉任务。它主要由 卷积层 、 池化层 、 全连接层 和 激活函数层 等组成。其中,卷积

    2024年02月05日
    浏览(49)
  • Inception 深度卷积神经网络(CNN)架构

    Inception是一种深度卷积神经网络(CNN)架构,由Google在2014年提出。它是一种基于多尺度卷积的网络结构,旨在解决传统CNN在处理不同大小的输入图像时存在的问题。 Inception的主要特点是使用了多个不同尺度的卷积核来提取不同尺度的特征。这些卷积核可以并行地应用于输入

    2024年02月12日
    浏览(32)
  • 深度学习入门(三):卷积神经网络(CNN)

    给定一张图片,计算机需要模型判断图里的东西是什么? (car、truck、airplane、ship、horse) CONV:卷积计算层,线性乘积求和 RELU:激励层,激活函数 POOL:池化层,取区域平均或最大(MAX POOL) PC:全连接层 对CNN来说,它是一块一块进行对比的,“小块”称之为Features特征。

    2024年02月11日
    浏览(39)
  • 深度学习入门教学——卷积神经网络CNN

    1、应用领域 检测任务 分类与检索 超分辨率重构 2、卷积网络与传统网咯的区别 传统神经网络和卷积神经网络都是用来 提取特征 的。 神经网络: 可以将其看作是一个二维的。 卷积神经网络: 可以将其看作是一个三维的。  3、整体框架 该层主要是对原始图像数据进行预处

    2024年02月10日
    浏览(35)
  • 【人工智能】— 深度神经网络、卷积神经网络(CNN)、多卷积核、全连接、池化

    Pre-training + Fine-tuning Pre-training(预训练) : 监督逐层训练是多隐层网络训练的有效手段, 每次训练一层隐层结点, 训练时将上一层隐层结点的输出作为输入, 而本层隐结点的输出作为下一层隐结点的输入, 这称为”预训练”. Fine-tuning(微调) : 在预训练全部完成后, 再对整个网络进行

    2024年02月10日
    浏览(44)
  • 【深度学习_TensorFlow】卷积神经网络(CNN)

    这篇文章的行文思路如下: 先根据视频了解卷积和卷积神经网络的整体框架 接着了解卷积神经网络构建过程中的一些重要操作,包括内积、填充、池化。 然后介绍卷积层如何实现。 最后用卷积神经网络的开山之作(LeNet-5)来进行上手练习。 最近学习信号与系统的时候,了

    2024年02月07日
    浏览(45)
  • 【深度学习】最强算法之:卷积神经网络(CNN)

    小屌丝 :鱼哥, 看下这个流程图,我没看明白 小鱼 :啥流程图。 小屌丝 :你看,就是这个。 小鱼 :嗯,不错,不错。 小屌丝 :能不能给我讲一讲这个? 小鱼 :你要了解CNN ? 小屌丝 :CNN 是? 小鱼 :…你这… 深度学习知道吗? 小屌丝 :知道啊 小鱼 :你都知道深度

    2024年04月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包