数据挖掘RNN算法讲课ppt课件.pptx
深度学习之循环神经网络 -RNN 王尚王尚 管优管优目录1:深度学习发展史2:从神经网络到深度学习3:循环神经网络基础21:深度学习发展史3深度学习发展史SVMBoostingDecision treeKNNNeural networkBack propagation19862006Deep belief netScienceSpeech2011 2012Computer visionNLPSpeech 2014Geoffrey Hinton 1949Learning model of neurons1958PerceptronHebbRosenblattGeoffrey Hinton DBNCNNRBMRNN机器学习第一次浪潮:机器学习第二次浪潮浅层学习模型(Shallow Learning)深度学习模型(Deep Learning)First Winter of NNSecond Winter of NN4synapse dendriteCell bodySynapticterminalsAxon轴突末梢 突触 树突细胞体轴突w1x1xn线性动态系统激励函数own神经元是构成神经网络的最基本单元(构件),因此,首要任务是构造人工神经元模型。细胞体Cell body树突dendrite突触synapse轴突Axon来自其它神经元神经元模型5yyaxo x2x1xnw1w2wnw1x1xn激励函数o=f(net)wnnet=WTX 典型的激励函数(Activation Function):线性函数,非线性斜面函数,阶跃函数,S型函数等。神经元模型6Input LayerHidden LayerOutput Layerx1xMh1hLo1oNw11wm1wM1wmLwMLw1Lv11vl1vL1vLN神经网络一般形式Nonlinearity 非线性Parallel Processing 并行处理InputOutput Mapping 输入输出匹配Adaptivity 自适应性ocx2x1xnw1w2wn72:从神经网络到深度学习8神经网络深度学习网络相似之处:不同之处:模拟人脑的分层网络结构;强调深度的重要性;突出特征学习的重要性;(逐层抽象)训练机制;9为什么需要深度?深层网络具有刻画复杂函数的能力103:循环神经网络(RNN)11递归神经网络模型递归神经网络模型1212递归神经网络递归神经网络l吸收了HMM模型的有限序列关联的思想。l神经网络的隐藏层结构能够更好的表达有限的观察值背后的复杂分布。l递归神经网络递归神经网络(RNN),是两种人工神经网络的总称:l一种是时间递归神经网络时间递归神经网络(recurrent neural network);l一种是结构递归神经网络结构递归神经网络(recursive neural network);递归神经网络模型递归神经网络模型1313时序扩展时序扩展Recurrent Neural Network1414l针对对象:序列数据。例如文本,是字母和词汇的序列;语音,是音节的序列;视频,是图像的序列;气象观测数据,股票交易数据等等,也都是序列数据。l核心思想:样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性。RNN是一类扩展扩展的人工神经网络,它是为了对序列数据进行建模而产生的。循环循环神经网络模型神经网络模型1515激活函数激活函数lRNN常用的激活函数是tanh和sigmoid。循环循环神经网络模型神经网络模型1616softmaxlSoftmax函数是sigmoid函数的一个变种,通常我们将其用在多分类任务的输出层,将输入转化成标签的概率。本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。循环循环神经网络模型神经网络模型1818随随时间反向传播算法时间反向传播算法BPTTBP回顾回顾:定义损失函数 E来表示输出 和真实标签y的误差,通过链式法则自顶向下求得 E 对网络权重的偏导偏导。沿梯度的反方向更新权重的值,直到 E 收敛。BPTT的本质其实和BP很像,就是加上了时序演化。定义权重U,V,W。定义损失函数:我们将整个序列作为一次训练,所以需要对每个时刻的误差进行求和。循环循环神经网络模型神经网络模型1919随随时间反向传播算法时间反向传播算法BPTT目前的任务是求 E 对于U,V,W 的梯度。定义E对于W 的梯度(U,V 同理):(1)求 E 对于V 的梯度。先求 E3 对于V 的梯度:W VU其中:求和可得。其中:依赖于 ,而 又依赖于 和W,依赖关系一直传递到 t=0的时刻。因此,当我们计算对于因此,当我们计算对于W 的偏的偏导数时,不能把导数时,不能把 看作是常数项!看作是常数项!循环循环神经网络模型神经网络模型2020随随时间反向传播算法时间反向传播算法BPTT(2)求 E 对于W 的梯度。注意,现在情况开始变得复杂起来。先求 E3 对于W 的梯度:W VU当我们求 对于W 的偏导时。注意到:求和可得。同样:依赖于 ,而 又依赖于 和U。类似求类似求W,当我们计算对于,当我们计算对于U 的偏导数时,也不的偏导数时,也不能把能把 看作是常数项!看作是常数项!循环循环神经网络模型神经网络模型2121随随时间反向传播算法时间反向传播算法BPTT(3)求 E 对于U 的梯度。情况与W 类似。先求 E3 对于U 的梯度:W VU当我们求 对于W 的偏导时。注意到:求和可得。循环循环神经网络模型神经网络模型2222随随时间反向传播算法时间反向传播算法BPTT参数意义:Whv:输入层到隐含层的权重参数,Whh:隐含层到隐含层的权重参数,Woh:隐含层到输出层的权重参数,bh:隐含层的偏移量,bo输出层的偏移量,h0:起始状态的隐含层的输出,一般初始为0。递归神经网络模型递归神经网络模型2323随时间反向传播算法随时间反向传播算法BPTT面临的问题:l梯度消失问题l梯度爆炸问题解决方案:l选择其他的激活函数。例如ReLU。l引入改进网络结构的机制,例如LSTM,GRU。l现在在自然语言处理上应用十分广的的就是现在在自然语言处理上应用十分广的的就是LSTM。THANKS24LSTM LSTM 网络网络长短期记忆网络通畅叫做”LSTMs”是一种特殊的RNNs,它能够学习长期依赖。LSTM由Hochreiter&Schmidhuber(1997)引入,后来在很多人的努力下变得越来越精炼和流行2525f t,i t,o t 分别为遗忘门、输入门、输出门2626LSTMs的核心过程LSTM的第一步就是决定什么信息应该被神经元遗忘。这是一个被称为“遗忘门层”的Sigmod层组成的。它输入 ht1和xt,然后在Ct1 的每个神经元状态输出01之间的数字。“1”表示“完全保留这个”,“0”表示“完全遗忘这个”。2727下一步就是决定我们要在神经元细胞中保存什么信息,这包括两个部分。首先,一个被称为“遗忘门层”的Sigmod层决定我们要更新的数值。然后,一个tanh层生成一个新的候选数值,Ct,它会被增加到神经元状态中。2828下一步我们就去做。我们给旧的状态乘以一个ft,遗忘掉我们之前决定要遗忘的信息,然后我们增加itCt。这是新的候选值,是由我们想多大程度上更新每个状态的值来度量的。2929最后,我们要决定要输出什么。这个输出是建立在我们的神经元状态的基础上的,但是有一个滤波器。首先,我们使用Sigmod层决定哪一部分的神经元状态需要被输出;然后我们让神经元状态经过tanh(让输出值变为-11之间)层并且乘上Sigmod门限的输出,我们只输出我们想要输出的。