零基础入门深度学习长短时记忆网络(LSTM).pdfVIP

零基础入门深度学习长短时记忆网络(LSTM).pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[关闭] 零基础入门深度学习(6) - 长短时记忆网络 (LSTM) 机器学习 深度学习入门 无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追 求的程序员,不懂深度学习 (Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了, 《零基础入门深 度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行 了,没错,这是专门为程序员写的文章。虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看 懂的 (我周围是一群狂热的Clean Code程序员,所以我写的代码也不会很差)。 文章列表 零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零基础入门深度学习(6) - 长短时记忆网络 (LSTM) 零基础入门深度学习(7) - 递归神经网络 往期回顾 在上一篇文章中,我们介绍了循环神经网络 以及它的训练算法。我们也介绍了循环神经网络很难训练的原因,这导致了它在实际应用中, 很难处理长距离的依赖。在本文中,我们将介绍一种改进之后的循环神经网络:长短时记忆网络 (Long Short Term Memory Network, LSTM),它成功的解决了原始循环神经网络的缺陷,成为当前最流行的RNN,在语音识别、图片描述、自然语言处理等许多领域中成功应用。 但不幸的一面是,LSTM 的结构很复杂,因此,我们需要花上一些力气,才能把LSTM以及它的训练算法弄明白。在搞清楚LSTM之后,我们再介 绍一种LSTM 的变体:GRU (Gated Recurrent Unit)。 它的结构比LSTM简单,而效果却和LSTM一样好,因此,它正在逐渐流行起来。最 后,我们仍然会动手实现一个LSTM 。 长短时记忆网络是啥 我们首先了解一下长短时记忆网络产生的背景。回顾一下零基础入门深度学习(5) - 循环神经网络中推导的,误差项沿时间反向传播的公 式: 我们可以根据下面的不等式,来获取 的模的上界 (模可以看做对 中每一项值的大小的度量): 我们可以看到,误差项 从t时刻传递到k时刻,其值的上界是 的指数函数。 分别是对角矩阵 和矩阵W模的上界。显 然,除非 乘积的值位于1附近,否则,当t-k很大时 (也就是误差传递很多个时刻时),整个式子的值就会变得极小 (当 乘积小于 1)或者极大 (当 乘积大于1),前者就是梯度消失,后者就是梯度爆炸。虽然科学家们搞出了很多技巧 (比如怎样初始化权重),让 的值尽可能贴近于1,终究还是难以抵挡指数函数的威力。 梯度消失到底意味着什么?在零基础入门深度学习(5) - 循环神经网络中我们已证明,权重数组W最终的梯度是各个时刻的梯度之和,即: 假设某轮训练中,各时刻的梯度以及最终的梯度之和如下图: 我们就可以看到,从上图的t-3时刻开始,梯度已经几乎减少到0了。那么,从这个时刻开始再往之前走,得到的梯度 (几乎为零)就不会对 最终的梯度值有任何贡献,这就相当于无论t-3时刻之前的网络状态h是什么,在训练中都不会对权重数组W的更新产生影响,也就是网络事实 上已经忽略了t-3时刻之前的状态。这就是原始RNN无法处理长距离依赖的原因。 既然找到了问题的原因,那么我们就能解决它。从问题的定位到解决,科学家们大概花了7、8年时间。终于有一天,Hochreiter和 Schmidhuber两位科学家发明出长短时记忆网络,一举解决这个问题。 其实,长短时记忆网络的思路比较简单。原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。那么,假如我们再增加一个状 态,即c,让它来保存长期的状态,那么问题不就解决了么?如下图所示: 新增加的状态c,称为单元状态 (cell state)。我们把上图按照时间维度展开: 上图仅仅是一个示意图,我们可以看出,在t时刻,LSTM的输入有三个:当前时刻网络的输入值 、上一时刻LSTM的输出值 、以及上一时 刻的单元状态 ;LSTM的输出有两个:当前时刻LSTM输出值 、和当前时刻的单元状态 。注意 、 、 都是向量。 LSTM的关键,就是怎样控制长期状态c。在这里,LSTM的思路是使用三个控制

您可能关注的文档

文档评论(0)

131****9010 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档