深度学习500问——Chapter04:经典网络解读(1)

文章目录

4.1 LeNet-5

4.1.1 模型介绍

4.1.2 模型结构

4.1.3 模型特性

4.2 AlexNet

4.2.1 模型介绍

4.2.2 模型结构

4.2.3 模型特性

4.3 ZFNet

4.3.1 模型介绍

4.3.2 模型结构

4.3.3 模型特性

4.4 Network in Network

4.4.1 模型介绍

4.4.2 模型结构

4.4.3 模型特性


4.1 LeNet-5

4.1.1 模型介绍

LeNet-5是由LeCun 提出的一种用于识别手写数字和机器印刷字符的卷积神经网络(Convolutional Nerual Network,CNN)[1],其命名来源于作者LeCun的名字,5则是其研究成果的代号,在LeNet-5之前还有LeNet-4和LeNet-1鲜为人知。LeNet-5阐述了图像中像素特征之间的相关性能够由参数共享的卷积操作所提取,同时使用卷积、下采样(池化)和非线性映射这样的组合结构,是当前流行的大多数深度图像识别网络的基础。

4.1.2 模型结构

图4.1 LeNet-5结构图

如图4.1所示,LeNet-5一共包含7层(输入层不作为网络结构),分别由2个卷积层、2个下采样层和3个连接层组成,网络的参数配置如表4.1所示,其中下采样层和全连接层的核尺寸分别代表采样范围核连接矩阵的尺寸(如卷积核尺寸中的)5\times5\times1/1,6表示核大小为5\times5\times1、步长为1且核个数为6的卷积核。

表4.1 LeNet-5网络参数配置

网络层输入尺寸核尺寸输出尺寸可训练参数量
卷积层C_132\times 32\times 15\times 5\times 1/1,628\times 28\times 6(5\times 5\times 1+ 1)\times 6
下采样层S_228\times 28\times 62\times 2/214\times 14\times 6(1+ 1)\times 6^*
卷积层C_314\times 14\times 65\times 5\times 6/1,1610\times 10\times 161516^*
下采样层S_410\times 10\times 162\times 2/25\times 5\times 16(1+ 1)\times 16
卷积层C_5^*5\times 5\times 165\times 5\times 16/1,1201\times 1\times 120(5\times 5\times 16+1)\times 120
全连接层F_61\times 1\times 120120\times 841\times 1\times 84(120+ 1)\times 84
输出层1\times 1\times 8484\times 101\times 1\times 10(84+1)\times 10
  • 在LeNet中,下采样操作核池化操作类似,但是在得到采样结果后会乘以一个系数和加上一个偏置项,所以下采样的参数个数是(1+1)\times6而不是零。
  • C_3卷积层可训练参数并未直接连接S_2中的所有特征图(Feature Map),而是采用如图4.2所示的采样特征特征方式进行连接(稀疏连接),生成的16个通道特征图中分别按照相邻3个特征图、相邻4个特征图、非相邻4个特征图和全部6个特征图进行映射,得到的参数个数计算公式为:6\times(25\times3+1)+6\times(25\times4+1)+3\times(25\times4+1)+1\times(25\times6+1)=1516,在原论文中解释了使用这种采样方式原因包含两点:限制了连接数不至于过大(当年的计算能力比较弱);强制限定不同特征图的组合可以使映射得到的特征图学习到不同的特征模式。

图4.2 S_2C_3之间的特征图稀疏连接

C_5卷积层在图4.1中显示为全连接层,原论文中解释这里实际采用的是卷积操作,只是刚好在5\times5卷积后尺寸被压缩为1\times1,输出结果看起来和全连接很相似。

4.1.3 模型特性

  • 卷积网络使用一个3层的序列组合:卷积、下采样(池化)、非线性映射(LeNet-5是最重要的特性,奠定了目前深层卷积网络的基础)
  • 使用卷积提取空间特征
  • 使用映射的空间均值进行下采样
  • 使用 tanh 或 sigmoid 进行非线性映射
  • 多层神经网络(MLP)作为最终端的分类器
  • 层间的稀疏连接矩阵以避免巨大的计算开销

4.2 AlexNet

4.2.1 模型介绍

AlexNet是由Alex Krizhevsky提出的首个应用于图像分类的深层卷积神经网络,该网络在2012年ILSVRC(ImageNet Large Scale Visual Recognition Competition)图像分类竞赛中以15.3%的top-5测试错误率赢得第一名[2]。AlexNet使用GPU代替CPU进行运算,使得在可接受的时间范围内模型结构能够更加复杂,它的出现证明了深层神经网络在复杂模型下的有效性,使CNN在计算机视觉中流行开来,直接或间接地引发了深度学习的热潮。

4.2.2 模型结构

图4.3 AlexNet网络结构图

如图4.3所示,除去下采样(池化层)和局部响应规范化操作(Local Responsible Normalization,LRN),AlexNet一共包含8层,前5层由卷积层组成,而剩下的3层为全连接层。网络结构分为上下两层,分别对应两个GPU的操作过程,除了中间某些层(C_3卷积层和F_{6-8}全连接层会有GPU间的交互),其他层两个GPU分别计算结果。最后一层全连接层的输出作为 softmax的输入,得到1000个图像分类标签对应的概率值。除去GPU并行结构的设计,AlexNet网络结构与LeNet十分相似,其网络参数配置如表4.2所示。

网络层输入尺寸核尺寸输出尺寸可训练参数量
卷积层C_1224\times 224\times 311\times 11\times 3/4,48(\times 2_{GPU})55\times 55\times 48(\times 2_{GPU})(11\times 11\times 3+1)\times 48\times 2
下采样层S_{max}^*55\times 55\times 48(\times 2_{GPU})3\times 3/2(\times 2_{GPU})27\times 27\times 48(\times 2_{GPU})0
卷积层C_227\times 27\times 48(\times 2_{GPU})5\times 5\times 48/1,128(\times 2_{GPU})27\times 27\times 128(\times 2_{GPU})(5\times 5\times 48+1)\times 128\times 2
下采样层S_{max}27\times 27\times 128(\times 2_{GPU})3\times 3/2(\times 2_{GPU})13\times 13\times 128(\times 2_{GPU})0
卷积层C_313\times 13\times 128(\times 2_{GPU})3\times 3\times 256/1,192(\times 2_{GPU})13\times 13\times 192(\times 2_{GPU})(3\times 3\times 256+1)\times 192\times 2
卷积层C_413\times 13\times 192(\times 2_{GPU})3\times 3\times 192/1,192(\times 2_{GPU})13\times 13\times 192(\times 2_{GPU})(3\times 3\times 192+1)\times 192\times 2
卷积层C_513\times 13\times 192(\times 2_{GPU})3\times 3\times 192/1,128(\times 2_{GPU})13\times 13\times 128(\times 2_{GPU})(3\times 3\times 192+1)\times 128\times 2
下采样层S_{max}13\times 13\times 128(\times 2_{GPU})3\times 3/2(\times 2_{GPU})6\times 6\times 128(\times 2_{GPU})0
全连接层F_66\times 6\times 128(\times 2_{GPU})9216\times 2048(\times 2_{GPU})1\times 1\times 2048(\times 2_{GPU})(9216+1)\times 2048\times 2
全连接层F_71\times 1\times 2048(\times 2_{GPU})4096\times 2048(\times 2_{GPU})1\times 1\times 2048(\times 2_{GPU})(4096+1)\times 2048\times 2
全连接层F_81\times 1\times 2048(\times 2_{GPU})4096\times 10001\times 1\times 1000(4096+1)\times 1000\times 2

卷积层C_1输入为224\times 224\times 3的图片数据,分别在两个GPU中经过核为11\times 11\times 3、步长(stride)为4的卷积后,分别得到两条独立的55\times55\times48的输出数据。

下采样层S_{max}实际上是嵌套在卷积中的最大池化操作,但是为了区分没有采用最大池化的卷积层单独列出来。在C_{1-2}卷积层中的池化操作之后(ReLU激活操作之前),还有一个LRN操作,用作对相邻特征点的归一化处理。

卷积层C_3的输入与其他卷积层不同,13\times13\times192\times2_{GPU}表示汇聚了上一层网络在两个GPU上的输出结果作为输入,所有在进行卷积操作时通道上的卷积核维度为384。

全连接层F_{6-8}中输入数据尺寸也和C_3类似,都是融合了两个GPU流向的输出结果作为输入。

4.2.3 模型特性

  • 所有卷积层都使用ReLU作为非线性映射函数,使模型收敛速度更快。
  • 在多个GPU上进行模型的训练,不但可以提高模型的训练速度,还能提升数据的使用规模。
  • 使用LRN对局部的特征进行归一化,结果作为ReLU激活函数的输入能有效降低错误率。
  • 重叠最大池化(overlapping max pooling),即池化范围z与步长s存在关系z>s(如S_{max}中核尺度为3\times3/2),避免平均池化(average pooling)的平均效应。
  • 使用随机丢弃技术(dropout)选择性地忽略训练中的单个神经元,避免模型的过拟合。

4.3 ZFNet

4.3.1 模型介绍

ZFNet是由Matthew D.Xeiler和Rob Fergus在AlexNet基础上提出的大型卷积网络,在2013年ILSVRC图像分类竞赛中以11.19%的错误率获得冠军(实际上原ZFNet所在的队伍并不是真正的冠军,原ZFNet以13.51%错误率排在第8,真正的冠军是Clarifai这个队伍,而Clarifai这个队伍所对应的一家初创公式的CEO又是Zeiler,而且Clarifai对ZFNet的改动比较小,所以通常认为是ZFNet获得了冠军)[3-4]。ZFNet实际上是微调(fine-tuning)了的AlexNet,并通过反卷积(Deconvolution)的方式可视化各层的输出特征图,进一步解释了卷积操作在大型网络中效果显著的原因。

4.3.2 模型结构

图4.4 ZFNet网络结构图(原始结构图与AlexNet风格结构图)

如图4.4所示,ZFNet与AlexNet类似,都是由8层网络组成的卷积神经网络,其中包含5层卷积层和3层全连接层。两个网络结构最大的不同在于,ZFNet第一层卷积采用了7\times7\times3/2的卷积核替代了AlexNet中第一层卷积核11\times11\times3/4的卷积核。图4.5中ZFNet相比于AlexNet在第一层输出的特征图中包含更多中间频率的信息,而AlexNet第一层输出的特征图大多是低频或高频的信息,对中间频率特征的缺失导致后续网络层次如图4.5(c)能够学习到的特征不够细致,而导致这个问题的根本原因在于AlexNet在第一层中采用的卷积核和步长过大。

​ 图4.5 (a)ZFNet第一层输出的特征图(b)AlexNet第一层输出的特征图(c)AlexNet第二层输出的特征图(d)ZFNet第二层输出的特征图

表4.3 ZFNet网络参数配置

卷积层C_1与AlexNet中的C_1有所不同,采用7\times7\times3/2的卷积核代替11\times11\times3/4,使第一层卷积输出的结果可以包含更多的中频率特征,对后续网络层中多样化的特征组合提供更多选择,有利于捕捉更细致的特征。

卷积层C_2采用了步长2的卷积核,区别于AlexNet中C_2的卷积核步长,所以输出的维度有所差异。

4.3.3 模型特性

​ ZFNet与AlexNet在结构上几乎相同,此部分虽属于模型特性,但准确地说应该是ZFNet原论文中可视化技术的贡献。

  • 可视化技术揭露了激发模型中每层单独的特征图。
  • 可视化技术允许观察在训练阶段特征的演变过程且诊断出模型的潜在问题。
  • 可视化技术用到了多层解卷积网络,即由特征激活返回到输入像素空间。
  • 可视化技术进行了分类器输出的敏感性分析,即通过阻止部分输入图像来揭示那部分对于分类是重要的。
  • 可视化技术提供了一个非参数的不变性来展示来自训练集的哪一块激活哪个特征图,不仅需要裁剪输入图片,而且自上而下的投影来揭露来自每块的结构激活一个特征图。
  • 可视化技术依赖于解卷积操作,即卷积操作的逆过程,将特征映射到像素上。

4.4 Network in Network

4.4.1 模型介绍

Network in Network(NIN)是由Min Lin等人提出,在CIFAR-10和CIFAR-100分类任务中达到当时的最好水平,因其网络结构是由三个多层感知机堆叠而成被称为NIN[5]。NIN以一种全新的角度审视了卷积神经网络中的卷积核设计,通过引入子网络结构代替纯卷积中的线性映射部分,这种形式的网络结构激发了更复杂的卷积神经网络的结构设计,其中下一节中介绍的GoogleLeNet的Inception结构就是来源于这个思想。

4.4.2 模型结构

图4.6 NIN网络结构图

NIN由三层的多层感知卷积层(MLPConv Layer)构成,每一层多层感知卷积层内部由若干的局部全连接层和非线性激活函数组成,代替了传统卷积层中采用的线性卷积核。在网络推理(inference)时,这个多层感知器会对输入特征图的局部特征进行滑窗计算,并且每个滑窗的局部特征图对应的乘积的权重是共享的,这两点是和传统卷积操作完全一致的,最大的不同在于多层感知器对局部特征进行了非线性的映射,而传统卷积的方式是线性的。NIN的网络参数配置表4.4所示(原论文并未给出网络参数,表中参数为编者结合网络结构图和CIFAR-100数据集以3\times3卷积为例给出)。

表4.4 NIN网络参数配置(结合原论文NIN结构和CIFAR-100数据给出)

网络层输入尺寸核尺寸输出尺寸参数个数
局部全连接层L_{11}^*32\times 32\times 3(3\times 3)\times 16/130\times 30\times 16(3\times 3\times 3+1)\times 16
全连接层L_{12}^*30\times 30\times 1616\times 1630\times 30\times 16(16+1)\times 16
局部全连接层L_{21}30\times 30\times 16(3\times 3)\times 64/128\times 28\times 64(3\times 3\times 16+1)\times 64
全连接层L_{22}28\times 28\times 6464\times 6428\times 28\times 64(16+1)\times 64
局部全连接层L_{31}28\times 28\times 64(3\times 3)\times100/126\times 26\times 100(3\times 3\times 64+1)\times 100
全连接层L_{32}26\times 26\times 100100\times 10026\times 26\times 100(100+1)\times 100
全局平均采样GAP^*26\times 26\times 10026\times 26\times 100/11\times 1\times 1000

局部全连接层L_{11}实际上是对原始输入图像进行划窗式的全连接操作,因此划窗得到的输出特征尺寸为30\times30\frac{32-3_k+1}{1_{stride}}=30) 全连接层L_{12}是紧跟L_{11}后的全连接操作,输入的特征是划窗后经过激活的局部响应特征,因此仅需连接L_{11}L_{12}的节点即可,而每个局部全连接层和紧接的全连接层构成代替卷积操作的多层感知卷积层(MLPConv)。 全局平均采样层或全局平均池化层GAP(Global Average Pooling)将L_{32}输出的每一个特征图进行全局的平均池化操作,直接得到最后的类别数,可以有效地减少参数量。

4.4.3 模型特性

  • 使用多层感知机结构来代替传统卷积的滤波操作,不但有效减少卷积核数过多而导致的参数量暴涨问题,还能通过引入非线性的映射来提高模型对特征的抽象能力。
  • 使用全局平均池化来代替最后一个全连接层,能够有效地减少参数量(没有可训练的参数),同时池化用到了整个特征图的信息,对空间信息的转换更加鲁棒,最后得到的输出结果可直接作为对应类别的置信度。

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

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

相关文章

java面试:常见的限流算法有哪些

1 什么是限流算法 限流算法是一种用于限制流量请求的频率或速率的算法,其目的是在高并发或大流量请求的情况下,保护系统服务的安全性和可用性。限流算法可以应对热点业务带来的突发请求、调用方bug导致的突发请求以及恶意攻击请求等情况。是一种系统保护…

金融知识分享系列之:出场信号RSI指标

金融知识分享系列之:出场信号RSI指标 一、出场信号RSI指标二、RSI指标原理三、 指标用法四、RSI指标总结 一、出场信号RSI指标 名称:相对强弱指标参数:(默认14)组成:RSI线以及30轴、50轴、70轴构成 0-30是极弱:0-30的…

jmeter接口自动化测试框架

接口测试可以分为两部分: 一是线上接口(生产环境)自动化测试,需要自动定时执行,每5分钟自动执行一次,相当于每5分钟就检查一遍线上的接口是否正常,有异常能够及时发现,不至于影响用…

服务器病毒木马通用排查处理应急响应流程

目录 一、勒索病毒发作的特征 二、勒索病毒的应急响应 三、勒索病毒预防与事后加固 一、勒索病毒发作的特征 如果发现大量统一后缀的文件;发现勒索信在Linux/home、/usr等目录,在Windows 桌面或者是被加密文件的文件夹下。如果存在以上特…

四十八岁男子心慌心悸,失眠,喉咙有异物,刘家峰告诉你怎么办!

植物神经功能紊乱,通常简称为植物神经紊乱,是一种涉及自主神经系统的失调疾病。自主神经系统负责控制人体内许多自动功能,如心率、血压、消化和体温调节。植物神经功能紊乱是指由于自主神经系统失衡导致的一系列症状和体征的综合症。 植物神经…

windows DCMTK编译使用(qt) 医学图像

由于项目需要生成DICOM格式的图片,需要使用到第三方开源库DCMTK,于是研究了一番,该库是C编写的,DICOM主要用于医疗体系中,除了可以保存图片信息外,还可以储存患者信息,病例信息,医疗…

【Emgu CV教程】10.2、轮廓之外接矩形、面积计算

文章目录 一、轮廓的外接矩形二、轮廓的面积三、两个函数的简单应用1.原始素材2.代码3.运行结果 一、轮廓的外接矩形 轮廓的外接矩形,函数是: public static Rectangle BoundingRectangle (IInputArray points // 输入的轮廓 )函数返回的是一个矩形&am…

unity3d——沙盒路径

文章目录 Unity3D中不同平台的沙盒路径: 示例 在Unity3D中,尤其是在移动平台如Android和iOS上,由于系统安全机制,应用程序不能直接访问操作系统的所有文件和目录,而是被限制在一个特定的“沙盒”环境中。这个沙盒是一个…

宜搭低代码高级认证实操题1 todolist

进行中待办 已完成待办 待办事项 待办事项远程api和变量配置 回调函数 function didFetch(content) {//console.log(content.data);// content.b = 1; 修改返回数据结构中的 b 字段为1let res = content.data;let todoList = [];for(let i in res){todoList.push(res[i]);}con…

K8S Storage

概述 一般情况下,K8S中的Pod都不应该将数据持久化到Pod中,因为Pod可能被随时创建和删除(扩容或缩容),即便是StatefulSet或Operator的Pod,也都不建议在Pod里存放数据,可以将数据持久化到Host上。…

深入剖析Java并发库(JUC)之StampedLock的应用与原理

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在现代多核处理器架构下,并发编程成为提升程序性能的关键手段。Java作为一门广泛使用的编程语言,提供了丰…

服务器数据恢复—光纤环境互斥不当导致存储VMFS卷损坏的数据恢复案例

服务器数据恢复环境&故障: 某公司的信息管理平台,通过3台虚拟机共享了一台存储设备供企业内部使用,存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要,管理员又在这个存储网络上连接了一台Windows server服务器&a…

QT+GDAL实现影像的读取和显示

详细流程参考https://blog.csdn.net/deirjie/article/details/37872743 代码 //open_image.h #pragma once #include <QtWidgets/QMainWindow> #include "ui_open_image.h" #include "gdal_priv.h" #include <QMessageBox> #include <QFi…

专题一——双指针算法

原理&#xff1a;将数组进行区间划分&#xff0c;通过指针(下标)的移动实现题目所要求的区间&#xff08;数组分块&#xff09; &#xff08;实现代码统一是C&#xff09; 建议在做题与看题解时要自己反复模拟这个实现的过程&#xff0c;以后在做题做到类似的题才能举一反三&am…

git基础-记录对仓库的更改

记录对仓库的更改 到目前为止&#xff0c;我们应该在本地计算机上拥有一个真正的 Git 仓库&#xff0c;并且拥有所有文件的一个检出或工作副本。通常&#xff0c;我们会想要开始进行更改&#xff0c;并在项目达到想要记录的状态时&#xff0c;将这些更改的快照提交到我们仓库中…

【数字图像处理系列】读取图像

【数字图像处理系列】读取图像 使用函数 imread 可以将图像读人 MATLAB 环境&#xff0c;imread 的语法为 imread(filename)其中&#xff0c;filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。例如&#xff0c;命令行 >>f imread(pout.tif)将tif图像po…

【面试经典150 | 数组】分发糖果

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;贪心两次遍历 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容…

慧哥充电桩平台 二轮电动自行车 四轮汽车 云快充1.5 云快充1.6

文章目录 一、产品功能部分截图1.手机端&#xff08;小程序、安卓、ios&#xff09;2.PC端 二、小程序体验账号以及PC后台体验账号1.小程序体验账号2.PC后台体验账号关注公众号获取最新资讯 三、产品简介&#xff1f;1. 充电桩云平台&#xff08;含硬件充电桩&#xff09;&…

Redis相关操作高阶篇--集群搭建

Redis相关操作大全一篇全搞定-CSDN博客 Redis集群 是一个由多个主从节点群组成的分布式服务器群&#xff0c;它具有复制、高可用和分片特性。Redis集群不需要seninel哨兵也能完成节点移除和故障转移的功能。需要将每个节点 设置成集群模式&#xff0c;这种集群模式没有中心节…

vulnhub打靶记录——Mycmsms

文章目录 一、环境布置主机发现 二、端口扫描nikto基本探测目录扫描CMS EXP搜索探查mysql数据库CMS代码审计CMS后台权限提升 一、环境布置 靶机在virtualbox中搭建&#xff0c;攻击机使用vmware中安装的kali&#xff0c;主要是解决kali能ping通靶机&#xff0c;同时能访问外网…