机器学习:深入理解 LSTM 网络 (一)
Recurrent Neural Network
Long Short Term Memory Networks (LSTMs) 最近获得越来越多的关注,与传统的前向神经网络 (feedforward network)不同,LSTM 可以对之前的输入有选择的记忆,从而有助于判断当前的输入, LSTM的这一特点在处理时序相关的输入时,有着很大的优势。
LSTM 由 Recurrent Neural Networks (RNN) 演化而来,所以在介绍LSTM之前,我们先来简单了解一下RNN. 人类的思考不是每时每刻都会从头开始,特别是在阅读的时候,你对当前词语的理解,于你之前阅读的积累有关,换句话说,人类的思考有持续性。
在解决时序相关的输入信号时,传统的神经网络无能为力,因为其直进直出的结构特性使其只能对当前的输入做出处理,而无法利用之前的信息。RNN的提出很好地解决了这个难题,RNN 与传统的神经网络不同,RNN 是一个循环网络,可以很好的存储信息。
上图给出了一个 RNN 的网络结构,A 表示神经网络的一块,Xt 表示当前的输入,ht 表示当前的输出,这个自循环的箭头表示信息可以从当前时刻传递到下一个时刻。
为了更加直观的表示 RNN, 我们可以将上面的图展开来,可以得到如下所示的图:
上图表示RNN可以看成是同一个神经网络的多重复制,每一次都把当前的信息传递到下一个。这种链式结构说明了RNN与时序信号是紧密相连的,RNN 看起来似乎对处理时序信号非常有效。确实如此,近些年,RNN 结构已经成功地应用于语音处理,文本翻译,图像标注,语言模型等,这样归功于RNN中一种特别的网络结构,就是我们要重点介绍的LSTM。
The Problem of Long-Term Dependencies
RNN 结构的一个吸引人之处在于其可以利用之前的输入信息。但是一个关键的需要解决的问题是当前的信息与之前的信息的关联度有长有短。有的时候,对于当前输入输入的信息,我们只要利用最近的一段输入信息就可以做出判断,但是有的时候,对于当前输入的信息,我们可能要之前输入的更长的一段信息才能做出判断。下面两个图显示了对于不同长度的信息关联度,RNN会有不同的结构:
这个结构意味着,当前信息与之前信息的关联度更短,只要最近的信息就可以。
这个结构意味着,当前信息与之前信息的关联度要更长,需要更久远的信息才能做出判断。
随着,信息关联度越来越长,RNN 将变得无法去学习这些信息之间的联系,从而完全失去作用,为了解决这个问题,所以提出了 LSTM 的结构。
我们要在下一篇里详细介绍LSTM 的结构。
参考来源:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
机器学习:深入理解 LSTM 网络 (一)的更多相关文章
- (译)理解 LSTM 网络 (Understanding LSTM Networks by colah)
@翻译:huangyongye 原文链接: Understanding LSTM Networks 前言:其实之前就已经用过 LSTM 了,是在深度学习框架 keras 上直接用的,但是到现在对LST ...
- [转] 理解 LSTM 网络
[译] 理解 LSTM 网络 http://www.jianshu.com/p/9dc9f41f0b29 Recurrent Neural Networks 人类并不是每时每刻都从一片空白的大脑开始他 ...
- 【翻译】理解 LSTM 网络
目录 理解 LSTM 网络 递归神经网络 长期依赖性问题 LSTM 网络 LSTM 的核心想法 逐步解析 LSTM 的流程 长短期记忆的变种 结论 鸣谢 本文翻译自 Christopher Olah ...
- 机器学习:深入理解LSTM网络 (二)
之前我们介绍了RNN 网络结构以及其所遇到的问题,RNN 结构对于关联度太长的时序问题可能无法处理, 简单来说,RNN对于太久远的信息不能有效地储存,为了解决这个问题,有人提出了LSTM的网络结构,L ...
- [译] 理解 LSTM 网络
原文链接:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 吴恩达版:http://www.ai-start.com/dl2017/h ...
- 『cs231n』RNN之理解LSTM网络
概述 LSTM是RNN的增强版,1.RNN能完成的工作LSTM也都能胜任且有更好的效果:2.LSTM解决了RNN梯度消失或爆炸的问题,进而可以具有比RNN更为长时的记忆能力.LSTM网络比较复杂,而恰 ...
- 理解 LSTM 网络
递归神经网络 人类并不是每时每刻都从头开始思考.正如你阅读这篇文章的时候,你是在理解前面词语的基础上来理解每个词.你不会丢弃所有已知的信息而从头开始思考.你的思想具有持续性. 传统的神经网络不能做到这 ...
- Deep Learning基础--理解LSTM网络
循环神经网络(RNN) 人们的每次思考并不都是从零开始的.比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解你目前阅读到的文字,而不是每读到一个文字时,都抛弃掉前面的思考,从头开始.你的记忆是有 ...
- 理解LSTM网络--Understanding LSTM Networks(翻译一篇colah's blog)
colah的一篇讲解LSTM比较好的文章,翻译过来一起学习,原文地址:http://colah.github.io/posts/2015-08-Understanding-LSTMs/ ,Posted ...
随机推荐
- VS提示SurfFeatureDetector不是cv的成员函数 .
原因:没有把 opencv_nonfree243d.lib 加入lib库中. 还有两个头文件:#include <opencv2/nonfree/features2d.hpp>#inclu ...
- [AngularJS Ng-redux] Integrate ngRedux
Up to this point, we have created an effective, yet rudimentary, implementation of Redux by manually ...
- ios 获取button所在的cell对象, 注意:ios7 =< System Version < ios8 获取cell对象的差别
ios7 =< System Version< ios8 : ios7 =< System Version < ios8 下 button.superview.supervi ...
- CSS边框作图
原文 简书原文:https://www.jianshu.com/p/537a878304f2 大纲 1.border-style的值 2.利用border作图——基本图形 3.利用border作图—— ...
- 【51.27%】【codeforces 604A】Uncowed Forces
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- Linux上安装JDK 分类: B1_JAVA B3_LINUX 2014-08-29 15:12 449人阅读 评论(0) 收藏
1.下载rpm文件并安装 rpm -ivh jdk-7u51-linux-x64.rpm 2.修改/etc/profile文件,增加以下配置 export JAVA_HOME=/usr/java/jd ...
- js进阶 11-18 jquery中操作选择器的方法有哪些
js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...
- hibernate级联保存问题
异常:org.hibernate.TransientObjectException: object references an unsaved transient instance 解决方法: XML ...
- Java获取文件路径的几种方法
第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...
- 《编程导论(Java)·3.2.4 循环语句》
本文全然复制<编程导论(Java)·3.2.4 循环语句>的内容.除[]中的说明文字.请阅读和比較其它编程教材. 我知道.假设我是一个刚開始学习的人,<编程导论(Java)>非 ...