版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
卷积神经网络基本原理综述目录TOC\o"1-3"\h\u13993卷积神经网络基本原理综述 1125401.1卷积层 2117621.2池化层 5231511.3激活层 6300241.4全连接层 8257241.5损失函数 9人工神经网络的结构是,数据从输入层到隐层再到输出层,均是通过全连接的方式进行,这会导致模型参数计算量过大。在现代的数据分析中,数据量往往是几十万甚至是上百万量级的,用这样的数据量去训练模型,往往会导致人工神经网络的泛化能力低,效果不理想,此外还容易导致网络出现过拟合等其他问题。而卷积神经网络则不然,卷积神经网络各层之间不采用全连接的方式,而是采用局部感知的方式。具体来说,一个完整的卷积神经网络包含输入层、卷积层、池化层、激活层以及全连接层,如图2-1所示(图2-1出自斯坦福CS231课程)。目前研究的卷积神经网络一般可以输入以下几种数据:第一种,一维数据,也就是通常的时间采样或者是频域采样数据。第二种,二维数据,通常是灰度图像数据或者是包含三通道的彩色图像数据。第三种,三维数据,一般情况下是视频数据。由于卷积神经网络应用于图像的处理最为普遍,因此基于二维数据的卷积神经网络最为常见。一般情况下,网络的输入特征需要进行归一化处理,比如将分布在[0,255]的原始像素值归一化至[0,1]区间内。输入特征标准化有助于提高卷积神经网络的学习效率和性能。卷积神经网络是通过卷积核在前一层的特征图(featuremap)上面做卷积来提取相应的特征,这样的特征具有局部感受野。然后将特征图送到激励层,不同的激励函数可以把线性特征做一定程度的非线性映射。图2-1卷积神经网络一般结构图再通过池化层达到降低特征维度的功能。最后将各个具有局部感受野的特征层用全连接层连接起来送到Softmax分类器中进行定位和分类。卷积神经网络相对于神经网络而言,最大的区别便是局部感受野和权值共享。传统的神经网络是每一个神经元连接所有图像区域。举例来说,假如说一幅图像的尺寸是512×512×3,那么第一个神经元的权重参数就有512×512×3=786432个。很显然对于一幅图像而言,不可能只有一个神经元。对于多个神经元而言,由于权重计算量过于庞大且权重没有共享,导致计算速度缓慢,往往容易使得神经网络出现过拟合等现象。普通的神经网络只能针对小尺度低分辨率图像,对于高分辨率、大尺度图像缺点很明显,而卷积神经网络则解决了这个问题。对于512×512×3这样的一幅图像,一般将它视为长为512,宽为512,深度为3的一幅图像。卷积神经网络不感受全局图像,而是进行局部感知。其利用较小的卷积核,如大小为3×3的卷积核对图像进行分块感知。而利用一个相同的神经元对整幅图像的不同区域进行感知,这便是卷积神经网络的权值共享。通过在最后一层添加全连接层,把特征图变成一维向量,输入到SVM或Softmax分类器中,从而完成最终的检测识别。通过对网络结构的不断学习和训练,利用卷积神经网络提取的深度特征就会更加丰富。接下来将对上述提到的卷积层、池化层,全连接层等相关部分进行详细介绍。1.1卷积层一般提到卷积,大多数情况下可能会想到微积分中的卷积。但实际上图像中的卷积计算方法和微积分中的卷积不完全一样。在进行卷积运算的过程中,会预先设置一个卷积核(ConvolutionalKernel)或者是称为过滤器(Filter)的滑动窗口,大小一般会设置为M×M(M为正整数,窗口的大小也被称为感受野)。每一个卷积核的维度和进入输入层数据的维度都是一致的。卷积核的数量也是可以被调整的。卷积操作中除了可以设置卷积核的数量和窗口大小之外,最重要的便是补零操作(Padding)和卷积步长(Stride)的设置。补零操作的主要作用有两个:一方面可以让卷积核多次覆盖特征图的边缘信息,防止边缘信息中有重要内容被漏,另外一方面可以使得图像尺寸一致。Padding的操作一般为对矩阵的四周补零。如果只是补了一圈零,则Padding=1,简写为P=1。如图2-2所示。图2-2对不规则特征矩阵进行Padding=1的补零卷积核在进行卷积运算时,每次滑动固定的距离对感受野中的特征进行点积运算。每次卷积核滑动的距离被称为步长Stride,一般记为S。图2-3中实线框为第一步运算,虚线框为第二步运算,也就是对补零后的特征图进行滑动计算。公式(2-1)为卷积层输出特征图的尺寸计算公式,其屮K为输出特征大小,W为输入特征图的长或宽,P为Padding的大小,S为步长大小。(2-1)图2-3对补零后的特征图进行Stride=1的卷积操作卷积运算最重要的是卷积核大小的选取。在之前的研究中,一般会选取较大的卷积核,如7×7,此种大小的卷积核对于图像能够有较大范围的感知。但是在后续的研究中发现,多个较小的卷积核往往能够起到和一个较大的卷积核相同的效果,同时权重参能降低一半。需要说明的一点是,卷积核在处理一幅图片时,开始卷积核的维度是一个四维向量[w,h,c,n],w、h代表卷积核的长宽,c代表的是卷积核的通道数,n代表的是有多少种这样的卷积核。每一种卷积核提取的特征类型不同,输出的特征图也自然不一样。卷积神经网络的局部感知示意如图2-4所示。可以清楚地看到卷积核的维数是3×3×3×2。3×3指的是卷积核的大小,第三个3指的是通道数,也就是RGB三通道。最后的一个2指的是有这样的两个不同的卷积核。在Tensorflow框架中,不需要写出整个卷积核的底层构造,只需要用一行代码指定维度便可以搭建整个网络,这使得搭建卷积神经网络变得十分的方便。图2-4卷积神经网络的局部感知1.2池化层池化层(PoolingLayer)一般接在卷积层的后面,属于下采样层(SubsamplingLayer)的一种。一般的卷积神经网络是以卷积-池化为结构去构造的(Conv-Pooling)。Pooling主要有两方面的作用,一方面保留主要的特征,减少网络的运算量和特征的参数,另外一方面可以防止过拟合。池化本质上是对图像的各层特征进行一个更高层次的抽象表示。对于单张图像而言,各个不同的区域特征可以相互适用。因此,对于所处不同位置的特征进行聚合统计,从而去描述大型图像的方法在理论上是可行的。研究者通过研究发现,聚合统计的方法有许多,平均值和最大值聚合则是最为常用的两种方法。在卷积的操作中,会有大量的区域被重复计算,计算出来的特征值会有一定程度的冗余。面对这样的卷积结果,池化操作就可以在一定程度上减少冗余。通过池化操作,特征层会丢弃一些局部的信息。但即使是图像或者是特征层在局部位置有所变化,也不会影响最终的结果。池化操作可以保持平移不变性,但同时也要注意到,池化操作本身没有参数可以学习,这种下采样的过程有可能会丢弃掉重要的识别信息。下面本文介绍两种常见的池化操作。图2-5平均池化图(1)平均池化(mean-pooling)如图2-5所示,对一个4×4的特征矩阵求取平均值。其中池化操作的窗口大小为2×2。与卷积操作不同,池化操作不会重复采样。而是对每个不同的目标区域进行采样。其主要目的是对目标区域求平均值,由此即可得到相应的特征值。(2)最大池化(max-pooling)如图2-6所示,本文给出了最大池化的计算样例。其中最大池化也是如同平均池化一样,对特征矩阵中不同的区域进行不重叠采样。唯一的不同在于,输出的不是平均值而是目前区域的最大值。图2-6最大池化图1.3激活层激活层(ActivationLayer)一般是由激活函数组成。通过对特征层进行非线性变换,使得卷积层可以在一定程度上模拟非线性函数。不管是卷积、池化抑或者是最后的全连接,都是对特征进行线性变换。但是多层线性变换的组合依旧还是线性变换。因此需要在线性变换层之间添加非线性变换层,从而使得卷积神经网络具有非线性特征。常用的激活函数有Sigmiod函数、双曲正切函数(Tanh)以及整流线性单元函数(RectifiedUnit,Relu)。(1)Sigmoid函数图2-7Sigmoid函数以及导数Sigmoid函数是一种非线性网络激活函数。数学表达式如下所示:(2-2)Sigmoid函数将输入的数值归一化到0到1之间,可以用其来输出概率,如图2-7所示。但同时Sigmoid函数也存在以下缺点:第一、当自变量取值趋近于正负两极时,函数值很难随着自变量的变化而有明显变化,因此在反向传播算法进行运算时,梯度消失较为常见。第二、网络参数运算量大,Sigmoid函数及其导数经常需要进行对指数运算,计算量较大,会影响到网络的收敛速度。(2)Tanh函数Tanh函数的表达式和上文提到Sigmoid函数以及其导数表达式相近,如公式(2-3)所示。(2-3)图2-8Tanh函数及导数Tanh函数和Sigmoid函数的不同之处在于,其输出值取值范围是在[-1,1]这个区间。当输入为0时,输出同样也会变为0。此外平均输出为0。但同时也存在计算量较大,和梯度消失的问题。函数图如图2-8所示。(3)Relu函数Relu函数的数学表达式如公式(2-4)所示:(2-4)由表达式分析可知,当自变量大于0时,因变量和自变量相同。当自变量小于等于0时,因变量等于0。Relu函数运算速度较快,并且当自变量取较大或者是较小正值时,都不会出现梯度消失。但同时Relu函数也有自身的缺点,当自变量小于0时,梯度会变成0,神经元会出现“死亡”的现象。实际中,研究者往往采用的是LeakyRelu,如公式(2-5)所示:(2-5)Relu的函数图如图2-9所示,从公式(2-5)中可以清晰地看到,假定取a为一个很小的常数,那么既可以保证在自变量小于0的时候数据能够修正为接近0,又可以保证自变量大于0时,不会出现梯度消失的现象,这是十分值得关注的。但是该函数中的a的取值必须足够小,但究竟取多少,还需要在实验中确定。一般情况下,业界认为此值为10−4时较好。图2-9ReLU函数及导数1.4全连接层卷积神经网络中的全连接层(FullyConnectedLayer)和传统神经网络中的全连接层相似。相邻的卷积层之间都有权重进行连接。一般情况下,全连接层只出现在CNN网络的末端。通过对局部特征进行整合,改善特征层的语义表达,从一般局部特征,上升到全局特征,由此可以完成分类识别等相关任务,如上图所示。对于相邻的一维网络层之间,全连接的具体方式可以用公式(2-6)所示的数学公式表达:(2-6)公式中的输入变量x为向量形式,输入的y也为向量形式。W和b分别代表的是权重参数以及偏置参数。结构图如图2-10所示。图2-10全连接层以5个神经元为例,第一层和第二层之间的权重参数总共有5×5个,偏置参数有5个。共计有30个参数。两层神经元个数乘积再加上偏置参数的个数总和便是总的参数个数。因此全连接层的参数量非常的大,参数学习起来也很慢。1.5损失函数损失函数一般用来代表模型的样本的标签值和输出值之间的差距。通过让算法学习数据特征,尽可能地减少损失函数的数值。其中用于计算多分类及其相应的损失函数的部分被称为Softmax损失函数。通过全连接层将输入的特征层送到Softmax中,得到每一个目标类别的概率大小,可以在一定程度上解决多分类问题的核心难点。如果设置训练样本个数为n,其中,x代表样本的特征向量,y是样本的目标标签信息,k是所选取样本的总类别数,是Softmax的参数。样本相应的假设函数公式如式(2-7)所示:(2-7)这里的是超参数,目标是产生[0,1]之间的值。每一个样本所属类别的概率如下所示:(2-8)最后根据最大似然估计推导出Softmax的损失函数如下所示:(2-9)其中是可以被训练的参数,x为训练特征,y为标签,m为训练样本数,其中1{}是示性函数,当其中的表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年避坑指南林业采伐安全培训内容
- 2026年潜水作业安全培训内容一次通关
- 2026年医院多媒体设备采购合同协议
- 2026年安全月安全培训教育内容核心要点
- 焦作市马村区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 钦州市钦南区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 石家庄市赵县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 齐齐哈尔市甘南县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 抚顺市清原满族自治县2025-2026学年第二学期六年级语文第四单元测试卷(部编版含答案)
- 抚顺市露天区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 浙江空调管理办法
- 小学动感中队活动方案
- 猪群周转培训课件
- 肺癌营养支持治疗
- 施工协调费协议书
- 皮肤生理学试题及答案
- 汽修厂应急预案
- 公司绩效考核方案制度范本
- 《资治通鉴》与为将之道知到课后答案智慧树章节测试答案2025年春武警指挥学院
- 配电柜拆除施工方案
- 银行客户满意度调查手册
评论
0/150
提交评论