版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神经网络的基本理论综述目录TOC\o"1-3"\h\u1860神经网络的基本理论综述 190071.1神经网络基本原理 1152231.2神经网络的反向传播 41.1神经网络基本原理为了清晰地展示神经网络的结构,这里给出一个完整的神经网络结构图示:图2-1完整的神经网络结构可以看出,一个神经网络结构共分为3层,而每一层之中,又有着不同的结构,隐藏层中又一个激活层ReLU,而输出层中则含有Softmax等结构,他们都有着各自的作用,直接观察这个结构可能有一些复杂,为了方便说明每一部分的功能,我们先去掉图中的一部分元素来观察它:图2-2部分神经网络结构神经网络结构的第一层是输入层,输入层的中每一项元素的维度大小与输入信号的特征维度会保持一致。假设我们的输入信号是一张像素为64x64的灰度图像,那么输入层中每一个元素的维度就是64x64。在本例中,为了计算简单,我们取输入层元素维度为1x2。W1和b1是连接输入层和隐藏层的中间部分,信号从X传递到H的过程其实就是进行一次如下的矩阵运算:H=X*W1+b1(2-1)假设隐藏层的维度为50,可知矩阵H就是一个维度为(1x50)的矩阵。同理,信号从隐藏层传递到输出层也进行一次这样的矩阵运算:Y=H*W2+b2(2-2)按照图2-2的神经网络结构来分析,我们可以知道,一个我们任意给出的输入信号,在经过了式(2-1)及(2-2)的运算后,经过输出层就算得了结果Y,但这里有一个很明显的问题,上述两个或多个这样的线性矩阵运算,其实都可以化成一次矩阵运算来表示,这样就会导致,无论有多少个中间层,进行了多少次矩阵运算,最终都化成了一个计算式,相当于还是只有一个中间层,这显然就使得多个中间层失去了意义,为了解决这个问题,我们需要在其中加入一个激活层。激活层的作用就是给矩阵运算的结果添加非线性。比如ReLU函数:当输入小于0时,输出0;当输入大于0时,输出等于输入。我们必须在每个隐藏层之后都加上一个这样的激活层,我们的信号在经过激活层的计算后,就从线性的变成了非线性的。经过这样的计算后,很显然,我们的中间层计算式就不会被化简成一个计算式,这也就保证了,我们无论再加多少层中间层,都不会被化简成一个中间层,每个中间层都是有意义的,由此可见激活层对于神经网络的重要性。在激活层被加入神经网络结构后,中间层的内容得到了丰富,此时我们的神经网络结构图示变成如下形式:图2-3上图的结构看似是比较完整的,已经利用激活函数解决了多层中间层会失去意义的问题,但对于要用于训练的网路,上述结构还有所欠缺,还需要对输出Y进行进一步的处理。如上图所示,输出Y值可能是形如(2,4,0.8,0.6)的矩阵,虽然我们可以找到它的最大值4,但这样还不够直观,我们希望输出结果是一个类似于(80%,5%,3%,12%)这种以概率为输出的矩阵,这样表示的好处在于,通过这个结果,我们不仅可以明确最大概率的分类,还可以清晰地看出各个分类的概率值。想要让输出结果变成这样的表达形式,我们需要以下3步:以e为底对所有元素求指数幂将所有指数幂求和分别将这些指数幂与该和做商如此即可满足上述要求,将这3步以公式表示:(2-3)这一步的主要目的就是把输出的结果变换成一个更适合分析结果性质的形式,我们把新添加的这个利用式(2-3)对输出结果进行处理的层称为“Softmax”层,这样神经网络又丰富成了以下形式:图2-4在经过Softmax层的计算后,我们可以从输出结果中很直观地看到输出层中Ⅰ、Ⅱ、Ⅲ、Ⅳ这四个类别的概率,但这只是神经网络经过计算得到的概率值情况,并不是真实的情况,尽管Softmax输出的结果可以很逼近真实结果,但和真实结果还是会存在一定差距,一个优秀的网络进行预测的理想结果应该是无限接近100%,为了衡量这个接近的程度,我们在此引入交叉熵损失这个概念。这个解决方法很简单,我们只需要取对数的负数即可,比如Softmax输出结果的概率为80%,那么取其负对数就是-log0.8=0.097,这个概率越接近100%时,应用对其取负对数的计算结果就越趋近于0,这说明预测结果越准确,我们把这个输入叫做交叉熵损失。归根结底,我们对神经网路进行训练,就是想尽量减少交叉熵损失。经过上述一步步地完善,最终我们就得到了图2-1所示的神经网络的完整形式。上述过程是神经网络的正向传播过程,在结束了正向传播后,下一个步骤就是进行反向传播。我们可以把反向传播看成是一个对参数进行优化的过程,我们希望优化神经网络中所有的W和b,而恰好神经网络的可以自动完成这个优化的过程。进行参数优化的方法就是梯度下降法,最终目的是使交叉熵损失达到最小。神经网络不是运行一次就能得到最终结果,他需要不断重复,不断调整,最终得到我们所期望的输出。如上图中2-1所举的例子,我们首先进行正向传播得出了一个输出结果,接着我们把这个输出结果进行反向传播,对参数W1、b1、W2、b2进行微调,再进行一次正向传播运算,此时交叉熵损失会有所下降,我们再重复上述过程,对第二次运算所得的结果再反向传播,最终使损失值降低至到我们的预期数值,这时我们就得到了想要的W1、b1、W2、b2。这时我们给出一个输出,就能得到我们所希望得到的输出值。1.2神经网络的反向传播在1.1这一节中,我们对一个简单的神经网络结构进行了分析,我们先给出一个输入,经过正向传播后得到一个输出,把这个输出进行反向传播,调整W1、b1、W2、b2等参数,减小交叉熵损失,不断重复这个过程直至输出结果达到我们的预期数值。不难看出,在上述的整个过程中,反向传播扮演了一个极为重要的角色。在讨论反向传播之前,首先我们要了解什么是链式法则。链式法则的一种定义是:如果某个函数是由复合函数表示的,那么这个复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。神经网络的反向传播正是应用了链式法则,因此我们只需要关注每个节点的导数值即可。反向传播算法有很多种,对于常用的经典算法,主要包括以下几种:加法节点图2-5加法节点这是一个加法节点,该节点可以表示为c=a+b,通过上式我们不难得知,c对a和b求导,结果均等于1,由此我们可以推出,一个加法节点在进行反向传播时,输入的值会保持不变,传递到下一个节点,正如下图所示:图2-6加法节点的反向传播示例(2)乘法节点图2-7乘法节点这是一个乘法节点,该节点可以表示为c=a*b,与加法节点的分析方法相同,我们不难得出,c对a求导等于b,c对b求导等于a,也就是说c对一个量求导,其导数恰好的另一个数,所以对于一个乘法节点来说,在反向传递过程中,输入的值会交叉相乘,而后传递至下一个节点。其传播过程如下图所示:图2-8乘法节点的反向传播示例(3)仿射变换仿射变换的公式如下:H=X*W1+b1(2-4)用图像来表示就是:图2-9仿射变换图解上图正是神经网络结构中的一个重要组成成分,虽然看起来比前两种方法更复杂,但分析方法还是不变的。容易求出,对x求导等于W1,对W1求导等于x,可以看出这种对一个数求导,结果是另一个数的规律,恰与乘法节点的求导结果相同;对b1求导等于1,也就是该数值在传递时不会发生变化。以上所讨论的计算方式及结果,均为向量之间的运算。(4)ReLU层上文提到的激活层ReLU层,它的形式如下:图2-10ReLU函数从ReLU的函数形式我们可以得出,当x>0时,函数表达形式为y=x,此时导数等于1,也就是说进行传递时数值不发生变化;当x0时,函数表达形式为y=0,这时的导数等于0,显然此时传递值就是0。下一步操作就是进行参数更新。简单来说,dW等于输入值乘以x,db等于输入值,这里的dW和db表示反向传播到W和b节点时的计算结果。下面就要解决如何更新W和b这个问题,我们要想办法需要对其进行一些完善。第一点,最后求出的W可能会出现过于集中的情况,为了解决这个问题,我们可以加入一个正则化惩罚项。比如[0.5,0.25,0.25]和[0.9,0.05,0.05],这两个结果相比较,第一个结果的分布更加分散一些,这也是我们所希望得到的结果。现在我们想表示出所得出结果的分散程度,比如来表示,这时求导的结果等于W,我们可以设正则化惩罚项的系数值为reg,此时经过修正后,dW就可以写成如下形式:dW=dW+reg*W(2-5)第二点,如果我们直接进行反向传播,传递回来的量值有可能过大,这将会导致神经网络在寻找最优解的过程中,直接将最优解给越过去,这是我们所不希望看到的。为了解决这个问题,我们可以引入学习率,这个学习率的值必须很小,比如0.0001,我们将学习率用epsilon表示,在引入了学习率后,我们可以把W和b表示为以下形式:W=W-epsilon*dW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026道德与法治三年级活动园 关爱集体
- 2025年辽宁省铁岭市幼儿园教师招聘笔试试题及答案解析
- 2025年山东省聊城市幼儿园教师招聘考试试题及答案解析
- 2026年张家口市桥西区幼儿园教师招聘笔试参考题库及答案解析
- 2026年防踩踏知识科普
- 2026年贵港市港南区街道办人员招聘考试参考试题及答案解析
- 2025年江苏省镇江市街道办人员招聘考试试题及答案解析
- 2025年山西省大同市幼儿园教师招聘考试试题及答案解析
- 2026九年级上《酬乐天扬州初逢席上见赠》教学课件
- 2026二年级下《克和千克》知识点梳理
- 物流运输风险识别与控制
- 关于杭州市“社交主题酒吧”运营模式与典型案例的调研分析
- 阿里巴巴集团内部审计制度
- 纺粘针刺非织造布制作工操作知识考核试卷含答案
- 2025年国防军事动员教育知识竞赛题库及答案(共50题)
- 泛光照明施工安全措施方案
- KPS评分表模板及使用指南
- 2025年专利代理师资格真题及答案解析
- 2025年1月浙江省高考技术试卷真题(含答案)
- 两办关于进一步加强矿山安全生产意见
- 2025年湖南邵阳市中考物理考试真题及答案
评论
0/150
提交评论