机器学习:深入理解 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 ...
随机推荐
- 27、从零写UVC驱动之分析数据传输(设置ubuntu通过串口打印,指定打印到文件,ubuntu切换root用户)
A. 设置ubuntu让它从串口0输出printk信息a. 设置vmware添加serial port, 使用文件作为串口(在vmware中设置,文件是保存在windows中)b. 启动ubuntu, ...
- python类继承时构造函数的运行问题
假设子类定义了自己的__init__构造方法函数.当子类的实例对象被创建时,子类仅仅会运行自己的__init__方法函数.假设子类没有定义自己的构造方法函数.会沿着搜索树找到父类的构造方法函数去运行父 ...
- [Angular2 Form] Reactive form: valueChanges, update data model only when form is valid
For each formBuild, formControl, formGroup they all have 'valueChanges' prop, which is an Observable ...
- Java NIO详细介绍
不错的文章,推荐一下. http://www.ibm.com/developerworks/cn/education/java/j-nio/j-nio.html JavaNIO非堵塞技术实际是采取Re ...
- Android自定义组件系列【6】——进阶实践(3)
上一篇<Android自定义组件系列[5]--进阶实践(2)>继续对任老师的<可下拉的PinnedHeaderExpandableListView的实现>进行了分析,这一篇计划 ...
- Android 用MediaRecorder录制视频太短崩的问题
具体表现: 调用MediaRecorder的start()与stop()间隔不能小于1秒(有时候大于1秒也崩),否则必崩. 错误信息: java.lang.RuntimeException: stop ...
- Android中HandlerThread的使用及源代码解析
关于Hanlder的基本使用能够參见博文<Android中Handler的使用>,假设想了解Handler.Looper.Thread等的相互关系以及内部实现原理能够參见博文<深入源 ...
- string与QString之间的转换(两种方法:fromStdString直接转换,或者fromLocal8Bit(cstr.c_str())
string str;QString qstr; //从QString 到 std::stringstr = qstr.toStdString(); //从std::string 到QStringqs ...
- js如何实现动态在表格中添加标题和去掉标题?
js如何实现动态在表格中添加标题和去掉标题? 一.总结 1.通过table标签的createCaption(),deleteCaption()方法实现. document.getElementById ...
- AE中网络分析的实现 的各个类之间的关系
原文AE中网络分析的实现 的各个类之间的关系 1. 创建网络数据集 在ArcCatalog中勾选网络分析模块,新建个人地理信息数据库—>新建要素数据集—>批量导入要素—>创建 ...