【《卷积神经网络的相关技术基础和模型概述》5600字】_第1页
【《卷积神经网络的相关技术基础和模型概述》5600字】_第2页
【《卷积神经网络的相关技术基础和模型概述》5600字】_第3页
【《卷积神经网络的相关技术基础和模型概述》5600字】_第4页
【《卷积神经网络的相关技术基础和模型概述》5600字】_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.卷积神经网络的相关技术基础和模型概述目录TOC\o"1-3"\h\u3383卷积神经网络的相关技术基础和模型概述 1102641.1卷积神经网络的基本结构 193691.2卷积神经网络的参数类型 2157671.1.1激活函数的类型 295441.1.2卷积层的类型 4316551.1.3池化层的类型 481691.3常用的卷积神经网络模型 435711.3.1AlexNet模型 41451.3.2DenseNet模型 6191901.3.3GoogLeNet模型 81.1卷积神经网络的基本结构卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络。表示在网络中采用卷积作为数学运算。卷积是一种特殊的线性操作。卷积神经网络是一种特殊的神经网络,它的神经元可以响应一部分范围内的神经元,对于大型图像处理有着不错的表现。卷积神经网络一般由一个或多个卷积层Conv(ConvolutionalLayer)和顶端的全连接层FC(Fully-ConnectedLayer)组成,同时也包括关联权重和池化层Pool(PoolingLayer),其中卷积层和池化从是实现卷积神经网络特征提取功能的核心模块。若采用梯度下降法来最小化损失函数,之后逐层反向调整网络中的相应的权值参数,通过频繁的迭代训练以提高网络的精度。卷积神经网络底层由卷积层和池化层交替组成。高层是与传统多层感知器相对应的整个连接层的隐层和逻辑回归分类器。全连接层的第一个输入是通过对体层和子采样层的特征提取得到的特征图像。最后一层是分类器,可以用逻辑回归、softmax回归甚至支持向量机进行分类。卷积神经网络与其它传统神经网络的区别在于,卷积神经网络的输入是一个图像。与其他全连接神经网络不同,在卷积神经网络中,下一层的神经元只与前一层的一小块范围内的神经元有关。这大大的减少了训练的计算量,实现了图像训练的可行性。这里将主要介绍卷积神经网络中主要的三种类型层,分别为卷积层、池化层、全连接层。卷积层(ConvolutionalLayer)卷积层是卷积神经网络中最为重要的一部分,卷积神经网络的大部分计算量都消耗在这。与全连接层不同,卷积神经元的输入只与上一层的一小块范围内的神经元有关。卷积层是一组平行的特征图(featuremap),它通过在输入图像上滑动不同的卷积核,然后经过相关的计算而成,以将感受野内的信息投影到特征图中。这一个滑动的过程可以称为步幅S,步幅S是控制输出图征图尺寸的一个因素。卷积层由一系列卷积单元组成。每个卷积单元的宽度和高度相对较小,但卷积单元的深度将扩展到与输入卷积层相同的大小。卷积层试图对卷积神经网络中的每个部分进行更深入的分析,从而得到更抽象的特征。通过反向传播算法优化处理后,最终卷积单元的参数得到更新。卷积层提供的卷积运算可以提取图像特征。池化层(PoolingLayer)一般会在卷积层之间插入池化层,这样可以降低数据的空间尺寸与维度大小,也就相应的减少了计算量。这样的话就能减少卷积神经网络中参数的数量,减少了计算机资源的消耗,在一定程度上减缓了过拟合现象。池化层就是将相关大小的神经元转化成一个神经元。与卷积层操作不同的是,在池化的过程中不会进行填充操作,且池化前后图像的深度不会发生改变。但在现在,一些卷积神经网络已经开始使用较小的池化单元[7],甚至有时不使用池化层[8]。全连接层(Fully-ConnectedLayer)全连接层中的神经元如同传统神经网络中的神经元,它们与上一层中的所有神经元相连接。一般情况下,一个矩阵中的所有数据都可以在一维化之后通过全连接层来进行图片的分类。1.2卷积神经网络的参数类型1.1.1激活函数的类型激活函数(ActivationFunction),就是在神经网络中神经元上运行的函数。主要负责将神经元的输入映射到输出上。一般激活函数都是在卷积操作后进行的。激活函数的功能就是对神经元的输入信号做非线性转变的操作,并将转变后的结果输出到下一层的神经元作为输入。这样的方式可以增强神经网络的非线性特征。如今有着非常多种类的激活函数,下文将介绍几种常见的激活函数:比如线性整流函数ReLU(RectifiedLinearUnit),以及传统神经网络中常用的Sigmoid函数和tanh函数等。1.1.1.1ReLU函数ReLU的函数表达式如公式2-1所示: fx=max⁡(0,RectifiedLinearUnit即线性整流函数,又被称为修正线性单元。因为ReLU激活函数在图像识别这一领域中表现的比其他激活函数更为出色,也有着不错的的效果[9],所以在目前ReLU激活函数最为广泛的在卷积神经网络中被使用到。与其他激活函数不同的是,它不同时激活所有神经元,这与生物神经元中信息编码都较为稀疏和分散的研究事实更为接近[10],使它具有了仿生学基础,同时加快了训练的速度。ReLU激活函数还提高了梯度下降和反向传播的效率,并且在使用ReLU激活函数的时候,相关的数学计算过程比起别的激活函数更为简单,也就相应的比其他激活函数减少了计算机的计算负担,减少了训练的时间。但同时由于线性整流函数的特性,会使得它在一些场景下的效果不尽如人意。有时使用线性整流函数,会将负数变为0,这是一种不可逆的操作。那么这些为负的神经元将不会对最终的结果起到任何作用。因此可能会在训练一段时间后依然无法得到预期的效果。在学习率(LearningRate)较高或者神经元的为负概率较高时都可能会出现上面所述的情况。如果出现,调低学习率可以进行一定程度上的缓解。1.1.1.2Sigmoid函数Sigmoid函数的函数表达式见公式(2-2): Sx=Sigmoid曲线是平滑的,故相较而言它能够提供更好的模拟效果。由Sigmoid的函数曲线可以得知,在整个定义域中,Sx1.1.1.3Tanh函数Tanh函数的函数表达式见公式(2-3): fx=从以上表达式可以看出,tanh函数和Sigmoid函数的联系如公式(2-4): tanhx=2与Sigmoid不同的是,Tanh函数的梯度更高。所以在选择Sigmoid和Tanh要根据具体情况分析。同样的,Tanh函数常用传统的神经网络。Sigmoid函数和Tanh函数通常被分类为饱和的激活函数。与它们对应的,线性整流函数(ReLU)常被称作不饱和的激活函数。1.1.2卷积层的类型在卷积层中,卷积核的大小和卷积核移动的步长是影响卷积神经网络算法最终分类效果的核心部分。不同的卷积核大小可以提取不同层次的特征。卷积层的作用通常是给网络引入一些非线性特性。卷积层具有不同数量的滤波器,这决定了输出数据的维数。有时,如果维度太大,就会出现计算瓶颈,如果维度太小,可能无法提取足够的特征。1.1.3池化层的类型一般的池化方式有三种,分别为最大池化(Maximumpooling)、平均池化(Averagepooling)以及池化(Sumpooling)。最大池化是目前最常见的池化方式,输入图像根据池化的大小分为若干区域,并取每个区域中的最大值作为池化层对应位置的输出。平均池化是将每个区域的平均值作为池化层对应位置的输出。而池化是取每个区域所有值的和作为池化层的输出。池化单元的尺寸大小和相应的滑动步长是影响卷积神经网络的算法最终分类效果的核心。默认情况下,池化单元的边长与步长的大小一致。但在一些模型中,比如AlexNet也有重叠池化单元的操作。这时候,池化单元的边长就要大于步长。在一些情况下,这样的做法可以减缓过拟合,提升卷积神经网络识别分类性能。1.3常用的卷积神经网络模型1.3.1AlexNet模型AlexNet是由AlexKrizhevsky等人设计的一种经典的卷积神经网络模型。它在ImageNetLSVRC-2010(ImageNet大规模视觉识别竞赛)竞赛中完成了对120万张图片进行1000分类的任务,并以top-1错误率(即一次猜测错误率)37.5%,top-5错误率(即五次猜测错误率)17.0%的结果夺得头筹。 1.3.1.1AlexNet模型的基本架构图2-1AlexNet的框架设计如图2-1所示,AlexNet共有5层卷积层和3层全连接层。AlexNet的架构设计其实并不复杂。首先是对图片进行预处理的操作,将图片进行剪切,然后得到大小为224×224的图片。第一层的卷积层含有96个卷积核(convolutionalkernel),其中每个卷积核的尺寸大小为11×11,步长大小为4。在第一个卷积层后面有着一个池化层采取最大池化的操作,并进行局部响应归一化处理(LocalResponseNormalization)。第二层卷积层含有256个卷积核,每个卷积核的尺寸大小为5×5。第二层卷积层后面一样进行了最大池化的操作和局部响应归一化处理。第三个卷积层含有384个卷积核,每个卷积核的尺寸大小为3×3。第四层卷积层含有384个卷积核,每个卷积核的大小为3×3。第三层和第四层卷积层后都没有进行池化处理和局部响应归一化操作。第五层卷积层包含256个卷积核,每个卷积核的大小为3×3。AlexNet最后的部分有2层,各层包含4096个神经元的全连接层,整个卷积神经网络的最后一层是1000路的Softmax全连接层,对应着最终得到的1000分类。1.3.1.2AlexNet的创新点在传统方式下,相邻的池化单元并不会重叠[11],池化单元的步长在默认情况下与它的边长相同。但在AlexNet中,设计者采取了重叠的最大池化处理。在AlexNet中,池化单元的大小为3×3,而其步长仅为2。因为AlexNet的设计者发现,在重叠的池化处理之下,相对地可以抑制出现过度拟合的情况。在AlexNet中,第一层和第二层卷积层后面都采取了局部响应归一化(LocalResponseNormalization,LRN)的操作处理。这种处理方式对局部神经元的活动创建竞争机制,增大反馈较大的值,抑制反馈较小的值。这一操作增强了卷积神经网络模型的泛化能力。并且,与以前传统方式所采用的激活方式不同,AlexNet采用了在当时还不常用的线性整流单元ReLU作为激活函数。由于ReLU的数学计算十分简单,这一做法不仅抑制了出现过度拟合情况的可能,还加快了训练计算的速度。为了减轻过度拟合的情况,AlexNet首先采取的办法是对数据集进行了数据增强的操作,扩大了数据集的大小。设计者采取了两种数据增强的方式,分别是水平翻转,和改变RGB通道的强度。同样为了减轻过度拟合的情况,AlexNet采取了当时刚出现的丢失Dropout[12]的操作。在AlexNet中,Dropout被设置为0.5,意义为隐藏的神经元的输出值被置为0的概率被设置为0.5。采取设置Dropout值的操作减少了卷积神经网络出现过度拟合情况的可能,并使其更佳容易地学习到图片中那些真正强健的特性。在AlexNet的训练过程中,若性能停止进步,设计者就将学习率LearningRate除10。学习率的初始值为0.01。经过多次调试,最终,学习率被固定为0.00001。1.3.2DenseNet模型DenseNet是CVPR2017年的BestPaper。DenseNet脱离了加深网络层数(ResNet)和加宽网络结构(Inception)来提升网络性能的定式思维。从特征的角度考虑,通过特征重用和旁路(Bypass)设置达到更好的效果和更少的参数。1.3.1.1DenseNet模型的基本架构图2-2DenseNet的具体框架DenseNet采用密集连接机制,即互相连接所有的层,每个层都会与前面所有层在channnel维度上连接(concat)在一起,实现特征重用,作为下一层的输入。这样不但减缓了梯度消失的现象,也使其可以在参数与计算量更少的情况下实现比ResNet更优的性能。在DenseNet中,会连接前面所有层作为输入,如图2-2,见公式(2-5): xl=Hl(特征传递方式是直接将前面所有层的特征concat连接后传到下一层,而不是前面层都要有一个箭头指向后面的所有层。图2-3DenseNet的框架设计DenseNet的密集连接方式需要特征图大小保持一致。如图2-2所示,DenseNet网络中使用DenseBlock+Transition的结构。DenseBlock是包含很多层的模块,每个层的特征图大小相同,层与层之间采用密集连接方式。Transition模块是用来连接两个相邻的DenseBlock,并通过Pooling使特征图大小降低。图2-3中,k是growthrate,表示每个DenseBlock中每层输出的featuremap个数,一般都采用较小的k。DenseBlock中的非线性组合函数Hl(·)采用的是BN+ReLU+3×3Conv的结构。另外每个DenseBlock的3×3Conv前面都包含了一个1×1Conv的卷积操作,就是所谓的bottleneck,目的是减少输入的featuremap数量,既能降维减少计算量,又能融合各个通道的特征。那么,DenseBlock内部的操作为BN+ReLU+1×1Conv+BN+ReLU+3×3Conv。称为DenseNet-B结构。Transition模块主要是用于连接两个相邻的DenseBlock,并且降低特征图大小。Transition层包括一个1×1Conv和2×2AvgPooling。结构为BN+ReLU+1×以下讨论DenseNet的特点及优点。1.3.1.2DenseNet的特点及优点在DenseNet中,DenseBlock采用了激活函数在前、卷积层在后的顺序,即BN-ReLU-Conv的顺序,这种方式也被称为pre-activation。通常的模型ReLU等激活函数处于卷积Conv、批归一化BN之后,即Conv-BN-ReLU,也被称为post-activation。作者表明,如果采用post-activation设计,性能会变差。DenseNet具有以下几种优点:减缓了梯度消失(vanishing-gradient)[13],加强了特征的传递,更有效的利用了特征,一定程度上减少了参数数量。1.3.3GoogLeNet模型GoogLeNet是由Google设计的卷积神经网络。它采用了许多新的方法来提高图像识别和分类的准确率。在2014年的ILSVRC竞赛中获得第一名,并且与第二名的VGG网络相比,错误率可观地更低。同时,这一卷积神经网络模型又被称作Inceptionv1,v1是对其版本的说明,而Inception一名是因为当时风靡网络的电影Inception台词图片,内容为:“本文需要到更深的层去。”与卷积神经网络的设计十分契合。GoogLeNet采取了许多较为新颖的设计。比如引入了1×1的卷积层,在卷积神经网络中加入了特别的Inception模块,采用全面平均池化方式等等。本文将会讨论这些设计的具体细节,并研究它们是如何起到提高卷积神经网络准确率效果的。1.3.3.1GoogLeNet的整体架构图2-4展示了GoogLeNet的具体的架构设计。图中展示了一些含有创新性的单元部件,这些单元是整个GoogLeNet结构中的中的重要组成部分。GoogLeNet的深度非常大,一共有22层。图24GoogLeNet的架构设计1.3.3.2GoogLeNet的创新点GoogLeNet中有着设计非常出色的模块名为Inception模块。初始的Inceptionv1模块设计如图2-5所示:图25Inception模块的初始设计示意图在GoogL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论