《循环神经网络》PPT课件.pptx
- 文档编号:30839754
- 上传时间:2024-01-30
- 格式:PPTX
- 页数:54
- 大小:2.31MB
《循环神经网络》PPT课件.pptx
《《循环神经网络》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《循环神经网络》PPT课件.pptx(54页珍藏版)》请在冰豆网上搜索。
,of,31,1,序言,下载提示:
该课件是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
课件下载后可定制修改,请根据实际需要进行调整和使用,谢谢!
Downloadreminder:
Thiscoursewareiscarefullycompiledbythisshop.Ihopethatafteryoudownloadit,itcanhelpyousolvepracticalproblems.Thecoursewarecanbecustomizedandmodifiedafterdownloading,pleaseadjustanduseitaccordingtoactualneeds,thankyou!
8.1循环神经网络的工作原理,第八章循环神经网络,of,31,3,循环神经网络(RecurrentNeuralNetwork,RNN)是一种对序列数据建模的神经网络,即一个序列当前的输出与前面的输出也有关。
具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不在无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
RNN模型的连接如图所示。
1循环神经网络的模型结构,y,V,h,U,x,W,Unfold,yt-1,V,U,xt-1,ht-1,W,yt,xt,ht,V,U,W,W,yt+1,xt+1,ht+1,V,U,W,RNN模型结构图,8.1循环神经网络的工作原理,第八章循环神经网络,of,31,4,循环神经网络的工程原理或是工作过程其实就是循环神经网络的训练算法,一种基于时间的反向传播算法BPTT(BachPropagationThroughTime)。
BPTT算法是针对循环层设计的训练算法,它的基本原理和反向传播BP(BackPropagation)算法是一样的,也包含同样的三个步骤。
2循环神经网络的基本工作原理,8.1循环神经网络的工作原理,第八章循环神经网络,of,31,5,最后再用随机梯度下降算法更新权重。
假设时刻为时,输入为,隐层状态(隐层神经元活性值)为,不仅和当前时刻的输入相关,也和上一个时刻的隐层状态1相关。
2循环神经网络的基本工作原理,其中为隐藏层的净输入;是非线性激活函数,通常为logistic函数或tanh函数;为状态-状态权重矩阵;为状态-输入权重矩阵;为偏置。
式(8-1)和式(8-2)也经常直接写为:
(8-1),(8-2),(8-3),8.1循环神经网络的工作原理,第八章循环神经网络,of,31,6,循环神经网络要求每一个时刻都有一个输入,但是不一定每一个时刻都需要有输出。
其次循环神经网络可以往前看获得任意多个输入值,其递归推导方法如式(8-4)所示,即RNN的输出层和隐藏层的计算方法:
2循环神经网络的基本工作原理,如果反复把式(8-5)带入到式(8-4),将得到递归如下,推导可以看出,RNN的输出层和输入系列的前个时刻都有关。
(8-4),(8-5),8.1循环神经网络的工作原理,第八章循环神经网络,of,31,7,循环神经网络中循环的意思就是同一网络结构不停的重复。
相比普通的神经网络,循环神经网络的不同之处在于,隐层的神经元之间还有相互的连接,在隐层上增加了一个反馈连接,也就是说,RNN隐层当前时刻的输入有一部分是前一时刻隐层的输出,这使得RNN可以通过循环反馈连接保留前面所有时刻的信息,这赋予了RNN的记忆功能。
这些特点使得RNN非常适合用于对时序信号的建模。
3循环神经网络的前向计算,整理一下可以写为:
(8-6),(8-7),(8-8),8.1循环神经网络的工作原理,第八章循环神经网络,of,31,8,循环神经网络正向计算如图所示。
3循环神经网络的前向计算,yt-1,xt-1,ht-1,yt,xt,ht,zt,f,V=why,g,U=wh,h-1,W=wxh,t-1,t,前向计算示意图,8.1循环神经网络的工作原理,第八章循环神经网络,of,31,9,3循环神经网络的前向计算,给定计算t时刻的输入求网络的输出。
输入与权相乘(加上偏差)与前一时刻的隐层输出与权重1,1的和为,即=,11+,且为N1隐含层潜向量,是N权重矩阵连接K个输入单元到N个隐含层单元;经过激活函数之后即为隐藏层的输出,=,是L1输出层潜向量,经过激活函数以后即得到输出,是隐含层激活函数,是输出层激活函数。
典型的隐含层激活函数有sigmoid,tanh与rectifiedlinearunits,(以去掉黄色阴影)典型的输出层所用的激活函数有linear和SoftMax函数。
激活函数的主要作用是提供网络的非线性建模能力。
如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。
因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。
当然激活函数应具有的基本特性有:
(1)可微性:
当优化方法是基于梯度的时候,这个性质是必须的。
(2)单调性:
当激活函数是单调的时候,单层网络能够保证是凸函数。
(3)输出值的范围:
当激活函数输出值是有限的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出是无限的时候,模型的训练会更加高效,不过在这种情况下,一般需要更小的学习率。
8.1循环神经网络的工作原理,第八章循环神经网络,of,31,10,BPTT算法将循环神经网络看作是一个展开的多层前馈网络,其中“每一层”对应循环网络中的“每个时刻”。
这样,循环神经网络就可以按照前馈网络中的反向传播算法进行参数梯度计算。
在“展开”的前馈网络中,所有层的参数是共享的,因此参数的真实梯度是所有“展开层”的参数梯度之和,其误差反向传播示意图如图所示。
4循环神经网络的梯度计算,Lt-2,ht-2,xt-2,Lt-1,ht-1,xt-1,Lt,ht,xt,t,t,t,t-1,t-1,t-1,t,t-2,t-1,t-2,t-2,t-2,误差反向传播示意图,8.1循环神经网络的工作原理,第八章循环神经网络,of,31,11,给定一个训练样本,,其中=1,2,为长度是T的输入序列,y=1,2,是长度为T的标签序列。
即在每个时刻t,都有一个监督信息,定义时刻t的损失函数为,4循环神经网络的梯度计算,整个序列的损失函数关于隐层间参数U的梯度为,(8-9),(8-10),(8-11),式(8-9)中,为第t时刻的输出;L为可微分的损失函数,比如交叉熵。
那么整个序列上损失函数为,即每个时刻损失对参数U的偏导数之和。
8.1循环神经网络的工作原理,第八章循环神经网络,of,31,12,计算偏导数先来计算公式(8-11)中第时刻损失对参数的偏导数。
因为参数和隐藏层在每个时刻1的净输入=1+有关,因此第时刻损失的损失函数关于参数的梯度为:
4循环神经网络的梯度计算,式(8-12)中,+表示“直接”偏导数,即公式=1+中保持1不变,对进行求偏导数,得到,(8-12),(8-13),8.1循环神经网络的工作原理,第八章循环神经网络,of,31,13,式(8-13)中,1为第1时刻隐层状态的第维;除了第行值为外,其余都为0的向量。
定义,=为第时刻的损失对第时刻隐藏神经层的净输入的导数,则,4循环神经网络的梯度计算,将式(8-14)和(8-13)代入公式(8-12)得到,(8-14),(8-15),将式(8-15)写成矩阵形式为,(8-16),8.1循环神经网络的工作原理,第八章循环神经网络,of,31,14,将式(8-16)代入到将式(8-11)得到整个序列的损失函数L关于参数U的梯度:
4循环神经网络的梯度计算,同理可得,L关于权重W、偏置b以及参数V的梯度为:
(8-17),(8-18),在BPTT算法中,参数的梯度需要在一个完整的“前向”计算和“反向”计算后才能得到并进行参数更新。
(8-19),(8-20),of,31,15,8.2改进的循环神经网络,第八章循环神经网络,of,31,16,循环神经网络在学习过程中的主要问题是长期依赖问题。
在BPTT算法中,将公式(8-14)展开得到,1梯度爆炸与梯度消失,如果定义,则,(8-21),(8-22),若1,当时,会造成系统不稳定,此时称为梯度爆炸问题(GradientExplodingProblem);相反,若1,当时,0,会出现和深度前馈神经网络类似的梯度消失问题(GradientVanishingProblem)。
值得注意的是,在循环神经网络中的梯度消失不是说的梯度消失了,而是的梯度消失了(当比较大时)。
也就是说,参数的更新主要靠当前时刻的几个相邻状态来更新,长距离的状态对没有影响。
8.2改进的循环神经网络,第八章循环神经网络,of,31,17,为了避免梯度爆炸或消失问题,一种最直接的方式就是选取合适的参数,同时使用非饱和的激活函数,尽量使得这种方式需要足够的人工调参经验,限制了模型的广泛应用。
采用比较有效的方式改进模型或优化方法来缓解循环神经网络的梯度爆炸和梯度消失问题。
1梯度爆炸与梯度消失,梯度爆炸,一般而言,循环网络的梯度爆炸问题比较容易解决,主要通过权重衰减或梯度截断来避免。
梯度消失,梯度消失是循环神经网络的主要问题。
除了使用一些优化技巧外,更有效的方式就是改变模型。
()1,8.2改进的循环神经网络,第八章循环神经网络,of,31,18,2长短时记忆神经网络,LongShort-TermMemoryNeuralNetwork一般就叫做LSTM,是一种RNN特殊的类型,可以学习长期依赖信息。
LSTM由Hochreiter&Schmidhuber(1997)提出,并在近期被AlexGraves进行了改良和推广。
在很多问题,LSTM都取得相当巨大的成功,并得到了广泛的使用。
LSTM通过刻意的设计来避免长期依赖问题。
记住长期的信息在实践中是LSTM的默认行为,而非需要付出很大代价才能获得的能力,所有RNN都具有一种重复神经网络模块的链式的形式。
LSTM能避免RNN的梯度消失问题,其使用“累加”的形式计算状态,这种累加形式导致导数也是累加形式,因此避免了梯度消失。
8.2改进的循环神经网络,第八章循环神经网络,of,31,19,2长短时记忆神经网络,所有循环神经网络都有一个重复结构的模型形式,在标准的RNN中,重复的结构是一个简单的循环体,如图所示的A循环体。
(1)LSTM的结构,tanh,ht,xt,A,ht-1,xt-1,A,ht-1,xt-1,循环神经网络重复结构图,8.2改进的循环神经网络,第八章循环神经网络,of,31,20,2长短时记忆神经网络,LSTM的循环体是一个拥有四个相互关联的全连接前馈神经网络的复制结构,如图所示。
(1)LSTM的结构,tanh,+,tanh,ht,xt,tanh,+,tanh,ht-1,xt-1,tanh,+,tanh,ht+1,xt+1,A,A,LSTM结构图,8.2改进的循环神经网络,第八章循环神经网络,of,31,21,2长短时记忆神经网络,LSTM结构图中具体的符号语义如图所示。
其中英文对应的意思是:
NeuralNetworkLayer:
该图表示一个神经网络层;PointwiseOperation:
该图表示一种操作;VectorTransfer:
每一条线表示一个向量,从一个节点输出到另一个节点;Concatenate:
该图表示两个向量的合并,即由两个向量合并为一个向量;Copy:
该图表示一个向量复制了两个向量,其中两个向量值相同。
(1)LSTM的结构,NeuralNetworkLayer,PointwiseOperation,VectorTransfer,Concatenate,Copy,LSTM符号语义图,8.2改进的循环神经网络,第八章循环神经网络,of,31,22,2长短时记忆神经网络,1)核心设计LSTM设计的关键是神经元的状态,即为图所示顶部的水平线。
神经元的状态类似传送带一样,按照传送方向从左端被传送到右端,在传送过程中基本不会改变,只是进行一些简单的线性运算:
加或减操作。
神经元间通过线性操作能够小心地管理神经元的状态信息,将这种管理方式称为门操作(gate)。
门操作能够随意地控制神经元状态信息的流动,如图所示,它由一个sigmoid激活函数的神经网络层和一个点乘运算组成。
LSTM有三个门来管理和控制神经元的状态信息。
(2)LSTM结构分析,tanh,+,tanh,Ct-1,Ct,ht,ht,xt,ft,it,ot,LSTM的C线,LSTM的基本控制门,8.2改进的循环神经网络,第八章循环神经网络,23,2长短时记忆神经网络,2)遗忘门LSTM的第一步是决定要从上一个时刻的状态中丢弃什么信息,其是由一个sigmoid全连接的前馈神经网络的输出来管理,将这种操作称为遗忘门(forgetgatelayer),如图8-9所示。
这个全连接的前馈神经网络的输入是1和组成的向量,输出是向量。
向量是由1和0组成,1表示能够通过,0表示不能通过。
其函数式为:
(2)LSTM结构分析,tanh,+,tanh,Ct-1,Ct,ht,ht-1,xt,ft,it,ot,LSTM的遗忘门图,(8-25),8.2改进的循环神经网络,第八章循环神经网络,of,31,24,2长短时记忆神经网络,3)输入门第二步决定哪些输入信息要保存到神经元的状态中。
这由两队前馈神经网络决定,如图8-10所示。
首先是一个有sigmoid层的全连接前馈神经网络,称为输入门(inputgatelayer),其决定了哪些值将被更新;然后是一个tanh层的全连接前馈神经网络,其输出是一个向量,向量可以被添加到当前时刻的神经元状态中;最后根据两个神经网络的结果创建一个新的神经元状态。
其函数关系为:
(2)LSTM结构分析,Ct,tanh,+,tanh,Ct-1,Ct,ht,ht-1,xt,ft,it,ot,LSTM的输入门,(8-26),(8-27),8.2改进的循环神经网络,第八章循环神经网络,of,31,25,2长短时记忆神经网络,4)状态控制第三步就可以更新上一时刻的状态1为当前时刻的状态了。
上述的第一步的遗忘门计算了一个控制向量,此时可通过这个向量过滤了一部分1信息,如图8-11所示的乘法操作;上述第二步的输入门根据输入向量计算了新状态,此时可以通过这个新状态和1状态构建一个新的状态,如图8-11所示的加法操作。
其函数关系为:
(2)LSTM结构分析,tanh,+,tanh,Ct-1,Ct,ht,ht,xt,ft,it,ot,LSTM状态控制图,(8-28),8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,5)输出门最后一步就是决定神经元的输出向量是什么,此时的输出是根据上述第三步的状态进行计算的,即根据一个sigmoid层的全连接前馈神经网络过滤掉一部分状态作为当前时刻神经元的输出,如图8-12所示。
其函数关系为:
(2)LSTM结构分析,tanh,+,tanh,Ct-1,Ct,ht,ht-1,xt,ft,it,ot,ht,LSTM的输出门,(8-29),(8-30),8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,上述介绍的LSTM结构是一个正常的网络结构,然而并不是所有的LSTM网络都是这种结构,实际上,LSTM有很多种变体,即为多种变化形态。
如下介绍几种常用形态结构:
1)PeepholeConnections一种流行的LSTM变体是由Gers&Schmidhuber(2000)提出的网络结构,如图所示。
(3)LSTM的延伸网络,LSTM的peepholes连接图,tanh,+,tanh,Ct-1,ht-1,xt,ht,Ct,ht,8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,1)PeepholeConnections通过将上一时刻的状态Ct-1合并到各个门上,从而更详细控制各个门的管理。
其具体的各层函数关系式为:
(3)LSTM的延伸网络,(8-31),(8-32),(8-33),8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,2)CoupledForgetandInputGates另一种变体是使用耦合的遗忘门和输入门,如图所示。
LSTM网络中的输入门和遗忘门有些互补关系,因此同时用两个门比较冗余。
为了减少LSTM网络的计算复杂度,将这两个门合并为一个门。
其具体的函数关系为:
(3)LSTM的延伸网络,LSTM变体形式图,tanh,+,tanh,Ct-1,Ct,ht,ht-1,xt,ft,ot,1-,ht,(8-34),8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,3)GatedRecurrentUnit门限循环单元(GatedRecurrentUnit,GRU)是一种比LSTM更加简化的版本,是LSTM的一种变体,如图8-15所示。
在LSTM中,输入门和遗忘门是互补关系,因为同时用两个门比较冗余。
GRU将输入门与遗忘门合并成一个门:
更新门(UpdateGate),同时还合并了记忆单元和神经元的活性值。
(3)LSTM的延伸网络,+,rt,1-,zt,tanh,xt,ht-1,ht,GRU模型结构图,8.2改进的循环神经网络,第八章循环神经网络,2长短时记忆神经网络,3)GatedRecurrentUnitGRU模型中有两个门:
更新门和重置门,更新门用来控制当前的状态需要遗忘多少历史信息和接受多少新信息。
重置门用来控制候选状态中有多少信息是从历史信息中得到。
GRU模型的更新关系式为:
(3)LSTM的延伸网络,(8-35),(8-36),(8-37),(8-38),of,31,32,8.3深层循环神经网络,第八章循环神经网络,33,如果将深度定义为网络中信息传递路径长度的话,循环神经网络可以看作是既“深”又“浅”的网络。
一方面来说,如果把循环网络按时间展开,长时间间隔的状态之间的路径很长,循环网络可以看作是一个非常深的网络了。
从另一方面来说,如果同一时刻网络输入到输出之间的路径为,那么这个网络是非常浅的。
既然增加深度可以极大地增强前馈神经网络的处理能力,那么如何增加循环神经网络的深度呢?
增加循环神经网络的深度主要是增加同一时刻网络输入到输出之间的路径,比如增加隐藏状态到输出,以及输入到隐藏状态之间的路径的深度。
8.3深层循环神经网络,第八章循环神经网络,of,31,34,一种常见的做法是将多个循环网络堆叠起来,称为堆叠循环神经网络(StackedRecurrentNeuralNetwork,SRNN)。
一个堆叠的简单循环神经网络也称为循环网络多层感知器(RecurrentMulti-layerPerception,RMLP)。
下图给出了按时间展开的堆叠循环神经网络。
h1(3),x1,y1,h2(3),x2,y2,h3(3),x3,y3,h4(3),x4,y4,hT(3),xT,yT,h1
(2),h2
(2),h3
(2),h4
(2),hT
(2),h1
(1),h2
(1),h3
(1),h4
(1),hT
(1),按时间展开的堆叠循环神经网络,8.3深层循环神经网络,第八章循环神经网络,(8-39),式(8-39)中,和为权重矩阵和偏置向量,当=1时,0=。
of,31,36,8.4双向循环神经网络,第八章循环神经网络,of,31,37,从单向的循环神经网络结构中可以知道它的下一刻预测输出是根据前面多个时刻的输入来共同影响的,而有些时候预测可能需要由前面若干输入和后面若干输入共同决定,这样会更加准确。
鉴于单向循环神经网络在某些情况下的不足,提出了双向循环神经网络,因为在许多应用中是需要能关联未来的数据,而单向循环神经网络属于关联历史数据,所以对于未来数据的关联就提出了反向循环神经网络,两个方向的网络结合到一起就能关联历史与未来了。
双向循环神经网络(BidirectionalRecurrentNeuralNetwork,Bi-RNN)由两层循环神经网络组成,它们的输入相同,只是信息传递的方向不同。
8.4双向循环神经网络,第八章循环神经网络,of,31,38,双向循环神经网络按时刻展开的结构如图8-17所示,可以看到向前和向后层共同连接着输出层,其中包含了6个共享权值,分别为输入到向前层和向后层两个权值、向前层和向后层各自隐含层到隐含层的权值、向前层和向后层各自隐含层到输出层的权值。
x1,y1,x2,y2,x3,y3,x4,y4,xT,yT,h1
(2),h2
(2),h3
(2),h4
(2),hT
(2),h1
(1),h2
(1),h3
(1),h4
(1),hT
(1),+,+,+,+,+,按时间展开的双向循环神经网络结构图,8.4双向循环神经网络,第八章循环神经网络,假设第1层按时间顺序,第2层按时间逆序,在时刻时的隐藏状态定义为1和2,则,(8-40),式(8-42)中,为向量拼接操作。
从图8-17以及式(8-40)、式(8-41)以及式(8-42)中可以看出一般的规律:
正向计算时,隐藏层的值1与11有关;反向计算时,隐藏层的值2与+12有关;最终的输出取决于正向和反向计算的求和。
从式(8-40)、式(8-41)以及式(8-42)中还可以看到,正向计算和反向计算不共享权值,也就是说1和2、1和2、1和2、1和2都是不同的权重矩阵。
双向RNN需要的内存是单向RNN的两倍,因为在同一时间点,双向RNN需要保存两个方向上的权重参数,在分类的时候,需要同时输入两个隐藏层输出的信息。
(8-41),(8-42),of,31,40,8.5循环神经网络的应用,第八章循环神经网络,of,31,41,1情感分析,情感分析(SentimentAnalysis),又称倾向性分析,意见抽取(OpinionExtraction),意见挖掘(OpinionMining),情感挖掘(SentimentMining),主观分析(SubjectivityAnalysis),它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。
情感分析最常用的做法就是在文中找到具有各种感情色彩属性的词,统计每个属性词的个数,哪个类多,这段话就属于哪个属性。
但是这存在一个问题,例如dontlike,一个属于否定,一个属于肯定,统计之后变成0了,而实际上应该是否定的态度。
再有一种情况是,前面几句是否定,后面又是肯定,那整段到底是中立还是肯定呢,为了解决这样的问题,就需要考虑上下文的环境。
8.5循环神经网络的应用,第八章循环神经网络,2语音识别,语音识别技术是一门交叉技术,近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。
人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。
语音识别技术,也被称为自动语音识别,其目标是将人类的语音中的词汇内容转换为计算机可读的输入,要实现语音识别,其实现过程如图所示。
语音识别方法主要是模式匹配法,其包括两个阶段,其一是训练阶段,用户将词汇表中的所有词依次说一遍,并且将其特征矢量作为模板存入模型库;其二是识别阶段,将输入语音的特征矢量依次与模型库中的每个模板进行相似度比较,将相似度最高者作为识别结果的输出。
语音识别过程,8.5循环神经网络的应用,第八章循环神经网络,3机器翻译,机器翻译(MachineTranslation,简称MT)是采用电子计算机来进行自然语言之间翻译的一门新兴实验性学科,是将一种源语言语句变成意思相同的另一种源语言语句,如将英语语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环神经网络 循环 神经网络 PPT 课件