【《MLP神经网络模型理论基础概述》3300字】_第1页
【《MLP神经网络模型理论基础概述》3300字】_第2页
【《MLP神经网络模型理论基础概述》3300字】_第3页
【《MLP神经网络模型理论基础概述》3300字】_第4页
【《MLP神经网络模型理论基础概述》3300字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

MLP神经网络模型理论基础概述目录TOC\o"1-3"\h\u30123MLP神经网络模型理论基础概述 1231101.1MLP神经网络的结构 1101881.1.1感知机 1209031.1.2多层感知机神经网络 3203511.2神经网络的学习 629871.2.1训练数据和测试数据 6323161.2.2损失函数 663331.2.3梯度下降 7318141.2.4神经网络权重初始值 7234151.2.5Mini-batch学习 8306411.2.6神经网络的深度 8123061.2.7防止过拟合 9多层感知机(Multi-LayerPerceptron,MLP)神经网络,它是由多层感知机堆叠构造的神经网络,它是神经网络算法中的一种。机器学习、神经网络、MLP神经网络概念的从属关系:机器学习→神经网络→MLP神经网络,它们之间很多属性是相通的。感知机是神经网络算法的起源,也是MLP神经网络的基本结构。本章从感知机说起,然后讲述神经网络的学习原理;通过层层推进,对本文MLP神经网络模型的重要参数背后的原理进行解释,也为后面的策略优化研究打下理论基础。1.1MLP神经网络的结构1.1.1感知机Frank在1957年提出感知机算法(Perceptron),这个感知机算法的灵感来源于生物神经元的工作原理。图3-1展示了感知机的基本结构,圆形表示结点,箭头方向表示数据的流动方向:图3-1感知机的基本结构x1、x2、x3表示输入特征。w1、w2、w3表示每个特征的权重参数,用于控制各个特征的重要性。b表示偏置参数,用于控制感知机被激活的容易程度。Z表示输入特征的总和,只有当这个总和超过某一个阈值的时候,感知机才会被“激活”。这个过程,用数学表示:Z=x或者写成矩阵形式:Z=Wy^=fZ公式(3-2)中f是激活函数,它的作用在于决定如何来激活输入特征总和Z。在这个例子中,感知机使用阶跃函数作为激活函数,它以0为阈值,只有当Z>0,才会输出1;否则输出0。感知机只有一层功能神经元,它只能用于简单的线性分类学习。但是对于非线性问题,感知机是不能解决的,这是感知机的一个主要限制。图3-2XOR分类问题图3-2XOR分类问题,任何线性超平面都不可以把这两类分开。XOR分类问题的解决方案是叠加感知机。1.1.2多层感知机神经网络多层感知机(Multi-LayersPerceptron,MLP)神经网络和感知机之间的一个主要区别就是增加了隐藏层,这就增加了具有激活函数的功能神经元,从而大大提高了它们学习非线性的决策边界。这种包含了隐藏层的神经网络,被称为深度神经网络(DeepNeuralNetwork,DNN)。图3-3多层感知机(MLP)神经网络图3-3中,网络的第一层是输入层(inputlayer);中间层被称为隐藏层(hiddenlayer),在隐藏层的结点,也可以被称作神经元。在隐藏层的每一个神经元对前一层与之连接的神经元输入的信息进行处理,并产生激活值传到下一层。最后一层是输出层(outputlayer),用来处理来自前一层的激活值,以产出输出变量的预测值。同一层神经元之间没有连接。每一层的神经元都连接到上一层的每个神经元,该层被称为全连接层或密集层(Dense)。MLP神经网络是全连接层的神经网络,每个连接都有一个权重。直观上,我们可以把隐藏层的每一个神经元看作一个感知机,每一个感知机构造一个超平面,而输出值是对各个感知机结果的汇总,得到决策边界。图3-4XOR问题的两层神经网络为了理解神经网络的计算本质,我们把这些层从0(输入层)到L(输出层)编号,考虑网络中第l层的第两个结点(l>0)。这个结点生成的激活函数值ail表示为从前一层的结点接收到的输入函数。令wijl表示从第(l-1)层的第j个节点到第l层的第i个节点的连接权重。同样地,让我们把这个节点的偏置项表示为bil。激活值ail可以表示为ail图3-5具有(l-1)个隐藏层的神经网络参数的示意图图片来源:数据挖掘导论.北京:机械工业出版社.2019ADDINEN.CITE<EndNote><Cite><Author>陈封能</Author><Year>2016</Year><RecNum>609</RecNum><DisplayText><styleface="superscript">[2]</style></DisplayText><record><rec-number>609</rec-number><foreign-keys><keyapp="EN"db-id="fr2trwfrn555w9er5rtvwr2lwefeeerdtfpp"timestamp="1620006228">609</key></foreign-keys><ref-typename="Book">6</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">陈封能</style></author></authors><translated-authors><author><styleface="normal"font="default"charset="134"size="100%">段磊</style></author></translated-authors></contributors><titles><title><styleface="normal"font="default"charset="134"size="100%">数据挖掘导论</style></title></titles><dates><year>2016</year></dates><pub-location><styleface="normal"font="default"charset="134"size="100%">北京</style></pub-location><publisher><styleface="normal"font="default"charset="134"size="100%">机械工业出版社</style></publisher><urls></urls><language>Chinese</language></record></Cite></EndNote>[2]其中,z被称作线性预测器,f(.)是把z转换成a的激活函数。在输入层,aj0=xj,中输出结点,aL=y^。神经网络有多种激活函数,图3-6是经常会使用到的激活函数:图3-6神经网络常用的激活函数本文使用ReLU(RectifiedLinearUnit,修正线性单元)函数作为隐藏层的激活函数。ReLU函数表示当输入大于0时,之间输出该值;当输入小于等于0时,输出0。它的公式如下:f(x)=xifx>00ifx≤0图3-7ReLu激活函数ReLu的作用是会使一部分神经元的输出为0。通过减少输出值,降低模型的复杂程度,从而让过拟合的程度降低。1.2神经网络的学习1.2.1训练数据和测试数据机器学习中,数据需要分为训练数据和测试数据。为什么要把数据分为训练数据和测试数据?机器学习的最终目标是追求模型的泛化能力。泛化能力是指模型在新数据上的学习能力。新数据指的是训练数据以外的数据。模型的泛化能力越高,表示模型在新数据上学习能力越强。1.2.2损失函数 在神经网络中的学习是指以损失函数为基准,根据这个基准寻找能使损失函数的值,尽量达到最小化的参数的过程。损失函数(lossfunction)是通过比对输出值和真实标签的差异来检验优化的结果。E(w,b)=k=1其中,yk是第k个训练实例的真实标签,y^k=aL,由xk产生。损失函数可以使用任意函数,但一般使用均方误差和交叉熵误差。本文采用均方误差(MeanSquaredError,MES)用来做损失函数,计算神经网络的输出和真实标签之间的各个元素之差,再求平均。E(w,b)=11.2.3梯度下降神经网络学习的目标是要寻找能使损失函数的值达到最小化的参数,为了达到这个目标,我们梯度下降(gradientdescentmethod)对模型进行优化。权重参数wijl和偏置项bil使用以下的公式迭代更新:wijlbil其中λ表示学习率的超参数。该等式表示将参数(w,b)在最小化损失函数的方向上更新迭代。梯度下降优化算法(gradientdescentoptimizationalgorithms)有多种,包括Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam、AdaMax、Nadam等ADDINEN.CITE<EndNote><Cite><Author>Ruder</Author><RecNum>620</RecNum><DisplayText><styleface="superscript">[34]</style></DisplayText><record><rec-number>620</rec-number><foreign-keys><keyapp="EN"db-id="fr2trwfrn555w9er5rtvwr2lwefeeerdtfpp"timestamp="1620093130">620</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>SebastianRuder</author></authors></contributors><titles><title>Anoverviewofgradientdescentoptimizationalgorithms</title></titles><volume>arXiv:1609.04747v2</volume><dates><year>2017</year><pub-dates><date>15Jun2017</date></pub-dates></dates><urls></urls><language>English</language></record></Cite></EndNote>[34]。本文采用近年来最常用的Adam(adaptivemomentestimation),该算法能计算每个参数的自适应学习率,而且计算高效,适合解决含大规模数据和参数的优化问题ADDINEN.CITEADDINEN.CITE.DATA[16,37]。1.2.4神经网络权重初始值梯度下降需要一个合适的初始点,这个初始点是由神经网络权重初始值决定的。如果我们把梯度下降比喻成下山,那么权重初始值就是下山的初始点。为了避免梯度消失或梯度爆炸,权重初始值不能过大或过小,要对权重的方差有所控制;为了防止“权重均一化”,权重初始值必须是随机数。权重初始值通常与激活函数配套使用。KaimingHe在2015ADDINEN.CITE<EndNote><Cite><Author>KaimingHe</Author><Year>2015</Year><RecNum>626</RecNum><DisplayText><styleface="superscript">[27]</style></DisplayText><record><rec-number>626</rec-number><foreign-keys><keyapp="EN"db-id="fr2trwfrn555w9er5rtvwr2lwefeeerdtfpp"timestamp="1620116494">626</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>KaimingHe,XiangyuZhang,ShaoqingRen,JianSun</author></authors></contributors><titles><title>DelvingDeepintoRectifiers:SurpassingHuman-LevelPerformanceonImageNetClassification</title><secondary-title>MicrosoftResearch</secondary-title></titles><periodical><full-title>MicrosoftResearch</full-title></periodical><volume>arXiv:1502.01852v1[cs.CV]</volume><dates><year>2015</year></dates><urls></urls><language>English</language></record></Cite></EndNote>[27]年论文中提出,在使用ReLU激活函数情况下,对比Xavier和He两种初始化在22层神经网络中的表现,结果显示He初始化梯度下降更快。He权重初始值的作用是使输入和输出的方差一致,从而让得各层的激活值呈现出具有相同广度的分布,避免了梯度消失。本文使用了ReLu激活函数,也选择He初始化作为配套。1.2.5Mini-batch学习计算损失函数时,我们要将所有的训练数据作为对象。如何理解这句话呢?我们用数据举一个例子:如果训练数据200个,那么我们就要把这200个损失函数的总和作为学习的目标。但是,当数据规模增加到几百万、几千万条,要计算全部数据的损失函数是不现实的。目前,主流的做法是从全部数据中选出一部分,用这部分选出来的数据作为全部样本数据的“近似”。我们把这种从训练数据随机选出一部分数据进行学习的方法,称为“mini-batch”学习,也就是小批量学习。Batch-size是指每次训练样本的数量。一个epoch是指完成一轮训练。在本文的模型中,batch-size设置为1024,epoch设置为5,表示每次训练数据是1024个样本,一共训练5轮。1.2.6神经网络的深度从神经网络的深度来看,在ILSVRC(ImageNetLargeScaleVisualRecognitionChallenge)比赛中,最前几名的方法多基于深度学习,并且有逐渐加深网络的层的趋势。隐藏层的数量越多,神经网络学习到的特征层次越深,这种模型称为深度神经网络(deepneuralnetwork)。如今深度神经网络已经成为人工智能的主流算法。为什么要加深呢?加深神经网络,即增加了隐藏层的数目,相应的神经元的个数、连接权、激活函数、以及阈值等参数就会随之增加,模型的复杂度也随之增加。从理论上说,参数越多的模型,它的复杂度越高,这就意味着模型的可以完成更加复杂的学习任务ADDINEN.CITE<EndNote><Cite><Author>周志华</Author><Year>2016</Year><RecNum>655</RecNum><DisplayText><styleface="superscript">[15]</style></DisplayText><record><rec-number>655</rec-number><foreign-keys><keyapp="EN"db-id="fr2trwfrn555w9er5rtvwr2lwefeeerdtfpp"timestamp="1620276655">655</key></foreign-keys><ref-typename="Book">6</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">周志华</style></author></authors></contributors><titles><title><styleface="normal"font="default"charset="134"size="100%">机器学习</style></title></titles><dates><year>2016</year></dates><pub-location><styleface="normal"font="default"charset="134"size="100%">北京</style></pub-location><publisher><styleface="normal"font="default"charset="134"size="100%">清华大学出版社</style></publisher><urls></urls><language>Chinese</language></record></Cite></EndNote>[15]。虽然加深神经网络可以提高模型的学习能力,但同时模型的高度复杂性容易导致过拟合。所以,我们先以两层神经网络作为模型,然后根据训练结果再尝试加深。1.2.7防止过拟合过拟合是指模型在训练数据上的表现比测试数据的好。神经网络防止过拟合的方法,普遍使用的是dropout,它的作用随机删除神经元。通过dropout,每次训练都会产生独特的较小的神经网络。图3-9dropout删除神经元示意图图片来源:N.Srivastava(2014):Dropout:AsiMLPewaytopreventneuralnetworksfromoverfittings.TheJournalofMachiningLearningResearch,1958ADDINEN.CITE<EndNote><Cite><Author>N.Srivastava</Author><Year>2014</Year><RecNum>618</RecNum><DisplayText><styleface="superscript">[30]</style></DisplayText><record>

温馨提示

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

评论

0/150

提交评论