版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神经网络(NeuralNetwork)神经网络基础神经网络组成神经网络是当前人工智能及机器学习中一个非常引人入圣的研究方向,因为它相比其它理论模型在最大程度上做到了与人的神经网络系统的相似。神经网络最早是在研究生物系统对信息处理进行处理的数学表示方法时被提出来的(McCullochandPitts,1943;WidrowandHoff,1960;Rosenblatt,1962),后来便被广泛的应用到各种学习模型中并得到了非常显著的效果。图STYLEREF1\s0SEQ图\*ARABIC\s11神经元神经络网的基本处理单元被称为神经元,正如人的神经细胞一样。REF_Ref396386415\h图01所示神经元会有多个输入,即x1,x2等等,每个输入上都会对应一个权重来表示该输入占的比重。神经元的输出称为激活函数(activationfunction),可以理解为当给出一个特定的输入的时候,神经元所能做出的响应程度。这个函数通常使用的函数有两个: 其中的,以及都为N维向量,N为输入的个数。为偏置量,这个可以通过直线的方程构成来简单的理解,比如有两点分别为(0,1)和(2,2),要构造过这两点的方程不可能是过原点的,而会有一定的偏移。图STYLEREF1\s0SEQ图\*ARABIC\s12神经网络把神经网络分为了输入层,隐藏层,输出层。REF_Ref396386445\h图02给出了一个简单的神经网络模型,x1,x2等等为输入单元,输入单元可以看成特殊神经元,其只对应一个输入量且权值为1。从输入层开始,对各层从1到L依次编号,在图中表示第层的第个神经元的激活函数(activationfunction)输出。需要注意的是输出层可能会不止一个神经元,比如多类情况下的分类系统,每个神经元对应一种分类。前向传播前向传播与反向传播构成了实质上的神经网络系统。举个不恰当的例子,如果学过模拟电路课程就应该知道反馈放大电路。输入一个信号,经过这部分电路后出来一个放大了的信号,这个过程可以称之为信号的前向传播。而所谓反馈,就是将输出反馈回来与我所设定的那么量进行比较再来调整放大电路。而反向传播也就类似于这个反馈。前向传播在理解和计算上都比较简单,给定网络输入及各层的权值,便可以计算出最终的网络输出。L[t]到L[t+1]层对应的权值为矩阵,上标以其定义为: 是一个N*M的矩阵(注意M和N的顺序),表示第t层有M个神经元,第t+1层有N个神经元。下面给出各层网络的计算式:(1)第一层输入层,此时t=1有。(2)隐藏层,此时,有: GOTOBUTTONZEqnNum598281REFZEqnNum598281\*Charformat\!(0.5)式使用的激活函数由GOTOBUTTONZEqnNum359846REFZEqnNum359846\*Charformat\!(0.1)式定义,也可以使用GOTOBUTTONZEqnNum390126REFZEqnNum390126\*Charformat\!(0.2)式定义的函数,这两个函数。另GOTOBUTTONZEqnNum376832REFZEqnNum376832\*Charformat\!(0.4)式中表示矩阵的第j行。 为了不至于混淆,上标为t是应该知道表示的是第t层;上标为m时,表示的是第m条数据。反向传播训练数据为,共M条。为N维向量,表示一条数据有N个变量。为K维向量,表示有K个输出。,可以看出为什么使用sigmoid激活函数,因为sigmoid函数的值域刚好吻合。如果,那么最好使用tanh函数。将每输入一条数据进行训练得到一个输出,那么得到误差量: 注意公式中的上标,表示是在输入第m条数据下输出层的第k个输出量。在之后的公式中将只在E上用下标m表示是第m条数据,而其它处为了简洁去掉上标m。所有数据训练完了之后,就得到总的误差: GOTOBUTTONZEqnNum386739REFZEqnNum386739\*Charformat\!(0.7)式可以看出E是W的函数,反向传播用来调节的量便是。在以梯度下降的一系列的算法中,对关于求导是整个反向传播的核心。现在首先对输出层进行操作,即对关于求导。对求导得到: GOTOBUTTONZEqnNum568312REFZEqnNum568312\*Charformat\!(0.9)式右边只是单独对求导,是因为的下标是ji,表示是只连接到第j个神经元,与其它神经元是无关的,自然导数是零。可以将GOTOBUTTONZEqnNum568312REFZEqnNum568312\*Charformat\!(0.9)式分为两部分,对于输出层,式GOTOBUTTONZEqnNum568312REFZEqnNum568312\*Charformat\!(0.9)右边第一部分定义为第j个神经元的误差项(erroritem),结合GOTOBUTTONZEqnNum937580REFZEqnNum937580\*Charformat\!(0.6)式有: 结合GOTOBUTTONZEqnNum376832REFZEqnNum376832\*Charformat\!(0.4)GOTOBUTTONZEqnNum598281REFZEqnNum598281\*Charformat\!(0.5)式的第二部分可以容易的写出: 对偏置量的求导与对的求导类似: 上面的描述了对进行求导的步骤,或者说是对中单个元素的求导。现在对隐藏层的权值矩阵进行求导操作,权值矩阵上标t从1到L-2,其对应的是第t+1层隐藏层。与GOTOBUTTONZEqnNum568312REFZEqnNum568312\*Charformat\!(0.9)式类似有: 式GOTOBUTTONZEqnNum868005REFZEqnNum868005\*Charformat\!(0.13)中第二部分同GOTOBUTTONZEqnNum236386REFZEqnNum236386\*Charformat\!(0.10)类似有: 而第一部分却有一些区别,因为是的直接函数,而不是对或等的直接函数。想像一下,每个隐藏层的作为了其后一层每一个的参量,因此要用到间接求导法则来求: 式中H为第K+2层神经元的个数。同样结合GOTOBUTTONZEqnNum376832REFZEqnNum376832\*Charformat\!(0.4)GOTOBUTTONZEqnNum598281REFZEqnNum598281\*Charformat\!(0.5)式有: 将从累加中提出来,所以GOTOBUTTONZEqnNum138722REFZEqnNum138722\*Charformat\!(0.15)式可以写成: 最终的对求导可以写成: 另外有: 通过前面的论述,知道通过量的反向传播能够计算得到对各层及的导数。而中有一项是。这里给出sigmoid和tanh函数的导数: 至止,所有的关于反向传播需要的内容都已经得到,为了得到使总误差最小时的及(统称为参数),通常采用的是梯度下降算法(或BFGS方法)。那么,可以迭代地调用: 其中参数称为步长,它体现了学习的速率,不过它的值不益过大,因为可能会造成震荡而不易收敛。如果值适当,则经过一步一步迭代计算便可以将误差减到最小值。这个值可能是局部最小值或是全局最小值,这取决于总误差函数是convex还是multimodal。高级优化与梯度检查为了防止神经网络出现类似与线性回归中遇到的过拟合现象,可以像GOTOBUTTONZEqnNum683123REFZEqnNum683123\*Charformat\!(0.23)式一样在总误差函数上增加一个正则化项(Regularizationterm)。通过它来对权值进行惩罚,避免出现过大的权值使得网络过拟合。 GOTOBUTTONZEqnNum683123REFZEqnNum683123\*Charformat\!(0.23)式中的第二项包括了所有各层的权值。但是这种简单的权值正则化项存在一个问题,其对网络的线性性质不具有连续性。这里暂且不讲,参见PRML的5.5节。现在讨论一下梯度检查问题,因为反向传播算法是非常难调试的,代码编写的一丁点错误(比如标号错误)可能就像得到看上去很像但是并非正确的结果。因此引入梯度的数值计算来对梯度的解析计算进行验证。 对GOTOBUTTONZEqnNum136508REFZEqnNum136508\*Charformat\!(0.24)右边第二项进行泰勒公式展开: 去掉项对求解的影响非常小,因为它是的高阶无穷小项,而值本来就是选持的一个非常小的量。这样一来就可以使用来计算出梯度的数值解。 通过解析解与数值解的对比,便可以检查编写的求梯度代码的正确性。稀疏自编码自编码是一种无监督学习方法,说白了就是通过学习使得给定输入,那么输出尽最大可能的模仿这个输入。如REF_Ref396502412\h图03所示。图STYLEREF1\s0SEQ图\*ARABIC\s13自编码神经网络 当有一组没有标签的数据时,每输入一个数据,那么网络的输出。实际上相当于给这组数据设定了标签,得到有标签的数据集,只不过标签就是输入数据本身而已。自编码看上去似乎没有什么意义,但是通过给自编码网络的隐藏层增加稀疏性的限制便可以非常好的提取输入的特征。 理想的情况下,当给定带有某一类特征的输入数据时(比如同样是斜边的图像切片),应该只有那么一个神经元激活度相对较高,也说是这个神经元能够很好的抓住这类数据中的特征。同时,其它神经元此时是不活跃的,即处于睡眠状态。当数据量很大时,每个神经元就可以假定在大部分时间都是睡眠状态的。我们给网络加上这个假定的限制来进行训练,便可以获得权值来使得隐藏层神经元能够近似地提取数据的各特征。 令表示隐藏层第j个神经元的激活度,那么定义这个神经元在所有数据下的平均激活度为: 在这个平均激活度上加一个限制,令等于一个非常小的值(比如0.05)。为了实现这个限制,在误差函数中加入一个惩罚因子,惩罚那些与有差别的神经元使其平均激活度保持得很小。因为,那么我们将其理解为在给定训练数据集下第j个神经元产生响应的概率密度函数,所以就可以从信息论中引入相对熵(参见PRML的1.6.1小节)来度量与之间的差。相对熵定义为: 那么总的误差项为: 对E关于和求导有: 前面已经给出了GOTOBUTTONZEqnNum375945REFZEqnNum375945\*Charformat\!(0.30)式右边第一部分关于和的求导方法。现在来对GOTOBUTTONZEqnNum375945REFZEqnNum375945\*Charformat\!(0.30)式右边第二部分进行求导,右边第二部分关于的求导会是零,因为其不含有,现在对关于求导有: 式中特别写出上标m表示是针对第m个输入数据时的求导。结合GOTOBUTTONZEqnNum569895REFZEqnNum569895\*Charformat\!(0.31)式,同时去掉公式前面的累加,即得到只针对第m个数据的新公式: 同时对的求导为: 比较GOTOBUTTONZEqnNum868005REFZEqnNum868005\*Charformat\!(0.13)式和GOTOBUTTONZEqnNum869763
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版矿区作业承包合同版
- 2024芒果园果树病虫害防治产品供应与技术服务合同3篇
- 2024煤炭供需长期合作协议
- 2025年度智能物流设备代理商合作协议(全新发布)4篇
- 2024-2030年中国城市地下综合管廊建设市场现状研究分析与发展趋势预测报告
- 单晶氮化铝项目商业计划书
- 2025年度个人二手房买卖合同房屋租赁权转让与限制4篇
- 2025年度个人留置车辆借款合同(二手车市场交易版)3篇
- 2025年环保项目合作协议范本(含碳排放权交易)3篇
- 2025年度个人教育培训机构连带担保协议4篇
- 电商运营管理制度
- 二零二五年度一手房购房协议书(共有产权房购房协议)3篇
- 2025年上半年上半年重庆三峡融资担保集团股份限公司招聘6人易考易错模拟试题(共500题)试卷后附参考答案
- 城市公共交通运营协议
- 内燃副司机晋升司机理论知识考试题及答案
- 2024北京东城初二(上)期末语文试卷及答案
- 2024设计院与职工劳动合同书样本
- 2024年贵州公务员考试申论试题(B卷)
- 电工高级工练习题库(附参考答案)
- 村里干零工协议书
- 2024年高考八省联考地理适应性试卷附答案解析
评论
0/150
提交评论