版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环神经网络概述目录TOC\o"1-3"\h\u14896循环神经网络概述 1109621.1人类的记忆能力 226511.2循环神经网络的记忆能力 286741.3循环神经网络的正向与反向传播 865551.4循环神经网络的长依赖问题 9神经网络从1943年诞生至今,种类繁多,举不胜举,在研究过程中,有些被学术界所遗忘,有些重新被学术界所关注,如20世纪80年代针对RNN的研究,目前已经是深度学习经典算法之一。在20世纪90年代针对LSTM的研究,其根本目的还是在于RNN。在卷积神经网络这种表现出色的神经网络已经存在的前提下,为什么像RNN这样的神经网络还会进入学术界的视野呢?这得从序列说起。序列,应该是一个我们都比较熟悉的词汇,如高铁大屏滚动呈现的时刻表,它就是一个相互依赖的时间数据流,从局部来看,其是有限的,因为它只会展示最近一个时间范围的高铁信息,当播放完毕后,又会回到最初的时刻重新开始。这样的一种时间数据流,如果用卷积神经网络这样一种模型来构造,其表现一般都不太好,因为我们需要一些基于之前输出的偏向,而这样的偏向对于卷积神经网络来讲是不存在的,它的前后输入之间没有任何的关联,这也直接导致了它所有的输出都是独立的。我们需要的,正是循环神经网络具有的这样一种偏向。2013年,Mnih等人提出用CNN和强化学习来训练电脑玩视频游戏[31]。Mnih等人构建的系统,在游戏Breakout!上有着超越人类的表现。通过查看屏幕,我们可以推断这种游戏在任意时刻合适的策略。但是,当我们需要通过长时间跨度来探索合适的优化策略时,系统的表现让人难以满意。这更加说明了引入循环神经网络的必要性。循环神经网络(ReccurentNeuralNetwork,RNN),源自于1982年由美国加州理工学院物理学家JohnHopfield提出的Hopfield网络。由于技术水平的限制,该网络于1986年后被全连接神经网络以及一些传统的机器学习算法所取代。但是,传统的机器学习算法有一个最大的弊端,那就是对人工特征的提取依赖性很大,这可能导致特征提取的瓶颈出现,而基于全连接神经网络的方法也存在参数太多、无法利用数据中时间序列信息等问题。这些都给了RNN重获新生的机会。RNN的输入是序列数据,序列数据按照所有节点链式且有顺序的存储方式进行递归操作。RNN归根到底就是递归神经网络(RecursiveNeuralNetwork,RNN)。RNN具有短期的记忆能力,主要用于处理序列或时序数据。一般情况下,神经网络的输入层和输出层相互独立,而RNN并不是这样,其神经元和一般神经元相比,不同的地方就在于可以接收自身的信息,和从其它神经元接收到的信息一起形成具有环路的网络结构。1.1人类的记忆能力对于尚未成型的两岁小孩来说,他们的说话可以让一个成年人大致听懂,但是给这位成年人的感觉是极不自然的。在他们的日常言语中,把“我想”说成“想我”是经常出现的。为什么我们会感觉奇怪呢?用我们大脑对语言的预测功能来解释就再合适不过啦。从神经网络的角度来讲,我们的大脑中存在着各种各样的语言模型,而正是因为这些语言模型作用在我们的认知上,才导致了一定是先出现“我”,再出现“想”,我们才会觉得这是正常的,合乎逻辑的,如果先出现“想”,再出现“我”,用“想我”来表达“我想”,这和我们大脑中的语言模型是不相匹配的,所以我们才会觉得奇怪。等孩子上了幼儿园,学会了十二生肖。有一天,我们考考他,生肖马的下一个生肖是啥,他一定会毫不犹豫,脱口而出,是马。这时,我们又再考考他,生肖马的上一个生肖是啥,他一定会拿起手指头,从马-羊-猴-鸡-狗-猪,再从鼠开始走一遍,直到走到蛇-马才知道,生肖马的上一个生肖是蛇。为什么会出现这样的现象呢?原因在于,信息在我们的大脑中是链式且有顺序的存储,这对提高大脑的空间利用率是大有裨益的。设想,如果我们的大脑选择直接记住中间状态的序列,那会造成大脑空间的严重浪费,而且庞大的信息如果不按照一定的规则随意存储,会降低信息存取的效率。1.2循环神经网络的记忆能力针对上文生肖考查,传统的神经网络是无法实现的,得靠RNN的记忆能力来加以辅助。说到RNN的记忆能力,我们不得不提到前馈神经网络。前馈神经网络(FeedforwardNeuralNetwork,FNN),作为神经网络的开山鼻祖,其神经元按照一个方向传递信息,处于同一层的神经元之间没有任何消息往来。这种内部不会构成有向环的单向多层结构,是FNN的关键。FNN分为以下两类:(1)单层感知器在1957年,美国神经学家FrankRosenblatt提出和MP模型相似的概念,称为感知器,其可以模拟人类的感知能力。这通常被大家看作是最简单的人工智能网络。单层感知器是只有一个单层的神经网络,作为二元线性分类器被广泛使用。对于具体的一个神经元来讲,其输入到输出的变换如下: (2-1) (2-2)其中,至表示维输入向量的各个分量,表示xp到yq的连接权重,为节点的阈值,为激活函数(又称激励函数或传递函数),通常取阶跃函数或Sigmoid函数,表示根据不同特征的分类结果。在这里,我们把所有权重的集合视为一个向量,一般情况下,其初始值随机设置,但这样所实现的拟合往往较差。因此,我们需要通过合理的算法,不断探索更新权重矩阵。由于单层感知器的结构简单,因此其权重矩阵的更新较快。(2)多层感知器多层感知器(MultilayerPerceptron,MLP),又称深度前馈网络,是单层感知器的推广,它是一种前向结构的人工神经网络。从数据结构的角度来看,MLP是一个有向图,多个节点层的每一层都全连接到下一层,第一层为输入层,中间层称为隐藏层,最后一层称为输出层。其中,根据模型的大小和复杂程度,隐藏层可以被设计成多层,各层之间的连接一般表示特征的权重。神经网络从本质上来讲就是函数的复合,函数体现在它的每一层上,函数的复合体现在层与层之间的连接上。我们并不关心层与层之间的连接,也就是函数的复合,只在意函数的输入和我们最后能得到怎样的输出,故中间层得名隐藏层。所谓“前馈”,即数据始终是按照从输入层到隐藏层再到输出层的顺序向前反馈的,当数据到达输出层后,不会对输入层和隐藏层有任何的影响和反馈。MLP的节点都带有非线性激活函数(除输入节点),克服了单层感知器不能处理线性不可分问题的弊端。在多层感知器中,这样一种复合关系可以表示为: ,, (2-3) (2-4) ;; (2-5)这时,MLP的每一层相当于一个单层感知器。MLP在80年代是相当流行的机器学习方法,应用十分广泛。自90年代以来,受到来自SVM的强力挑战,MLP逐步被斩落马下。在深度学习的加持下,MLP又重新回到学术界的视野中。神经网络的本质就是为了拟合特征与目标之间的真实函数关系。在拟合的过程中,原始输入空间在经过矩阵的线性变换和激活函数的非线性变换之后,映射到线性可分或稀疏的空间,以此来进行分类或回归。在MLP中,存在一个棘手的问题——如何训练其中层间与层间之间的连接权值。这里,有一个经典的算法可以帮助我们。1986年,Rumelhart等人提出了多层前馈网络的反向传播算法(BackPropagation,BP)[32]。BP算法在深度学习中的重要性不言而喻,可谓是哪里有深度学习,哪里就有BP。其在模式识别的领域中作为标准的监督学习算法而存在,和梯度下降算法一道,作为深度学习的两翼。BP算法充分利用了神经网络的结构来进行计算,它是从后往前计算所有参数的梯度,按照输出层-第二个参数矩阵-中间层-第一个参数矩阵-输入层的顺序。这样,我们就可以得到两个参数矩阵的梯度。下面将给出BP算法的推导过程。设表示第层的第个神经元到第层的第个神经元的连接权值,表示第层第个神经元的输入,表示第层第个神经元的输出,表示第层第个神经元的偏置,表示残差函数(Error
Function),表示激活函数,则我们可以得到: (2-6) (2-7)下面的问题就是求:如何优化参数,能够让残差函数的值最小。此时这个问题就被转化为一个优化问题。通常我们会进行求导,但是由于参数不止一个,会导致实际的运算量过于繁杂。在这里,有一个算法可以帮到我们,那就是梯度下降。对于一个单独的训练样本,其标签为,定义其残差函数为: (2-8)从上式可以看出,残差函数由实际目标值决定。可以被视为权值和偏置的函数。进一步,我们需要不断更新神经网络的权值和偏置,以此来影响神经网络的输出。设误差为,表示第层第个神经元的误差,则我们可以得到: (2-9) (2-10)而是的函数,所以可以表示为: (2-11)式两端同时对求偏导数,我们可以得到: (2-12)故可以表示为: (2-13)至此,我们成功推导了BP算法公式。简言之,第层神经元的误差值,等于第层所有与神经元相连的神经元,其误差值的权重之和,再乘以自身的激活函数梯度。进一步,对于权值的更新,我们有: (2-14) (2-15)根据梯度下降法,我们可以得到权值的更新规则,即: (2-16) (2-17)BP算法的出现,是学术界向生物学索要答案到更多从数学上寻求问题最优解的分水岭。在BP算法出现之前,研究人员对于神经网络的研究停留在盲目模拟生物神经网络上;在BP算法出现之后,研究人员力求在数学上突破层层枷锁,这使得神经网络的研究开始走向成熟。正如科学家们从鸟类的飞行中得到灵感,发明了新时代的助推剂——飞机。从鸟类的飞行中,科学家们不但发明了客运飞机,还发明了直升机、战斗机等。每一种飞机的工作原理不尽相同,并没有完完全全模拟鸟类的飞行。BP算法虽然应用广泛,仍存在以下问题:(1)优化函数容易陷入局部最优问题。(2)“梯度消失”。图2-2图2-2早期简单循环网络在RNN中,通过其隐藏层带有的特殊自反馈连接,当前时刻的输出由当前时刻的输入以及前一时刻的输出共同决定,这就是RNN的记忆能力。给神经网络增加记忆的目的在于RNN可以执行FNN不能执行的任务。RNN的记忆功能可以表示为如下的形式: (2-18)其中,表示时间步,表示第个时间步的隐藏状态,是同一个时间步的输入函数。是权重函数,用于修正。是隐藏状态矩阵,又称转移矩阵。权重输入()和隐藏状态()的总和被函数压缩,可能是逻辑S形函数或者是双曲正切函数。RNN的记忆功能,可以从图2-3中更加清晰地看出。图2-3RNN的记忆功能在图2-3中,是一组神经网络,从循环神经网络的本质出发,可以拆分为等式右边的形式:每个神经网络模块不断接收并输出,所产生的输出作为下一个神经网络前一时刻的输出,和当前时刻的输入一起,又产生当前时刻的输出。通过这样的周而复始、循环往复,信息得以持续存在。这种链式且有顺序的结构,说明RNN与序列密切相关,似乎就是为了处理序列类型的数据而生的。1.3循环神经网络的正向与反向传播RNN的记忆功能,清晰地展示了其正向传播过程。从图2-4中,我们可以更详细地认识这样一个过程。如图2-4所示,现有3个时序、、,在RNN中的具体传播过程为:(1)通过自己的输入权重和0作为输入,生成。(2)通过自己的权重生成,然后和经过输入权重转化后一起作为输入,生成。(3)通过自己的权重生成,然后和经过输入权重转化后一起作为输入,生成。图2-4RNN的正向传播过程RNN的训练类似于传统神经网络的训练,也使用反向传播算法,但是和反向传播算法不同的是,RNN每个输出的梯度由当前和之前共同决定,这是基于RNN的参数共享特征。比如,为了计算时刻的梯度,我们需要反向传播2步,再将得到的梯度相加,这就是由Werbos在1990年提出的随时间反向传播算法(Backpropagation
Through
Time,BPTT)[33]。而梯度相加在传统的神经网络中是不存在的,因为其不存在参数共享。BPTT与我们在深度前馈网络中使用的BP算法基本相同,主要的差异就是我们是否将每时刻的梯度相加。由于二者基本类似,这里不做赘述。1.4循环神经网络的长依赖问题正如前文提到的,RNN最大的优点就是可以将之前的信息保留,并作用于当前的任务。比如,中央电视台著名法制节目一线,里面的民警在进行办案时,经常通过视频追踪技术来寻找犯罪嫌疑人的踪迹。当民警寻找到犯罪嫌疑人的视频影像时,往往会回退几帧,追踪犯罪嫌疑人来时的踪迹。通过回退的几帧,民警可以更加清晰地把握当前帧。但有的时候,情况可能会不一样。基于BPTT的RNN在学习长依赖上出现问题,原因就在于梯度消失(Grad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西省西安市重点学校高一入学英语分班考试试题及答案
- 2026年造价工程师考试《安装工程概算》易错题集培训试卷
- 2026年注册结构工程师考试《建筑结构设计》培训试卷
- 2026年医疗卫生职称考试临床医学综合知识冲刺押题
- 2026女导游面试题及答案
- 2026普华英文面试题及答案
- 2026青年楷模先进人物面试题及答案
- 2026人才猎头面试题及答案
- 2026山东幼儿面试题及答案解析
- 2026社联宣传部面试题及答案
- 甘肃医学院《精神病学》2024-2025学年期末试卷(A卷)
- DB2101∕T 0104-2024 住宅物业管理服务规范
- 2025年事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷(法律意识)
- DB34T 2421-2015 地理标志产品 李兴桔梗
- 商场维修安全培训资料课件
- 2025青岛农商银行常年招聘笔试备考试题及答案解析
- 银行家庭资产配置
- 拆除工程监理实施细则
- 【小升初真题】2025年山东省日照市东港区小升初数学试卷(含答案)
- 新22G01 砌体房屋结构构造(烧结普通砖、烧结多孔砖)
- 2025年甘肃省兰州市市属学校选调高中教师110人考试参考试题及答案解析
评论
0/150
提交评论