机器学习:深入理解 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 ...
随机推荐
- hdu3377之简单路径求最值
Plan Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 【Redis源代码剖析】 - Redis内置数据结构之压缩字典zipmap
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230 今天为大家带来Redis中zipmap数据结构的分析,该结构定义在 ...
- JavaScript中的一些细节 分类: C1_HTML/JS/JQUERY 2014-08-05 16:45 384人阅读 评论(0) 收藏
1.设置id / class等属性 用 setAttribute 设置一些常规属性如 id ,className 的时候经常不起作用,只能用 object.id = value 这样来设置 news_ ...
- WP8.1:onedrive操作
小梦今天给大家分享一下windows phone 8.1开发 onedrive中的一些操作: Windows phone 8.1 中 onedrive 登录 Windows phone 8.1 中 o ...
- [JS Compose] 5. Create types with Semigroups
An introduction to concatting items via the formal Semi-group interface. Semi-groups are simply a ty ...
- Tricks(四十九)—— 按 batch 访问越界的解决办法
使用 min 函数指定访问的最终位置,本质上是增加一个条件判断: done = false; batch_size = 10000; idx = 1; while ~done idx_end = mi ...
- 获取WebConfig 配置项的值
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- 编辑器vim简介
vi简介 vi是"Visual interface"的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户 ...
- php实现 提取不重复的整数(编程题目能够最快的熟悉函数)
php实现 提取不重复的整数(编程题目能够最快的熟悉函数) 一.总结 一句话总结:编程题目能够最快的熟悉函数. 1.字符串反转函数? 没有str_revserse,有arr_reverse,这里是st ...
- 【u210】kfc
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 最近Kfc新开了个KFC,该KFC提供N种食物,分别用1-N给这些食物编号,食物的价格与其编号有关,满 ...