




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《人工神经网》课程论文)其中,,分别是对梯度的一阶矩估计和二阶矩估计,可以看作对期望,的估计;,是对,的校正,这样可以近似为对期望的无偏估计。可以看出,直接对梯度的矩估计对内存没有额外的要求,而且可以根据梯度进行动态调整,而对学习率形成一个动态约束,而且有明确的范围。特点如下:具有善于处理稀疏梯度和非平稳目标的优点对内存需求较小为不同的参数计算不同的自适应学习率适用于大多非凸优化问题,也适用于大数据集和高维空间通常情况下且迭代速度快于SGD,但是其收敛精度一般不如SGD2.6Dropout权值衰减(L2正则化)是通过修改代价函数来实现的,但是Dropout通过修改神经网络结构来实现的,它是在训练神经网络时用的一种优化方法。Dropout是指在模型训练时随机让网络部分隐含层单元的不工作,不工作的那些单元可以暂时不作为网络的部分计算,但保留它的权重(暂时不更新),因为下次样本输入时它可能又工作。在训练过程中,Dropout是以一定概率将隐含层节点的输出清0,而用反向传播更新权值时,不再更新与该节点相连的权值,未设置Dropout与设置Dropout的神经网络结构如下:(a)无Dropout的神经网络结构(b)设置Dropout的神经网络结构图2-4Dropout示意图2.7BatchNormalization我们知道,在训练深度神经网络时,常常会发生“梯度弥散”问题,即当我们使用反向传播方法计算梯度导数的时候,随着网络深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。一个简单的例子就是:,结果就造成了整体的代价函数对最初几层网络的权值的导数非常小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习。为了解决梯度弥散问题,Google在2015年的ICML大会上提出了BatchNormalization的方法。BatchNormalization嘛,即“批规范化”,即在每次进行随机梯度下降时,通过mini-batch来对相应的激活输出做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。具体的“批规范化”算法如下:在BatchNormalization中,通过将激活函数的输出规范为均值和方差一致的手段使得原本会减小的输出的变大,从而在很大程度上解决了梯度弥散问题,并加快了深度神经网络的训练。3模型设计与实验分析3.1CIFAR-10数据集CIFAR-10数据集含有6万张的自然图像,共分为10种类型,由AlexKrizhevsky,VinodNair和GeoffreyHinton收集而来。包含50000张训练图片,10000张测试图片,数据集的数据存在一个的数组中(按行存储,每一行表示一副图像),前1024位是R值,中间1024位是G值,最后1024位是B值,数据集样例如图3-1所示。我们对实验数据集仅作简单的裁剪与白化处理后将像素值送入神经网络中进行训练。图3-1CIFAR-10数据集样例3.2模型设计在上一章中我们对卷积神经网络性能的影响因素进行了分析,如何选择感受野大小、核个数、池化大小、网络的层数等。对此,我们根据这些影响因素并结合CIFAR-10数据集,设计了两个模型。一种是浅层卷积网络模型,一种是深度卷积网络模型,浅层卷积网络模型受GoogleTensorFlow的教学手册启发,深度卷积网络模型是结合了影响卷积网络性能的影响因素设计而成。浅层卷积网络与深度卷积网络的结构图分别如图3-2与图3-3所示。图3-2浅层卷积网络图3-3深度卷积网络两个网络的架构图分别如表3-1与表3-2所示。表3-1浅层卷积网络架构图typePatchSize/stridesFeatureMapsdepthactivationlearningruleconvolution3×3321ReLuSGD+Momentummaxpool3×3/[1,2,2,1]320convolution3×3641maxpool3×3/[1,2,2,1]640Fullconnection1×3384/1922softmax101表3-2深度卷积网络架构图typePatchSize/stridesFeatureMapsdepthactivationlearningruleconvolution3×3322ReLuSGD+Momentummaxpool3×3/[1,2,2,1]320convolution3×3642maxpool3×3/[1,2,2,1]640convolution3×31282maxpool3×3/[1,2,2,1]1280convolution3×32562maxpool3×3/[1,2,2,1]2560Fullconnection1×3384/1922softmax101若我们将下采样层(pooling)与归一化层(BatchNormalization)不计入网络层数的计算,则我们设计的浅层网络的深度为5,深度网络的深度为11。3.3实验结果与分析3.3.1实验环境与基本参数设置:实验中我们采用Python+tensorflow进行编程,tensorflow是Google开发的一种深度学习框架,其提供了C++与Python接口,主要支持Linux与MacOS,这种框架主要采用先进的图计算,即使用有向图的节点和边共同描述数学计算。graph中的nodes代表数学操作,也可以表示数据输入输出的端点。边表示节点之间的关系,传递操作之间互相使用的多位数组(tensors,张量),tensor在graph中流动——这也就是TensorFlow名字的由来。一旦节点相连的边传来了数据流,节点就被分配到计算设备上异步的(节点间)、并行的(节点内)执行,这种灵活的架构允许我们使用相同的API在单或多CPUs或GPU,服务器及移动设备上进行计算。本文的编程环境处于Linux之中,具体的实验室环境如表3-3所示:表3-3实验环境CPUi5-6500CPU@3.20GHzGPUGTX750ti@2GB内存8GB操作系统Linuxmint18深度学习框架GoogleTensorFlow(r0.12)编程语言Python2.7为了后续进行对比实验,我们配置了基本的实验参数,后续相关的实验参数也是在基本参数上进行变动。权值衰减的实现是在代价函数中增加惩罚项,随机训练样本会造成这惩罚项产生较大的随机突变,干扰梯度更新方向的稳定性,同时增大训练误差,故惩罚项的参数需要非常小,一般都要小于0.001;另外,对神经元随机失能的比例不能太大,否则随机噪声会淹没训练集的作用;批处理尺寸(batchsize)不能太大,负责会造成迭代过慢及内存溢出问题,我们在CNN的训练时间、准确率和稳定性之间进行折中后的基本实验参数如表3-4所示。表3-4基本实验参数参数取值输入图像尺寸(image_size)批处理尺寸(batchsize)128初始学习速率()0.1学习速率衰减率()0.1衰减间隔(NUM_EPOCHS_PER_DECAY)350动量系数()0.9Dropout比例()0.5权值衰减项权重()[0,0.001]最大迭代步数(max_steps)10003.3.2不同batchsize对比实验我们采取不同的batchsize,并选取随机梯度下降学习算法,在CIFAR-10数据集上进行了对比实验,各种不同batchsize对应的代价函数曲线如图3-4所示。(a)batchsize=128(b)batchsize=256(c)batchsize=512(d)batchsize=1024图3-4不同batchsize的代价函数曲线从图3-4可以看出,batchsize为128与256时,代价函数的震荡较激烈,随着batchsize增大到512与1024,代价函数的下降变得相对平稳,这是由于batchsize越大越能代表总体的训练集样本分布,但是batchsize越大,每次迭代所需时间就近线性增长,在实验室中,不同的batchsize对应的处理速度如表3-5。表3-5不同batchsize的处理速度batchsize处理速度(sec/batch)1280.102560.215120.4310240.85在后续实验中,为了加快收敛速度,我们取batchsize=128。3.3.3不同激活函数对比实验我们分别选择三种激活函数,均采取Adam学习算法,经过1000次迭代后的代价函数曲线如图3-5所示。(a)sigmoid(b)tanh(c)ReLu图3-5不同激活函数的代价函数曲线从上图中我们可以看出,在相同的迭代次数下,sigmoid型激活函数对应的代价函数值降低到2.0左右,而tanh型激活函数的代价函数下降到一个更小的值(1.0~1.5),最后ReLu激活函数的震荡更小,对应代价函数下降到一个比tanh型函数更小的值,这与其特性(①单侧抑制②相对宽阔的兴奋边界③稀疏激活性)有关,所以ReLu型激活函数更适用于深度神经网络,后续我们的实验也是默认采用ReLu激活函数。3.3.4不同学习算法对比实验在保持基本实验参数设置的情况下,三种不同的学习算法的代价函数曲线如图3-6所示。从曲线图我们可以看出,SGD(随机梯度下降法)收敛速度最慢,而且曲线震荡明显;SGD+Momentum(随机梯度下降加动量因子)震荡减小且收敛速度加快,如果迭代次数足够多,可以收敛到一个比较理想的值;Adam(自适应矩估计法)收敛速度最快,且震荡较小,如果对精度没有严格要求话,Adam是一个较理想的选择(后续对比实验也默认采用Adam学习算法)。(a)SGD(b)SGD+Momentum(c)Adam图3-6不同学习算法的代价函数曲线3.3.5不同特征图个数对比实验我们以之前设计的浅层卷积网络为基础,分别设置两层卷积层的特征图(FeatureMaps)个数为16-16,32-32,64-64,卷积核尺寸为5×5,pooling窗口尺寸为3×3,其他层保持不变,迭代10000步后,不同数目的特征图对应的测试集分类精度如表3-6所示。表3-6不同FeatureMaps对应的测试集精度FeatureMapsPresion16-1670.0%32-3275.0%64-6479.5%由表3-5可知,在一定范围内,随着特征图(FeatureMaps)个数的增多,对应的分类精度就越大,这是由于特征图个数越多,从输入图像中提取到的特征也就越多,模型的表达能力也就越强,所以在计算能力允许的情况下我们应该尽量增加特征图的数目,提高图像特征的提取质量进而增强模型的表达能力。3.3.6不同池化方式对比实验我们保持基本实验参数不变,分别采用averagepooling(均值采样)与maxpooling(最大采样)两种池化方式,迭代10000次后的对应的测试集分类精度如表3-6所示,相应的代价函数曲线如图3-7所示。表3-7不同池化方式对应的测试集精度PoolingPresionAveragepoling77.9%Maxpooling79.5%(a)averagepooling(b)maxpooling图3-7不同pooling方式对应的代价函数曲线从表3-6可以看出采用maxpooling取得了更高的分类精度,从两者的代价函数曲线也可以看出maxpooling可以将代价函数降到更低,这是由于maxpooling减小了卷积层参数误差造成的估计均值偏移,所以后续的实验中我们也将采用maxpooling的方式。3.3.7不同卷积层数对比实验我们在之前设计的浅层卷积网络的基础上增加两层卷积层,并与浅层卷积网络、深度卷积网络一起进行对比实验,保持基本的实验参数不变,采用Adam学习算法,迭代10000次后的分类精度如表3-8所示。表3-8不同卷积层数对应的测试集精度卷积层数Presion279.5%683.1%883.6%由表3-8可知,随着卷积层数的增多相应的分类精度也在提高,这是由于卷积层数越多,对特征的抽象能力也就越强大,最后提取到的特征质量也就越高,所以一般来说,深度卷积网络比浅层卷积网络的性能要好。3.3.8深度卷积网络模型实验我们设置最大迭代次数为50000次,采用SGD+Momentum的学习算法,初始化学习率,每隔125次Epoch学习率衰减为上一次的0.1倍,其他参数保持基本参数不变,对应的代价函数曲线如图3-8所示。 图3-8深度卷积网络模型代价函数曲线经过50000次迭代后,代价函数大约稳定在0.20左右,最低为0.10,最后的分类精度为88.1%,CIFAR-10部分论文的分类精度如图3-9所示。从图中可以看出,本文的分类精度优于许多论文得到的分类精度,但是由于本文的方法并未对训练集图像做精细的预处理,所以本文的分类精度比一些做过相应预处理的论文结果要低;观察代价函数曲线可知,若迭代次数再增大,代价函数可以再进一步下降,但由于本文中使用的计算机计算能力有限,若迭代更多的次数需要的时间会很长,就不做进一步的迭代。图3-9CIFAR-10部分论文分类精度4结论本文通过分析影响卷积神经网络模型的各个因素(网络层数、学习算法、卷积核大小、pooling方式、激活函数、Dropout、BatchNormalization等),针对CIFAR-10图像数据集,设计了两个卷积网络模型(浅层网络模型与深度网络模型),经过实验对比,本文设计的深度网络模型的分类精度更高,并取得了88.1%的分类精度,比CIFAR-10官网上公布的大部分论文的分类精度要高,若想进一步提高分类精度,可以从以下几个方面进行改进:对学习率进行更加精细的设计,使得在代价函数降低到0.2以下时可以有更加适合的学习率与之对应。对输入图像进行精细的预处理(比如滤波、白化等)原数据集进行数据增强,并进行更多次的迭代。 参考文献[1]李晓普.基于卷积神经网络的图像分类[D].大连理工大学,2015.[2]楚敏南.基于卷积神经网络的图像分类技术研究[D].湘潭大学,2015.[3]张弛.基于卷积神经网络的鞋印图像分类算法研究[D].大连海事大学,2016.[4]龚丁禧,曹长荣.基于卷积神经网络
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物学基因工程知识重点试题
- 农村绿色生态农业开发共建契约书
- 文学作品赏析与文学创作测试题
- 机器人与自动化生产线研发协议
- 专业音乐演出排演及经纪代理合作协议
- 行政管理专业经济法知识点试题及答案
- 2025年工程经济统计分析试题及答案
- 电子商务法规与合规管理知识题库建设
- 落花生教学设计
- 相交线的课件
- 钢筋网检验批质量验收记录表
- 国家通用手语日常会话:手指语课件
- 停电施工安全技术交底
- 2022年山东省青岛市中考数学试卷及答案
- VMWare VSAN软件定义的超融合解决方案
- “小风筝大创意”小学STEM项目式学习活动案例
- 生态环境执法大练兵练习(行政处罚法、新固废法、大气法)
- 现浇箱梁混凝土浇筑方案计划
- 青霉素皮试液的配制PPT学习教案
- 热菜加工流程图
- RAL 劳尔色卡电子版
评论
0/150
提交评论