机器学习:深入理解 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 ...
随机推荐
- 【77.78%】【codeforces 625C】K-special Tables
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- [Angular] Using useExisting provider
Unlike 'useClass', 'useExisting' doesn't create a new instance when you register your service inside ...
- Qt多线程学习-用例子来理解多线程(转),这个是我看过最好的文章,总结很详细(感觉exec()的作用就是保持线程不退出,这样方便随时处理主线程发来的信号,是一种非常别致的思路)good
01 class MThread :public QThread 02 { 03 public: 04 MThread(); 05 ~MThread(); 06 virtual ...
- 使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
活动主题:五一巨献,问答有礼,105QB送给IT互联网界的劳动人民活动时间:4月30日晚上10点~5月2日晚上10点网址: http://ask.jiutianniao.com 2014年的时候,就 ...
- Android自己主动检測版本号及自己主动升级
步骤: 1.检測当前版本号的信息AndroidManifest.xml-->manifest-->android:versionName. 2.从server获取版本号号(版本号号存在于x ...
- ios开发之手势处理 之手势识别一
#import "ViewController.h" @interface ViewController ()<UIGestureRecognizerDelegate> ...
- Facial keypoints detection Kaggle 竞赛系列
3.2# Facial keypoints detection 作者:Stu. Rui QQ: 1026163725 原文链接:http://blog.csdn.net/i_love_home/art ...
- 【hdu 3032】Nim or not Nim?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- database software runInstaller无法看到全部的rac节点的处理方法
近期遇到一个问题:rhel5.5下 安装11.2.0.4的rac.GI安装完了没问题. 可是 database software runInstaller安装时,全部的节点在图形化界面中看不到. 搜 ...
- tensorflow 的使用流程
1. optimizer.minimize 与 global_step optimizer = tf.train.**(learning_rate) global_step = tf.Variable ...